X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2FTuiLauncher.java;h=7bee3e7bc87eb89163de7aebd677990f2641e867;hp=efaa68939421e8f24e89a4d5aa02672a34fdf310;hb=296a0b75515b3a7424b98292c87cbbf2272b73f9;hpb=bcb54330afff6a443ab43ee3d38cc7f863c701b7 diff --git a/src/be/nikiroo/jvcard/tui/TuiLauncher.java b/src/be/nikiroo/jvcard/tui/TuiLauncher.java index efaa689..7bee3e7 100644 --- a/src/be/nikiroo/jvcard/tui/TuiLauncher.java +++ b/src/be/nikiroo/jvcard/tui/TuiLauncher.java @@ -2,6 +2,7 @@ package be.nikiroo.jvcard.tui; import java.io.IOException; +import com.googlecode.lanterna.TerminalSize; import com.googlecode.lanterna.TextColor; import com.googlecode.lanterna.gui2.DefaultWindowManager; import com.googlecode.lanterna.gui2.EmptySpace; @@ -10,11 +11,12 @@ import com.googlecode.lanterna.gui2.Window; import com.googlecode.lanterna.screen.Screen; import com.googlecode.lanterna.screen.TerminalScreen; import com.googlecode.lanterna.terminal.DefaultTerminalFactory; +import com.googlecode.lanterna.terminal.ResizeListener; import com.googlecode.lanterna.terminal.Terminal; /* * - * Change in Lanterna3 (issue and fix reported to GitHub): + * Change in Lanterna 3.0.0-beta2 (issue and fix reported to GitHub): * * java.lang.StringIndexOutOfBoundsException: String index out of range: 83 * at java.lang.String.charAt(String.java:686) @@ -24,8 +26,7 @@ import com.googlecode.lanterna.terminal.Terminal; */ public class TuiLauncher { - public static void start(Boolean textMode, Window win) - throws IOException { + public static void start(Boolean textMode, Window win) throws IOException { Terminal terminal = null; DefaultTerminalFactory factory = new DefaultTerminalFactory(); @@ -38,6 +39,17 @@ public class TuiLauncher { terminal = factory.createTerminalEmulator(); } + if (win instanceof MainWindow) { + MainWindow mwin = (MainWindow) win; + mwin.refresh(terminal.getTerminalSize()); + terminal.addResizeListener(new ResizeListener() { + @Override + public void onResized(Terminal terminal, TerminalSize newSize) { + mwin.refresh(newSize); + } + }); + } + Screen screen = new TerminalScreen(terminal); screen.startScreen();