Perfektion mag unerreichbar sein, aber der Terminalemulator WezTerm hakt viele Anforderungen ab:
- Ein eingebautes Tabinterface, um parallele Terminalsessions im gleichen Fenster zu haben.
- Ein Scrollbalken, ein absolutes Ausnahmefeature…
- …der sich dann auch noch mit der Maus bedienen lässt, inklusive dem Mausrad.
- Gute Konfigurierbarkeit, um beispielsweise die Steuerung der Tabs an die eigenen Vorlieben anzupassen.
- Eine große Auswahl an Farbschemas.
- Das Anzeigen von Bildern im Terminal, z.B. mittels
lsix
.
Nachdem ich WezTerm nun schon eine ganze Weile benutze sind mir auch keine Nachteile aufgefallen.
Konfiguration
Für ein modernes Programm überraschend, wird WezTerm statt über ein Einstellungsmenü über eine Konfigurationsdatei konfiguriert. Diese ~/.wezterm.lua sieht bei mir so aus:
-- Pull in the wezterm API
local wezterm = require 'wezterm'
local act = wezterm.action
-- This will hold the configuration.
local config = wezterm.config_builder()
-- This is where you actually apply your config choices
-- For example, changing the color scheme:
config.color_scheme = 'Solarized (dark) (terminal.sexy)'
config.scrollback_lines = 20000
config.enable_scroll_bar = true
-- The scrollbar is too hard to see in the Solarized theme, so change it:
config.colors = {
scrollbar_thumb = '#93a1a1',
}
config.audible_bell = 'Disabled'
config.keys = {
{ key = 'LeftArrow', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
{ key = 'RightArrow', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
{ key = 'LeftArrow', mods = 'SHIFT', action = act.ActivateTabRelative(-1) },
{ key = 'RightArrow', mods = 'SHIFT', action = act.ActivateTabRelative(1) },
{ key = 'DownArrow', mods = 'SHIFT', action = act.SpawnTab 'CurrentPaneDomain',},
}
-- and finally, return the configuration to wezterm
return config
Wichtig ist dabei das Farbschema, das ich auf Solarized (dark) (terminal.sexy)
gesetzt habe. Den Scrollbalken zu aktivieren und per Farbänderung sichtbarer zu machen macht das Terminal nutzerfreundlicher (da es die Selbstbeschreibungsfähigkeit erhöht), den Piepser bei Fehleingaben deaktiviere ich wegen seine Nervfaktors wann immer möglich, und schließlich sind da die Tastenbelegungen für die Tabverwaltung.
Statt der dunklen Variante von Solarized hätte es viele Alternativen gegeben. Die Dokumentation listet 1001 Varianten, wobei davon einige nur kleine Spezialvarianten des jeweiligen Grunddesigns sind. Trotzdem, die Auswahl ist beeindruckend.
Ich bin an sich kein Fan von mittels Programmiersprachen umgesetzten Konfigurationsdateien, aber für mich überwiegt hier, dass alles so einstellbar war wie ich es wollte. Zudem sind die Voreinstellungen bereits ziemlich gut.
Ich würde bei regulären Programmen jetzt noch ihre Funktionsweise vorstellen, aber bei einem Terminalemulator ist da wenig zu sagen. Zumindest bei meiner Nutzung. Tatsächlich hat WezTerm ein paar von mir bisher ignorierte Spezialfunktionen, wie einen eingebauten Multiplexer. Und die Tabs, aber die sind oben auf dem Screenshot ja sichtbar.
Macken gibt es wohl auch, gesammelt vom Projekt selbst auf Github. So sei die Performance nicht so gut wie die von xterm oder kitty (was ich im Alltag nicht bemerkte) und der Text werde beim Anpassen der Fenstergröße seltsam platziert (das zumindest kann ich bestätigen, auch wenn es mir vorab nicht auffiel). Von meiner Seite aus ist die Schriftdarstellung etwas, was nicht jedem gefallen könnte, wobei ich sie auf meinem System hübsch genug und soweit passend finde. Generell könnte man auch am Konzept eines GPU-beschleunigten Terminals zweifeln, zeigt xterm doch, dass dieser Ansatz für Performance und Latenz nicht notwendig ist.
Aber das sind keine gravierenden Macken. Letzten Endes ist WezTerm stabil, umfassend konfigurierbar und hat mit der Kombination von guter Performance, sichtbarem Scrollbalken und eingebauten Tabs meines Wissens ein Alleinstellungsmerkmal. Für mich war es damit bisher tatsächlich die perfekte Wahl.
onli blogging am : Linksammlung 52/2024
Vorschau anzeigen
onli blogging am : Meine Spyfall-Lösung, oder: Bilder im Terminal
Vorschau anzeigen