Here is the tool. It requires Python and is best enjoyed from the kitty terminal emulator to display the board images. Though, you are also welcome to use this as a backend for a more sophisticated GUI.
Please let me know if you have any suggestions for how to improve the tool!
You can use guicursor (:h guicursor
) to change the cursor depending on the mode. The problem is that it doesn't seem possible (based on a few minutes of testing myself) to prevent the block from blinking even when set not to, unless you disable it totally in Kitty (https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.cursor_blink_interval). You can use set guicursor=v:hor50
to at least see the selection.
Just a correction, as u/grumpycrash pointed out, this is actually a kitty feature:
https://sw.kovidgoyal.net/kitty/kittens/unicode-input.html
My bad. I just switched to Linux recently, and all these terminal goodness is so new to me 🙇♂️️
But st -t
just opens st with a different title, right? Unless they changed it in the latest release.
You could take a look at the official manual, considering kitty is a clusterfuck of features including a multiplexer and an emoji search engine there might be a way to do this as well. If all else fails you could hack something together with xdotool or something.
icat is cat like utility to display images in the terminal. It's easy to set up, it uses Kitty + kittens and here is the link of the part of the wiki that talks about it: https://sw.kovidgoyal.net/kitty/kittens/icat.html#:~:text=kitty%20%2Bkitten%20icat%20%5Boptions%5D,scanned%20recursively%20for%20image%20files.
https://sw.kovidgoyal.net/kitty/
Here's the main site. It's the main terminal I used. I've tried a few (terminator, simple terminal, alacritty, ...I can't remember all the names). I ended up with kitty due to its speed, the fact that it's still maintained, and its support for ligatures.
I have never, *ever* seen a terminal emulator on Linux that comes close to matching the functionality/usability of iTerm2. That thing is playing 4d chess while the rest of us are playing checkers.
That being said, there are a few up-and-coming terminal emulators that try to be cross-platform. They don't have the power of iTerm2, but they're designed to be used with tmux, so that might help? Alacritty, kitty, and hyper are the ones that spring to mind. Alacritty is the fastest, kitty is the most feature-filled, and hyper is very pretty (though it's a bit of a resource hog since it's Electron).
My favorite terminal of all time that I stumbled into finding is “kitty terminal”. I’ll name off my favorite personal favorite parts about the terminal but you should definitely check out their web page as it is extremely well documented and gives you a run down of every feature and how to customize each of those features in your config file.
Anyways, this is a link to their page: https://sw.kovidgoyal.net/kitty/#font-control
Incredible terminal. I know people choose terminals like Uxvt and Termite because of how “super lightweight” they are but cmon. I’ve never been able to tell the difference in speed between kitty and either one of those. The only thing they have that is different than kitty is less features. If you don’t want those features? Fine, I get it. No reason to have the features if you’re not gonna use them.
Enjoy!
> What one do you use, and what makes it so much better than gnome-terminal?
A terminal's a terminal at the end of the day. I could use almost any of them. I currently use kitty. I don't want to say it's better than gnome-terminal but it does have some nice features I enjoy using. At the end of the day it does everything I could ask of a terminal and more. It's not hard to imagine that there might be other users like me that enjoy using some other terminal emulator (for whatever reason) and would like to make it the default for all applications that either open a terminal or run in a terminal without having to resort to ugly hacks.
> I typically code in C/C++ so any good debugging tools you can recommend would be most welcome
Debugging's not my strong-point but of the tools I know exist there's valgrind
for catching memory leaks and gdb
(GNU's debugger) or lldb
(the debugger that's part of clang/llvm) for debugging the code itself. GNOME Builder probably has a debugger or maybe one of these extensions for vscode works?
I found my prompt isn't visible all the time, so I've started moving elements into tmux's status bar. Some full screen terminal apps also present the info.
I haven't tried st for a while, I'll give it another go! I've been using kitty to much delight the past few months.
It's a great skill to have. And you can grab exactly what you want at anytime. Building for source isn't really hard. Read, make sure you have all the dependencies and the compiling tools and the way you go.
iTerm2 days are over. Most annoyingly is it's awful performance, which made me look for alternatives.
Kitty is better in every single point and available for both macos and Linux. https://sw.kovidgoyal.net/kitty/index.html
For kitty you can use kitty tabs instead of having 3 os windows.
Link to the docs.
This question is probably more appropriately asked somewhere else, as it is not specific to OpenBSD.
That said, it looks like the terminfo file for xterm-kitty
is not recognized by default, you'll need to set it up yourself. There's some hints in their FAQ.
/u/thfrw is the port maintainer, they might know why it's not mentioned in a pkg-readme or pkg DESCR.
Recommending another terminal is not really an answer, but if you like Alacritty you may like kitty better. Ranger works fine with kitty and shows image previews. There is also the icat built-in kitten. I do primarily use it with Linux, but my understanding is that kitty has first-class support for macos also. It doesn't run on Windows.
You might have better luck in general using iTerm since it's so much more popular on macos.
> The main goals for kitty performance are user perceived latency while typing and "smoothness" while scrolling as well as CPU usage.
https://sw.kovidgoyal.net/kitty/performance.html
> Alacritty uses vtebench to quantify terminal emulator throughput and manages to consistently score better than the competition using it.
https://github.com/alacritty/alacritty
> This benchmark is not sufficient to get a general understanding of the performance of a terminal emulator. It lacks support for critical factors like frame rate or latency. The only factor this benchmark stresses is the speed at which a terminal reads from the PTY. If you do not understand what this means, please do not jump to any conclusions from the results of this benchmark.
Kitty can do this, and I’m sure others can too. Kitty even has a protocol they’ve developed:
https://sw.kovidgoyal.net/kitty/graphics-protocol.html
Personally I would love to see a new take on an image-capable terminal that also had a new image-capable shell. I know that’s a massive project, but would love to see some experiments! There is a lot of potential there for sure.
There was also notty but the project is dead now: https://github.com/withoutboats/notty
Kitty is an amazing terminal, fast and incredibly easy to configure. It has amazing features such as printing images in the console! Apart from a small incompatibility with xdotool, I have nothing to complain about.
I didn't have your exact problem but i also had glitches with the background color when i moved around the document with kitty and vim so maybe this will help:
https://sw.kovidgoyal.net/kitty/faq.html#using-a-color-theme-with-a-background-color-does-not-work-well-in-vim
Ah I see, which Terminal Emulator do you use? I've not played about with the scripting and control methods much but, KiTTY might be a good replacement in the long run.
I think you'd be able to achieve the same thing.
There are also the braille Unicode chars which, depending on font, subdivide each character cell into a 4x2 grid.
There are also sixel bitmap graphics which is supported in most terminals.
Some terminals like kitty https://sw.kovidgoyal.net/kitty/graphics-protocol/ or iterm https://iterm2.com/documentation-images.html support protocols to display arbitrary graphics and animations, although those protocols are non-standard.
You need to run kitty +kitten ssh myserver
once to copy terminfo files to the server. Worked for my with an Ubuntu server.
It seems Kitty v0.24.0 (released about 1 month ago) introduced Shell integration, one of its settings is to change the cursor to a beam in Vi insert mode.
Previously I had something like this in my <code>.zshrc</code> to change the cursor in different Vi modes, I had it set to beam so I didn't realize when the update rolled in.
You can disable this new behavior in your kitty.conf
with:
shell_integration no-cursor
And now cursor_shape underline
in kitty.conf
, and manually changing your cursor with echo -ne '\e[3 q'
should work again.
To be honest is pretty damn cool. It has other features as to be able to open a file, image, etc by clicking on it after you have executed ls --hyperlink=auto . It will open the file with whatever default application you have configured. It also has tabs and windows (just like window manager)
Many features https://sw.kovidgoyal.net/kitty/#configuring-kitty
the trouble with pixel padding in a terminal is that you can only adjust the width and the height or things in nvim by rows and columns. which is the dimensions of a single character. otherwise text would be cut off. if your window manager spacing results in an uneven calculation, you are going to get extra padding on some sides. that said, if you have tweaked the WM spacing perfectly and just want different padding sizes for standard terminal/nvim look to see if alacritty has any way to remotely change setting. Kitty, for example does. I had aliased nvim to a command that sent a remote call to kitty to update padding and then launched nvim. by the time i got to figuring out how to undo that on exit, i decided i liked the padding and adjusted my nvim theme to look nice with it.
for reference: https://sw.kovidgoyal.net/kitty/remote-control/#kitty-set-spacing
Interesting question. I mix a lot. I use bspwm to create a window with a terminal for each individual project or general task. In kitty I group related functionality by tab and use layouts to position different applications that I want grouped (often development servers or server consoles). When working inside nvim I often use the built-in terminal for tasks related to the "code" (poke around, move stuff, create files, more advanced git commands etc).
Example workflow:
htop
.zk
where I keep my notes.This combination works:
installed i3 on a whim a few days ago. i have fallen in love.
copy and paste i3 configs from here (they might suck)
terminal is kitty
You need a font that has a ligature for "=>
" and a terminal that supports font ligatures. A possible solution:
Font: I use the Nerd-patched version of JetBrains Mono Regular from Nerd Fonts. This font is gorgeous and readable. The Nerd-patched version is nice to get extra symbols for Powerline and other goodies.
Terminal: I use the Kitty terminal, and in kitty.conf make the settings
font_family JetBrains Mono:style=Regular font_size 13.5 disable_ligatures cursor
A problem with ligatures is that sometimes they make editing a little confusing. To address this, the disable_ligatures cursor
option renders ligatures by default, but disables ligatures when the cursor is over it—the best of both worlds.
Nice work!
I particularly like the new selection foreground/background configuration feature as it's easier to keep a consistent mouse selection color even when I toggle through different themes.
See here on how to use that. Kitty uses so called „kittens“, which are scripts to extend Kittys functionality. Custom kittens should be fairly easy to implement, if you know a bit of Python!
Probably means the escape sequences that some commands send to mark certain output as links. One example is ls --hyperlinks
which outputs clickable files and folders.
Kitty also lets you to configure how to handle different file types. So clicking on a folder might open Vifm or cd into it in a new split window, while Markdown files open Vim/mdcat/glow/whatever. Pretty neat.
The link on the first sentence here has more in-depth info about it.
It's not easy to measure the performance of terminal apps. But I definitely notice a difference compared to let's say iTerm2, especially when scrolling through large files in Vim. Alacritty claims that it's faster than the competition using vtebench as a benchmarking tool. Kitty claims that the CPU usage is slightly increased compared to xterm (6-8% compared to 5-7%), but that scrolling is smoother.
When I ssh into any of my servers, I get the errors described in the FAQ with regards to the terminfo files on the remote server. So I've aliased ssh as in the FAQ. Is there another way to fix this that I don't have to repeat in every new VM I access?
Here is the tool. It requires Python and is best enjoyed from the kitty terminal emulator to display the board images. Though, you are also welcome to use this as a backend for a more sophisticated GUI.
Please let me know if you have any suggestions for how to improve the tool!
For sure! I like how I’m able to ditch tmux. I never needed or could fit (persistent) sessions in my workflow and mostly used it for having split panes, so I use Kitty’s instead. Additionally Kitty’s hints feature is so cool. Need to checkout a specific commit from git log —short
? Use the hash option with hints. This works with practically all hash formats. You can get file paths, urls and other stuff in the same fashion.
I'm a beginner and I seem to have somehow hosed my computer's ability to do transparency so I can't test this but I am sure I have seen it. You just say "terminal" but there are 1 or 2 dozen terminal applications available and some of them have their own bespoke way of handling things like this depending on the developer.
Having not tested it I have specific leads which are:
I'm pretty sure I recall this in tilix but the documentation is kind of thin so not sure; maybe it required an image instead of a color or something
some of the other electron or CSS based terminals like alacrity maybe?
Just out of curiosity, I always see people doing this but whenever I try it, it drives me insane trying to read text with a bunch of stuff going on behind it. Why do you find it useful?
you could also make a custom launcher that runs kitty with zsh.
Make a copy of the kitty.desktop file and change the Exec line.
Exec=kitty zsh
http://manpages.ubuntu.com/manpages/eoan/man1/kitty.1.html
kitty - kitty Documentation
kitty [options] [program-to-run ...]
Run the kitty terminal emulator. You can also specify the program to run inside kitty as normal arguments following the options. For example: kitty /bin/sh
For comprehensive documentation for kitty, please see: https://sw.kovidgoyal.net/kitty
I looked at this before and as far as I can tell there's no Wayland native tabbed alternative, but tabbed does work in Wayland. Otherwise you could try using a terminal that includes tabs, like kitty.
Looking at https://sw.kovidgoyal.net/kitty/conf/ there are multiple options to look into.
>You can open the config file within kitty by pressing ctrl+shift+f2
.
You can reload the config file within kitty by pressing
ctrl+shift+f5
or sending kitty the SIGUSR1
signal. You can also
display the current configuration by pressing the ctrl+shift+f6
key.
Have you tried any of these? Changing values on the fly and reloading to see the difference. Most customization you have is related to fonts. Is your font supported (and listed correctly)?
>To get a full list of supported fonts use the kitty list-fonts command.
If applications can use your font then it's installed and it should appear in fc-list, even without running <code>fc-cache</code>.
Note that not all applications respect the default monospace font, some need you to specify the font to use in their configuration files, like <code>kitty</code>. And you want to make sure that your font is monospaced too, this happened to me when I patched a nerd font and kitty couldn't recognize it.
If you are still having problems tell me which nerd font you're using and in what applications you want it to appear so I can test it.
If you've moved on from this then disregard.
I run Mint which is based off of Ubuntu. Since Ubuntu is based off of Debian often its packages are a behind the latest even when Canonical curates some packages to be newer than Debian's. You don't have to compile from source, though.
Looking at Kitty's install guide it shows that you can install it from a simple curl command:
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
This will install it in your $HOME/.local
directory.
Or if you download the Linux amd64 binary bundle
from the releases page you can simply extract it to your /usr/local
directory.
As I run Mint and had similar issues with the outdated version getting in the way of what I wanted to do with Kitty, I opted for the last option since I wanted it for all users on the computer.
Sorry, but my dotfiles repo is a bit of a mess, so at the moment it remains private.
Hello, r/unixporn! I finally made an account. - Wallpaper: here - Font: Terminess TTF Nerd Font - Terminal: kitty
Nope, there is no way. It is standard terminal emulator behavior to send ^I
for tab
and ^M
for return
. Likewise, there are no codes for ctrl-;
or ctrl-.
.
Why? Because all this stuff was originally built in the 70s and everything is transmitted in ASCII characters. Have a look at this chart to see what's possible with ASCII.
Yes, there is a proposal for more comprehensive keyboard handling in terminals, but so far, only a couple of terminals implement it (often incompletely) and zsh
does not support it.
Terminal emulator is Kitty, its the only terminal emulator I found that 1. can be configured in a file 2. has a natural title bar 3. has gpu acceleration while retaining ligatures
My kitty.conf
can be found here: https://github.com/shaunsingh/vimrc-dotfiles/tree/main/.config/kitty
https://sw.kovidgoyal.net/kitty/kittens/custom/ there is a collection of third party kittens at the end. But note that kittens are written in python.
And https://sw.kovidgoyal.net/kitty/kittens_intro/#kittens for the list of "significant" builtin kittens.
It's meant to do that, see https://sw.kovidgoyal.net/kitty/conf.html#opt-kitty.mouse_hide_wait
Edit: just reread it and saw that it's not meant to happen on macOS. Maybe it got enabled accidentally on your build?
Guessing this is why I have the following in my kitty.conf
# clipboard_control write-clipboard write-primary
clipboard_control no-append
https://sw.kovidgoyal.net/kitty/conf.html#opt-kitty.clipboard_control
>https://sw.kovidgoyal.net/kitty/index.html#startup-sessions
If so it will be awesome. Btw this is my dotfile and my current tmux setting, I don't think you would get anything useful from it but just to share it back :)
https://github.com/winston0410/dotfiles/blob/master/.tmux.conf
Which font is there all of a sudden? Which font would you expect there, instead? Looks like the default to me. If you mean the font in kitty, you have to configure it separately because it probably won't listen to your KDE config. Have a look at this page.
There are multiple criteria for measuring a terminal emulator's performance such as input latency, throughput, frame rate, frame consistency, CPU usage etc.
The most relevant for a normal user would be input latency and CPU usage because someone would expect the terminal emulator to be responsive and to use a small amount of system resources(look at Hyper). Throughput might matter in some cases like when you're opening very large files in Vim.
Kitty focuses on input latency and CPU usage^1. Alacritty focuses on throughput^2.
I used Alacritty for a while for coding(inside NeoVim) and it felt fast and responsive(definitely better than the Gnome Terminal) then I jumped to Kitty because of font ligatures and I it feels just as fast as Alacritty.
You dont need a kitten for this, you can just use launch directly. https://sw.kovidgoyal.net/kitty/launch.html
Write a python script and run it in launch like this
map f1 launch --stdin-source=screen kitty +launch /path/to/your/script.py
in your script read stdin and parse the last line to get the command name. Then simply launch man with it.
The only thing is you wont be able to use a dedicated window for it. For that piece you add --allow-remote-control to the launch command and use the https://sw.kovidgoyal.net/kitty/remote-control.html protocol to run man in an existing window or in a new window. The only downside here is that using remote control is slightly insecure if man decides to do something malicious/not sanitize its output properly. And in the case where there is an existing window, there will briefly appear an extra window.
To avoid these two problems you will indeed need to use a kitten. But I suggest you start with this and then try the kitten route. And probaby open a discussion in the kitty discussions forum on github for more help if you need it.
Oh wait I'm so confused. How did you navigate to that page? If I start at the github repo, there's a link to this
https://sw.kovidgoyal.net/kitty/#frequently-asked-questions
But that's like a small FAQ section in the main docs and there's no link I can see from there to faq.html.
I feel like maybe I'm missing something obvious and if so I blame the fact that I'm only halfway through my morning coffee.
Since you're specifically concerned with the behavior in full-screen you can't exactly make your window size a multiple of the cell size and I don't think resize_in_steps will do anything. Since IntelliJ is a gui app I'd guess the screenshot you posted actually has a partial line drawn at the bottom that just isn't noticeable. ~~AFAIK you won't be able to match the behavior in kitty since it only draws full cells, thus~~ if (cells * cell_height) + (total borders, margins, and padding) isn't exactly the height of your screen you'll end up with some extra space somewhere. Setting placement_strategy top-left
should place any extra space at the bottom/right (see placement_strategy).
You don't need to install kitty on the remote server to get arrows etc. working, you just need the terminfo files.
kitty +kitten ssh <server>
will copy them to ~/.terminfo
- see the kitty FAQ
Taken from kitty's doc:
>
>
>Using a color theme with a background color does not work well in vim?
>
>First make sure you have not changed the TERM environment variable, it should be xterm-kitty
. vim uses background color erase even if the terminfo file does not contain the bce
capability. This is a bug in vim. You can work around it by adding the following to your vimrc:
>
>let &t_ut=''
>
>See here for why kitty does not support background color erase.
​
Setting a custom color scheme (differing from the one kitty uses) makes the padding visible due to a mismatch of colorscheme bgcolor and kitty's bgcolor. I had limited success with:
let &t_ut=''
Havne't fiddled around too much with it lately though since it didn't do much for me initially.
I use MacVim AND vim in a terminal daily and I have two different use cases.
Regarding speed/polish: I haven't noticed any difference between MacVim and vim. I do use kitty as my terminal specifically because it's fast as helllllll at rendering text to the screen.
Hello there! there is actually a whole section in the "configuring kitty" wiki... This is called a "bell", and the droplet sound is set by the OS and it's actually default on many mainstream distros (e.g. Ubuntu). I do agree with the fact that this is the most annoying thing ever and personally I wouldn't like it to be shipped with it as default with Kitty, but it is what it is!
To deactivate it, search for kitty's config file (generally located at ~/.config/kitty/kitty.conf) and add this:
enable_audio_bell no
If you are starting out with kitty and don't have a config file yet, I'd recommend mine located in my .dotfiles repo (check dev branch), is simple and well structured :)
Maybe their eyes are bleeding due to the differing fonts (or maybe their weiner after too much self-abuse at their awesum arch install)
Since it is impossible to say which is causing them so much pain, maybe some sudocreme will help along with maybe some distraction courtesy of
https://sw.kovidgoyal.net/kitty/conf.html
or
All the dotfiles are my own, but they're very very bad and not ready to be shared
it depends on what terminal emulator you're using, if you're using urxvt like I am then you would put a colorscheme like this into your .Xresources file in your home directory and load it with xrdb
kitty is similar but the syntax is a little different and it goes into .config/kitty/kitty.conf (also you dont need to load it manually I think)
For alacritty you can paste these color schemes into your .config/alacritty/alacritty.yml or you can modify them with your own colors
ctrl-shift
is the default value for the "leader key" of Kitty: https://sw.kovidgoyal.net/kitty/conf.html#opt-kitty.kitty_mod
If you haven't changed it in your config, then this key combination might not get sent on to Vim (kitty_mod+left
and kitty_mod+right
are use to switch between terminal tabs by default).
But otherwise, as @maxigit said, you are looking for :help :wincmd
.
hahaha omg I've just looked into it and it's not even a vim feature it's a kitty feature (the terminal I use). I never realised.
Sorry for misleading you. Kitty does work on MacOs but Iterm is awesome too so...
Use Kitty instead: https://sw.kovidgoyal.net/kitty/
Honestly there's no reason to use Alacritty over Kitty. I think Alacritty was just better marketed and had hype because Rust. I say this as someone who enjoys Rust a lot.
You were right and it seems to be intentional:
https://github.com/kovidgoyal/kitty/issues/1867
The fix does not seem obvious if I had not read the bug report. You just need to set the editor option in Kitty's config:
Try kitty
terminal, it renders those powerline symbols correctly, at least for me.
https://sw.kovidgoyal.net/kitty/
Also, since you're using a bitmap font, consider using it as an actual bitmap font.
kitty is the best of the ones I tried. Adding to what you said:
kitty +kitten ssh
in particular is an incredible convenience tool that every terminal should provideless
making it traversable and searchable with its familiar interfaceKitty has some other nice stuff:
It's been my terminal emulator if choice for a few years.
kitty is fantastic if you’re a heavy command line user. Maybe the benefits are marginal compared to iterm2, but I seem to like it enough to not switch back despite some annoyances.
This doesn't answer your question about tracing country of origin, but if Putty is too limited for you, perhaps Kitty would work?
It's on github so you could, in theory, audit the code if that's a concern for you.
Depending on the VM software you're using (e.g., VirtualBox) and the software you're running in it, you "login" differently. Like, if it's a Windows VM, then you would expect to have a window somewhere when the VM is running. If it's a linux VM, then perhaps you're expected to SSH to it. Most VM software assigns an IP address to the VM. And so if you knew what that IP address was, you would be able to SSH to that IP address and you would be talking to your VM. You'd need SSH software (e.g., KiTTY ) in order to make that connection.
To be clear, a VM running on your host and the host itself are pretty independent and have nothing to do with each other. Making them talk to each other is more or less the same level of complexity as making 2 completely different systems on the Internet talk to each other. The entire purpose of virtual machines is to make it feel like it is a totaly different and independent system. So there is no reason that a user logging into the host would have access to (or automatically login on) a VM that runs on that host. To put it another way, it sounds like you want a person logging into the host to immediately launch a program (like Remote Desktop or SSH) as soon as they login. And you want that program to connect them to a specific host (the VM running on your host, but it could just as easily be something else on the internet). That might be the problem you're trying to solve.
I can't tell if you know how to connect to your running VM, but you can't figure out its IP address, or whether you don't know how to get a userid connecting to another system as soon as they login.
I've heard good things about it (especially in terms of speed), but I've been hesitant to try it out earlier...kind of just been waiting it out. Has it been rather stable? Any issues with plugin compatibility?
Also, wow, thanks so much for mentioning lazygit. This may be exactly what I want with the style of UI I want. It looks like it now supports custom pagers -- if I can combine this with something like https://sw.kovidgoyal.net/kitty/kittens/diff.html, I think it'd be perfect.
EDIT: Unfortunately, lazygit can't work with kitty diff as far as I can see, but when I combine it with ydiff, it's pretty much exactly what I wanted.
I didn't know about digraphs! Another useful thing is that if you're using the kitty
terminal emulator you can hit Ctrl-Shift-U to access the Unicode input menu and just search for the character you want to enter.
libpython is bloat, you could import anything from python, so its not the full list. considering you are in an X environment, you are depending on X whether you like it or not.
subsequent dependencies here https://sw.kovidgoyal.net/kitty/build.html
Kitty has a terminal graphics protocol and ranger supports that. I know of no other wayland terminals that implement such a protocol. The hacks used on xorg with e.g. w3mimgdisplay are not possible with wayland.
Edit: There is the sixel standard, but as far as I know only xterm implements that on linux. alacritty has an open bug, but there isn't anyone willing to do the work.
kitty is another terminal emulator providing xterm-24bits
.
My remote systems lack the terminfo configuration for xterm-24bits
and kitty provides an easy way to install it from
kitty +kitten ssh myserver
Kitty can display bitmap graphics (PNG, JPG) with its ~icat~ "kitten" but I haven't seen how to make emacs -nw
inside Kitty do that like GUI Emacs does.
i think you'd like kitty, can't find anything in your post that disqualifies it.
edit: i'm an i3 user as well, so i don't use any of kitty's tiling features, maybe they're worth having a look at, in case you're interested to do tiling in the terminal emulator.
According to kitty Performance its fast enough but https://jwilm.io/blog/alacritty-lands-scrollback/#benchmarks tells a different story. But honestly? I dont know and i dont care. kitty has multiple copy/paste-buffer, unicode-input, clipboard and some other extensions.
This is fairly easy, i have just installed Oh-My-Zsh ( https://ohmyz.sh ) and set ZSH_THEME to "agnoster", in addition you need to use a font in your terminal that have the symbols used in this prompt. I use the Hack font ( https://sourcefoundry.org/hack/ ) but there is other fonts that works as well documented in the agnoster documentation. Finally I use Kitty ( https://sw.kovidgoyal.net/kitty/ ) as the terminal emulator.
Perhaps try a different terminal emulator. I think you could accomplish something like this with Kitty. https://sw.kovidgoyal.net/kitty/
Specifically, the 'line-height' parameter in the config.
There are gtk3-based git versions of gimp and inkscape on AUR. If you don't like git version, you can use inkscape beta from Flathub. Steam can also be installed with Flatpak inside a sandbox.
Syncthing web frontend is really good, and supports watching files without extra software. Maybe it can be used instead of gtk version, give it a try.
I don't know if you already tried it, but there is a terminal called kitty which is really lightweight, supports wayland and it is even GPU-accelerated.
You're not wrong, but also not right.
There is KiTTY, a fork of PuTTY the windows telnet/ssh client.
However, one of the next google results should be: - https://sw.kovidgoyal.net/kitty/index.html - repository: https://github.com/kovidgoyal/kitty
The kitty terminal by Kovid Goyal is a modern fully featured terminal emulator like gnome-terminal or terminator.
Try it out, it has been pretty nice for me.
Kitty is a gpu-based terminal emulator that works really well on wayland. I am still looking for a rofi-like solution for wayland, which is why I fell back to regular i3.
The issue is xterm protocol (the ESC sequence thing) does not provide support to font change. Vim uses xterm protocol to change the foreground an background colors of highlights (type :highlight
on to see the current color schemes highlights). Vim also supports cterm=italic
and cterm=bold
and cterm=reverse
.
As far as I know, Kitty is the most flexible terminal font-wise. You can easily configure different fonts for the following variants bold_font
, italic_font
and bold_italic_font
(see Kitty Conf. Fonts). This is a very easy workaround to work with up to 4 different fonts on terminal.
A more complex and powerful alternative, is to create a kittens (a python plugin) to render the guifont
syntax. But this is a lot of work, and honestly I not even sure how guifont
works.
So.. as many of you suggested I now switched to kitty. So far I really like it and the configuration wasn't nearly as painful as with any terminal emulator I had before. Thank you for your great advice!
​
For anyone just looking for some basic configuration to get kitty working:
Here is my basic initial config file.
And here you find the "manual" for the configuration of kitty.
Add something like this in your kitty.conf
in $HOME/.config/kitty/kitty.conf
:
```
background #000000
foreground #F8F8F2
cursor #F8F8F2
color0 #000000
color1 #EE4F84
color2 #53E2AE
color3 #F1FF52
color4 #6498EF
color5 #985EFF
color6 #24D1E7
color7 #E5E5E5
color8 #2e2e2e color9 #F48FB1 color10 #A1EFD3 color11 #F1FA8C color12 #92B6F4 color13 #BD99FF color14 #87DFEB color15 #F8F8F2 ``` You can also read the documentation here
I'm using kitty right now. It seems to meet most of your requirements. Maybe check it out. I use the single-instance option for daemonization and set-color for theming running instances. I'm unfamiliar with sixel, though.
That's just 4 kitty windows on a dedicated floating window workspace (no other layouts possible). Or at least it is if I understand your question correctly? It is totally doable in one kitty terminal with it giving tmux-esque window splitting but I'm still playing around with the config as I only switched from urxvt 2 days ago.
See this for getting kitty to do that kind of layout for you automatically (the next step of my evil plan).
It and mRemoteNG are definitely steps in the right direction, but still so far away from real *nix terminal emulators.
On my Linux laptop I use kitty (this one, not the PuTTY fork) and combined with a good shell config it's just so much more natural to work in.
For your point 1, shameless plug for my little https://github.com/ronjouch/marathon project, which will let you use global DE shortcut to toggle any app.
For points 2 and 3, I recommend https://sw.kovidgoyal.net/kitty/
I am using Kitty.
the only thing that bothers me is this: I get errors about the terminal being unknown or opening the terminal failing when sshing into a different computer.
But the rest is great!…
Gtop pulls the colours from the colour scheme, each system/theme specifies a colour scheme for the system, composed of 2 shades of a number of colours.
Here's the entry in the docs for the term im using https://sw.kovidgoyal.net/kitty/conf.html#the-color-table
Have you tried kitty? It runs on Wayland and supports ligatures. I used it for a few weeks until Alacritty's development really picked up in late 2018. The missing ligature support is not a deal breaker for me in Alacritty.
Looks nice. I too use neovim + tmux.
FYI: Using the the tab line (at the top of vim) to show buffers (instead of tabs) is an anti-pattern.
Also, you might be interested in using the kitty terminal. I used to use iTerm but kitty is much faster.
I use Kitty as my terminal and Qutebrowser as my browser. Both support Wayland and work beautifully with Sway. What other types of applications are you looking for?
It also supports ligatures i.e. Fira Code. It supports images (image preview in Ranger). As well as color emojis, not that I've ever had a need for them.
Thing is... It's blazing fast. But Tmux support is lacking and SSH is annoying due to missing terminfo
Dev may come across as stubborn but he is, in fact, a wizard.