dvtm-dynamic virtual terminal manager

dvtmは、x11-window manager likedwmによってコンソールに普及したタイルウィンドウ管理の概念をもたらします。 コンソールwindowmanagerとして、複数のコンソールbasedprogramsでの作業を容易にしようとします。

abduo+dvtmデモ

ニュース

  • 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と呼ばれる共通の修飾子で始まります。 デフォルトではMODCTRL+gに設定されていますが、これは実行時に-mコマンドラインオプションで変更できます。たとえば、MODCTRL-bに設定するには、dvtm -m ^bを起動します。

Windows

新しいウィンドウはMOD+cで作成され、MOD+xで閉じられます。 WindowsはMOD+.で最小化および復元できます。入力はMOD+aを押すことですべての表示ウィンドウに向けることができ、同じキーの組み合わせを再度発行すると通常の動作に戻ります。e. 現在フォーカスされているウィンドウのみが入力を受け取ります。

各レイアウトはamasterとタイルエリアで構成されています。 通常、マスター領域は画面の最大部分を占め、現在最も重要なウィンドウを対象としています。 マスター領域のサイズは、それぞれMOD+hで縮小し、MOD-lで拡大することができます。 WindowsはMOD+Enterでマスター領域にズームすることができます。 エリア内の窓の数はMOD+iMOD+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.infoterminfo説明をインストールしていないことを意味します。tic -s dvtm.infoで行うことができます。 何らかの理由で新しいterminfoの説明をインストールできない場合は、

$ DVTM_TERM=rxvt dvtm

のようにdvtmを起動するときにDVTM_TERMenvironmentvariableを既知の端末に設定すると、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から、現在のコードベースをいつでも取得できます。

コメントを残す

メールアドレスが公開されることはありません。