dvtm-dynamic virtual terminal manager

dvtm porta il concetto di gestione delle finestre piastrellate, reso popolare da X11-window manager likedwm alla console. Come console windowmanager cerca di semplificare il lavoro con più programmi basati su console.

abduco+dvtm demo

News

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

Scarica

Scarica l’ultimo tarball sorgente,compila (avrai bisogno delle intestazioni di curses) e installalo

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

o usa una delle distribuzioni fornitepacchetti binari.

Perché dvtm? La filosofia dietro

dvtm si sforza di aderire a theUnix philosophy.It cerca di fare una cosa, la gestione dinamica delle finestre sulla console e di farlo bene.

In quanto tale dvtm non implementa la gestione delle sessioni ma insteaddelega questa attività a uno strumento separato chiamato abduco.

Allo stesso modo la modalità di copia di dvtm viene implementata convogliando il buffercontent di scorrimento su un editor esterno e memorizzando solo ciò che l’editor scrive stdout. Quindi il processo di selezione è delegato all’editordove sono disponibili potenti funzionalità come la ricerca di espressioni regolari.

Di conseguenza il codice sorgente di dvtm è relativamente piccolo(~4000 linee di C),semplice e quindi facile da hackerare.

Quickstart

Tutte le combinazioni di tasti dvtm iniziano con un modificatore comune che da nowon si riferisce a come MOD. Per impostazione predefinita MOD è impostato su CTRL+g tuttavia, questo può essere modificato in runttime con l’opzione della riga di comando -m.Ad esempio, l’impostazione da MOD a CTRL-b viene eseguita avviandodvtm -m ^b.

Windows

Le nuove finestre vengono create con MOD+c e chiuse con MOD+x. Per passare tra le finestre utilizzare MOD+je MOD+k o MOD+ dove la cifra corrisponde al numero della finestra che viene visualizzatonella barra del titolo. Le finestre possono essere ridotte al minimo e ripristinate con MOD+..L’input può essere diretto a tutte le finestre visibili premendo MOD+a, emettendo la stessa combinazione di tasti ripristina nuovamente il normale comportamento.e. solo la finestra attualmente focalizzata riceverà input.

Layout

Le finestre visibili sono disposte in base a un layout. Ogni layout è composto da amaster e un’area di piastrelle. In genere l’area master occupa la parte più grandeparte dello schermo ed è destinata alla finestra attualmente più importantewindow. La dimensione dell’area master può essere ridotta con MOD+he ingrandita con MOD-l rispettivamente. Le finestre possono essere ingrandite inl’area master con MOD+Enter. Il numero di finestre nell’area master può essere aumentato e diminuito con MOD+i e MOD+d.

per impostazione predefinita dvtm è dotato di 4 diversi layout che può essere cycledthrough via MOD+Space

  • pila verticale: master in area sulla sinistra a metà, altri clientsstacked sulla destra
  • in basso dello stack: master area sulla metà superiore, altri clienti impilati sotto
  • griglia: ogni finestra è una di uguali dimensioni, la porzione di schermo
  • schermo intero: solo la finestra selezionata viene visualizzata e occupa thewhole area di visualizzazione disponibile MOD+m

Ulteriori disposizioni sono incluse nel pacchetto dei sorgenti, ma per disabili bydefault.

Tagging

Ogni finestra ha un set di tag non vuoto ad esso associato. Una visualizzazioneconsiste di un numero di tag. La vista corrente include tutte le finestreche sono taggati con i tag attualmente attivi. Le seguenti combinazioni di tasti vengono utilizzate per manipolare i tagset.

  • MOD-0 visualizza tutte le finestre con i tag
  • Mod-v-Tab commuta l’selezionato in precedenza tag
  • MOD-v- vedere tutte le finestre con ennesimo tag
  • Mod-V- aggiungi/rimuovi tutte le finestre con le ennesimo tag/dalla vista
  • Mod-t- applica ennesimo tag concentrato finestra
  • Mod-T- aggiungi/rimuovi ennesimo tag/da concentrato finestra

Barra di stato

dvtm può essere richiesto di leggere e visualizzare i messaggi di stato da un namedpipe. Ad esempio, lo scriptisdvtm-status fornito che mostra l’ora corrente.

Copymode

MOD+e convoglia l’intero contenuto del buffer di scorrimento su un editor esterno.Ciò che l’editor scrive su stdout viene ricordato da dvtm e può essere incollato con MOD+p.

Affinché funzioni, l’editor deve essere utilizzabile come filtro e deve utilizzare stderr per la sua interfaccia utente. Esempi in cui questo èil caso includono sandy(1) e vis.

$ echo Hello World | vis - | cat

Patch

Esiste un numero di patch out of tree che personalizzano il comportamento di dvtm:

  • pertag (vedi anche il post corrispondente)

FAQ

Staccare / riattaccare funzionalità

dvtm non ha il supporto di sessione integrato. Useabduco invece.

$ abduco -c dvtm-session

Stacca usando CTRL-\ e poi riattacca con

$ abduco -a dvtm-session

Copia / Incolla non funziona sotto X

Se hai abilitato il supporto per il mouse, che è il caso con le impostazioni predefinite, devi tenere premuto maiusc mentre selezioni e inserisci testo. Nel caso in cui non ti piaccia questo comportamento, esegui dvtm con l’argomento della riga di comando -M, disabilitalo in fase di runtime con MOD+M o modifica config.def.h per disabilitarlo completamentein fase di compilazione. Tuttavia, non sarai più in grado di eseguire altre azioni del mouse come la selezione di Windows, ecc.

Come cambiare le associazioni dei tasti?

La configurazione di dvtm viene eseguita creando un config.h personalizzato e (ri)compilando il codice sorgente. Vedi il valore predefinito config.def.hcome esempio, adattarlo alle tue preferenze dovrebbe essere semplice.Fondamentalmente definisci un insieme di layout e chiavi che dvtm utilizzerà.Ci sono alcune macro predefinite per facilitare la configurazione.

ATTENZIONE: il terminale non è completamente funzionante

Ciò significa che non hai installato la descrizione terminfo dvtm.infoche può essere eseguita con tic -s dvtm.info. Se per qualche motivo non è possibile installare nuove descrizioni terminfo impostare DVTM_TERM environmentvariable su un terminale noto quando si avvia dvtm come in

$ DVTM_TERM=rxvt dvtm

Questo istruirà dvtm a utilizzare rxvt come $TERM valore all’interno delle sue finestre.

Come impostare il titolo della finestra?

Il titolo della finestra può essere modificato mediante axterm extensionterminal escape sequence

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

Quindi, ad esempio in bash se si desidera visualizzare la directory di lavoro corrente nel titolo della finestra, ciò può essere realizzato mediante la seguente sezione nei file di avvio.

# 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

Altre shell forniscono funzionalità simili, zsh come esempio ha una funzione aprecmd che può essere utilizzata per ottenere lo stesso effetto.

Qualcosa non va con i colori visualizzati

Assicurati di aver impostato correttamente $TERM ad esempio se vuoi usare 256 profili di colore probabilmente devi aggiungere -256color al tuo normale nome del terminale. Anche a causa delle limitazioni di ncurses bydefault è possibile utilizzare solo 255 coppie di colori contemporaneamente. Se hai bisogno di più di 255 coppie di colori diversi allo stesso tempo, allora devi ricostruire ncurses con

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

Nota che questo cambia l’ABI e quindi imposta SONAME of thelibrary a 6 (cioè devi collegarti a libncursesw.so.6).

Alcuni caratteri vengono visualizzati come garbage

Assicurati di aver compilato dvtm su una libreria di maledizioni unicode(in caso di ncurses questo sarebbe libncursesw). Assicurati anche che le tue impostazioni locali contengano UTF-8.

Il tastierino numerico non funziona con Putty

Disabilita la modalità tastiera applicazionenella configurazione Putty sotto Terminal => Features => Disable application keypad mode.

I caratteri Unicode non funzionano all’interno di Putty

Devi dire a Putty in qualecodifica del carattere i dati ricevuti sono. Impostare la casella a discesa sotto Window => Translationsu UTF-8. Per ottenere caratteri di disegno a linee corretti, è anche possibile impostare la variabile d’ambiente TERM su puttyo putty-256color.Se ciò non funziona ancora, prova a eseguire dvtm con il seguente set di variabili di ambiente correlate a ncurses NCURSES_NO_UTF8_ACS=1.

Sviluppo

Puoi sempre recuperare la base di codice corrente dal repository git situato su Github o Sourcehut.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.