← Back to context

Comment by reissbaker

16 hours ago

A couple of annoyances I've had shipping CLI apps to Konsole users:

1. By default, Konsole disables OSC8 link support. Users can enable it manually, but you need to ship fallbacks by default since otherwise the default users will have a broken experience. Ghostty, Kitty, WezTerm, etc all ship working OSC8 support out of the box.

2. No built-in Nerd Font support, so if you want to render icons, you need to tell your users to set up a patched font or else have fallbacks. Ghostty and WezTerm ship built-in Nerd Font fallbacks if your configured font isn't patched.

That being said Konsole is much better than most emulators. iTerm2 is not bad, although it lacks Symbols for Legacy Computing Unicode support (which all of the above have, including Konsole, and which is very useful for drawing prettier terminal UIs). The worst by far is Apple Terminal, truly the IE6 of terminal emulators.

    > By default, Konsole disables OSC8 link support.

Is this for security reasons? I am sure the Konsole has a reason for it.

What's so bad about Apple Terminal? I've tried iTerm2 and others but never found a compelling reason to use them over the stock app. I don't live in the terminal like some do, though.

  • Apple Terminal doesn't support:

    1. The Kitty keyboard protocol, which makes it impossible to distinguish e.g. Shift-Enter from Enter

    2. OSC8 hyperlinks

    3. It breaks on APC queries, so you need special handling to not emit them

    4. Symbols for Legacy Computing Unicode support

    5. The Kitty Terminal Graphics Protocol (or sixel)

    6. OSC 9 notifications (or any of the later versions)

    and a bunch of other stuff, this is just off the top of my head. For a long time they didn't even support 24-bit color, although they fixed that in Tahoe.

    It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.

    • > It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.

      This sounds like a deliberate choice from Apple TBH because they, well, like their UIs and don't want to promote TUIs necessarily :)

    • > It's totally fine for basic UNIX tooling, but pretty painful if you're trying to make nice interactive TUIs.

      The latter seems always to be about aesthetics, not about UX.

> By default, Konsole disables OSC8 link support.

That is, in my opinion, the correct default.

  • I believe that the default behavior should be to never open a link without a confirmation from the user that this may be done.

    This should be enough to avoid malicious links. I do not believe that completely disabling links is a good default, because they are very frequently useful when you read some text file in the terminal window.

    • Yes, I agree. Ghostty et al don't open-on-click, but on hover they'll show you the URL and there's a keyboard shortcut + click to open. This is much better UX than disabling OSC8.

      4 replies →

    • I don’t want random text in my terminal to be a link. I do not find that useful.

      If people want it enabled, they can enable it. It shouldn’t be the default.

      5 replies →