dvtm brengt het concept van het tegelen vensterbeheer, gepopulariseerd door X11-window managers zoals wm naar de console. Als een console windowmanager het probeert om het gemakkelijk te maken om te werken met meerdere console basedprogramma ‘ s.
Nieuws
- dvtm-0.15 uitgebracht (2016-01-09)
- dvtm-0.14 uitgebracht (2015-02-19)
- dvtm-0.13 uitgebracht (2014-11-15)
- dvtm-0.12 uitgebracht (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 vrijgegeven (2007-12-08)
Download
Download de laatste bron tarball, compileer (je hebt curses headers nodig) en installeer het
$EDITOR config.mk && $EDITOR config.def.h && make && sudo make install
of gebruik een van de distributie aangeleverde binaire pakketten.
waarom dvtm? De filosofie achter
dvtm streeft ernaar zich te houden aan theUnix philosophy.It probeert één ding te doen, dynamisch vensterbeheer op de console, en om het goed te doen.
als zodanig implementeert dvtm geen sessiebeheer, maar legt deze taak in plaats daarvan af aan een apart hulpmiddel genaamd abduco.
evenzo wordt dvtm ‘ s kopieermodus geà mplementeerd door de buffercontent terug te bladeren naar een externe editor en alleen op te slaan wat de editor schrijft naar stdout
. Vandaar dat het selectieproces wordt gedelegeerd aan de editorwaar krachtige functies zoals reguliere expressie zoeken beschikbaar zijn.
als gevolg hiervan is de broncode van dvtm relatief klein (~4000 regels van C),eenvoudig en dus gemakkelijk te hacken.
Quickstart
alle dvtm-sneltoetsen beginnen met een veelvoorkomende modifier die vanaf nu wordt aangeduid als MOD
. Standaard is MOD
ingesteld op CTRL+g
maar dit kan gewijzigd worden tijdens runtime met de opdrachtregeloptie -m
.Het instellen van MOD
naar CTRL-b
wordt bijvoorbeeld bereikt doordvtm -m ^b
te starten.
vensters
nieuwe vensters worden aangemaakt met MOD+c
en afgesloten met MOD+x
.om tussen vensters te schakelen, gebruikt u MOD+j
en MOD+k
of MOD+
waarbij het cijfer overeenkomt met het vensternummer dat in de titelbalk wordt weergegeven. Windows kan geminimaliseerd en hersteld worden met MOD+.
.Invoer kan naar alle zichtbare venster worden geleid door op MOD+a
te drukken,waarbij dezelfde toetsencombinatie weer het normale gedrag herstelt.e. alleen het venster met de huidige focus ontvangt invoer.
lay-outs
zichtbare vensters zijn gerangschikt door een lay-out. Elke lay-out bestaat uit amaster en een tegelgedeelte. Typisch het master gebied beslaat het grootste deel van het scherm en is bedoeld voor de momenteel meest belangrijke venster. De grootte van het mastergebied kan worden verkleind met MOD+h
en vergroot met MOD-l
. Vensters kunnen inzoomen in het hoofdgebied met MOD+Enter
. Het aantal vensters in het master-gebied kan worden verhoogd en verminderd met MOD+i
en MOD+d
.
standaard dvtm wordt geleverd met 4 verschillende lay-outs die kunnen worden cycledthrough via MOD+Space
- verticale stapel: master-gebied op de linker helft, andere clientsstacked op de juiste
- onderste stapel: master-gebied op de bovenste helft, de andere klanten gestapeld onder
- netwerk: elk venster krijgt een even grote gedeelte van het scherm
- volledig scherm: alleen het geselecteerde venster wordt weergegeven en is gevestigd in thewhole beschikbaar weergavegebied
MOD+m
Verdere lay-outs zijn opgenomen in de source tarball maar uitgeschakeld bydefault.
Tagging
elk venster heeft een niet-lege set tags. Een viewbestaat uit een aantal tags. De huidige weergave bevat alle windowswhich zijn gelabeld met de momenteel actieve tags. De volgende sneltoetsen worden gebruikt om de tagsets te manipuleren.
-
MOD-0
bekijk alle ramen met een tag -
Mod-v-Tab
schakelt naar de voorheen geselecteerde tags -
MOD-v-
bekijk alle ramen met n tag -
Mod-V-
toevoegen/verwijderen-alle ramen met n tag naar/van het uitzicht -
Mod-t-
toepassing n tag gericht venster -
Mod-T-
toevoegen/verwijderen-ne-tag aan/uit gericht venster
Statusbalk
dvtm kunnen worden geïnstrueerd om te lezen en de status weergeven van berichten van een namedpipe. Als voorbeeld wordt de dvtm-status
scriptis gegeven die de huidige tijd toont.
Copymode
MOD+e
pipes the whole scroll buffer content to an external editor.Wat de editor schrijft naar stdout
wordt onthouden door dvtm en canlater wordt geplakt met MOD+p
.
om dit te laten werken moet de editor bruikbaar zijn als filteren stderr
gebruiken voor zijn gebruikersinterface. Voorbeelden hiervan zijn sandy(1)
en vis.
$ echo Hello World | vis - | cat
Patches
er bestaat een aantal uit de boom bestaande patches die het gedrag van dvtm aanpassen:
- pertag (zie ook de correspondingmailing list post)
FAQ
Detach / reattach functionaliteit
dvtm heeft geen sessieondersteuning ingebouwd. Gebruik abduco in plaats daarvan.
$ abduco -c dvtm-session
losmaken met CTRL-\
en later opnieuw koppelen met
$ abduco -a dvtm-session
kopiëren / plakken werkt niet onder X
als muisondersteuning is ingeschakeld, wat het geval is met de standaardinstellingen, moet u shift ingedrukt houden tijdens het selecteren en invoegen van tekst. In het geval dat je dit gedrag niet leuk vindt, of het nu gaat om het uitvoeren van dvtm met het -M
commandoregelargument, schakel het dan uit tijdens runtime met MOD+M
of wijzig config.def.h
om het volledig uit te schakelen tijdens het compileren. U zult echter niet langer in staat zijn om andere muisacties uit te voeren, zoals het selecteren van windows etc.
hoe de sleutelbindingen wijzigen?
de configuratie van dvtm wordt gedaan door een aangepaste config.h
aan te maken en de broncode (opnieuw)te compileren. Zie de standaard config.def.h
als voorbeeld, het aanpassen aan uw voorkeur zou eenvoudig moeten zijn.Je definieert in principe een set lay-outs en sleutels die dvtm zal gebruiken.Er zijn enkele vooraf gedefinieerde macro ‘ s om de configuratie te vergemakkelijken.
waarschuwing: terminal is niet volledig functioneel
dit betekent dat u de dvtm.info
terminfodescription die kan worden gedaan met tic -s dvtm.info
niet hebt geïnstalleerd. Als u om een of andere reden geen nieuwe terminfobeschrijvingen kunt installeren, stelt u de DVTM_TERM
– omgeving in op een bekende terminal bij het starten van dvtm
zoals in
$ DVTM_TERM=rxvt dvtm
dit instrueert dvtm om rxvt te gebruiken als $TERM
– waarde binnen zijn vensters.
hoe de venstertitel instellen?
de venstertitel kan worden gewijzigd door middel van axterm extensionterminal escape sequence
$ echo -ne "3]0;Your title here7"
dus bijvoorbeeld in bash
als u de huidige werkdirectory in de venstertitel wilt weergeven, kan dit worden bereikt door middel van de volgende sectie in uw opstartbestanden.
# 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 shells bieden vergelijkbare functionaliteit, zsh als voorbeeld heeft eenrecmd-functie die kan worden gebruikt om hetzelfde effect te bereiken.
er is iets mis met de weergegeven kleuren
zorg ervoor dat u $TERM
correct hebt ingesteld, bijvoorbeeld als u 256 kleurprofielen wilt gebruiken, moet u waarschijnlijk -256color
toevoegen aan uw reguliere terminalnaam. Ook als gevolg van beperkingen van ncurses bydefault kunt u alleen gebruik maken van 255 kleurenparen tegelijk. Als u meer dan 255 verschillende kleurparen tegelijk nodig hebt, dan moet u ncurses opnieuw opbouwen met
$ ./configure ... --enable-ext-colors
merk op dat dit de ABI verandert en daarom de SONAME van de bibliotheek op 6 zet (dat wil zeggen dat u moet linken tegen libncursesw.so.6
).
sommige tekens worden weergegeven zoals vuilnis
zorg ervoor dat u dvtm gecompileerd heeft met een Unicode aware curses bibliotheek (in het geval van ncurses zou dit libncursesw
zijn). Zorg er ook voor dat je lokale instellingen UTF-8 bevatten.
het numerieke toetsenbord werkt niet met stopverf
Toepassingstoetsenbordmodus uitschakelen in de Stopverfconfiguratie onder Terminal => Features => Disable application keypad mode
.
Unicode-tekens werken niet binnen Putty
u moet Putty vertellen in welke karakters de ontvangen gegevens staan. Stel de vervolgkeuzelijst onder Window => Translation
in op UTF-8. Om de juiste tekens voor lijntekeningen te krijgen, wilt u ook de term omgevingsvariabele instellen op putty
of putty-256color
.Als dat nog steeds niet werkt, probeer dan dvtm uit te voeren met de volgende ncurses gerelateerde omgevingsvariabele set NCURSES_NO_UTF8_ACS=1
.
Development
je kunt altijd de huidige codebasis ophalen uit de git repository die is gevestigd op Github orSourcehut.