I've been a Kitty user for many years, but I bet that Superlogical's Rex is going to take over the world. Currently there is no Linux client available, but I'm sure it'll come later just like how Ghostty was developed macOS first.
What does that even mean. It is design produced by the user and maker of the app. If you hire a designer that's neither, doesn't that actually make them the outsider?
He's not making a traditional art form as someone who's untrained. He's designing Calibre, and he's the most qualified person in the world in doing that.
Outsider design? It means it’s designed by someone self-taught or not classically trained in the subject. It’s neither insult nor praise, it’s a classification, though often used as a way to express something as being unconventional and interesting.
> It is design produced by the user and maker of the app. If you hire a designer that's neither, doesn't that actually make them the outsider?
No, because it refers to “outside the world of design” not “outside the world of this product”. It’s two words but a single term.
> He's not making a traditional art form as someone who's untrained.
Your parent comment didn’t claim they were making art. But they are designing the app are are clearly untrained in design. Again, that’s not an insult. How many of us here are self-taught programmers?
> He's designing Calibre, and he's the most qualified person in the world in doing that.
That doesn’t necessarily follow. If that were the case there would be no designers, everyone would just do their thing. The point of learning design is to understand what works and why and how to apply it. It is perfectly valid for you to have a vision of what you want the thing to do but to need help in presenting it more effectively.
Outsider art, outsider music refer to art, and even in those practices a lot of celebrated artists are the ones that eschew the established norms.
But design is functional. Grows organically by needs of the user. If so many people swear by Calibre, it is well designed for calibre’s use case. It is not only about the aesthetic design trends. They don’t need to apply a coat of liquid glass and modern icon treatment to make it well designed. Software like Calibre are a toolbox full of screwdrivers and random things that are not in the same color hue and size and rounded corner treatment. You open the toolbox and immediately know what you need to reach for and where, get the job done and close it.
This appeal to authority is why we end up with everything looking like Juicero of software. Shiny, the same components and pricing plan as
everything else. But absolutely soulless and often user hostile.
> Outsider art, outsider music refer to art, and even in those practices a lot of celebrated artists are the ones that eschew the established norms.
I don't think many of those artists were celebrated during their lifetime, or at least not until the their form became more widely accepted in the mainstream.
Lots of people. It’s great that you don’t, really, but Calibre is very ugly¹ and I have no doubt that limits its adoption. Subconsciously, people associate ugly apps with unpolished or unfinished apps.
I don’t use Calibre (I rely instead on command-line and bespoke tools) but I do recommend it to less technical people and I always make it a point of saying “it’s very ugly but it does everything and does it correctly, it’s the gold standard for what you want to do” because I’m pretty sure if I didn’t add that disclaimer the people I recommend it to would think they downloaded the wrong thing or abandon it as soon they opened it.
¹ That’s just personal opinion, we don’t need to have a debate about that. If you find Calibre beautiful, more power to you.
When I first used Calibre I thought it was a disorganised mess trying to cram too many features in one app.
Over time I learned to appreciate the vision: it’s not the stereotypical modern streamlined app, it’s the cockpit of a spaceship. It’s AutoCAD for ebooks. I really enjoy that application now, I haven’t even scratched the surface of its featureset.
I heard the author gets very defensive of his design choices: good, I wish we had more opinionated app developers in FOSS.
I like it. I bet a designer would put lots of space around each box and hide stuff under menus and tabs, thus making the full range of options much harder to get at a glance. Like breaking up your giant function into hundreds of tiny functions. Some people prefer to just see everything at once and I think it’s a valid way to do it.
I don't see why people are complaining about the UI. The calibre codebase is just Python and you can vibe code/customize a nicer UI for it in minutes. It's not like the core changes much. Their metadata resolution and Epub handling and (formerly DRM cracking) are best in class.
Vibe-coded or not, I prefer staying close to upstream unless I have very good reasons not to, and I would not want to have to half-heartedly maintain a UI fork of this. I would still be quite excited about an official visual overhaul, though
Can we please stop with the suggesting vibe coding for everything? It’s not an interesting response: it doesn’t advance the discussion and no one learns anything. The goal of this website is (ostensibly) intellectual curiosity, and suggesting AI as a solution to every problem is basically a thought-terminating cliché.
I agree, but I think the sentiment is "it's opensource, if you don't like it, change it." Saying "just vibe-code it" is just a reaction to the response people would have given to the first statement in past times, which was to point at the barrier to entry.
programmers are overwhelmingly the type of people to solve problems whenever someone complains about something.
I don't see you berating people for complaining, after all if the purpose of this website is intellectual curiosity then comments complaining aren't in line with the purpose right?
> programmers are overwhelmingly the type of people to solve problems, whenever someone complains about something.
No one complained about anything, read the parent comment to the comments I replied to. The comment I replied to just suggested vibe coding out of nowhere.
> berating people
Come on, let’s please not be ridiculous. My comment was as polite as can be while presenting a disagreeing opinion. You don’t need to fake outrage, there’s enough of that in the world already, and it’s a major reason why everything is turning to shit.
> after all if the purpose of this website is intellectual curiosity then comments complaining aren't in line with the purpose right?
Uff, HN is so tiring. More and more it proves right everyone who calls this “the orange site”. Look, you’re clearly not a dumb person, there’s no need to play one and make arguments in bad faith. This is not hard to understand:
If there is something detrimental which you perceive as being done in excess, you should call it out and ask the person to stop, even if you have to go outside the norms a bit, for the greater good of the community. If you are, for example, in a renaissance fair and a couple of guys are being disruptive, it’s absolutely fine to break character to get them to stop; you don’t have to do it while pretending to be a medieval peasant, and it’s idiotic to suggest that would have to be the case.
It’s supremely stupid and frankly embarrassing for this community that I have to point this out as if we’re children. Don’t be Mr Gotcha, he’s not smart and no one likes him.
I really love Kitty, it took me only about 5 minutes to migrate from Ghostty.
just wish the used this icon as default: https://github.com/DinkDonk/kitty-icon
Not OP either but I moved back to kitty after giving ghostty a try. Kitty is pretty mature and it has tons of features. I don't use them all by any means, but enough that I missed them. It has all those features yet it feels so barebones: kitty is a delight.
Also not OP but Ghostty to my knowledge doesn't support predefined layouts, so that was my reason. I tried zellij, which is awesome, but Kitty turned out to be much easier to set up and ultimately use.
I'd say 100-200 ms is not horrendous but it can be much better without giving up on libghostty-vt :) check out Monstar.
Now, Monstar has a bizarre issue (at least in my setup) where it displays blank instead of capital A when used with Fixedsys Excelsior, for some reason. But hey it starts in under 10ms.
I love Kitty. I've used it since discovering it in about 2019 and it strikes the right balance of things.
It's easy to customise, super fast, light on resources, available in my distro's package manager and while the author might be a bit prickly at times, he does a fantastic job leading the project and keeping things focused.
I'll give the new shaders a try but the animated cursor is probably busy enough for me already.
When I used Kitty, I hacked in a shader that'd render a crude glow around the letters so that I could use more translucent backgrounds and still have readable text. I have no idea where that code is - I haven't used Kitty for years. But that's the kind of thing that'd be great to do with the shader support.
I've used kitty before and really liked it. I am considering switching back to it now on Linux. I've been using Ghostty on macOS and loving it there, but it's quite bad on Linux.
It keeps segfaulting, takes a long time to actually start, I keep getting weird glitches whenever I have multiple panes open in a window (which is pretty much always the case), the tab bar is hard to style and I'm missing some of the macos features (like giving a tab a coloured pin).
I use multiple terminals. I like Ghostty and Kitty. I the past I tried multiple others like Guake, Allacritty, xterm, Gnome Terminal, ITerm (when I was forced to use a Mac), Windows Terminal (I am now forced to work on Windows).
And of all terminals I still prefer Kitty. There is one feature Kitty has that no other has (or not yet) and that is the 'open last execution log' (ctrl + shift + g). It's a lifesaver.
> 'open last execution log' (ctrl + shift + g). It's a lifesaver.
When do you use this? (guessing, when you run something that crashes the terminal?)
Possibly related: I use ctrl+shift+h (and somehow configured it to use neovim), which is a nice way to navigate the terminal history - useful when pilfering through thousands of lines of local server logs
When running a script in the terminal but it fails and it's a huge output and the script was a hack and it only outputs to standard out than a 'ctrl + shift + g' opens the last output of a command in less so I can analyze it's content.
I believe I got rid of most of the issues with some .ssh setting which simply uses the normal xterm I believe. I can't check right at this moment, but apparently, simply using xterm and not the xterm-xkitty or what it's called does not actually make much problems when ssh-ing into a machine - not in my case at least.
It was a setting in some ~/.ssh config file though I believe, not a kitty setting.
Can someone give me a use case of where terminal shaders are providing functionality, rather than eye candy? I mean I love my retro crt look, but there has to be a better reason to have shaders on a term
I use a cursor following shader. It is subtle, but i feel like it draws your eye to where ever the input cursor lands. I train users on a tui application, and it seems to help them as well.
I am using kitty to run Claude TUI and Gnome Terminal for everything else. The reason is that kitty has basically no chrome around the terminal so there is more space for Claude to write its stuff. Furthermore it's got a different icon so I can pick it more easily from the task bar or with Alt-Tab. However it's got no menus and it takes a "man kitty" to learn how to use it (a /s to myself, I used to read the man pages of everything.) Gnome Terminal has menus and dialogs and that makes it more discoverable and easier to configure. I am using it for bash.
A significant differenciator is the dev/maintainer I'd say. No, really, hear me out :) I'd start with: this goes for almost any FOSS tool, not just this. Not saying one is good, one is not – but user choices, user feedback, interactions, deisgn goals/choices get affected (and sometimes influence) a lot based on how a dev/maintainer looks at their product and humans who use, or would use, their product – or contribute for that matter.
To the point that Ghosty and all other new terms are just catching up with kitty. Ghosty is celebware and will likely die away once the author loses interest, despite the flame.
I don't think it's accurate to characterize this as Kitty "taking rendering shortcuts." Is this what you're referring to?
> Similarly, some monospaced font families are buggy and have bold or italic faces that have characters wider than the width of the normal face, these will also result in clipping. Such issues should be reported to the font developer. Monospaced font families must have all their characters rendered within a fixed width across all faces of the font, otherwise they aren't really monospaced.
I'm not familiar with the legal technicalities around Unicode and fonts to say whether it is the fonts' fault or kitty's fault, but as a user, I see bad rendering (some icon glyphs rendered too small) in kitty but not in ghostty for icon fonts that I don't think are all that obscure.
UI-wise, I kinda like Ghostty more. It feels slightly more polished. However, I've moved to Kitty mainly because of its native session support. The only way to have sessions in Ghostty is through a multiplexer, which I'm not a fan of anymore.
I haven't try Ghostty, but what I like about kitty is that it's performant, easy to customize (often it's just one line to add and you get that new feature you want), I like their defaults for tabs, layouts. It's not overwhelming but not too minimal either. I just find it's a sweet spot. I also somehow like the personality of the maintainer which seem to have a nice vision for the project. My major gripe is that it's not available on windows, but anyways I rarely use microslop products nowadays.
AFAIK, Ghostty is as performant. At least, on macOS. I used both and didn't see much difference. Decided to go with Ghostty as it feels more native than Kitty.
Print a massive log file in kitty/ghostty, and another one with you default terminal, and you'll see a massive difference in how fast the log is printed out. Well to be honest it's just comfort, I can't claim it makes a difference in actual productivity, for me the real benefits of kitty are just the terminal multiplexer-ish capabilities (panes, sessions), other rendering niceties like adjusting the font, or having smooth scroll, sensible default shortcuts. But the actual "performance" e.g. input lag or rendering lag, I don't think it's that important.
Very similar, about the only difference from user perspective is that Kitty has a slight content 'wobble' on macOS when resizing the window (this typically happens when the content is rendered via an MTKView or CAMetalLayer and its parent view's 'layerContentsPlacement' isn't anchored to one side during window resizing). That would be trivial to fix though.
PS: another difference is installation size, on macOS Kitty is about 246 MB while Ghostty is 67 MB (and it looks like Kitty comes with a glslang shader compiler and python 3.14 frameworks, which together already take up 32 MB).
TL;DR: it feels like Ghostty is paying a bit more attention to platform-specific aspects than Kitty.
Also funny/sad: both call themselves 'cross-platform', but then don't support Windows (only various UNIX variants).
> Also funny/sad: both call themselves 'cross-platform', but then don't support Windows (only various UNIX variants).
This still qualifies as cross-platform though. Cross-platform doesn't mean "all the platforms" or "all the platforms with the biggest market share in the segment of the application".
Maybe, but it reminds me of the bad old days when Microsoft called their applications 'cross-platform', and then they just meant different flavours of Windows ;)
I mean, I share the sentiment, and IMO they should support at least the BSDs (there are official FreeBSD ports for both Kitty and Ghostty but no mentions of them in both websites)
> Also funny/sad: both call themselves 'cross-platform', but then don't support Windows
Both might have thought 'If you are patient enough to tolerate a slower web based start menu, you are probably not a target market for a hardware accelerated terminal' :D
Kitty is my go-to for the Linux desktop. I discovered it in an early stage and really liked it from the beginning. It’s great to see that the project continues to be developed so vigorously.
For some strange reason I kind of settled on tabby. Also
as an alternative on Linux (though I tend to use KDE konsole
more there).
Kitty has some nice ideas, but I don't know ... I am getting
lazy, so tabby works for my use cases on Windows (mostly just
a fancypants wrapper over cmd.exe really; I don't even use
powershell anymore, ruby or crystal cover all my scripting
needs, including the assumption of OOP in shells).
Nice. I love kitty. But somehow I just realized I'm stuck in 0.47 even though I'm on Fedora, it's like 6 months old. Excited to try the automated session restore.
WezTerm has worked fine for me. Windows however has ConPTY which is better than what was before but still a nuisance if one whats to use advanced escape sequences and other things that modern terminals support.
It's nowhere as featureful as kitty, but i've been using cmder and it's good enough a replacement for the default windows terminal for daily use. But if you use powershell, i m not sure what a good replacement is (but it does work in cmder iirc).
https://cmder.app/ , in case the (many) other products with the same name shows up in searches.
Not yet, but there are several projects that exist to build it for Windows: https://wintty.io/ describes itself as "A native Windows terminal built on the Ghostty core" (i.e., wrapping libghostty in a Windows application), and is probably the one I'd start with. There's also https://noctty.com/ which has taken a similar approach.
Both are clearly LLM-assisted projects, but https://noctty.com/ has a very Claude-esque front page whereas https://wintty.io/ doesn't set off my LLM detectors nearly as badly. However, Wintty's download page says "Prebuilt builds are for sponsors. The source is free and always will be, and you can build it yourself" so if you decide you don't like that business model then you may wish to try Noctty, which does have prebuilt binaries.
NOTE: I have not spent any amount of time with either of those, so I can't give personal recommendations either for or against either.
About to push a big optimization for big directories/collections
This feature seems like interesting timing in light of the above: https://sw.kovidgoyal.net/kitty/changelog/#restore-after-log...
What a legend.
Both Calibre and Gimp are great examples of outsider design.
Works amazingly well.
Looks amazingly bad.
He's not making a traditional art form as someone who's untrained. He's designing Calibre, and he's the most qualified person in the world in doing that.
Outsider design? It means it’s designed by someone self-taught or not classically trained in the subject. It’s neither insult nor praise, it’s a classification, though often used as a way to express something as being unconventional and interesting.
https://en.wikipedia.org/wiki/Outsider_art
https://en.wikipedia.org/wiki/Outsider_music
> It is design produced by the user and maker of the app. If you hire a designer that's neither, doesn't that actually make them the outsider?
No, because it refers to “outside the world of design” not “outside the world of this product”. It’s two words but a single term.
> He's not making a traditional art form as someone who's untrained.
Your parent comment didn’t claim they were making art. But they are designing the app are are clearly untrained in design. Again, that’s not an insult. How many of us here are self-taught programmers?
> He's designing Calibre, and he's the most qualified person in the world in doing that.
That doesn’t necessarily follow. If that were the case there would be no designers, everyone would just do their thing. The point of learning design is to understand what works and why and how to apply it. It is perfectly valid for you to have a vision of what you want the thing to do but to need help in presenting it more effectively.
But design is functional. Grows organically by needs of the user. If so many people swear by Calibre, it is well designed for calibre’s use case. It is not only about the aesthetic design trends. They don’t need to apply a coat of liquid glass and modern icon treatment to make it well designed. Software like Calibre are a toolbox full of screwdrivers and random things that are not in the same color hue and size and rounded corner treatment. You open the toolbox and immediately know what you need to reach for and where, get the job done and close it.
This appeal to authority is why we end up with everything looking like Juicero of software. Shiny, the same components and pricing plan as everything else. But absolutely soulless and often user hostile.
I don't think many of those artists were celebrated during their lifetime, or at least not until the their form became more widely accepted in the mainstream.
Like calibre, I guess :)
Lots of people. It’s great that you don’t, really, but Calibre is very ugly¹ and I have no doubt that limits its adoption. Subconsciously, people associate ugly apps with unpolished or unfinished apps.
I don’t use Calibre (I rely instead on command-line and bespoke tools) but I do recommend it to less technical people and I always make it a point of saying “it’s very ugly but it does everything and does it correctly, it’s the gold standard for what you want to do” because I’m pretty sure if I didn’t add that disclaimer the people I recommend it to would think they downloaded the wrong thing or abandon it as soon they opened it.
¹ That’s just personal opinion, we don’t need to have a debate about that. If you find Calibre beautiful, more power to you.
Over time I learned to appreciate the vision: it’s not the stereotypical modern streamlined app, it’s the cockpit of a spaceship. It’s AutoCAD for ebooks. I really enjoy that application now, I haven’t even scratched the surface of its featureset.
I heard the author gets very defensive of his design choices: good, I wish we had more opinionated app developers in FOSS.
[1] https://en.wikipedia.org/wiki/The_Shaggs
Presenting... MultiPSK!
https://swling.com/blog/wp-content/uploads/2020/01/MPSK-Fig1...
https://arngren.net/
Put forward your vision
I don't see you berating people for complaining, after all if the purpose of this website is intellectual curiosity then comments complaining aren't in line with the purpose right?
No one complained about anything, read the parent comment to the comments I replied to. The comment I replied to just suggested vibe coding out of nowhere.
> berating people
Come on, let’s please not be ridiculous. My comment was as polite as can be while presenting a disagreeing opinion. You don’t need to fake outrage, there’s enough of that in the world already, and it’s a major reason why everything is turning to shit.
> after all if the purpose of this website is intellectual curiosity then comments complaining aren't in line with the purpose right?
Uff, HN is so tiring. More and more it proves right everyone who calls this “the orange site”. Look, you’re clearly not a dumb person, there’s no need to play one and make arguments in bad faith. This is not hard to understand:
If there is something detrimental which you perceive as being done in excess, you should call it out and ask the person to stop, even if you have to go outside the norms a bit, for the greater good of the community. If you are, for example, in a renaissance fair and a couple of guys are being disruptive, it’s absolutely fine to break character to get them to stop; you don’t have to do it while pretending to be a medieval peasant, and it’s idiotic to suggest that would have to be the case.
It’s supremely stupid and frankly embarrassing for this community that I have to point this out as if we’re children. Don’t be Mr Gotcha, he’s not smart and no one likes him.
https://thenib.com/mister-gotcha/
Now, Monstar has a bizarre issue (at least in my setup) where it displays blank instead of capital A when used with Fixedsys Excelsior, for some reason. But hey it starts in under 10ms.
edit:typo
It's easy to customise, super fast, light on resources, available in my distro's package manager and while the author might be a bit prickly at times, he does a fantastic job leading the project and keeping things focused.
I'll give the new shaders a try but the animated cursor is probably busy enough for me already.
It keeps segfaulting, takes a long time to actually start, I keep getting weird glitches whenever I have multiple panes open in a window (which is pretty much always the case), the tab bar is hard to style and I'm missing some of the macos features (like giving a tab a coloured pin).
When do you use this? (guessing, when you run something that crashes the terminal?)
Possibly related: I use ctrl+shift+h (and somehow configured it to use neovim), which is a nice way to navigate the terminal history - useful when pilfering through thousands of lines of local server logs
I love kitty, have used it for a long while now and pretty happy, except for that one thing about ssh xterm - but even that is mostly minor.
Really cool to see such active development of an already perfectly capable and working software.
https://sw.kovidgoyal.net/kitty/kittens/ssh/
It was a setting in some ~/.ssh config file though I believe, not a kitty setting.
alias ssh="kitty +kitten ssh"
sshpass() { TERM=xterm-256color command sshpass "$@"; }
Could also alias sshpass differently but I mostly use that for embedded devices where I just want a simple shell anyways.
The alternative you mean is in ~/.ssh/config:
Host *
enabled_layouts fat
map kitty_mod+l no_op
map kitty_mod+enter no_op
# disable open/close
map kitty_mod+n no_op
map kitty_mod+w no_op
Okay, that's pretty cool. How does it handle spacing though? Do the columns in ls/top/etc still line up?
A scan of this list doesn't indicate any breaking changes: https://sw.kovidgoyal.net/kitty/changelog/#id1
I’m surprised no one out together a ghostty theme for kitty. Kitty seems to pushing boundaries with features and concepts
https://github.com/kovidgoyal/kitty/blob/master/docs/faq.rst...
People like to say that kitty is performant, but I haven't found ghostty to be otherwise.
> Similarly, some monospaced font families are buggy and have bold or italic faces that have characters wider than the width of the normal face, these will also result in clipping. Such issues should be reported to the font developer. Monospaced font families must have all their characters rendered within a fixed width across all faces of the font, otherwise they aren't really monospaced.
Serious question.
PS: another difference is installation size, on macOS Kitty is about 246 MB while Ghostty is 67 MB (and it looks like Kitty comes with a glslang shader compiler and python 3.14 frameworks, which together already take up 32 MB).
TL;DR: it feels like Ghostty is paying a bit more attention to platform-specific aspects than Kitty.
Also funny/sad: both call themselves 'cross-platform', but then don't support Windows (only various UNIX variants).
This still qualifies as cross-platform though. Cross-platform doesn't mean "all the platforms" or "all the platforms with the biggest market share in the segment of the application".
Both might have thought 'If you are patient enough to tolerate a slower web based start menu, you are probably not a target market for a hardware accelerated terminal' :D
That's the one thing I always check first in a terminal because I have this pet project to run emulators in a terminal ;)
https://github.com/floooh/chipz-kitty
(works fine in Kitty and Ghostty, wezterm theoretically also supports the Kitty protocol but at some point just freezes)
If you need a GUI, just use a GUI.
gz on the release
Kitty has some nice ideas, but I don't know ... I am getting lazy, so tabby works for my use cases on Windows (mostly just a fancypants wrapper over cmd.exe really; I don't even use powershell anymore, ruby or crystal cover all my scripting needs, including the assumption of OOP in shells).
Awesome. I built a janky version of this for myself but I’m glad it’s supported natively now.
https://cmder.app/ , in case the (many) other products with the same name shows up in searches.
Both are clearly LLM-assisted projects, but https://noctty.com/ has a very Claude-esque front page whereas https://wintty.io/ doesn't set off my LLM detectors nearly as badly. However, Wintty's download page says "Prebuilt builds are for sponsors. The source is free and always will be, and you can build it yourself" so if you decide you don't like that business model then you may wish to try Noctty, which does have prebuilt binaries.
NOTE: I have not spent any amount of time with either of those, so I can't give personal recommendations either for or against either.