13 ms·
Kitty – a fast, featureful, GPU based terminal emulator
- heroprotagonist 8y agoI was surprised that kitty became 'GPU based'. Then I realized it's an entirely different tool than the kitty fork of putty. I do wish creators of these tools would search for existing names to see if they are already in use. I would not mind if they were tools with sufficiently different purpose. But this just confuses users (and potential users) of either one.
- genocidicbunny 8y agoWorse yet, they're pretty close to each other in purpose upon first glance. I likewise thought this was KiTTY. Had to look up the actual homepage for it to confirm that I was looking at a different tool.
- kimat 8y ago9th issue on their tracker: https://github.com/kovidgoyal/kitty/issues/9 https://github.com/kovidgoyal/kitty/issues/9
- suspectdoubloon 8y agoLooks like its unlikely to get changed, as stated in the last comment of the thread by the owner. https://github.com/kovidgoyal/kitty/issues/9#issuecomment-418566309 https://github.com/kovidgoyal/kitty/issues/9#issuecomment-41...
- I_complete_me 8y agoI've installed it and I like it. Much easier than having to install tmux and built-in copy paste. I'm not a power user but I will certainly be using this. Good work.
- krick 8y agoI love this seemingly new tendency of re-building the most basic things with much better design choices than originally made in 90-s (or 70-s) — it's sometimes baffling how people are ok with using weird unintuitive tools all day every day, because it's always been this way and after spending a couple months on it everyone gets used to it. I mean, I love how user friendly (meaning configuration and all) kitty is out of the box. That's how tools made by programmers for programmers should look like. That said, kitty behaves a little weird when scrolling back and forth in vim — at least on my laptop with my vim colorscheme. It leaves out background of a line black until I jump on that specific line or simple refresh the screen. I wonder what might be the issue here.
- aumerle 8y agohttps://sw.kovidgoyal.net/kitty/faq.html#using-a-color-theme-with-a-background-color-does-not-work-well-in-vim https://sw.kovidgoyal.net/kitty/faq.html#using-a-color-theme...
- krick 8y agoThank you, I just installed it and am simply playing around, so didn't actually read the docs yet. This seems to help, however redrawing is still kind of weird, with artifacts appearing when resizing windows and such. Probably has to do with laptop's quasi-GPU. Also, alt+tab doesn't switch back to kitty's window, when kitty is in fullscreen mode.
- Cthulhu_ 8y agoThe challenge is that if you build something new, users will expect it to have all the features that those 30 year in development tools have. Take idk, a chat client - used to be enough to have a list with just a timestamp, username and the message itself. Make a chat client nowadays and people expect emojis, pasting all kinds of images, web site previews, bot / api integration options, two factor authentication and everything from the start. The barrier to create something new is just a lot higher nowadays. IMO anyway. Just look at how often a new product - like this one - is compared to existing products on HN, and how many comments are about what features other products have that are dealbreakers.
- cjbprime 8y agoWonder how it compares to https://hyper.is/ https://hyper.is/ -- Hyper isn't directly bound to OpenGL, but it uses Electron, and maybe ends up in a similar place?
- _sdegutis 8y agohttps://github.com/zeit/hyper/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+slow https://github.com/zeit/hyper/issues?utf8=%E2%9C%93&q=is%3Ai...
- cdaringe 8y agoGaaaazoooks!
- shakna 8y agoHyper's IO is slow. Because of the way Hyper handles buffering and rendering, a simple call to 'yes' can actually cause the terminal not just to freeze - but crash altogether.
- snek 8y agoI've found hyper to be good for a terminal used during presentations, because it looks so darn nice. The rest of the time I still use iTerm2 (or maybe I'll start using kitty, who knows?)
- dmitrygr 8y ago"electron" is unlikely to ever end up in the same place as "fast"
- supernintendo 8y agoThis is somewhat of an aside, but the fastest terminal emulator I've ever used is rxvt-unicode. I don't even know if it utilizes the GPU (doubt it), but damn is it snappy. Try it out if you're on GNU / Linux.
- _sdegutis 8y agoI'd love to try out Linux again. Is the rMBP story any better than it was in 2014? Last I heard there were way too many driver problems.
- kondro 8y agoiTerm2 now supports Metal for GPU-based rendering by default (when you aren't on battery). It's now blazingly fast all of the time.
- supernintendo 8y agoYes and it's so good! The Metal API is great and I'm glad iTerm2 supports it.
- jwr 8y agoHmm. People say that, but I still find iTerm2 slower and more laggy than Apple's Terminal.app…
- riffraff 8y agoI think iterm2 doesn't support ligatures when using metal. Which is odd, cause Kitty does, IIUC.
- supernintendo 8y agoNo idea, I've never tried to install it on a MBP. When it comes to Apple hardware, I tend to stick to macOS. It's Unix enough for me and while I prefer something like awesomewm, I'm willing to accept the limitations of the desktop environment and go about my day. Linux desktop in 2018 is incredible though. On my desktop, I'm running an RX 580 on AMD's open source drivers and I can play modern Windows games at >= 60fps using WINE + dxvk. Steam is even officially supporting it now. Just wait 2-3 years and GNU / Linux will be the way to go.
- fcarraldo 8y agoNot affiliated, but recently switched to Kitty from iTerm 2 on OS X on my main at-work MacBook Pro and I’ve been very impressed. It’s snappy, easy to configure and works well with my zsh/tmux setup with a few tweaks. I would love to drop tmux in favor of kitty’s sessions and multiplexing, but old habits die hard, so it will take some time.
- natvert 8y agoWhat tweaks?
- colordrops 8y agoWhat does kitty buy you on top of tmux that is worth locking yourself into a particular terminal?
- rovr138 8y agoSpeed. Locking how? He can keep his tmux configuration and use it when he needs to in the future.
- mixedCase 8y agoBest terminal I've found except for a complete deal-breaker for me: Lack of support for bitmap fonts (meaning I cannot comfortably use them in low DPI monitors), and the author has no intention of adding them. A pity, maybe some day either the author changes his mind or Alacritty will be less buggy to make it a straight upgrade to Kitty. In the meantime, Termite it is.
- snvzz 8y agoLikewise, I found this as I was trying to make it work with Terminus: https://github.com/kovidgoyal/kitty/issues/106 https://github.com/kovidgoyal/kitty/issues/106 Obviously using the truetype version (which isn't pixel perfect but a mess) is not an option. Too bad. I'll stick to libvte (sakura).
- jwr 8y agoQuestion for other tmux users: if I do not intend to replace tmux, is this still a good choice for a terminal to run your toplevel tmux session in? (compared to Apple's Terminal.app, which I found to be the fastest and least problematic on a Mac)
- stuartaxelowen 8y agoWhy use the GPU? Is terminal redraw latency really this big of a problem?
- myrloc 8y agoMy Macbook contains a high end GPU that almost never gets used, since I am mostly writing and compiling code, building projects, etc. I'd like to offload what I can to the GPU since these activities all utilize the CPU. My terminal isn't the biggest culprit, but it can definitely hog the CPU doing certain things. Perhaps this project will help with that.
- dunpeal 8y agoIt is if you have very large windows display a large amount of text with plenty of redraws. Data analysis and data science comes to mind.
- aumerle 8y agoWhy not? Is the GPU in your machine purely ornamental? More seriously https://sw.kovidgoyal.net/kitty/performance.html https://sw.kovidgoyal.net/kitty/performance.html
- jgtrosh 8y agoWhen using libaa/libcaca, sure.
- green7ea 8y agoI've switched to kitty a few months ago and it works REALLY well. It's very fast and has the best support for ligatures I've seen in a terminal. With FiraCode, it makes code beautiful in the terminal
- burfog 8y agoWhat I could really use would be a terminal emulator that is: a library that I can feed data directly into (without a pty) LGPL, MIT, or BSD able to quickly serialize its internal state (make me a blob) able to restore state if I feed it a blob of saved state, even across different software builds portable to recent versions of Linux and Windows
- 8_hours_ago 8y agoThat sounds interesting! Out of curiosity, what is your use case for those features?
- burfog 8y agoIt is useful for backwards execution. This is supported in various ways by Simics, gdb, SID simulator, rr, the Moxielogic emulator, and others. It is useful for virtual machine snapshots. You can restore the virtual machine with the terminal state intact.
- gear54rus 8y agoAm I missing something? VM snapshots also save memory, any terminal will be intact after this?
- burfog 8y agoThat would be true if the terminal were within the VM, for example if the VM was a graphical OS running a terminal program. It isn't true if the VM is communicating over an emulated serial port. In that case, the VM software must provide a terminal as hardware. Typically the VM software only provides a serial port to the VM, which the user will then associate with something else via the VM configuration. This fails when loading a snapshot because the terminal isn't part of the snapshot. For example, suppose that the VM is a PC-AT running DR-DOS and a BBS. (from the pre-internet days, with a modem for users to dial in on) At minimum, the VM software must provide a serial port for the VM. You could configure this to connect with a real physical modem and then connect to that with another modem and some dial-up software, but then you'd have a problem with snapshots. Loading a snapshot would place the BBS in a state that is inconsistent with the dial-up software. What you really need is for the terminal emulator to be part of the hardware that the VM is emulating. It would then be properly snapshotted.
- jaxn 8y agoI wish this ran in Windows so I could use it with WSL. WSL desperately needs a good terminal.
- ianlevesque 8y agoIt’ll probably get one when pty support comes out this fall.
- Svenskunganka 8y agoMintty works great for me. Their wsltty installer works wonders: https://github.com/mintty/wsltty https://github.com/mintty/wsltty
- Zardoz84 8y agoSimply switch to use native Linux. It's far faster that WSL.
- lenkite 8y agoTake a look at wsl-terminal https://github.com/goreliu/wsl-terminal https://github.com/goreliu/wsl-terminal
- swagonomixxx 8y agoGpu powered terminal emulator? This performs almost 100x worse than Mac OS Terminal.app. Cat-ting a long file takes 100x longer to draw on the screen! Isn’t it supposed to be faster if it’s “GPU powered”?
- poisonarena 8y agowhat is the benefit of using a GPU powered terminal on my Integraded 6000 ? rather than my iterm2 ?
- nsxwolf 8y agoI thought macOS was already GPU accelerated with Quartz? And wouldn't Windows be doing something similar by now? The CPU is certainly not writing pixels directly out to VESA buffers in 2018, right?
- pcwalton 8y agoMost Cocoa apps use the CPU backend of Core Graphics, which doesn't use the GPU for vector graphics rendering. (CG is usually what "Quartz" refers to, though the brand is so overloaded at this point that it's hard to make any general statements about it.) Cocoa apps do frequently use Core Animation for compositing surfaces together on GPU, though. Most of what terminals have to do is blitting of prerendered text bitmaps, which is relatively slow on CPU and does benefit from the much faster memory bandwidth of the GPU. Core Graphics generally does not use the GPU for text blitting in most Mac apps, so having a custom renderer can help here. Font rasterization on the Mac does not use the GPU either, but the glyph cache hit rate for a terminal emulator is so high that it ends up pretty much irrelevant. On Windows, Microsoft ships multiple rendering stacks for legacy compatibility. Most terminals are old Win32 programs that use classic GDI, which as far as I know is partially accelerated but mostly CPU (and implemented in the kernel!) Direct2D, the newer API, does use the GPU for blitting text. Like macOS, Windows still does all font rasterization on CPU. In GDI, font rasterization is done on CPU in the kernel (!) (except on Windows 10, in which the kernel calls out to a userspace fontdrvhost.exe). In Direct2D, font rasterization is done on CPU in userspace.
- adamch 8y agoI've been using Kitty for a month now. I really like it. It's slightly less usable out of the box than iTerm 2. The default shortcuts are very counterintuitive (no CMD T for new tab or CMD W to close tab). But editing the preferences is straightforward. I prefer it to iTerm because it's so. Damn. Fast. It's the only software (besides Sublime) I run on my laptop that actually feels like it's using the 40 years of transistor improvements I'm paying for. I know iTerm recently added a Metal renderer but I need ligature support, which iTerm Metal doesn't have. Maintainer has also been responsive on GitHub.
- murukesh_s 8y agoFrom a marketing perspective I was wondering how did you discover it one month back? Product hunt? or here itself ?
- laumars 8y agoIt's been meantioned on here a few times in conversation. That's how I stumbled across Kitty.
- iokanuon 8y agoIt's easy to find if you search for terminal emulators with low latency.
- 1996 8y agoDifferent conclusion for the same article: I picked mlterm https://anarc.at/blog/2018-05-04-terminal-emulators-2/ https://anarc.at/blog/2018-05-04-terminal-emulators-2/
- Iem3ohvi 8y agoIt has been listed on the arch wiki under their list of available terminal emulators for a long time and I often use the wiki to look up things even when having to configure things on non-arch systems.
- SSLy 8y ago
- self_awareness 8y agoThis doesn't work on half of Nvidia-powered laptops: https://github.com/kovidgoyal/kitty/issues/456 https://github.com/kovidgoyal/kitty/issues/456
- Rantenki 8y agoClosed and locked with: > I'm widely known for my extreme stupidity. Loving the zero <expletives> given approach from the maintainer. Installing now.
- guitarbill 8y agoKovid Goyal is infamous/known to be a bit toxic, see Calibre: https://news.ycombinator.com/item?id=8213946 https://news.ycombinator.com/item?id=8213946 (and the setuid "issue": https://lwn.net/Articles/465311/ https://lwn.net/Articles/465311/)
- michaelmrose 8y agoHe seems to be sarcastic especially when needled, opinionated, sometimes incorrect, and willing to argue a point. On the other hand he actually fixes things. Even if you actually were paying money for his services, which most of us are not, which would you prefer an obsequious kind person who didn't fix your problem or a dick that did. I would take the dick every day of the week.
- rootlocus 8y ago> I would take the dick every day of the week. That came out wrong...
- guitarbill 8y agoAlthough the hypothetical rockstar asshole vs nice-but-incompetent seems like a false dichotomy, I don't have an issue with direct or abrasive people in general. Perfectly happy using e.g. Linux or systemd. The beauty of open source is you can look at the code and even the issue tracker. I dare you to look at even `setup.py`, a file that's usually quite straight forward in Python, and tell me what it's doing. But if you're happy using kitty as your daily driver, great. I guess you can dismiss all this as "haters gonna hate" and "what have you made?". Which is why in the comment, I refrained from stating my opinion and linked to other people's experiences/opinions instead. Just don't say you didn't know. And good luck getting the things you want fixed.
- joshu 8y agoDoes it have an equivalent to iterm2’s imgcat?
- aumerle 8y agohttps://sw.kovidgoyal.net/kitty/graphics-protocol.html https://sw.kovidgoyal.net/kitty/graphics-protocol.html
- jarvuschris 8y agoHas anyone found a way to do a visor / "hotkey window" like with visor or iterm?
- brandonmenc 8y agoYeah, without this, it's pretty useless imo.
- tobias__ 8y agoI like KiTTY on Windows. If you want it to be more visually appealing than PuTTY, I found this repository helpful: https://github.com/yograf/kitty-solarized https://github.com/yograf/kitty-solarized Clone it/download the .zip and replace the kitty.exe with a recent one
- mikelward 8y agoDifferent Kitty? This one is Linux/macOS only.
- ObsoleteNerd 8y agoYeah OP needs to seriously reconsider the name. http://www.9bis.net/kitty/ http://www.9bis.net/kitty/
- favadi 8y agoThis is a different "kitty". Anyone has a kitty.conf with solarized colorscheme?
- ptman 8y agoHow does this compare to alacritty?
- vortico 8y agoVery similar. Kitty has scrollback. Alacritty handles double/triple-click and drag correctly, although I think kitty may have fixed thia recently, making it king.
- the_duke 8y agoAlacritty is quite buggy and not very maintained, the author doesn't put a lot of work in except the occasional small merge. (They still haven't finished the scrollback support branch that's been open for ages). I've switched to kitty and am much happier.
- beefsack 8y agoThis is less of an issue if you use a multiplexer like tmux, so how appropriate Alacritty is depends on how you use it.
- the_duke 8y agoTrue. I use i3 (a tiling WM) though, so tmux is redundant for me unless I work on remote machines. And I really don't want tmux running on top just for scrolling. It hurts performance quite a bit.
- nobleach 8y agoAdd the fact that copy/paste into/out of vim gets a little more annoying. (not impossible, just more annoying)
- sime2009 8y agoThe big idea of Alacritty is that it uses the GPU for superfast rendering and updates. But relying on tmux for scrolling seems to be a case of "penny wise and pound foolish". Having to round trip key presses and updates through a separate and possibly remote process (tmux) just to do scrolling, introduces a bunch of latency. "Normal" emulators with built in scrolling don't have this problem. Scrolling is purely local operation.
- xgantan 8y agoJust tried kitty on MacOS -- Loved it. The diff and icat tools are must-haves. Won't use iTerm anymore
- unixhero 8y agoNot to be confused with Kitty, the terminal emulator. http://www.9bis.net/kitty/ http://www.9bis.net/kitty/
- gear54rus 8y agoExactly. A bit unfortunate since this is a successor? to putty which is widely used so this name clash is kind of prominent.
- Thlom 8y agoKitty is a fork of Putty, or maybe more precisely it's built on putty. I used it a lot in my previous job as we didn't have key-based auth on customer servers. With Kitty I could create profiles with login information, and where needed automatically switch user to root. Good times.
- Giroflex 8y agoYup, I was reading through thinking there was some major update to Kitty and was a bit confused when the page said it was only available for Linux and Mac.
- theandrewbailey 8y agoAKA: KiTTY
- rtisdale 8y agoBeat me to it. Do open source projects just not check for name conflicts when creating their packages? It would seem prudent for this kitty to consider changing it's name to help alleviate confusion.
- oomem 8y agorelated issue: https://github.com/kovidgoyal/kitty/issues/9 https://github.com/kovidgoyal/kitty/issues/9
- rahimnathwani 8y agoWow. This is from the guy that created the calibre ebook software.
- baybal2 8y agoHow fast it is compared to VTE?
- zumu 8y agois there support for any sort of 'guake' drop down terminal mode?
- feydaykyn 8y agoThe author won't integrate this for portabilities reasons : https://github.com/kovidgoyal/kitty/issues/45 https://github.com/kovidgoyal/kitty/issues/45 "This is not possible to do in a cross-platform manner, as it depends on the details of the desktop environment/window manager. Really this function should be implemented in the window manager, so it can be performed with any window." There are a few pointers for Linux solutions in the issue.
- a012 8y agoI tried it on MacOS (MBP retina) and damn, it renders text awfully.
- rydel 8y agoExactly
- bscphil 8y agoSame problem here on Linux. It seems to be bypassing Freetype. Nearly unreadable on my 1080p screen. It may be fast and featureful, but the appearance of the GUI and text are currently pretty bad.
- fooblat 8y agoThe text looks very nice on my rMBP on the built-in display and absolutely terrible on my attached 2k display.
- skykooler 8y agoI remember seeing this in iTerm, but it was fixed by changing the subpixel hinting mode. Is there an option for this in kitty? I couldn't find one in the config, unless it has a different name.
- jjcm 8y agoSide note, the author's home page is an absolute relic from the past: https://kovidgoyal.net https://kovidgoyal.net , including things like provisions for 56k modems, iframes, detection scripts for IE3 and AOL, and other gems. It even looks like he has his own pre-jquery compliance library written about 18 years ago: https://kovidgoyal.net/scripts/VisualDocumentAPI.js https://kovidgoyal.net/scripts/VisualDocumentAPI.js
- dacox 8y ago> DHTML takes me back!
- ricardobeat 8y agoAnd most of it still works perfectly fine on an iPad Pro, in a completely new browser from the future. Good times!
- ilogik 8y agoOn safari desktop and mobile, I get: > W A R N I N G! Your browser is not supported by this site.I cannot guarantee that things will work as they should. Consider downloading either Mozilla >=1.4 or Internet Explorer >= 6
- BurnGpuBurn 8y agoConsidering Safari only exists for about 15 years, and the site is older than that, I think it does a very reasonable suggestion.
- dewey 8y agoIt's the same for Firefox (61.0.2), maybe the version number is detected wrongly on the new versions.
- jjcm 8y agoOh man - there's an Array.prototype.add definition in there. This was written before browsers could be expected to have Array.push(). That's insane.
- oever 8y agoTwo simple speed tests: time find ~ /dev/null takes 8 seconds alacritty takes 8.5 seconds and uses 75% CPU kitty takes 15 seconds and uses 100% CPU konsole takes 16 seconds and uses 100% CPU time for i in {1..2000000}; do echo $i; done /dev/null takes 8 seconds alacritty takes 16 seconds and uses 75% CPU kitty takes 17 seconds and uses 100% CPU konsole takes 16 seconds and uses 98% CPU
- hd4 8y agoI'm guessing you're on KDE (as am I) but it would be cool to see GNOME Terminal compared also. What I got from these results is that Konsole is already good enough to not bother switching.
- oever 8y agoYes, I'm on KDE on X. gnome-terminal does not work (easily) on my distro so I cannot measure that. I did measure xterm which takes over a minute for both tests and also stresses out X. None of the other terminal emulators did that. Still, I wonder if the terminal emulators could use less CPU and be faster if they refreshed only with the frequency of the monitor. An interesting insight from the tests is that the execution speed of a program can depend on the speed of the terminal emulator.
- vanderZwan 8y agoHow about Terminology? https://www.enlightenment.org/about-terminology https://www.enlightenment.org/about-terminology
- oever 8y agoTerminology 1.1 takes 26 seconds and 100% CPU on find and 15 seconds and 90% CPU on the bash counting.
- nosjwshere 8y agoan sdl based term would do that https://github.com/Zoomulator/Terminate https://github.com/Zoomulator/Terminate
- qyron 8y agoAbout a year ago I was deciding between Kitty and Alacritty and I chose Kitty because of 2 important features it had over Alacritty: proper underline rendering (Alacritty just draws underscores) and text selection with Shift+Mouse. Kitty also compiles instantly as it's written in plain old C. The author is also very responsive on GitHub and addresses each issue quickly.
- gravelc 8y agoWow! Really like it. The windows organisation is well done. Usually just use whatever comes with Ubuntu, but this is much nicer. As an aside, had to add TERM=xterm-256color to my Raspberry Pi's .bashrc to get it to play nice when I SSH in from Kitty (otherwise commands like 'clear' don't work).
- muhammadusman 8y agoI can't seem to get the config changes to show up on my install, is there something I'm missing in my setup? I update the config, save it, quit Kitty and start it up again, nothing still :/
- Spiritus 8y agoThe file is in a different location depending on OS. For example on macOS it’s ~/Library/Preferences/kitty/kitty.conf
- muhammadusman 8y agoThanks, didn't realize that :o
- yason 8y agoWhy render with the GPU? I don't think I've seen a visually slow terminal emulator since 2000 and barely even in the 1990's. Text rendering is basically just blitting cached glyph bitmaps into a buffer, and CPUs have been more than overly fast doing that for eons. And CPU rendering has none of the compatibility problems/quirks that GPUs have. I can fire up a Gnome Terminal onto an unaccelerated Vesa X11 display if my graphics card doesn't work or I haven't configured it yet. For better responsivity I suppose a terminal that behaves like mosh would be a good approach. It would maintain the tty state in memory and only render the latest view, dropping the rendering of any intermediate diffs in the buffer. I would guess most terminal emulators do work like that these days but I haven't checked.
- z3t4 8y agoText rendering is very complex. GPU text rendering is however unlikely to be faster then "native" text rendering. But it could likely make scrolling more smooth.
- yason 8y agoRendering the vector fonts into cached bitmaps is complex. Rendering the final buffer by blitting those bitmaps isn't very. Smooth scrolling is inherently bounded by the vsync rate of the display. As long as you can render the terminal's pixel buffer with new characters and send it to front for the next flip, all within some portion of the time you have between frames, it's as smooth as it can get. Missing a frame will cause stutter, and make it non-smooth. Given the fact that terminal doesn't necessarily need to render if there are no changes, using GPU seems like an overkill for regular use.
- type0 8y agoYou could use it to watch youtube in ascii mode if that somehow tickles your fancy
- dancek 8y agoInput latency makes for a bad user experience. People just usually don't notice it when typing as it's so common. See https://danluu.com/term-latency/ https://danluu.com/term-latency/ for measurements of some terminal software and discussion of why latency is bad. I'm not sure if Kitty is using GPU specifically to minimize latency, but it would be a good reason.
- Zardoz84 8y agoI would try it if there is a way to imitate Yakuake behaviour. The way that kitty allows to be controlled looks more powerful that Yakuake exposed dbus API.
- haberman 8y agoTerminal emulators have tabs/windows, tmux has tabs/windows, vim has tabs/windows. All with different keyboard shortcuts and semantics. I wish this were all unified into a single window/tab/keybinding model. That was easy to code against and write your own interactions for. I keep hoping I'll see a boundary-pushing project like Kitty do something new in this space.
- scolby33 8y agovim-tmux-navigator[0] is probably the best thing I've installed in my terminal for transparently moving between splits. Using it has allowed switching splits to become so thoughtless that it's automatic as I move my eyes. [0] https://github.com/christoomey/vim-tmux-navigator https://github.com/christoomey/vim-tmux-navigator
- aumerle 8y agokitty has remote control (the ability to contrl it fro scripts/shell prompt) which you can use to integrate its windowing/layouts with other programs. Not sure what else the terminal emulator could do in this space, but if you have ideas, feel free to discuss them on github https://sw.kovidgoyal.net/kitty/remote-control.html https://sw.kovidgoyal.net/kitty/remote-control.html
- aepiepaey 8y agoDon't forget the (tiling) window managers, that also have tabs/windows.
- nepeckman 8y agoThis really bothers me too. For a while, I've been considering writing a window manager (or wayland compositor) that tabs all windows by default, and provides an easy model around un-nesting tabs and tiling the new window. Something like the tabs of i3 meets the simplicity of bspwm. The idea being I can then just use new windows for applications, and have the same keyboard shortcuts and semantics for tabs everywhere.
- amelius 8y agoHow do we install the GPU without a terminal?
- comesee 8y agoSoftware emulated gpu library backend
- rawoke083600 8y agoI live and die by my emulator(Guake) :) Can't live without it !
- Toorkit 8y agoI do something similar. I put any tty's I use in i3wm's scratch buffer and move it to the top. A key press then pops it up like a drop-down window without an animation. I quite like Kitty compared to urxvt, which I was using before. Just looking at cmatrix, you can tell the difference. Smooth characters dropping down in kitty, sketchy 10fps on urxvt. The only thing that bothers me is the theme being set in the config file. For urxvt, I put the theme separately in xresources and have a shell alias to change it (which then requires opening a new terminal, but that's what I use tmux for). Maybe I can do something similar for Kitty, haven't really read the docs.
- laurent123456 8y agoAnother terminal emulator for systems that have already plenty of very good terminal emulators. A version for Windows on the other hand would have been very useful.
- iddan 8y agoThis is the real shit https://github.com/jwilm/alacritty https://github.com/jwilm/alacritty
- christoph-heiss 8y agoAnother GPU-accelerated terminal emulator is alacritty[0]. Although it has a lot less features than kitty and really is only usable with tmux (or GNU screen, whatever), it is more or less perfect for people who want their terminal to do just one thing and that one thing pretty fast. Disclaimer: Haven't tried kitty yet and using alacritty for a nearly a year now. [0] https://github.com/jwilm/alacritty https://github.com/jwilm/alacritty
- comesee 8y agoI prefer alacritty because it's less bloated. I always use dvtm
- forgotpwd16 8y agoAlacritty seems far more popular (partly because it is written in Rust) though it is only some months older. But, beyond being GPU-based, it offers nothing more over other terminals. (Actually it offers less being as slim featurewise as st.) For Kitty you can even ignore GPU rendering and still have some good stuff.
- hdra 8y agoI was pretty impressed when I found alacritty a while ago, but I stopped using it as I soon found out that pretty much any speed gain I got from using the terminal is pretty much negated from having to use tmux in order to have any form of window management..
- mjtribue 8y agoCould you please provide more details on the speed issues with tmux?
- jstimpfle 8y agoIt's, well, slow. Haven't done any measurements, but it's noticeable. To do its work tmux must be basically another terminal emulator, and it seems it isn't the fastest at it. It's still strange, neither a little context switching (tmux is an extra process in the pipeline) nor doing the terminal things should amount to more than a millisecond. I think.
- memco 8y agoTried it out and it seems ok. It does seem quite responsive and wasn't too hard to customize. Doesn't have a lot of discoverability out of the box since there's no menus: I had to search through the config file to figure out that tabs exist and that to make one I need to enable the command. I would love a guide of some sort: perhaps a video showing some of the features and how they would fit into a workflow. I toyed around with tmux, but my current setup relies on panes in iterm. Since there's no option to transfer over, it'd be nice to see how to migrate. Looking forward to trying out the kittens later since I didn't mess with those at all.
- adimitrov 8y agoAnd now I feel old. Menus in a terminal? Videos explaining a terminal emulator? Migration guide from arbitrary terminal emulators configs? Get off my lawn! Kids these days, never having had to compile their own xterm and then seeing the light of our holy lord and saviour rxvt, and its endless man pages. There's a huge configuration doc[1], and the homepage already does a very good job of introducing you to its features. You have to read that, yeah, but maybe you can get a screen reader to read it for you. Dunno. [1] https://sw.kovidgoyal.net/kitty/conf.html https://sw.kovidgoyal.net/kitty/conf.html
- heavenlyblue 8y agoVideos are the worst. No copy/paste. The only was to go back in the information flow is through a dumb scroller without any semantic addendum. It's a joke. More importantly, making a video probably takes more time that having a nice write-up about anything. I am 26, BTW.
- memco 8y agoEventually I was able to figure things out and more or less the process was simple enough using the config file. However, there are several behaviors that are atypical for OSX applications such as missing conventional system shortcuts and some things I consider confusing such as the fact that there are OS windows and then there are "windows" which are similar to panes in iTerm, but are not actually windows. Perhaps for other terminals or systems this is normal, but it isn't exactly par for the course for the tools I've worked with prior. One of the best things about OSX is that every item that is available in the menu bar has a clear shortcut associated with it and a very helpful search box available via the cmd+? key combo which works as a shortcut for anything you don't happen to know the shortcut to offhand. Menus happen to be one of the fastest ways to navigate OSX with a keyboard for me. This app does not have any menus to speak of, which is fine, but it just makes it that much harder to figure things out on your own. As for the video suggestion: some things just don't translate as well as text for me (I am legally blind: not afraid to RTFM, but sometimes reading is asking a bit more for me than others). Sometimes it's nice to see how someone else does it because it helps when you don't know how to do something on your own. Even an asciinema style demo is quite helpful for certain tools here and there.
- karakanb 8y agoPlease forgive my ignorance: what do these terminal emulators do better than a basic terminal application, such as Terminal.app? My work with terminal is quite basic, I edit a few files, execute a few commands and sometimes cURL something. Terminal.app has some basic colors, has tabs, and works out of box without any visible performance issues for basic usage. What improvements would these emulators bring to my daily life?
- DavideNL 8y agohttps://www.iterm2.com/features.html https://www.iterm2.com/features.html
- rbanffy 8y agoYou may have better font rendering (anti-aliasing support on low-dpi screens), faster rendering and scrolling, better support for terminal attributes (crossed-out, overline, italic, etc). iTerm does a lot of optimizations so it can render and scroll faster (I volunteered to add a feature to it, and I dug a bit through the code). For instance, iTerm supports italic, which Terminal.app doesn't. Gnome's terminal (vte, actually) does support overline (I volunteered adding it to iTerm, but I'm nowhere near close), which is handy for status lines, as well. I think there is one that takes ANSI codes seriously enough to support double-height and width. To see what's missing, you can look into https://en.wikipedia.org/wiki/ANSI_escape_code https://en.wikipedia.org/wiki/ANSI_escape_code
- hestefisk 8y agoEcho comments on rxvt. It’s blazingly fast and customisable (set fg white and bg gray8 in .Xresources). It has full Unicode support too. Firing it up on my 10 year old FreeBSD workstation is still snappier than macOS or Win10 WSL will ever be.
- toastal 8y agoEveryone is talking about speed and latency, but how is it on battery consumption?
- brotherjerky 8y agoUsed (and enjoyed it) -- just wish it were in Debian Stable (or backports) already.
- cosmojg 8y agoIt will be in the next stable! You can install it from Testing or Sid.
- oarfish 8y agoI wish this would support easy theming so I could make it a drop-in replacement for iTerm in which I use Solarized.
- ethelward 8y agoLike this? https://sw.kovidgoyal.net/kitty/conf.html#color-scheme https://sw.kovidgoyal.net/kitty/conf.html#color-scheme
- jbb67 8y agoI don't even know where to start with this. We had terminals that were way faster than you could type or see 30 years ago. They didn't need a GPU and ran on a CPU 1000 times slower than what we have now. If this is progress... I'm not sure I want it
- Const-me 8y ago30 years ago, we didn't have 8+ megapixel displays. And the GPUs were character-based, with only 256 different characters, usually 16 colors/each. That's the main reason for the hardware requirements. Essentially, these shaders emulate a character-based fixed function GPU from 30 years ago, adding features like more colors, Unicode, and custom fonts.
- syn0byte 8y agoThey were also char based display at something like 320x240 resolution and maybe 16-256 colors. Modern displays at 1920x1080 in millions of colors. 30 years ago a terminal was the whole display and nothing more. Now its a single window amid dozens of other windows including content ranging from high definition video to real-time rasterized 3D graphics. Yes, that's progress.
- Const-me 8y agoThe resolution wasn’t that bad. VGA was introduced 31 years ago, in 1987. The text mode was 80x25 characters, 9x16 pixels/each, so the effective output resolution was 720x400 pixels. I currently develop a device with similar one, 800x480, only now I have GPU and GLES 3.2. Back to the old times, because RAM was so expensive, that high resolution only worked in text mode, where the frame buffer only had 2 bytes per character, one for character itself, another for attributes i.e. background and foreground colors. Graphic modes had way lower resolution, indeed.
- lytedev 8y agoAlso, as others have noted, with many new layers of abstraction between user and system including the compositor, window manager, display manager, display server, and probably a host of others within the operating system and places I'm unfamiliar with.
- WillKirkby 8y agoSeems to render The Emoji Demo [0] nice and buttery smooth, though the skintone cube scene appears a tad broken. Quite impressed. [0] http://www.pouet.net/prod.php?which=76627 http://www.pouet.net/prod.php?which=76627
- vlunkr 8y agoI tried this recently. Unfortunately it doesn’t support bitmap fonts, so I can’t use Terminus there.
- orsenthil 8y agoThe developer is of the Calibre fame. I had little hesitancy on the UI aspects of this project, but I am completely surprised. Ready to give a try.
- harel 8y agoIs there a repository for ubuntu? I tried to use the binary but don't even have scroll bars on the window, and when I ssh somewhere I cannot start a screen session
- nimbius 8y agoIll give that Kitty is featureful. Not sure how many times ill need to render something i cant invoke from feh in the term, but its a neat hat trick. but fast? on an intel haswell graphics card Im seeing input latency. Sure, its technically beautiful, but the st terminal from suckless.org is lightning fast compared to this. update: this is on a 2015 macbook with retina running funtoo, so this may be a performance consideration specific to the hardware.
- snvzz 8y agoIt's not that featureful. It can't even handle bitmap fonts, only slow and blurry truetype fonts.
- C4K3 8y agoI tried kitty very briefly, but its startup speed feels very slow. As someone who prefers using my WM to manage multiple windows, a slow startup speed is absolutely killer for me. Edit: I did some basic tests using slow motion recording on my phone, and this is how long I found it took a few terminal emulators to start: (Recorded in 240FPS) - rxvt-unicode 33 frames - kitty 298 frames - lilyterm 20 frames - sakura 55 frames Alacritty apparently accepts input before it is able to display anything. It took 53 frames before it would take input, and 180 frames (total from startup) before it displayed anything.
- ionforce 8y agoDoes it support transparent/translucent windows?
- Synroc 8y agoHow is this going to work with OpenGL's deprecation on MacOS?
- Volt 8y agoLike everything else, it will probably use a shim.
- rezeroed 8y agoWhat is this shortcut? Increase background opacity ctrl+shift+a>m
- noloblo 8y ago1. no preferences window 2. no resize option for text 3. "Cannot find terminfo entry for 'xterm-kitty'." ie screen doesn't work in ssh makes this hardly usable
- SolitudeSF 8y agoIs this bait?
- cosmojg 8y ago1. There's a configuration file, and it's incredibly well-documented. You can simply reference the default config, read the manpages, or read the available documentation for help. See: https://sw.kovidgoyal.net/kitty https://sw.kovidgoyal.net/kitty 2. There is a resize option for text. Hell, in my experience, Kitty seems to have the most powerful font management of any terminal. See: https://sw.kovidgoyal.net/kitty/conf.html#conf-kitty-fonts https://sw.kovidgoyal.net/kitty/conf.html#conf-kitty-fonts 3. That's because the machine you're SSHing into doesn't have Kitty's terminfo files. That's easily fixed by running "kitty +kitten ssh myserver" where "myserver" is the IP/domain of your server. See: https://sw.kovidgoyal.net/kitty/faq.html#i-get-errors-about-the-terminal-being-unknown-or-opening-the-terminal-failing-when-sshing-into-a-different-computer https://sw.kovidgoyal.net/kitty/faq.html#i-get-errors-about-...
- duniel 8y agoI grew up and lived with urxvt and xterm for the longest time. I switched to Kitty full time, and I do not regret it. I wish Alacritty had better scrollback, I'd give that a go as well. But for now, I am sticking to Kitty.
- mega-tux 8y agoHow "bad" is libvte? https://gitlab.gnome.org/GNOME/vte https://gitlab.gnome.org/GNOME/vte There are a lot of terminals using it, like my current fav. Tilix (using D lang)