dvtm - window manager pro Vaši konzoli

V článku se dozvíte základní vlastnosti dlaždicového window manageru dvtm, který pracuje v textovém režimu. Ukážeme si základní práci ve window manageru a jeho konfiguraci.

25.4.2012 00:00 | David Adamczyk | přečteno 8961×

Představení dvtm

Dvtm je dynamický “dlaždicový” window manager pracující v textové konzoli, který vyvíjí Marc Andre Tanner . Přesněji se jedná o port window manageru dwm pro textovou konzoli. Jako konzolový window manager se snaží usnadnit práci s více aplikacemi, které pracují v textovém režimu (vim, emacs, mc, …) a to ať už pracujete v příkazovém řádku bez grafického prostředí, nebo v některém grafickém prostředí v emulátoru terminálu.

Instalace

Existují balíčky pro vetšinu distribucí operačního systému GNU/Linux, BSD systémů a Mac OS X. Jestliže preferujete kompilování ze zdrojových kódů, nebo si jen chcete dvtm modifikovat můžete si stáhnout zdrojové kódy z gitu příkazem:
git clone git://repo.or.cz/dvtm.git

Budete pravděpodobně potřebovat i knihovnu libncurses nebo libncursesw. Instalace a kompilace pak již probíhá standardním způsobem. Pro podrobnější instrukce nezapomeňte pročíst přiložený soubor README.

Základní práce s dvtm

Pokud chcete začít s dvtm pracovat, je doporučeno spustit jej následujícím způsobem:
dvtm 2> log

Během spuštění bude vytvořen soubor log, do kterého budou případně ukládány chybová hlášení. Při spuštění můžete definovat některé parametry. Seznam všech parametrů vypíšete násedujícím způsobem:
% dvtm -h                      
usage: dvtm [-v] [-m mod] [-d escdelay] [-h n] [-s status-fifo] [cmd...]

-vvypíše verzi programu
-m moddefinuje klávesový modifikátor
-d escdelaydoba čekání platnosti klávesového modifikátoru
-h nnastavení velikosti bufferu pro scrollování v historii
-s status-fifojestliže je status fifo pojmenovaná roura její obsah bude načten a zobrazen jako stavový řádek
cmd...vykonání příkazu po startu dvtm

Na následujícím obrázku můžete vidět příklad jak může vypadat prostředí dvtm se třemi otevřenými okny.


Každé otevřené okno obsahuje titlebar. Ten informuje uživatele o názvu spuštěné aplikace a číselném označení okna. Vybrané aktivní okno má obvykle barevně označený rám okna. Příslušné vlastnosti můžete nastavit v souboru config.h a překompilovat dvtm. Vlastnosti kompilace nastavíte v konfiguračním souboru config.mk.

Popis ovládání

Modifikátor a základní klávesové zkratky

Veškeré akce, které můžete provádět v dvtm jsou realizovány pomocí klávesových zkratek stejně tak jako například ve window manageru dwm. Nejdůležitější klávesová zkratka, kterou budete používat nejčastěji je tzv modifikátor. Díky modifikátoru bude dvtm vědět, že se chystáte vykonat příslušnou akci, na kterou je namapována příslušná klávesa. Modifikátor budeme v následujícím textu označovat jako Mod. Ve výchozím nastavení je modifikátor definován klávesovou zkratkou Ctrl-g. Chcete-li například otevřít nové okno, použijete klávesovou zkratku Mod-c. Nejprve stisknete modifikátor Ctrl-g a poté klávesu c. Jestliže si chcete nastavení modifikátoru přizpůsobit můžete spustít dvtm s parametrem -m nebo provést konfiguraci v souboru config.h a dvtm překompilovat.

Přepínání mezi okny

V pořadí v jakém byly okna vytvořeny se můžete jednoduše přepínat klávesovou zkratkou Mod-j vpřed, nebo vzad pomocí Mod-k. Přepnutí se na konkrétní okno je možné pomocí Mod 19, kde 9 je nejvyšší index okna - přepnutí na páté okno je možné pomocí Mod-5. Pokud máte k dispozci myš je možné vybrat aktivní okno kliknutím levého tlačítka myši do okna. Případně okno vybrat a maximalizovat dvojklikem levého tlačítka myši do okna.

Minimalizace a maximalizace oken

Pokud chcete minimalizovat aktuálně zaměřené okno, stiskněte klávesovou zkratku Mod-. naopak aktuálně zaměřené okno lze maximalizovat pomocí Mod-m. Pokud chcete přepínat mezi okny a vynechat ty, které jsou minimalizovány využijte klávesovou zkratku Mod-u pro přepnutí na následující okno, nebo Mod-i pro přepnutí na předchozí okno.

Změna velikosti oken

Velikost všech oken lze měnit do šířky. Mod-l šířku zvětšuje a Mod-h naopak šířku okna zmenšuje.

Scrollování okny

Pohybovat se nahoru a dolů lze pomocí Mod-PgUp nebo Mod-PgDown.

Práce s layoutem oken

Layout je uspořádání oken na pracovní ploše. Těchto uspořádání je k dispozici několik, můžete si vybírat z předem předkonfigurovaných uspořádání pomocí Mod-space. Na vertikální usporádání se přepnete pomocí Mod-t na následujícím obrázku:


Nebo na horizontální layout pomocí Mod-b


Dalším možným uspořádáním oken je mřížkový layout Mod-g na obrázku níže:


Ostatní příkazy

Jestliže máte k dispozici funkční stavový řádek, můžete jej zobrazit, nebo naopak schovat klávesovou zkratkou Mod-s, Mod-Enter slouží pro přesunutí obsahu z vedlejšího okna do právě aktivního okna. Stejné činnosti je možné docílit kliknutím prostředního tlačítka myši do okna. Zamykání obrazovky funguje poněkud zvláštně. Samotné zamknutí provedete stiskem Mod-X, budete vyzváni k zadání hesla (heslo se na obrazovku nevypisuje ani v podobě hvězdiček) po zadáni hesla a stisknutí klávesy Enter bude obrazovka zamknuta - toto indikuje nápis “Screen locked!”. Následně není možné vyvolat žádnou výzvu pro zadání hesla, jestliže chcete obrazovku odemknout. Stačí bez jakékoliv výzvy nebo speciální klávesové zkratky zadat heslo znovu a obrazovka bude odemknuta. Mod-B slouží pro povolení zvonku konzole (výstrahy).Protože ve výchozím režimu není možné pracovat s myší je potřeba se přepnout do režimu, kdy je práce s myší povolena příkazem Mod-M. Pokud během práce s dvtm omylem stisknete kombinaci modifikátoru a nechcete čekat na vypršení doby, do kdy je modifikátor aktivní, zrušte jej příkazem Mod-G. Příkaz Mod-q slouží pro ukončení dvtm. Překreslení obrazovky je možné provést příkazem, který lze vyvolat zkratkou Mod-r, Mod-a způsobí, že následující znak bude odeslán do všech oken.

Stavový řádek

Stavový řádek můžete modifikovat dle libosti. Doporučuji prozkoumat skript dodáváný s dvtm, který je uložen v souboru dvtm-status. Zde je ukázka jeho obsahu:

#!/bin/sh

FIFO="/tmp/dvtm-status.$$"

[ -e "$FIFO" ] || mkfifo "$FIFO"
chmod 600 $FIFO

while true; do
	date +%H:%M
	sleep 60
done > $FIFO &

STATUS_PID=$!
dvtm -s $FIFO "$@" 2> /dev/null
kill $STATUS_PID
rm $FIFO
V adresáři /tmp je uložen přislušný soubor (pojmenovaná roura) do kterého můžete ukládat řetězec, který bude zobrazen jako stavový řádek. Můžete si zde tedy například přesměrovat výstup různých skriptů.

Závěr

dvtm je poměrně minimalistický window manager napsaný v jazyku C pracující v textovém režimu, můžete si jej spouštět během práce v grafickém prostředí, nebo používat jako výchozí window manager na dnes již zastaralých počítačích. Doporučuji si prohlédnout zdrojové kódy a konfigurační soubory. Pro větší pohodlí při práci je možné také dvtm kombinovat s terminálovými multiplexery tmux a GNU Screen.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1925