X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FECMA48Terminal.java;h=2afa81a35500e2a99c17c6500c0b748a5f922926;hb=af56159c6460ab42f06e30d4e677c67f64e3ea8e;hp=1dc3957d75b534deec2b318a9c2bd501db8d7f5f;hpb=a69ed767c9c07cf35cf1c5f7821fc009cfe79cd2;p=fanfix.git diff --git a/src/jexer/backend/ECMA48Terminal.java b/src/jexer/backend/ECMA48Terminal.java index 1dc3957..2afa81a 100644 --- a/src/jexer/backend/ECMA48Terminal.java +++ b/src/jexer/backend/ECMA48Terminal.java @@ -1085,23 +1085,7 @@ public class ECMA48Terminal extends LogicalScreen windowResize = new TResizeEvent(TResizeEvent.Type.SCREEN, sessionInfo.getWindowWidth(), sessionInfo.getWindowHeight()); - // Permit RGB colors only if externally requested. - if (System.getProperty("jexer.ECMA48.rgbColor") != null) { - if (System.getProperty("jexer.ECMA48.rgbColor").equals("true")) { - doRgbColor = true; - } else { - doRgbColor = false; - } - } - - // Pull the system properties for sixel output. - if (System.getProperty("jexer.ECMA48.sixel") != null) { - if (System.getProperty("jexer.ECMA48.sixel").equals("true")) { - sixel = true; - } else { - sixel = false; - } - } + reloadOptions(); // Spin up the input reader eventQueue = new LinkedList(); @@ -1187,23 +1171,7 @@ public class ECMA48Terminal extends LogicalScreen windowResize = new TResizeEvent(TResizeEvent.Type.SCREEN, sessionInfo.getWindowWidth(), sessionInfo.getWindowHeight()); - // Permit RGB colors only if externally requested - if (System.getProperty("jexer.ECMA48.rgbColor") != null) { - if (System.getProperty("jexer.ECMA48.rgbColor").equals("true")) { - doRgbColor = true; - } else { - doRgbColor = false; - } - } - - // Pull the system properties for sixel output. - if (System.getProperty("jexer.ECMA48.sixel") != null) { - if (System.getProperty("jexer.ECMA48.sixel").equals("true")) { - sixel = true; - } else { - sixel = false; - } - } + reloadOptions(); // Spin up the input reader eventQueue = new LinkedList(); @@ -1357,6 +1325,27 @@ public class ECMA48Terminal extends LogicalScreen this.listener = listener; } + /** + * Reload options from System properties. + */ + public void reloadOptions() { + // Permit RGB colors only if externally requested. + if (System.getProperty("jexer.ECMA48.rgbColor", + "false").equals("true") + ) { + doRgbColor = true; + } else { + doRgbColor = false; + } + + // Pull the system properties for sixel output. + if (System.getProperty("jexer.ECMA48.sixel", "true").equals("true")) { + sixel = true; + } else { + sixel = false; + } + } + // ------------------------------------------------------------------------ // Runnable --------------------------------------------------------------- // ------------------------------------------------------------------------ @@ -2745,11 +2734,19 @@ public class ECMA48Terminal extends LogicalScreen StringBuilder sb = new StringBuilder(); - assert (sixel == true); assert (cells != null); assert (cells.size() > 0); assert (cells.get(0).getImage() != null); + if (sixel == false) { + sb.append(normal()); + sb.append(gotoXY(x, y)); + for (int i = 0; i < cells.size(); i++) { + sb.append(' '); + } + return sb.toString(); + } + if (sixelCache == null) { sixelCache = new SixelCache(height * 10); }