dvtm-dynamic virtual terminal manager

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.

abduco+dvtm demo

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 ^bte 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+ate 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+hen 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.haan te maken en de broncode (opnieuw)te compileren. Zie de standaard config.def.hals 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.infoniet 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 libncurseswzijn). 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 => Translationin 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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.