dvtm bringt das Konzept der Kachelfensterverwaltung, das von X11-Fenstermanagern wie wmauf die Konsole gebracht wurde. Als Konsolenfenstermanager versucht es, die Arbeit mit mehreren konsolenbasierten Programmen zu vereinfachen.
Nachrichten
- dvtm-0.15veröffentlicht (2016-01-09)
- dvtm-0.14veröffentlicht (2015-02-19)
- dvtm -0.13veröffentlicht (2014-11-15)
- dvtm-0.12veröffentlicht (2014-07-05)
- dvtm-0.11released (2014-03-08)
- dvtm-0.10released (2013-12-28)
- dvtm-0.9released (2013-04-03)
- dvtm-0.8released (2012-08-01)
- dvtm-0.7released (2011-09-04)
- dvtm-0.6released (2010-10-08)
- dvtm-0.5.2released (2009-07-07)
- dvtm-0.5.1released (2009-02-08)
- dvtm-0.5released (2009-01-26)
- dvtm-0.4.1released (2008-05-10)
- dvtm-0.4released (2008-02-17)
- dvtm-0.3released (2008-01-12)
- dvtm-0.2released (2007-12-29)
- dvtm-0.1veröffentlicht (21.12.2007)
- dvtm-0.01 veröffentlicht (2007-12-08)
Download
Laden Sie entweder den neuesten Quell-Tarball herunter, kompilieren Sie ihn (Sie benötigen curses-Header) und installieren Sie ihn
$EDITOR config.mk && $EDITOR config.def.h && make && sudo make install
oder verwenden Sie eines der bereitgestellten Distributionsbinärpakete.
Warum dvtm? Die Philosophie hinter
dvtm ist bestrebt, theUnix einzuhalten philosophy.It versucht, eine Sache zu tun, dynamische Fensterverwaltung auf der Konsole,und es gut zu machen.
dvtm implementiert daher keine Sitzungsverwaltung, sondern delegiert diese Aufgabe an ein separates Tool namens abduco.
In ähnlicher Weise wird der Kopiermodus von dvtm implementiert, indem der Scrollback-Buffercontent an einen externen Editor geleitet und nur das gespeichert wird, was der Editor schreibt stdout
. Daher wird der Auswahlprozess an den Editor delegiert, wo leistungsstarke Funktionen wie die Suche nach regulären Ausdrücken verfügbar sind.
Infolgedessen ist der Quellcode von dvtm relativ klein (~ 4000 Zeilen C), einfach und daher leicht zu hacken.
Schnellstart
Alle dvtm-Tastenkombinationen beginnen mit einem gemeinsamen Modifikator, der von nun an als MOD
bezeichnet wird. Standardmäßig ist MOD
auf CTRL+g
eingestellt, dies kann jedoch zur Laufzeit mit der Befehlszeilenoption -m
geändert werden.Die Einstellung von MOD
auf CTRL-b
wird beispielsweise durch Starten vondvtm -m ^b
erreicht.
Fenster
Neue Fenster werden mit MOD+c
erstellt und mit MOD+x
geschlossen.Um zwischen den Fenstern zu wechseln, verwenden Sie MOD+j
und MOD+k
oder MOD+
, wobei die Ziffer der Fensternummer entspricht, die in der Titelleiste angezeigt wird. Windows kann mit MOD+.
minimiert und wiederhergestellt werden.Die Eingabe kann durch Drücken von MOD+a
auf alle sichtbaren Fenster gerichtet werden, wobei dieselbe Tastenkombination erneut ausgegeben wird.e. nur das aktuell fokussierte Fenster erhält Eingaben.
Layouts
Sichtbare Fenster werden durch ein Layout angeordnet. Jedes Layout besteht aus einem Master- und einem Kachelbereich. In der Regel nimmt der Master-Bereich den größten Teil des Bildschirms ein und ist für das derzeit wichtigste Fenster vorgesehen. Die Größe des Masterbereichs kann mit MOD+h
verkleinert bzw. mit MOD-l
vergrößert werden. Fenster können mit MOD+Enter
in den Masterbereich gezoomt werden. Die Anzahl der Fenster im Masterbereich kann mit MOD+i
und MOD+d
erhöht und verringert werden.
Standardmäßig verfügt dvtm über 4 verschiedene Layouts, die über MOD+Space
- vertical Stack: Master-Bereich auf der linken Hälfte, andere clientsstacked auf der rechten Seite
- bottom Stack: Master-Bereich auf der oberen Hälfte, andere Clients unten gestapelt
- grid: jedes Fenster erhält einen gleich großen Teil des Bildschirms
- fullscreen: Nur das ausgewählte Fenster wird angezeigt und belegt den gesamten verfügbaren Anzeigebereich
MOD+m
Weitere Layouts sind im Quell-Tarball enthalten, aber standardmäßig deaktiviert.
Tagging
Jedem Fenster ist ein nicht leerer Satz von Tags zugeordnet. Eine Ansichtbesteht aus einer Reihe von Tags. Die aktuelle Ansicht enthält alle Fenster, die mit den aktuell aktiven Tags markiert sind. Die folgenden Keybindings werden verwendet, um die Tagsets zu manipulieren.
-
MOD-0
alle Fenster mit beliebigem Tag anzeigen -
Mod-v-Tab
wechselt zu den zuvor ausgewählten Tags -
MOD-v-
alle Fenster mit n-tem Tag anzeigen -
Mod-V-
Alle Fenster mit n-tem Tag zur / aus der Ansicht hinzufügen / entfernen -
Mod-t-
n-tes Tag auf fokussiertes Fenster anwenden -
Mod-T-
Hinzufügen / Entfernen eines n-ten Tags zu / aus einem Fenster
Statusleiste
dvtm kann angewiesen werden, Statusmeldungen von einer Namedpipe zu lesen und anzuzeigen. Als Beispiel wird das Skriptdvtm-status
bereitgestellt, das die aktuelle Uhrzeit anzeigt.
Copymode
MOD+e
leitet den gesamten Inhalt des Bildlaufpuffers an einen externen Editor weiter.Was auch immer der Editor in stdout
schreibt, wird von dvtm gespeichert und kann später mit MOD+p
eingefügt werden.
Damit dies funktioniert, muss der Editor als Filter verwendbar sein und sollte stderr
für seine Benutzeroberfläche verwenden. Beispiele, in denen dies der Fall ist, umfassen sandy(1)
und vis.
$ echo Hello World | vis - | cat
Patches
Es gibt eine Reihe von Out-of-Tree-Patches, die das Verhalten von dvtm anpassen:
- pertag (siehe auch die entsprechende Mailingliste))
FAQ
Detach / Reattach Funktionalität
dvtm hat keine Session-Unterstützung eingebaut. Verwenden Sie stattdessen Abduco.
$ abduco -c dvtm-session
Lösen mit CTRL-\
und später wieder anbringen mit
$ abduco -a dvtm-session
Kopieren / Einfügen funktioniert nicht unter X
Wenn Sie die Mausunterstützung aktiviert haben, was bei den Standardeinstellungen der Fall ist, müssen Sie die Umschalttaste gedrückt halten, während Sie Text auswählen und einfügen. Falls Ihnen dieses Verhalten nicht gefällt, führen Sie dvtm entweder mit dem Befehlszeilenargument -M
aus, deaktivieren Sie es zur Laufzeit mit MOD+M
oder ändern Sie config.def.h
, um es zur Kompilierungszeit vollständig zu deaktivieren. Sie können jedoch keine anderen Mausaktionen mehr ausführen, z. B. Fenster auswählen usw.
Wie ändere ich die Tastenbelegung?
Die Konfiguration von dvtm erfolgt durch Erstellen eines benutzerdefinierten config.h
und (erneutes)Kompilieren des Quellcodes. Siehe den Standard config.def.h
als Beispiel, die Anpassung an Ihre Vorlieben sollte einfach sein.Sie definieren grundsätzlich eine Reihe von Layouts und Schlüsseln, die dvtm verwenden wird.Es gibt einige vordefinierte Makros, um die Konfiguration zu erleichtern.
WARNUNG: Terminal ist nicht voll funktionsfähig
Dies bedeutet, dass Sie die dvtm.info
Terminfo-Beschreibung nicht installiert haben, was mit tic -s dvtm.info
möglich ist. Wenn Sie aus irgendeinem Grund keine neue terminfo installieren können, setzen Sie die Umgebungsvariable DVTM_TERM
beim Starten von dvtm
auf ein bekanntes Terminal, wie in
$ DVTM_TERM=rxvt dvtm
Dies weist dvtm an, rxvt als $TERM
Wert in seinen Fenstern zu verwenden.
Wie stelle ich den Fenstertitel ein?
Der Fenstertitel kann mittels axterm extensionterminal Escape sequence
$ echo -ne "3]0;Your title here7"
geändert werden.Wenn Sie also beispielsweise in bash
das aktuelle Arbeitsverzeichnis im Fenstertitel anzeigen möchten, können Sie dies mit dem folgenden Abschnitt in Ihren Startdateien tun.
# If this is an xterm set the title to [email protected]:dircase "$TERM" indvtm*|xterm*|rxvt*) PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}7"' ;;*) ;;esac
Andere schalen bieten ähnliche funktionalität, zsh als beispiel hat eineprecmd funktion, die verwendet werden können, um die gleiche wirkung zu erzielen.
Mit den angezeigten Farben stimmt etwas nicht
Stellen Sie sicher, dass Sie $TERM
richtig eingestellt haben Wenn Sie beispielsweise 256 Farbprofile verwenden möchten, müssen Sie wahrscheinlich -256color
an Ihren regulären Terminalnamen anhängen. Auch aufgrund von Einschränkungen von ncurses bydefault können Sie nur 255 Farbpaare gleichzeitig verwenden. Wenn Sie mehr als 255 verschiedene Farbpaare gleichzeitig benötigen, müssen Sie ncurses mit
$ ./configure ... --enable-ext-colors
neu erstellen.Beachten Sie, dass dies den ABI ändert und daher den NAMEN der Bibliothek auf 6 setzt (dh Sie müssen gegen libncursesw.so.6
verlinken).
Einige Zeichen werden wie folgt angezeigt:
Stellen Sie sicher, dass Sie dvtm mit einer Unicode-fähigen Curses-Bibliothek kompiliert haben (im Fall von ncurses wäre dies libncursesw
). Stellen Sie außerdem sicher, dass Ihre Gebietsschemaeinstellungen UTF-8 enthalten.
Der Ziffernblock funktioniert nicht mit Putty
Deaktivieren Sie den Anwendungstastenmodusin der Putty-Konfiguration unter Terminal => Features => Disable application keypad mode
.
Unicode-Zeichen funktionieren nicht in Putty
Sie müssen Putty mitteilen, in welcher Zeichencodierungdie empfangenen Daten sind. Setzen Sie das Dropdown-Feld unter Window => Translation
auf UTF-8. Um die richtigen Zeichen zum Zeichnen von Linien zu erhalten, möchten Sie wahrscheinlich auch die TERM-Umgebungsvariable auf putty
oder putty-256color
setzen.Wenn dies immer noch nicht der Fall ist, versuchen Sie, dvtm mit der folgenden ncurses-bezogenen Umgebungsvariablen NCURSES_NO_UTF8_ACS=1
.
Entwicklung
Sie können die aktuelle Codebasis jederzeit aus dem git-repositorylocated bei Github orSourcehut .