3 ms·
This looks interesting. I don't need my terminal emulator to support tabs, windows, or session management. My WM manages tabs and windows, and I use tmux for s
by imiric 7mo ago
This looks interesting.
I don't need my terminal emulator to support tabs, windows, or session management. My WM manages tabs and windows, and I use tmux for sessions, which also gives me a scrollback buffer, selection, clipboard, search, etc. This combination allows me to use any simple terminal emulator, such as urxvt, st, and now foot, without issues.
Ghostty didn't appeal to me, but I might give this a try. It's good that OSC support is planned. A plugin-like system, similar to st's but less cumbersome, would be nice to have.
- nixpulvis 7mo agoIt's comical how much time I've spent convincing people that tabs are a window manager feature not an application feature. People in the Alacritty issue on the subject were pissed!
- theowaway213456 7mo agoAre there any good, non-tiling window managers that support tabs? (I struggle with tiling ones like i3 because I am a small-brained mouse user)
- skulk 7mo agoMaybe you'd like Niri? https://github.com/niri-wm/niri https://github.com/niri-wm/niri
- nixpulvis 7mo agoI mean, macOS supports tabs now. I wouldn't call it "good" though.
- ecliptik 7mo agoFluxbox has tabs and is a stacking window manager. - https://fluxbox.org/features/ https://fluxbox.org/features/
- eddythompson80 7mo agoYes, we need tabs for RDR2 and Spotify.
- esperent 7mo agoI would love tabs for Spotify. I just discovered I can at least open new windows from the linux YouTube music client by middle clicking, a revelation !
- eddythompson80 7mo agoEvery application (or concept) can introduce “tabs”, but it means something wildly different for that particular application. Tabs (or instances) in an application immediately bumps into the concept of state (statefull vs stateless) in applications. Sometimes, it makes perfect sense. The reason tabs made sense for web browsers since 2004 is because each web page could be thought of as a “stateless” instance of an application. You’re not asking for “tabs”, you wish every application could be “Stateless”. Stateless is a beautiful thing, until you understand what state is, and who needs to manage it. If every “tab” of Spotify had no idea what the other “tab” is playing and you had to switch back and forth between tabs to pause-and-play songs, that would be a bug, not a feature. While 2 “windows” playing audio (if you instruct them to) is expected.
- esperent 7mo ago> Tabs (or instances) in an application immediately bumps into the concept of state (statefull vs stateless) in applications. Agreed, and this is why tabs need to work at the app level, not window manager/os level. That said, for Spotify specifically, it can already tell what I'm playing on an entirely different device. I think they can handle tabs.
- hombre_fatal 7mo agoI've heard this a lot on HN over the years but it doesn't make much sense to me. Some thoughts: 1. App tabs improves UX for 99.999% of users who aren't using a WM with a good tab solution (if one even exists). 2. WM tabs means launching a new app instance for every tab you might want vs having lightweight app tabs. 3. App tabs can do all sorts of app-level things and UX polish that dumb WM tabs can't do because they are so general. My terminal emulator tabs show a badge count of bell notifications, can be dragged around into groups, or dragging into other tabs as split panes. My browser tabs show you which tab is playing music and can impl right click -> mute. 4. I bet even the biggest WM tab cheerleader still uses browser tabs. 5. WM tabs are a different concern than app tabs, not a replacement. WM tabs are useful when you want tabs and the app doesn't provide a good tab metaphor or when you want to tile/group app instances a certain way. That doesn't mean it's not useful for the app instances themselves to have app tabs when it makes sense.
- monsieurbanana 7mo agoAgree on all the points, except 4. There are even people out there who use lynx as their primary browser :) Although while I usually like tabs for most apps, I don't use tabs for terminal and rely either on window manager or tmux. I guess the difference is that I often want a mix of tabs and having multiple terminals side by side, whereas I don't really need that for a browser (or very seldom)
- hombre_fatal 7mo agoWhich window manager do you use? Sway had the better, though often tedious, WM tab solution that I've tried. Niri had a useless one. I really tried to love sway splits and tabs for terminal windows. But I finally admitted I'd rather just alt-tab to a few different terminal apps, each with its own concern (maybe one per project, this one for my remote machine), and best of all, each with its own internal tabs. That said, tabs in kitty and tmux, for example, are so basic that you don't necessarily lose much if you were to use WM tabs instead. On the other hand, tabs in iTerm2, Ghostty, Cmux, probably macOS Terminal -- a bit more powerful and intuitive since you can do things like drag them, and they can show info like terminal state. And in some of those apps, they can be displayed vertically which is my favorite.
- rane 7mo agoI like to manage tabs and windows through tmux and it suits my workflow very well. What are you going to do now?
- herewulf 7mo agoOn tiling WMs I use rxvt-unicode with no window decorations, no gaps, 1 px border, no scrollbar. Then tmux does the rest, namely tabs and splits. Automatic session saving has been a life saver on more than one occasion.
- qudat 7mo agoInteresting you mention tmux because it itself resembles a terminal emulator. It has its own terminal feature matrix that controls what your parent emulator can render. It sounds like you aren’t using tabs and splits in tmux but it does include them. It sounds like you could get away with using a tool like https://zmx.sh https://zmx.sh which only handles session persistence (attach/detach). It also uses libghostty but only for state restoration on reattach.
- mikabasketball 7mo agoA poor man's version of session persistence can even be managed with tmux plugins like tmux-resurrect and tmux-continuum.