GithubHelp home page GithubHelp logo

plonk42 / jediterm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jetbrains/jediterm

1.0 1.0 0.0 96.49 MB

Pure Java Terminal

License: GNU Lesser General Public License v3.0

Shell 0.01% Java 99.51% Batchfile 0.01% HTML 0.04% Kotlin 0.45%

jediterm's People

Contributors

brofi avatar chitoku-k avatar cmf avatar devsh0 avatar eth-p avatar ignatov avatar jschaf avatar mikehearn avatar olegstepanov avatar plonk42 avatar rprichard avatar segrey avatar serjsysoev avatar stigger avatar taok avatar trofimander avatar ydgholz avatar yole avatar

Stargazers

 avatar

Watchers

 avatar

jediterm's Issues

Resize sometimes freeze the display (Windows)

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.

Jars don't have all required security attributes

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.

Terminal resizing is probably race-conditionned

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) 

Resizing down terminal height can blow-up display and scroll buffer

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.