plonk42 / jediterm Goto Github PK
View Code? Open in Web Editor NEWThis project forked from jetbrains/jediterm
Pure Java Terminal
License: GNU Lesser General Public License v3.0
This project forked from jetbrains/jediterm
Pure Java Terminal
License: GNU Lesser General Public License v3.0
When some lines are displayed (and the scroll buffer is not empty??), resizing the terminal to a smaller height (not sure if that height is linked to the number of lines displayed, or to the scroll buffer size) can blow up the display.
The cursor is moved higher than it should, lines are not erased properly, and sometimes we get :
0 [Connector-Local] ERROR com.jediterm.terminal.display.BackBuffer - Attempt to erase characters in line: -2
j7u45 introduced a more restrictive check for jars security attributes (codebase and permission) when using jnlp deployment
When security level is set to "high" (default), it only gives some warnings (see below).
When "very high" is selected, the application won't start.
Missing Permissions manifest attribute for: http://.../jediterm/guava-14.0.1.jar
Missing Codebase manifest attribute for: http://.../jediterm/guava-14.0.1.jar
Missing Permissions manifest attribute for: http://.../jediterm/jsch-0.1.50.jar
Missing Codebase manifest attribute for: http://.../jediterm/jsch-0.1.50.jar
Missing Permissions manifest attribute for: http://.../jediterm/jzlib-1.1.1.jar
Missing Codebase manifest attribute for: http://.../jediterm/jzlib-1.1.1.jar
Missing Permissions manifest attribute for: http://.../jediterm/log4j-1.2.14.jar
Missing Codebase manifest attribute for: http://.../jediterm/log4j-1.2.14.jar
The first thing to check is if new versions of considered libs include or not these attributes.
Running Java7 on Windows 7, resizing the terminal often lead to a display freeze (cursor is not blinking anymore, entered chars are not displayed).
Resizing again may (or may not) make the display updating again.
This is pretty obscure, but we've experienced a lot of issue when resizing the terminal window.
It is more visible when the window manager triggers resize event as the user drags the border (some window manager only trigger one event, when the user release the mouse button).
I'm convinced this is a race condition between Swing EDT and the emulator thread (maybe a missing synchronization in the backbuffer, or something similar?)
Sometimes, when things go really wrong, we get :
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at com.jediterm.terminal.display.BackBuffer.resize(BackBuffer.java:132)
at com.jediterm.terminal.ui.TerminalPanel.requestResize(TerminalPanel.java:463)
at com.jediterm.terminal.display.JediTerminal.resize(JediTerminal.java:916)
at com.jediterm.terminal.TerminalStarter$1.run(TerminalStarter.java:82)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Not sure if we handle properly this.
Sometimes the terminal try to display the BOM char as an actual char, when it should probably not.
Maybe we have to simple clean the input stream from BOM char.
See : http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.