dvtmは、x11-window manager likedwmによってコンソールに普及したタイルウィンドウ管理の概念をもたらします。 コンソールwindowmanagerとして、複数のコンソールbasedprogramsでの作業を容易にしようとします。
ニュース
- dvtm-0.15リリース(2016-01-09)
- dvtm-0.14リリース(2015-02-19)
- dvtm-0.15リリース(2016-01-09)
- dvtm-0.15リリース(2015-02-19)
- dvtm-0.15リリース(2016-01-09)
- dvtm-0.15リリース(2016-01-09)
- -0.13リリース(2014-11-15)
- dvtm-0.12リリース(2014-07-05)
- dvtm-0.13リリース(2014-11-15)
- dvtm-0.12リリース(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.1リリース(2007-12-21)
- dvtm-0.01リリース(2007-12-08)
ダウンロード
最新のソースtarballをダウンロードしてコンパイルし(cursesヘッダーが必要です)、
$EDITOR config.mk && $EDITOR config.def.h && make && sudo make install
をインストールするか、providedbinaryパッケージのいずれかを使用します。
なぜdvtm?
の後ろの哲学dvtmはtheUnixに付着するように努力しますphilosophy.It 一つのこと、コンソール上の動的なウィンドウ管理を行い、それをうまくやろうとします。
このように、dvtmはセッション管理を実装していませんが、代わりにこのタスクをabducoという別のツールに追加します。
同様に、dvtmのコピーモードは、scroll back buffercontentを外部エディタにパイプし、エディタwritestostdout
のみを格納することによって実装されます。 したがって、選択プロセスは正規表現検索などの強力な機能が利用可能なエディタに委任されます。
その結果、dvtmのソースコードは比較的小さく(約4000行のC)、シンプルであり、したがってハックするのは簡単です。
クイックスタート
すべてのdvtmキーバインディングは、nowonからMOD
と呼ばれる共通の修飾子で始まります。 デフォルトではMOD
はCTRL+g
に設定されていますが、これは実行時に-m
コマンドラインオプションで変更できます。たとえば、MOD
をCTRL-b
に設定するには、dvtm -m ^b
を起動します。
Windows
新しいウィンドウはMOD+c
で作成され、MOD+x
で閉じられます。 WindowsはMOD+.
で最小化および復元できます。入力はMOD+a
を押すことですべての表示ウィンドウに向けることができ、同じキーの組み合わせを再度発行すると通常の動作に戻ります。e. 現在フォーカスされているウィンドウのみが入力を受け取ります。
各レイアウトはamasterとタイルエリアで構成されています。 通常、マスター領域は画面の最大部分を占め、現在最も重要なウィンドウを対象としています。 マスター領域のサイズは、それぞれMOD+h
で縮小し、MOD-l
で拡大することができます。 WindowsはMOD+Enter
でマスター領域にズームすることができます。 エリア内の窓の数はMOD+i
とMOD+d
で増減することができます。
デフォルトでは、dvtmには4つの異なるレイアウトが付属しています。MOD+Space
- 垂直スタック:左半分にマスター領域、右半分に他のクライアントスタック
- 下スタック:上半分にマスター領域、下に他のクライアントスタック
- グリッド:
MOD+m
その他のレイアウトはソースtarballに含まれていますが、デフォルトでは無効になっています。
タグ付け
各ウィンドウには、空でないタグのセットが関連付けられています。 ビューは多数のタグから構成されます。 現在のビューには、現在アクティブなタグでタグ付けされているすべてのwindowswhichが含まれます。 次のキーバインディングは、タグセットを操作するために使用されます。
-
MOD-0
Mod-v-Tab
以前に選択したタグに切り替えるMOD-v-
n番目のタグを持つすべてのウィンドウを表示Mod-V-
n番目のタグを持つすべてのウィンドウをビューに追加/削除Mod-t-
フォーカスされたウィンドウにn番目のタグを適用Mod-V-
Mod-t-
n番目のタグをフォーカスされたウィンドウに適用Mod-T-
フォーカスされたウィンドウへのn番目のタグの追加/削除
ステータスバー
dvtmは、namedpipeからステータスメッセージを読み取り、表示するように指示することができます。 例として、現在の時刻を示すdvtm-status
スクリプトが提供されています。
Copymode
MOD+e
スクロールバッファコンテンツ全体を外部エディタにパイプします。編集者がstdout
に書き込む内容はdvtmによって記憶され、MOD+p
で貼り付けることができます。
これを機能させるためには、エディタをフィルタとして使用する必要があり、そのユーザーインターフェイスにstderr
を使用する必要があります。 この場合の例には、sandy(1)
とvisが含まれます。
$ echo Hello World | vis - | cat
パッチ
dvtm’sbehaviourをカスタマイズするアウトオブツリーパッチがいくつか存在します:
- )
FAQ
デタッチ/再アタッチ機能
dvtmにはセッションサポートが組み込まれていません。 代わりにabducoを使用します。
$ abduco -c dvtm-session
CTRL-\
を使用してデタッチし、後で
$ abduco -a dvtm-session
で再アタッチしますX
でコピー/貼り付けが機能しませんデフォルト設定の場合、マウスのサポートを有効にしている場合は、shiftを押しながらテキストを選択して挿入する必要があります。 この動作が気に入らない場合は、dvtmを-M
コマンドライン引数で実行し、実行時にMOD+M
で無効にするか、config.def.h
を変更してコンパイル時に完全に無効にします。 ただし、windowsなどを選択するような他のマウスアクションを実行することはできません。
キーバインドを変更するには?
dvtmの設定は、カスタムconfig.h
を作成し、ソースコードを(再)コンパイルすることによって行われます。 例としてデフォルトのconfig.def.h
を参照してください。基本的には、dvtmが使用するレイアウトとキーのセットを定義します。設定を容易にするために、いくつかの事前定義されたマクロがあります。
警告:端末が完全に機能していません
これは、dvtm.info
terminfo説明をインストールしていないことを意味します。tic -s dvtm.info
で行うことができます。 何らかの理由で新しいterminfoの説明をインストールできない場合は、
$ DVTM_TERM=rxvt dvtm
のようにdvtm
を起動するときにDVTM_TERM
environmentvariableを既知の端末に設定すると、dvtmはrxvtをwindows内の$TERM
値として使用するように指示されます。
ウィンドウタイトルを設定するには?
ウィンドウタイトルはaxterm extensionterminalエスケープシーケンス
$ echo -ne "3]0;Your title here7"
によって変更することができます。bash
では、ウィンドウタイトルに現在のworkingdirectoryを表示したい場合、これは起動ファイルの次のセクションによって達成することができます。
# 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
他のシェルも同様の機能を提供しますが、例としてzshにはaprecmd関数があり、同じ効果を達成するために使用できます。
表示されている色に何か問題があります
たとえば、256色のプロファイルを使用する場合は、通常の端末名に-256color
を追加する必要があります。 また、ncurses bydefaultの制限により、同時に255色のペアしか使用できません。 同時に255以上の異なる色のペアを必要とする場合は、
$ ./configure ... --enable-ext-colors
でncursesを再構築する必要があります。
$ ./configure ... --enable-ext-colors
これによりABIが変更されるため、ライブラリのSONAMEが6に設定されます(つまり、libncursesw.so.6
に対してリンクする必要があります)。
一部の文字はゴミのように表示されます
unicode対応のcursesライブラリに対してdvtmをコンパイルしたことを確認してください(ncursesの場合、これはlibncursesw
になります)。 また、ロケール設定にUTF-8が含まれていることを確認してください。
テンキーがPuttyで動作しない
アプリケーションキーパッドモードを無効にするTerminal => Features => Disable application keypad mode
の下のPutty設定で。
Unicode文字はPutty内では動作しません
受信したデータをどの文字エンコードするかをPuttyに伝える必要があります。 Window => Translation
の下のドロップダウンボックスをUTF-8に設定します。 適切な線画文字を取得するには、TERM環境変数をputty
またはputty-256color
に設定することもできます。それでもうまくいかない場合は、以下のncurses関連の環境変数setNCURSES_NO_UTF8_ACS=1
を使用してdvtmを実行してみてください。
Development
Githubまたはsourcehutにあるgit repositorylocatedから、現在のコードベースをいつでも取得できます。