dvtm-dynamic virtual terminal manager

dvtm wprowadza koncepcję zarządzania oknami kafelkowymi, spopularyzowaną przez X11-menedżery okien podobne do WM do konsoli. Jako menedżer okien konsoli stara się ułatwić pracę z wieloma programami bazującymi na konsoli.

uprowadzenie+demo dvtm

Aktualności

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

Pobierz

albo Pobierz najnowszy źródłowy tarball, skompiluj (będziesz potrzebował nagłówków curses) i zainstaluj go

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

lub użyj jednej z dystrybucji dostarczonej przez binary packages.

dlaczego dvtm? Filozofia stojąca za

dvtm stara się stosować do philosophy.It próbuje zrobić jedną rzecz, dynamiczne zarządzanie oknami na konsoli, i zrobić to dobrze.

jako taki dvtm nie implementuje zarządzania sesjami, ale zamiast tego przekazuje to zadanie do osobnego narzędzia o nazwie abduco.

podobnie tryb kopiowania dvtm jest zaimplementowany przez przekierowanie bufora przewijania do zewnętrznego edytora i zapisywanie tylko tego, co edytor napisał stdout. W związku z tym proces selekcji jest delegowany do edytoragdzie dostępne są zaawansowane funkcje, takie jak wyszukiwanie wyrażeń regularnych.

w rezultacie kod źródłowy dvtm jest stosunkowo mały(~4000 linii C),prosty i dlatego łatwy do zhakowania.

Quickstart

wszystkie skróty klawiszowe dvtm zaczynają się od wspólnego modyfikatora, który od nowon jest określany jako MOD. Domyślnie MOD jest ustawione na CTRL+g jednak można to zmienić w czasie wykonywania za pomocą opcji linii poleceń -m.Na przykład ustawienie MOD na CTRL-bjest realizowane przez uruchomieniedvtm -m ^b.

okna

nowe okna są tworzone za pomocą MOD+c i zamykane za pomocą MOD+x.aby przełączać się między oknami, użyj MOD+j i MOD+k lub MOD+, gdzie cyfra odpowiada numerowi okna wyświetlanemu w pasku tytułowym. Okna można zminimalizować i przywrócić za pomocą MOD+..Wejście można skierować do wszystkich widocznych okien naciskając MOD+a,ponownie wykonując tę samą kombinację klawiszy przywraca normalne zachowanie.e. tylko aktualnie wybrane okno otrzyma dane wejściowe.

Układy

widoczne okna są ułożone według układu. Każdy układ składa się zstruktury ipowierzchni płytek. Zazwyczaj obszar Główny zajmuje największą część ekranu i jest przeznaczony dla obecnie najważniejszego okna. Rozmiar obszaru głównego można zmniejszyć odpowiednio o MOD+hi powiększyć o MOD-l. Okna można powiększyć do obszaru głównego za pomocą MOD+Enter. Liczbę okien w obszarze głównym można zwiększyć i zmniejszyć za pomocą MOD+i i MOD+d.

domyślnie dvtm ma 4 różne układy, które można cyklinować przez MOD+Space

  • pionowy stos: główny obszar po lewej stronie, inni klientyzłożony po prawej
  • dolny stos: główny obszar w górnej połowie, inni klienci ułożeni poniżej
  • siatka: każde okno otrzymuje równą część ekranu
  • Pełny ekran: wyświetlane jest tylko wybrane okno i zajmuje cały dostępny obszar wyświetlaniaMOD+m

dalsze układy są zawarte w źródłowym tarballu, ale wyłączone przezefault.

tagowanie

każde okno ma niepusty zestaw tagów powiązanych z nim. Widok zawiera wiele tagów. Bieżący widok obejmuje wszystkie okna, które są oznaczone aktualnie aktywnymi tagami. Następujące skróty klawiszowe są używane do manipulowania zestawami znaczników.

  • MOD-0 wyświetl wszystkie okna z dowolnym tagiem
  • Mod-v-Tab przełącza do wcześniej wybranych tagów
  • MOD-v- wyświetl wszystkie okna z tagiem nth
  • Mod-V- Dodaj/usuń wszystkie okna z tagiem NTH do/z widoku
  • Mod-t- zastosuj tag NTH do okna focused
  • Mod-T- Dodaj/usuń znacznik nth do/z okna focused

pasek stanu

dvtm może być poinstruowany, aby odczytywać i wyświetlać komunikaty o stanie z poziomu namedpipe. Jako przykład podano skryptdvtm-status, który pokazuje aktualny czas.

Copymode

MOD+e wysyła całą zawartość bufora przewijania do zewnętrznego edytora.To, co kiedykolwiek edytor napisze do stdout, zostanie zapamiętane przez dvtm i canlater zostanie wklejony za pomocą MOD+p.

aby to działało, edytor musi być użyteczny jako filtr i powinien używać stderr dla swojego interfejsu użytkownika. Przykłady, w których tak jest, obejmują sandy(1) i vis.

$ echo Hello World | vis - | cat

łaty

istnieje wiele łat out of tree, które dostosowują ustawienia dvtm:

  • )

FAQ

funkcja odłączania / ponownego podłączania

dvtm nie ma wbudowanej obsługi sesji. Użyj abduco zamiast.

$ abduco -c dvtm-session

odłącz za pomocą CTRL-\ i później ponownie podłącz za pomocą

$ abduco -a dvtm-session

Kopiuj / Wklej nie działa pod X

jeśli masz włączoną obsługę myszy, co ma miejsce w przypadku domyślnych ustawień, musisz przytrzymać shift podczas zaznaczania i wstawiania tekstu. W przypadku, gdy nie podoba ci się to zachowanie, np. w wierszu poleceń -M, wyłącz go w czasie wykonywania za pomocą MOD+M lub zmodyfikuj config.def.h, aby wyłączyć go całkowicie w czasie kompilacji. Nie będziesz już jednak w stanie wykonywać innych czynności myszy, takich jak wybieranie okien itp.

jak zmienić wiązania klawiszy?

konfiguracja dvtm odbywa się poprzez utworzenie niestandardowego config.hi (ponownie)kompilację kodu źródłowego. Zobacz domyślny config.def.h jako przykład, dostosowanie go do swoich preferencji powinno być proste.Zasadniczo definiujesz zestaw układów i kluczy, których będzie używał dvtm.Istnieje kilka wstępnie zdefiniowanych makr ułatwiających konfigurację.

Ostrzeżenie: terminal nie jest w pełni funkcjonalny

oznacza to, że nie zainstalowałeś opisu terminfo dvtm.info, co można zrobić za pomocą tic -s dvtm.info. Jeśli z jakiegoś powodu nie możesz zainstalować nowych opisów terminfo, Ustaw środowisko DVTM_TERM zmienne NA znany terminal podczas uruchamianiadvtm jak w

$ DVTM_TERM=rxvt dvtm

, to poinstruuje dvtm, aby używał wartości rxvt jako $TERM w jego oknach.

jak ustawić tytuł okna?

tytuł okna może być zmieniony za pomocą rozszerzenia axtermkonterminal escape sequence

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

Tak więc na przykład w bash jeśli chcesz wyświetlić bieżący katalog roboczy w tytule okna, można to osiągnąć za pomocą następującej sekcji w plikach startowych.

# 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

inne powłoki zapewniają podobną funkcjonalność, zsh jako przykład ma funkcję aprecmd, która może być użyta do osiągnięcia tego samego efektu.

coś jest nie tak z wyświetlanymi kolorami

upewnij się, że ustawiłeś $TERM poprawnie, na przykład, jeśli chcesz mieć profile kolorów 256, prawdopodobnie musisz dołączyć -256color do naszej zwykłej nazwy terminala. Również ze względu na ograniczenia ncurses bydefault można używać tylko 255 par kolorów jednocześnie. Jeśli potrzebujesz więcej niż 255 różnych par kolorów w tym samym czasie, musisz przebudować ncurses z

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

zauważ, że to zmienia ABI i dlatego ustawia SONAME biblioteki na 6 (tzn. musisz połączyć się z libncursesw.so.6).

niektóre znaki są wyświetlane jak śmieci

upewnij się, że skompilowałeś dvtm z biblioteką klątw Unicode aware (w przypadku ncurses byłoby to libncursesw). Upewnij się również, że Twoje ustawienia regionalne zawierają UTF-8.

klawiatura numeryczna nie działa z Putty

Wyłącz tryb klawiatury aplikacjiw konfiguracji Putty pod Terminal => Features => Disable application keypad mode.

znaki Unicode nie dziaĹ ’ ajÄ … w Putty

musisz powiedzieÄ ‡ Putty, w ktĂłrym zakodowaniu sÄ … odbierane dane. Ustaw pole rozwijane pod Window => Translation na UTF-8. Aby uzyskać odpowiednie znaki do rysowania linii, należy również ustawić zmienną środowiskową TERM na putty lub putty-256color.Jeśli to nadal nie pomoże, spróbuj uruchomić dvtm ze zmienną środowiskową związaną z ncurses set NCURSES_NO_UTF8_ACS=1.

Development

zawsze możesz pobrać aktualną bazę kodu z repozytorium Gita znajdującego się na Github orSourcehut.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.