Replies: 3 comments 10 replies
-
From what I've seen just earlier today, X-Terminal looks to be our best bet for something that already exists It's already built on xtermjs, and in my opinion would just need some polish It's MIT, and is technically a fork, of a fork, of a fork. It also integrates the provider services for Platformio IDE, which makes it a perfect drop in replacement for that terminal. Otherwise, we'd definitely want to put cycles towards a custom implementation based off xtermjs - but I'm unsure how much of the wheel we'd want to reinvent |
Beta Was this translation helpful? Give feedback.
-
Something else to note regarding the ligature and unicode support - the package actually has a setting for font family and font size. By default they match the editor's font, but you can change it independent of the editor. This should, in theory, allow you to simply select a font that does support unicode and ligatures |
Beta Was this translation helpful? Give feedback.
-
I like this idea, however, it should be kept in mind that terminal packages can add significant lag to the app, as well as tending to be very picky with how and when they work. I’m not against adding a terminal into Pulsar; in fact, I’m all for it. However, it should be easily toggle-able, with the feature being disabled by default so users who never use the command line don’t have to waste time loading things they won’t use. |
Beta Was this translation helpful? Give feedback.
-
So this has been discussed quite a few times in the past on Discord but I think it is a good idea to put it here to stop re-hashing conversations and provide links etc. for people to play with things and provide suggestions.
Most applications in this space come with a terminal in-built as one of its core features.
VSCode, Lapce, Zed, Fleet - they all come with integrated terminals out of the box which leaves Pulsar a bit behind as you need to then find one and install it via package.
platformio-ide-terminal is an extremely popular Atom package but it seems people have been having problems with it in Pulsar and worse, it is no longer actively developed.
Termination is a fork of the above and works nicely but it doesn't feel that great to me, the UI is a little off and it is fairly limited in terms of placement.
x-terminal however is almost perfect from what I can see. I actually started to write this post before I even knew about it and it has a lot of the features I really want to see from a default terminal. (thanks for introducing me to this one @Spiker985).
Features that I personally want to see in an integrated terminal:
I see a few options for this to happen:
Honestly x-terminal already covers most of the things on my list above but things that are missing I'd like to see changed if we implemented it as default:
Ligature and unicode support
Modal terminal
This is something from Zed that I really love and didn't know I wanted until I used it. On a command or shortcut you can open a terminal as a modal in front of your editor window, do what you want then push it away again where it remains active but in the background (x-terminal does have this but not in modal form). I like it as it is almost akin to having a separate terminal window but still within the editor, great for smaller windows but you still want it to appear in the middle of your screen.
(Technically Zed actually has an entire modal pane that can be used for buffers as well as terminals but that is another discussion entirely but a feature I'd love to see).
UI buttons and tweaks
Would be nice if a button could be added to the status bar to quickly create a new terminal rather than always having to open a new one by command or shortcut.
Also would be good to have other buttons for controlling it, things like a shell selector (great for Windows when using WSL, cmd and PS). I know it has profiles but it could be more accessible.
When opened in dock mode the UI should follow Pulsar a bit more (active tab colour + accent, pane split line)
Better integration in general
It feels a bit "tacked on" in its current form. See above UI stuff but also small things like the commands are
X Terminal:
which we would want as justTerminal:
, confusing right click menus, separate split commands rather than the existingPane: split
commands.Summary
The above comments are really just polish rather than requirements, it is functional but I think it needs to be more than just functional and should bring a bit a good level of fit and finish.
It goes without saying that it should also be as customisable and hackable as any of the rest of Pulsar.
Beta Was this translation helpful? Give feedback.
All reactions