dvtm – dynamisk virtuell terminalhanterare

dvtm ger konceptet för kakel fönsterhantering, populariserad av X11-fönsterhanterare likedwm till konsolen. Som en konsol windowmanager den försöker göra det enkelt att arbeta med flera konsol basedprograms.

abduco+dvtm demo

nyheter

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

ladda ner

antingen ladda ner den senaste källan tarball, kompilera (du behöver förbannelser rubriker) och installera det

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

eller använd en av de distributioner som tillhandahållsbinära paket.

varför dvtm? Filosofin bakom

dvtm strävar efter att följa theUnix philosophy.It försöker göra en sak, dynamisk fönsterhantering på konsolen och att göra det bra.

som sådan dvtm inte genomföra sessionshantering men insteaddelegates denna uppgift till ett separat verktyg som kallasabduco.

på samma sätt implementeras dvtm: s kopieringsläge genom att pipa scrollback buffercontent till en extern redigerare och bara lagra vad redaktören skriver stdout. Därför delegeras urvalsprocessen till redigerarendär kraftfulla funktioner som reguljär uttryckssökning är tillgängliga.

som ett resultat dvtm källkod är relativt liten(~4000 rader av C),enkel och därför lätt att hacka på.

Snabbstart

alla dvtm-tangentbindningar börjar med en gemensam modifierare som från nowon hänvisas till som MOD. Som standard MOD är inställd på CTRL+g howeverthis kan ändras vid runttime med -m kommandoradsalternativ.Till exempel inställning MOD till CTRL-b uppnås genom att startadvtm -m ^b.

Windows

nya fönster skapas med MOD+c och stängs med MOD+x.för att växla mellan windows använd MOD+j och MOD+k eller MOD+där siffran motsvarar det fönsternummer som visasi namnlisten. Windows kan minimeras och återställas med MOD+..Input kan riktas till alla synliga fönster genom att trycka på MOD+a, utfärdar samma tangentkombination åter återställer normal behaviouri.e. endast det för närvarande fokuserade fönstret kommer att få inmatning.

layouter

synliga fönster ordnas av en layout. Varje layout består av amaster och ett kakelområde. Vanligtvis upptar huvudområdet det störstaen del av skärmen och är avsedd för den för närvarande viktigastefönster. Storleken på huvudområdet kan krympas med MOD+h och förstoras med MOD-l respektive. Windows kan zoomas in ihuvudområdet med MOD+Enter. Antalet fönster i masterområdet kan ökas och minskas med MOD+i och MOD+d.

som standard kommer dvtm med 4 olika layouter som kan cyklas via MOD+Space

  • vertikal stack: master area på den vänstra halvan, andra clientsstacked till höger
  • bottom stack: master area på den övre halvan, andra klienter staplade under
  • grid: varje fönster får en lika stor del av skärmen
  • fullscreen: endast det valda fönstret visas och upptar hela tillgängliga visningsområdet MOD+m

ytterligare layouter ingår i källkarbollen men inaktiveras bydefault.

taggning

varje fönster har en icke tom uppsättning taggar associerade med den. En vybestår av ett antal taggar. Den aktuella vyn innehåller alla fönstersom är taggade med de för närvarande aktiva taggarna. Följande tangentbindningar används för att manipulera taggarna.

  • MOD-0 visa alla fönster med någon tagg
  • Mod-v-Tab växlar till de tidigare valda taggarna
  • MOD-v- visa alla fönster med nth tagg
  • Mod-V- Lägg till/ta bort alla fönster med nth tagg till/från vyn
  • Mod-t- applicera nth tagg till fokuserat fönster
  • Mod-T- Lägg till/ta bort nth tagg till/från fokuserat fönster

statusrad

dvtm kan instrueras att läsa och visa statusmeddelanden från en namedpipe. Som ett exempeldvtm-status scriptis tillhandahålls som visar aktuell tid.

Copymode

MOD+e rör hela rullningsbuffertinnehållet till en extern redigerare.Vad någonsin redaktören skriver till stdoutär ihågkommen av dvtm och canlater klistras med MOD+p.

för att detta ska fungera måste redigeraren vara användbar som ett filter och bör använda stderr för sitt användargränssnitt. Exempel där detta ärfallet inkluderar sandy(1) och vis.

$ echo Hello World | vis - | cat

patchar

det finns ett antal av träd patchar som anpassar dvtm ’ bete:

  • pertag (se även motsvarande postutskick)

FAQ

lossa / sätt tillbaka funktionalitet

dvtm har inte sessionsstöd inbyggt. Användabduco istället.

$ abduco -c dvtm-session

lossa med CTRL-\ och senare Sätt tillbaka med

$ abduco -a dvtm-session

Kopiera / Klistra fungerar inte under X

om du har musstöd aktiverat, vilket är fallet med standardinställningarna, måste du hålla ned Skift medan du väljeroch infoga text. Om du inte gillar det här beteendet hellerkör dvtm med kommandoradsargumentet -M, inaktivera det vid körning med MOD+M eller ändra config.def.h för att inaktivera det heltvid kompileringstiden. Du kommer dock inte längre att kunna utföra andra musåtgärder som att välja fönster etc.

Hur ändrar du nyckelbindningarna?

konfigurationen av dvtm görs genom att skapa en anpassad config.h och (åter) sammanställa källkoden. Se standard config.def.hsom ett exempel, att anpassa det till dina önskemål bör vara enkelt.Du definierar i princip en uppsättning layouter och nycklar som dvtm kommer att använda.Det finns några fördefinierade makron för att underlätta konfigurationen.

varning: terminalen är inte fullt fungerande

det betyder att du inte har installerat dvtm.info terminfo-beskrivningenvilket kan göras med tic -s dvtm.info. Om du av någon anledning inte kan installera nya terminfo-beskrivningar ställer du in DVTM_TERM miljövariabel till en känd terminal När du startar dvtm som i

$ DVTM_TERM=rxvt dvtm

detta kommer att instruera dvtm att använda rxvt som $TERM värde i sina fönster.

Hur ställer du in fönstertiteln?

fönstertiteln kan ändras med hjälp av axterm extensionterminal escape sequence

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

så till exempel i bash om du vill visa den aktuella arbetskatalogen i fönstertiteln kan detta åstadkommas med hjälp av följande avsnitt i dina startfiler.

# 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

andra skal ger liknande funktionalitet, zsh som ett exempel har aprecmd funktionsom kan användas för att uppnå samma effekt.

något är fel med de visade färgerna

se till att du har ställt in $TERM korrekt till exempel om du vill använda 256 färgprofiler måste du antagligen lägga till -256color till ditt vanliga terminalnamn. Också på grund av begränsningar av ncurses bydefault du kan bara använda 255 färgpar samtidigt. Om du behöver mer än 255 olika färgpar samtidigt måste du bygga om ncurses med

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

Observera att detta ändrar ABI och därför sätter SONAME of thelibrary till 6 (dvs. du måste länka mot libncursesw.so.6).

vissa tecken visas som skräp

se till att du sammanställt dvtm mot en unicode aware förbannelser bibliotek(i händelse av ncurses detta skulle vara libncursesw). Se också till att dina lokala inställningar innehåller UTF-8.

det numeriska tangentbordet fungerar inte med Putty

inaktivera applikationstangentlägei Putty-konfigurationen under Terminal => Features => Disable application keypad mode.

Unicode-tecken fungerar inte inom Putty

du måste berätta för Putty i vilkenkaraktärkodningde mottagna data är. Ställ in rullgardinsmenyn under Window => Translationtill UTF-8. För att få rätt linjeteckningstecken vill du proabablyalso ställa in termen miljövariabel till putty eller putty-256color.Om det fortfarande inte gör susen sedan försöka köra dvtm med thefollowing ncurses relaterade miljövariabel set NCURSES_NO_UTF8_ACS=1.

utveckling

du kan alltid hämta den aktuella kodbasen från git repositorylocated på Github orSourcehut.

Lämna ett svar

Din e-postadress kommer inte publiceras.