Spyke

Posts

terminal·Terminal Emulatorsbytun

From tmux to kitty ~ terminal workflows

cross-posted from: https://slrpnk.net/post/18481126

I've recently stopped using tmux in favour of relying fully kitty's built-in windows and tabs, and I'm a fan.

The real killer app for me was the "pass_keys" plugin that allows you to navigate vim and kitty splits all with the same keys. I think there are plugins that allow you to do the same between vim<>tmux<>kitty as well, so it's not like you would need to drop tmux to take advantage of it.

Anyway, so that's been a big shift in my daily workflow. I've been using tmux for well over a decade, and GNU screen before that (I was never able to train myself away from the C-a prefix.

The one thing I miss a lot is being able to quickly detach and re-attach to existing sessions. Especially when doing some work over an ssh connection. But then I can always just shove the terminal into scratch space, or another i3 workspace.


This isn't me trying to sell anyone on ditching tmux. I love tmux, and if it works for your flow then it's perfect for you. More just curious what kinds of setup other people have.

Is there some hot new thing that I've missed that blows both kitty and tmux and i3 out of the water? Idk, but I'm always on the lookout. :p

View original on lemm.ee
2
terminal·Terminal Emulatorsbytun

Kitty v0.37.0 released

released on 2024-10-30 with 7 changes/fixes listed. The major change is "the cursor tails"

Show an animated trail when the text cursor makes large jumps making it easy to follow cursor movements. Inspired by the similar feature in neovide, but works with terminal multiplexers and kitty windows as well. See the pull request for a demonstration video. This feature is optional and must be turned on by the cursor_trail option in kitty.conf.

Kitty v0.37.0 releasedhttps://sw.kovidgoyal.net/kitty//changelog/#id1Open linkView original on lemm.ee
4
terminal·Terminal Emulatorsbytun

rxvt-unicode: fork of the well known terminal emulator rxvt

Its main features (many of them unique) over rxvt are:

  • Stores text in Unicode (either UCS-2 or UCS-4).
  • Uses locale-correct input, output and width: as long as your system supports the locale, rxvt-unicode will display correctly.
  • Daemon mode: one daemon can open multiple windows on multiple displays, which improves memory usage and startup time considerably.
  • Embedded perl, for endless customization and improvement opportunities, such as:
    • Tabbed terminal support.
    • Regex-driven customisable selection that can properly select shell arguments, urls etc.
    • Selection-transformation and option popup menus.
    • Automatically transforming the selection once made.
    • Incremental scrollback buffer search.
    • Automatic URL-underlining and launching.
    • Remote pastebin, digital clock, block graphics to ascii filter and whatever you like to implement for yourself.
  • Crash-free. At least I try, but rxvt-unicode certainly crashes much less often than rxvt and its many forks, and reproducible bugs get fixed immediately.
  • Completely flicker-free.
  • Re-wraps long lines instead of splitting or cutting them on resizes.
  • Full combining character support (unlike xterm :).
  • Multiple fonts supported at the same time: No need to choose between nice japanese and ugly latin, or no japanese and nice latin characters :).
  • Supports Xft and core fonts in any combination.
  • Can easily be embedded into other applications.
  • All documentation accessible through manpages.
  • Locale-independent XIM support.
  • Many small improvements, such as improved and corrected terminfo, improved secondary screen modes, italic and bold font support, tinting and shading.
  • Encapsulation of privileged operations in a separate process (improves security).
  • Optimised for local and remote connections.

Homepage

View original on lemm.ee
9
terminal·Terminal Emulatorsbytun

rio: v0.1.17 released

released on Oct 6, 2024

  • Fix flash of white during startup on Microsoft Windows #640.
  • Add DWMWA_CLOAK support on Microsoft Windows.
  • VI Mode now supports search by @orhun.
  • Use max frame per seconds based on the current monitor refresh rate.
  • breaking renderer.max-fps has been changed to renderer.target-fps.
  • Fix background color for underline and beam cursors when using transparent window.
  • Fix IME color for underline and beam cursors.
  • Add default for Style property on Sugarloaf font.

Homepage - Github

rio: v0.1.17 releasedhttps://github.com/raphamorim/rio/releases/tag/v0.1.17Open linkView original on lemm.ee
3
terminal·Terminal Emulatorsbytun

Anatomy of a Terminal Emulator

How does a terminal emulator work? What are ANSI escape codes? Understanding terminal internals for development, fun and mischief.

The blog post "Anatomy of a Terminal Emulator" on poor.dev provides a broad introduction to terminal emulators, focusing on their components and interactions. It explains the role of the terminal emulator in interpreting data from the shell and displaying it, often using ANSI escape codes for formatting. The post describes the connection between the terminal emulator and the shell through a pseudoterminal (pty), detailing how input and output are handled. It includes Rust code examples to demonstrate these concepts, making it accessible to both new and experienced developers. Additionally, it discusses creating user interfaces in the terminal and touches on responsive design using the SIGWINCH signal.

The summary is created using ChatGPT-4o

Anatomy of a Terminal Emulatorhttps://poor.dev/terminal-anatomy/Open linkView original on lemm.ee
11
terminal·Terminal Emulatorsbytun

tym: Lua-configurable terminal emulator

tym is a Lua-configurable terminal emulator base on VTE.

  • Lua-configurable: Allows customization using Lua scripts.
  • VTE Based Terminal Emulator: supporting various terminal functionalities provided by VTE
  • Customizable Appearance: Supports theme customization through Lua scripts.
  • Keymap Customization: Ability to set custom keymaps and hooks.
  • D-Bus Communication: Supports interprocess communication using D-Bus.
  • Configuration Options: Various configuration fields for appearance and behavior, such as shell, font, colors, and more.
  • Daemon Mode: Can run as a background process.
  • Hooks and Signals: Offers hooks for various actions and can send/receive D-Bus signals.
  • Scripting Capabilities: Supports executing Lua scripts and handling D-Bus method calls.

The feature list is generated by ChatGPT-4o and edited by me.

Github

tym:  Lua-configurable terminal emulatorhttps://github.com/endaaman/tym/Open linkView original on lemm.ee
3
terminal·Terminal Emulatorsbytun

Terminal colours are tricky

Julia Evans' blog post "Terminal colours are tricky" discusses the challenges of configuring terminal colors. The key points are:

  • Common Issues: Many users encounter problems like hard-to-read color combinations (e.g., blue on black, bright yellow on white) and inconsistencies across different terminal emulators.

  • ANSI Colors: Terminals typically use 16 ANSI colors, but there's no standard for what these colors look like, leading to variations.

  • Configuration Methods: Users can reconfigure colors either by adjusting settings in their terminal emulator or by using shell scripts. The author prefers shell scripts for consistency across different emulators.

  • Program Compatibility: Issues can arise when programs use 256-color sets or specify their own color schemes, leading to clashes with the terminal's settings.

  • Minimum Contrast Feature: Some terminal emulators have a "minimum contrast" feature that helps ensure text is readable by automatically adjusting colors.

  • Vim Integration: The post highlights the evolution of Vim's color handling, noting that recent versions support 24-bit colors, alleviating some configuration headaches.

  • Recommendations: The author suggests using base16-shell and base16-vim for better theme integration and mentions popular color schemes.

Overall, the post emphasizes the complexities of terminal color configurations and offers insights into potential solutions.

Summary is generated by POE assistant. You can read the original post here.

View original on lemm.ee
21
terminal·Terminal Emulatorsbytun

State of the Terminal

The blog post "State of the Terminal" by Gregory Anders discusses the evolution of terminal emulators and the challenges they face in adapting to modern needs. It highlights how terminals have remained largely unchanged since the 1970s, still relying on archaic concepts like ASCII control codes and escape sequences. Despite advancements in computing, terminal emulators struggle to keep up with new features like rich text or multimedia support. The author suggests that while the terminal's simplicity is powerful, a reimagining may be needed for it to thrive in modern environments.

You can read the full article here. (20-25 minutes)

Summary generated by ChatGPT-4o

View original on lemm.ee
35
terminal·Terminal Emulatorsbytun

shellinabox: Web based AJAX terminal emulator

Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins.

Overview

Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins. Most typically, login shells would be exported this way:

shellinaboxd -s /:LOGIN

This command starts a web server at http://localhost:4200/ that allows users to login with their username and password and to get access to their login shell.

All client-server communications are encrypted, if SSL/TLS certificates have been installed.

Homepage - Github

View original on lemm.ee
11
terminal·Terminal Emulatorsbytun

wayst: A simple terminal emulator [c]

Simple terminal emulator for Wayland and X11 with OpenGL rendering and minimal dependencies.

This is roughly alpha quality, expect bugs!

Features

  • Unicode support
  • Text reflow
  • 24-bit colors
  • Dynamic colors
  • All text properties (squiggly underline, blinking, overline etc.)
  • Resizable font
  • Subpixel antialiasing
  • Mouse reporting
  • Scrollback
  • Mouse text selection
  • Clipboard
  • Configurable keybindings
  • Clickable links, OSC 8 links
  • Command history and marks*
  • Terminal image protocol and sixel graphics (experimental)

Limitations

  • UTF8 mode only
  • No Bidi support
  • No font ligatures

Gihub

View original on lemm.ee
9