dvtm – gestionnaire de terminaux virtuels dynamiques

dvtm apporte le concept de gestion de fenêtres en carrelage, popularisé par X11 – gestionnaires de fenêtres comme wm à la console. En tant que gestionnaire de fenêtres de console, il essaie de faciliter le travail avec plusieurs programmes basés sur la console.

 démo abduco+ dvtm

Actualités

  • sortie de dvtm-0.15 (09/01/2016)
  • sortie de dvtm-0.14 (19/02/2015)
  • dvtm – 0.13 publié (2014-11-15)
  • dvtm – 0.12 publié (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.1sortie (2007-12-21)
  • sortie de dvtm-0.01 (2007-12-08)

Téléchargez

Soit Téléchargez la dernière archive source, compilez (vous aurez besoin d’en-têtes de malédictions) et installez-la

$EDITOR config.mk && $EDITOR config.def.h && make && sudo make install

ou utilisez l’un des paquets binaires fournis par la distribution.

Pourquoi dvtm? La philosophie derrière

dvtm s’efforce d’adhérer à l’Unix philosophy.It essaie de faire une chose, la gestion dynamique des fenêtres sur la console, et de bien le faire.

En tant que tel, dvtm n’implémente pas la gestion des sessions mais délègue cette tâche à un outil distinct appelé abduco.

De même, le mode de copie de dvtm est implémenté en redirigeant le contenu de la mémoire tampon vers un éditeur externe et en ne stockant que ce que l’éditeur écrit stdout. Par conséquent, le processus de sélection est délégué à l’éditeur, où des fonctionnalités puissantes telles que la recherche d’expressions régulières sont disponibles.

En conséquence, le code source de dvtm est relativement petit (~ 4000 lignes de C), simple et donc facile à pirater.

Démarrage rapide

Tous les raccourcis clavier dvtm commencent par un modificateur commun qui, à partir de maintenant, est appelé MOD. Par défaut, MOD est défini sur CTRL+g cependantcela peut être modifié au moment de l’exécution avec l’option de ligne de commande -m.Par exemple, la définition de MOD à CTRL-b s’effectue en démarrant dvtm -m ^b.

Fenêtres

De nouvelles fenêtres sont créées avec MOD+c et fermées avec MOD+x. Pour basculer entre les fenêtres, utilisez MOD+j et MOD+k ou MOD+ où le chiffre correspond au numéro de fenêtre affiché dans la barre de titre. Les fenêtres peuvent être réduites et restaurées avec MOD+..L’entrée peut être dirigée vers toutes les fenêtres visibles en appuyant sur MOD+a, l’émission de la même combinaison de touches restaure à nouveau le comportement normal.e. seule la fenêtre actuellement focalisée recevra une entrée.

Dispositions

Les fenêtres visibles sont disposées par une disposition. Chaque disposition se compose d’un maître et d’une zone de tuiles. En règle générale, la zone principale occupe la plus grande partie de l’écran et est destinée à la fenêtre la plus importante actuellement. La taille de la zone principale peut être réduite avec MOD+h et agrandie avec MOD-l respectivement. Les fenêtres peuvent être zoomées sur la zone principale avec MOD+Enter. Le nombre de fenêtres dans la zone maître peut être augmenté et diminué avec MOD+i et MOD+d.

Par défaut dvtm est livré avec 4 mises en page différentes qui peuvent être cyclées via MOD+Space

  • pile verticale: zone principale sur la moitié gauche, autres clients empilés à droite
  • pile inférieure: zone principale sur la moitié supérieure, autres clients empilés en dessous
  • grille: chaque fenêtre reçoit une partie de l’écran de taille égale
  • plein écran: seule la fenêtre sélectionnée est affichée et occupe toute la zone d’affichage disponible MOD+m

D’autres mises en page sont incluses dans l’archive source mais désactivées par défaut.

Marquage

Chaque fenêtre a un ensemble de balises non vide qui lui est associé. Une vue se compose d’un certain nombre de balises. La vue actuelle inclut toutes les fenêtres qui sont étiquetées avec les balises actuellement actives. Les raccourcis clavier suivants sont utilisés pour manipuler les jeux de balises.

  • MOD-0 afficher toutes les fenêtres avec n’importe quelle balise
  • Mod-v-Tab bascule sur les balises précédemment sélectionnées
  • MOD-v- afficher toutes les fenêtres avec nième balise
  • Mod-V- ajouter/supprimer toutes les fenêtres avec nième balise vers / depuis la vue
  • Mod-t- appliquer la nième balise à la fenêtre ciblée
  • Mod-T- ajouter/supprimer la nième balise vers/depuis la fenêtre focalisée

Barre d’état

dvtm peut être chargé de lire et d’afficher les messages d’état d’un canal nommé. À titre d’exemple, le script dvtm-status fourni qui affiche l’heure actuelle.

Copymode

MOD+e achemine tout le contenu du tampon de défilement vers un éditeur externe.Ce que l’éditeur écrit sur stdout est mémorisé par dvtm et peut être collé avec MOD+p.

Pour que cela fonctionne, l’éditeur doit être utilisable comme filtre et doit utiliser stderr pour son interface utilisateur. Les exemples où c’estle cas incluent sandy(1) et vis.

$ echo Hello World | vis - | cat

Patchs

Il existe un certain nombre de patchs hors arbre qui personnalisent le comportement de dvtm:

  • pertag (voir aussi l’article correspondant de la liste d’envoi)

FAQ

Fonctionnalité de détachement / rattachement

dvtm n’a pas de support de session intégré. Utilisez plutôt Abduco.

$ abduco -c dvtm-session

Détacher en utilisant CTRL-\ et ensuite rattacher avec

$ abduco -a dvtm-session

Copier/ coller ne fonctionne pas sous X

Si la prise en charge de la souris est activée, ce qui est le cas avec les paramètres par défaut, vous devez maintenir maj enfoncée pendant la sélection et l’insertion de texte. Si vous n’aimez pas ce comportement, soit lancer dvtm avec l’argument de ligne de commande -M, désactivez-le à l’exécution avec MOD+M ou modifiez config.def.h pour le désactiver complètement au moment de la compilation. Vous ne pourrez cependant plus effectuer d’autres actions de la souris comme la sélection de Windows, etc.

Comment changer les fixations de touches ?

La configuration de dvtm se fait en créant un config.h personnalisé et en (re)compilant le code source. Voir la valeur par défaut config.def.h à titre d’exemple, l’adapter à vos préférences devrait être simple.Vous définissez essentiellement un ensemble de dispositions et de clés que dvtm utilisera.Il existe des macros prédéfinies pour faciliter la configuration.

AVERTISSEMENT: le terminal n’est pas entièrement fonctionnel

Cela signifie que vous n’avez pas installé la description terminfo dvtm.info, ce qui peut être fait avec tic -s dvtm.info. Si, pour une raison quelconque, vous ne pouvez pas installer de nouvelles descriptions terminfo, définissez l’environnement variable DVTM_TERM sur un terminal connu lors du démarrage de dvtm comme dans

$ DVTM_TERM=rxvt dvtm

Cela demandera à dvtm d’utiliser rxvt comme valeur $TERM dans ses fenêtres.

Comment définir le titre de la fenêtre?

Le titre de la fenêtre peut être modifié au moyen de la séquence d’échappement axterm extensionterminal

$ echo -ne "3]0;Your title here7"

Ainsi, par exemple dans bash si vous souhaitez afficher le répertoire de travail en cours dans le titre de la fenêtre, cela peut être accompli au moyen de la section suivante dans vos fichiers de démarrage.

# 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

D’autres shells offrent des fonctionnalités similaires, zsh à titre d’exemple a une fonction aprecmd qui peut être utilisée pour obtenir le même effet.

Quelque chose ne va pas avec les couleurs affichées

Assurez-vous d’avoir correctement défini $TERM par exemple, si vous souhaitez utiliser 256 profils de couleurs, vous devez probablement ajouter -256color à notre nom de terminal régulier. Également en raison des limitations de ncurses par défaut, vous ne pouvez utiliser que 255 paires de couleurs simultanément. Si vous avez besoin de plus de 255 paires de couleurs différentes en même temps, alors vous devez reconstruire ncurses avec

$ ./configure ... --enable-ext-colors

Notez que cela change l’ABI et définit donc le SONAME de la bibliothèque à 6 (c’est-à-dire que vous devez lier contre libncursesw.so.6).

Certains caractères sont affichés comme garbage

Assurez-vous d’avoir compilé dvtm avec une bibliothèque de malédictions compatible unicode (dans le cas de ncurses, ce serait libncursesw). Assurez-vous également que vos paramètres régionaux contiennent UTF-8.

Le pavé numérique ne fonctionne pas avec Putty

Désactiver le mode clavier d’applicationdans la configuration de Putty sous Terminal => Features => Disable application keypad mode.

Les caractères Unicode ne fonctionnent pas dans Putty

Vous devez indiquer à Putty dans quel caractère codantles données reçues sont. Définissez la liste déroulante sous Window => Translation sur UTF-8. Afin d’obtenir des caractères de dessin au trait appropriés, vous souhaitez également définir la variable d’environnement TERM sur putty ou putty-256color.Si cela ne fait toujours pas l’affaire, essayez d’exécuter dvtm avec la variable d’environnement associée à ncurses suivante définie NCURSES_NO_UTF8_ACS=1.

Développement

Vous pouvez toujours récupérer la base de code actuelle à partir du référentiel git situé sur Github orSourcehut.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.