[HN Gopher] Show HN: A cross-platform terminal emulator written ...
___________________________________________________________________
Show HN: A cross-platform terminal emulator written in Java
It's based on the jediterm library developed for IDEs, but it can
also be put to work as a standalone terminal emulator with tabs.
The library has been around for more than 10 years, but I don't
think anyone made a terminal emulator app from it?
Author : sebkur
Score : 53 points
Date : 2025-07-01 07:11 UTC (3 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| jarym wrote:
| Nice work! Code looks pretty clean but what motivated you to
| write it?
| sebkur wrote:
| I found the jediterm library and noticed people asking for
| releases but the team didn't seem interested (see
| https://github.com/JetBrains/jediterm/issues/299 and
| https://github.com/JetBrains/jediterm/issues/303). I noticed
| there are even working examples in the source tree though for a
| standalone terminal application (https://github.com/JetBrains/j
| editerm/tree/master/JediTerm/s...) so I thought "let's just
| package that up into binaries, maybe add tabs to make it
| convenient to use".
| sebkur wrote:
| One thing I guess this app can do is help track down or
| surface more still existing bugs in the jediterm library when
| people start using a jediterm based terminal in their
| everyday life instead of just while using IntelliJ or Android
| Studio.
| mdaniel wrote:
| I've heard of this %PATH% thing which allows the user to control
| where they place executables
| https://github.com/sebkur/forceterm/blob/release-1.1.0/src/m...
| RonanSoleste wrote:
| Also not very platform independent
| sebkur wrote:
| Well, it does check if we are on Windows just one line
| before: https://github.com/sebkur/forceterm/blob/release-1.1.
| 0/src/m...
| alganet wrote:
| Trivia:
|
| Windows also has %PATHEXT%. It's a set of executable extensions
| like bat, exe, com, cmd.
|
| It is what allows calling `program` and reaching `program.exe`.
| sebkur wrote:
| hmm, I agree, this is pretty hard-coded. It should work for a
| default installation of git-bash, but of course, the user could
| have chosen a different location at install time.
|
| I'm not even sure how popular git bash is on Windows, I vaguely
| remember cygwin might be something many user that care to use a
| terminal might have installed?
| roscas wrote:
| My main reason to use or not use a terminal is to scroll with
| mouse wheel and change the font size. No fancy gpu acceleration
| or nice profiles to open servers. A good host with category tree
| view is a plus, like MobaXterm has. But Terminator does what I
| need. My pick.
| sebkur wrote:
| Mouse wheel is working on my Linux box. Is it not on yours?
| what kind of system?
|
| I guess for now there's not much reason to prefer this terminal
| over any other. I guess we'd need to add something unique,
| though I'm not sure yet what that might be.
| sebkur wrote:
| The performance of jediterm seemed quite impressive though when
| I made a quick smoke test with a command such as `time tree ~`
| in comparison to my regular xfce terminal at lest.
| bitwize wrote:
| Neat! A new graphical app in Java!
| sebkur wrote:
| Thanks!
| 0x445442 wrote:
| What does this buy over all the other terminal emulators? I see
| why the component is in IDEs so the developer doesn't need to
| switch apps to get to the terminal. Now a full fledged JVM shell
| that supports most of the commands we come to expect in a shell
| and also has the JVM and it's whole ecosystem at its fingertips,
| that might be something.
| sebkur wrote:
| I'm breeding over the same thing. What can we do with this now
| that would't be so easy within other ecosystems that terminal
| emulators are typically written in (usually C I guess)?
| zerr wrote:
| Why Swing instead of JavaFX?
| mdaniel wrote:
| I believe OP's project is just doing some lightweight "make it
| executable" bits but the actual JediTerm that it is using for
| the "terminal" part is, itself, on Swing/AWT
| https://github.com/JetBrains/jediterm/blob/4cef2840aed5ec1d6...
|
| Although, interestingly, while digging up that link I noticed
| the JediTermMain that for sure makes it plausibly executable so
| I dunno if OP's project is actually just "for funzies" or if
| there's otherwise something added
| https://github.com/JetBrains/jediterm/blob/4cef2840aed5ec1d6...
| sebkur wrote:
| yeah, the jediterm library provides a Swing component
| (JediTermWidget extends JPanel) so it seemed natural to
| create an app around it that is also Swing based. I guess
| it's possible to integrate Swing components into JavaFX apps
| as well, so that should work too.
|
| You're right, I'm not doing much except adding some build
| logic for creating executables really. I also added tabbing
| and light / dark mode. I guess we could also at least add
| more options that are readily available for the jediterm
| widget (https://github.com/JetBrains/jediterm/blob/4cef2840ae
| d5ec1d6...)
___________________________________________________________________
(page generated 2025-07-04 23:01 UTC)