Como gestor de janelas do console, tenta facilitar o trabalho com múltiplos programas baseados no console.
Notícias
- dvtm-0.15 lançado (2016-01-09)
- dvtm-0.14 lançado (2015-02-19)
- dvtm-0.13 lançado (2014-11-15)
- dvtm-0.12 lançado (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 lançado (2007-12-08)
Baixar
Baixar as últimas tarball do fonte,compilar (você vai precisar de maldições cabeçalhos) e instalá-lo
$EDITOR config.mk && $EDITOR config.def.h && make && sudo make install
ou utilize um dos distribuição providedbinary pacotes.
por que dvtm? A filosofia por trás de
dvtm se esforça para aderir a theUnix philosophy.It tenta fazer uma coisa, gerenciamento dinâmico de janelas no console, e fazê-lo bem.
como tal, o dvtm não implementa a gestão de sessões, mas no insteaddelegaesta tarefa para uma ferramenta separada chamada “abbduco”.
Similarly dvtm’s copy mode is implemented by piping the scroll back buffercontent to an external editor and only storing whatever the editor writesto stdout
. Assim, o processo de seleção é delegado ao editor, onde recursos poderosos como a busca de expressão regular estão disponíveis.
como resultado, o código fonte da dvtm é relativamente pequeno (~4000 linhas de C), simples e, portanto, fácil de hackear.
Quickstart
All of dvtm keybindings start with a common modifier which from nowon is refered to as MOD
. Por padrão MOD
é definido como CTRL+g
however this can be changed at runttime with the -m
command line option.Por exemplo, a definição de MOD
para CTRL-b
é realizada iniciandodvtm -m ^b
.
Windows
Novo windows são criadas com MOD+c
e encerrada com MOD+x
.Para alternar entre o windows, use MOD+j
e MOD+k
ou MOD+
onde o dígito correspondente ao número da janela que é apresentadas na barra de título. As janelas podem ser minimizadas e restauradas com MOD+.
.A entrada pode ser direcionada para todas as janelas visíveis pressionando MOD+a
,emitindo a mesma combinação de chaves novamente restaura o comportamento normal.e. só a janela actualmente focada irá receber entrada.
Layouts
visible Windows are arranged by a layout. Cada layout consiste de amaster e uma área de azulejo. Normalmente, a área principal ocupa a maior parte da tela e é destinada para a janela mais importante atualmente. O tamanho da área principal pode ser encolhido com MOD+h
e ampliado com MOD-l
, respectivamente. As janelas podem ser ampliadas na área principal com MOD+Enter
. O número de janelas na área de suporte pode ser aumentado e diminuído com MOD+i
e MOD+d
.
Por padrão dvtm vem com 4 diferentes layouts que podem ser cycledthrough via MOD+Space
- pilha vertical: mestre área na metade esquerda, outros clientsstacked à direita
- inferior da pilha: mestre área na metade superior, outros clientes empilhados abaixo
- grade: cada janela fica com um tamanho igual porção da tela
- fullscreen: apenas a janela selecionada é mostrada e ocupa thewhole área de exibição disponíveis
MOD+m
Mais layouts está incluído no tarball do fonte, mas desativado bydefault.
Tagging
cada janela tem um conjunto não vazio de tags associado a ela. Uma viewconsists de uma série de tags. A janela actual inclui todas as janelas que estão marcadas com as marcas activas de momento. As seguintes combinações de teclas são usadas para manipular os tagsets.
-
MOD-0
ver todas as janelas com qualquer tag -
Mod-v-Tab
troca para o selecionado anteriormente tags -
MOD-v-
ver todas as janelas com n-ésimo tag -
Mod-V-
adicionar/remover todas as janelas com n-ésimo etiqueta de/para o visualizar -
Mod-t-
aplicar n-ésimo marca focada janela -
Mod-T-
adicionar/remover ‘enésimo’ tag para/a partir da janela focada
barra de estado
dvtm pode ser instruído a ler e exibir mensagens de status a partir de um pipe nomeado. Como exemplo, o dvtm-status
scriptis fornecido que mostra o tempo atual.
Copymode
MOD+e
pipes the whole scroll buffer content to an external editor.O que o editor escreve para stdout
é lembrado por dvtm e canlater é colado com MOD+p
.
para que isso funcione, o editor precisa ser utilizável como filterand deve usar stderr
para sua interface de usuário. Exemplos de casos em que este é o caso incluem sandy(1)
e vis.
$ echo Hello World | vis - | cat
Patches
existem vários patches fora das árvores que personalizam o comportamento da tvtm:
- pertag (ver também a publicação correspondente da lista)
FAQ
Detach / reattach funcionalidade
dvtm não tem suporte de sessão incorporado. Useabduco em vez disso.
$ abduco -c dvtm-session
Desconectar usando CTRL-\
e depois volte com
$ abduco -a dvtm-session
Copiar / Colar não funciona no X
Se você tiver suporte a mouse habilitado, que é o caso com thedefault configurações, você precisa segurar a tecla shift enquanto selectingand inserção de texto. No caso de não gostar deste comportamento eitherrun dvtm com o argumento da linha de comandos -M
, desactive-o em tempo de execução com MOD+M
ou modifique config.def.h
para o desactivar completamente no tempo de compilação. No entanto, você não será mais capaz de realizar outras ações do mouse, como selecionar janelas, etc.
como alterar as combinações de teclas?
a configuração do dvtm é feita através da criação de um personalizado config.h
e (re)compilando o código fonte. Veja o padrão config.def.h
como um exemplo, adaptá-lo à sua preferência deve ser simples.Você basicamente define um conjunto de layouts e chaves que dvtm irá usar.Existem algumas macros pré-definidas para facilitar a configuração.
aviso: o terminal não está totalmente funcional
isto significa que não instalou a descrição dvtm.info
terminfo que pode ser feita com tic -s dvtm.info
. Se, por alguma razão, não conseguir instalar novas descrições terminfo defina o DVTM_TERM
ambientalmente variável para um terminal conhecido ao iniciar dvtm
como em
$ DVTM_TERM=rxvt dvtm
, isto irá instruir dvtm a usar o valor rxvt como $TERM
dentro das suas janelas.
como definir o título da janela?
O título da janela pode ser alterada por meio de axterm extensionterminal seqüência de escape
$ echo -ne "3]0;Your title here7"
Assim, por exemplo, em bash
se você deseja exibir o atual workingdirectory no título da janela, isso pode ser feito por meio da seguinte seção em seu arquivos de inicialização.
# 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
outras conchas fornecem funcionalidades semelhantes, zsh como um exemplo tem uma função aproximmd que pode ser usada para atingir o mesmo efeito.
algo está errado com as cores apresentadas
certifique-se que definiu $TERM
correctamente, por exemplo, se quiser usar os perfis de 256 cores, provavelmente terá de adicionar -256color
toyour nome terminal regular. Também devido às limitações das ncurses por omissão, você só pode usar 255 pares de cores simultaneamente. Se você precisa de mais de 255 pares de cores diferentes ao mesmo tempo, então você tem que reconstruir ncurses com
$ ./configure ... --enable-ext-colors
Note que isso muda a ABI e, portanto, define o SONAME daibrária para 6 (ou seja, você tem que se ligar contra libncursesw.so.6
).
alguns caracteres são exibidos como lixo
certifique-se de compilar dvtm contra uma biblioteca de maldições consciente unicode(no caso de ncurses isso seria libncursesw
). Certifique – se também que a sua configuração local contém UTF-8.
o teclado numérico não funciona com Putty
Disable application keypad modein the Putty configuration under Terminal => Features => Disable application keypad mode
.
caracteres Unicode não funcionam dentro de Putty
você tem que dizer a Putty em que caracter encod os dados recebidos é. Configura a lista com Window => Translation
como UTF-8. A fim de obter caracteres de desenho de linha adequados, Você também quer definir o termo variável de ambiente para putty
ou putty-256color
.Se isso ainda não funciona, então tente executar dvtm com a seguinte variável de ambiente relacionada ncurses set NCURSES_NO_UTF8_ACS=1
.
desenvolvimento
pode sempre obter a base de código actual a partir do repositorylocated no Github orSourcehut.