4 ms·
Tmux does the same job as screen. I didn't want to before, but now in the current year I switched from gnu screen to tmux, keeping the key bindings the same. E
by kzrdude 2y ago
Tmux does the same job as screen.
I didn't want to before, but now in the current year I switched from gnu screen to tmux, keeping the key bindings the same. Ending a 15 year or so streak.
The reason is that tmux supports more modern features like hyperlinks and truecolor, in the distro versions. Once settled, I don't notice a difference.
- sshine 2y agoHow does tmux support hyperlinks? My virtual terminal (iTerm2, Alacritty) makes mouse-clicking a link opens it in Firefox. I've used GNU screen for 25 years. I gave tmux a try 10-15 years ago, but I didn't see the upside. I'm curious about Zellij and its wasm plugins, but equally skeptical. All I ever do in screen is ^A D, ^A C, ^A SPC, not sure what else I need?
- kzrdude 2y agoHyperlinks refers to "OSC 8" which is an escape code for making clickable links. for GNU Screen (released versions in my distro) this is an unknown escape and is stripped, tmux "passes it on" to the surrounding terminal and it is then usable. Programs such as GNU coreutils ls (ls --hyperlink=always) can use hyperlink escapes in the outputs to make every file name it lists clickable, for example. Of course there are ways to escape these escapes and get them to pass through screen - I wrote an escape code script myself to do it - but that experience is still inferior to native support, which tmux has nowadays. Well I used GNU screen for a long time but it finally broke through now due to truecolor, and I managed to switch :) I tested both zellij and tmux before switching, I was considering zellij as the first alternative. But zellij had some noticeable performance problems compared to tmux when it comes to throughput of terminal output, so I picked tmux.
- kzrdude 2y agoSee Neovim v0.10 changelog for how they use hyperlinks/OSC 8: https://gpanders.com/blog/whats-new-in-neovim-0.10/#hyperlinks https://gpanders.com/blog/whats-new-in-neovim-0.10/#hyperlin...
- balnaphone 2y agoCan you post your tmux config that mocks GNU Screen? Here is mine : https://pastebin.com/ZVWYcpyU https://pastebin.com/ZVWYcpyU , but a lot of GNU Screen muscle memory fails for various reasons. The main reasons I'm trying to switch are: better scrollback support, and better mouse support (both for tmux itself and for pass-through to terminal applications). Having used GNU Screen for 32 years, it's difficult for me to even think about what keys I'm hitting, it's below the level of conscious recognition at this point.
- kzrdude 2y agoHere is mine - it's pretty short. I think it reflects what I use and don't use, so I'm not sure it's useful to you! # remap prefix from 'C-b' to 'C-a' unbind C-b set-option -g prefix C-a bind-key a send-prefix bind-key C-n next-window bind-key C-p previous-window unbind C-a bind C-a last-window unbind A # Default C-a , bind A command-prompt -I "#W" "rename-window '%%'" unbind k bind k confirm-before "kill-window" bind Escape copy-mode # start counting from 1 set -g base-index 1 setw -g pane-base-index 1 # vi keys scrollback setw -g mode-keys vi # Style set -g status-bg black set -g status-fg white # Make current tab visible setw -g window-status-current-format "#[reverse]*#I:#W*"