「Ratpoison」の版間の差分
(en:Ratpoisonへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(3人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:タイル型ウィンドウマネージャ]] |
||
− | #redirect[[en:Ratpoison]] |
||
+ | [[en:Ratpoison]] |
||
+ | [[uk:Ratpoison]] |
||
+ | [[zh-hans:Ratpoison]] |
||
+ | [https://www.nongnu.org/ratpoison/ Ratpoison] は C で書かれたタイル型[[ウィンドウマネージャ]]です。マウスを使わないでアプリケーションを管理することができます。ユーザーインターフェイスは [[Screen]] の影響を受けています。 |
||
+ | |||
+ | == インストール == |
||
+ | |||
+ | Ratpoison は {{Pkg|ratpoison}} パッケージで[[インストール]]できます。 |
||
+ | |||
+ | == 設定 == |
||
+ | |||
+ | ratpoison をウィンドウマネージャとして使うには、{{Ic|~/.xinitrc}} ファイルを作成・編集する必要があります。 |
||
+ | |||
+ | {{hc|~/.xinitrc|<nowiki> |
||
+ | # The black/white grid as background doesn't suit my taste. |
||
+ | xsetroot -solid black & |
||
+ | # Ratpoison is compatible with xcompmgr! now you can have real transparency |
||
+ | xcompmgr -c -f -D 5 & |
||
+ | #fire up ratpoison! |
||
+ | exec /usr/bin/ratpoison |
||
+ | </nowiki>}} |
||
+ | |||
+ | == ratpoison を使う == |
||
+ | |||
+ | X11 を起動すると黒い画面に "Welcome to Ratpoison" と書かれたテキストボックスが右上に表示されます。{{ic|Ctrl+t}} と入力してから {{ic|?}} を押すことでキーバインドのリストを表示できます。GNU screen を使っている場合、すぐに操作に慣れるでしょう。 |
||
+ | |||
+ | {{Ic|~/.ratpoisonrc}} を書き換えることでカスタムキーバインドを定義したり既存のキーバインドを上書きすることができます: |
||
+ | |||
+ | {{hc|~/.ratpoisonrc|<nowiki> |
||
+ | # Overriding CTRL+t 'c' to start aterm instead of xterm |
||
+ | bind c exec aterm |
||
+ | |||
+ | bind f exec firefox |
||
+ | </nowiki>}} |
||
+ | |||
+ | 上記のように設定することで {{ic|Ctrl+t}} と入力してから {{ic|f}} を押すことで、ratpoison は Firefox を立ち上げます。他の例: |
||
+ | |||
+ | {{hc|~/.ratpoisonrc|<nowiki> |
||
+ | exec xsetroot -cursor_name left_ptr |
||
+ | startup_message off |
||
+ | |||
+ | escape C-z |
||
+ | |||
+ | # Make a screenshot |
||
+ | alias sshot exec import -window root ~/screenshot-$(date +%F).jpg |
||
+ | definekey top M-C-Print sshot |
||
+ | |||
+ | #virtual desks |
||
+ | gnewbg one |
||
+ | gnewbg two |
||
+ | |||
+ | definekey top M-l exec ratpoison -c "select -" -c "gprev" -c "next" |
||
+ | definekey top M-h exec ratpoison -c "select -" -c "gnext" -c "next" |
||
+ | |||
+ | #switch between windows |
||
+ | definekey top M-j next |
||
+ | definekey top M-k prev |
||
+ | |||
+ | #apps |
||
+ | unbind c |
||
+ | bind c exec urxvt -tr |
||
+ | #bind c exec aterm |
||
+ | |||
+ | bind g exec gftp |
||
+ | bind f exec firefox |
||
+ | </nowiki>}} |
||
+ | |||
+ | === キーバインド === |
||
+ | |||
+ | |||
+ | {| class="wikitable" |
||
+ | ! キーバインド !! 説明 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|!}} <''Program Name''> || プログラムを起動 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|?}} || キーバインドを表示 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|c}} || X 端末を起動 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|n}} || 次のウィンドウに移動 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|p}} || 前のウィンドウに移動 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|1}}-{{ic|9}} || ウィンドウ 1-9 に移動 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|k}} || 現在のウィンドウを閉じる |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|Shift+k}} || 現在のアプリケーションを XKill |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|s}}, {{ic|Shift+s}} || 現在のフレームを縦横のフレームに分割 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|Tab}}, {{ic|←}}, {{ic|↑}}, {{ic|→}}, {{ic|↓}} || 次, 左, 上, 右, 下のフレームに移動。 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|Shift+q}} || 現在のフレームだけを表示。 |
||
+ | |- |
||
+ | | {{ic|Ctrl+t}} {{ic|:}} || ratpoison コマンドを実行。 |
||
+ | |} |
||
+ | |||
+ | === Ratpoison とディスプレイマネージャ === |
||
+ | |||
+ | 大抵の[[ディスプレイマネージャ]] ([[LightDM]] など) は {{ic|/usr/share/xsessions/}} からセッションを読み込みます。ほとんどのウィンドウマネージャやデスクトップ環境は {{ic|/usr/share/xsessions/}} に ''.desktop'' ファイルを作成しますが、ratpoison は {{ic|/etc/X11/sessions/}} に {{ic|ratpoison.desktop}} ファイルを作成します。ディスプレイマネージャから ratpoison が使えるようにするには {{ic|ratpoison.desktop}} ファイルを {{ic|/etc/X11/sessions/ratpoison.desktop}} から {{ic|/usr/share/xsessions/ratpoison.desktop}} にコピーする必要があります。{{ic|/usr/share/xsessions}} ディレクトリが存在しない場合は、root で作成してください。 |
||
+ | |||
+ | == ヒントとテクニック == |
||
+ | |||
+ | === Java Swing アプリケーション === |
||
+ | |||
+ | Java Swing GUI アプリケーションはタイル型ウィンドウマネージャに対応していますが、ratpoison のデフォルト設定では正しくフルスクリーンになりません。Java の Swing アプリケーションにタイル型ウィンドウマネージャを使用していることを認識させて、正しくフルスクリーンが使われるようにする "trick" が存在します。 |
||
+ | |||
+ | {{Pkg|wmname}} パッケージをインストールしてください。そして以下の行を {{ic|.ratpoisonrc}} に追加してください: |
||
+ | |||
+ | {{hc|~/.ratpoisonrc| |
||
+ | exec wmname LG3D |
||
+ | }} |
||
+ | |||
+ | これで Java Swing アプリケーションは正しくフルスクリーンになるはずです。 |
||
+ | |||
+ | === マルチワークスペース === |
||
+ | |||
+ | デフォルトでは ratpoison にはワークスペースが一つしかありませんが、(デフォルトでインストールされる) rpws と呼ばれるスクリプトを使うことで複数のワークスペースが使えます。 |
||
+ | |||
+ | {{ic|.ratpoisonrc}} を編集して、以下を追加してください: |
||
+ | |||
+ | {{hc|~/.ratpoisonrc| |
||
+ | exec /usr/bin/rpws init 6 -k |
||
+ | }} |
||
+ | |||
+ | 上記の設定でワークスペースが6つになります。デフォルトでは、{{ic|Alt+F1}} で1番目のワークスペース、{{ic|Alt+F2}} で2番目のワークスペースを使用することができます。以下のようにバインドすることも可能です: |
||
+ | |||
+ | bind C-1 exec rpws 1 |
||
+ | bind C-2 exec rpws 2 |
||
+ | ... |
||
+ | |||
+ | 上記の設定であれば {{ic|Ctrl+t}} {{ic|Ctrl+1}} でワークスペースを切り替えることができます ({{ic|Ctrl+t}} は Escape キー)。 |
||
+ | |||
+ | === Urxvt と xterm === |
||
+ | |||
+ | デフォルトでインストールされる Urxvt と xterm はリサイズのヒント情報をウィンドウマネージャに送信します。ほとんどのタイル型ウィンドウマネージャでは機能しますが、ratpoison では上手くいきません。結果的に URxvt/xterm がフォントサイズの倍にリサイズして、隙間ができてしまう可能性があります。この問題を解決する方法は2つあります。 |
||
+ | |||
+ | ==== パッチを適用した URxvt をインストールする ==== |
||
+ | |||
+ | URxvt を使っている場合、{{AUR|rxvt-unicode-fontspacing-noinc-vteclear-secondarywheel}} パッケージを使うことでリサイズヒントがウィンドウマネージャに送られなくなります。ratpoison では、デフォルトの URxvt の代わりに修正が加えられた URxvt をインストールすることで適切にリサイズするようになります。 |
||
+ | |||
+ | ==== ボーダーを調整する ==== |
||
+ | |||
+ | xterm/urxvt のオプションである internalBorder を使って ratpoison のボーダーを 0 に設定することができます。 |
||
+ | |||
+ | 解像度とフォントサイズの組み合わせにあわせて、internalBorder の正確な値は何度も試して調べる必要があります (テストする前に ratpoison のボーダーを 0 に設定してください)。ターミナルコマンドラインオプションの -b を使うことで適当な値をテストできます。値がわかったら、以下のファイルに保存してください: |
||
+ | |||
+ | {{hc|~/.Xresources| |
||
+ | urxvt*internalBorder: 8 #change urxvt to xterm if necessary. Using the font terminus in urxvt at 14px size, 8 is the correct number here. |
||
+ | }} |
||
+ | {{hc|~/.ratpoisonrc| |
||
+ | set border 0 |
||
+ | }} |
||
+ | |||
+ | 組み合わせが見つけられない場合、フォントサイズやフォントファミリーも変更してみてください (ボーダーの数字も変わります)。 |
||
+ | |||
+ | === 自動起動 === |
||
+ | |||
+ | ratpoison が起動したときにプログラムを実行することができます。起動時には {{ic|~/.ratpoisonrc}} ファイルが実行されます。 |
||
+ | |||
+ | tmux セッションの urxvt を起動: |
||
+ | exec urxvt -e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME" |
||
+ | |||
+ | chromium を起動: |
||
+ | exec bash -c 'pidof chromium &>/dev/null || exec /usr/bin/chromium --disk-cache-dir=~/tmp/cache' |
||
+ | |||
+ | === 壁紙と透過 === |
||
+ | |||
+ | [[xcompmgr]] と nitrogen を使うことで透過を設定できます。まず nitrogen を起動して適当な壁紙を設定してください。そして {{ic|.ratpoisonrc}} で以下を設定: |
||
+ | |||
+ | exec xcompmgr -c -f -D 5 & |
||
+ | exec nitrogen --restore |
||
+ | |||
+ | === フォーカスはマウスに追従=== |
||
+ | |||
+ | Arch linux の ratpoison パッケージは {{ic|/usr/share/ratpoison/}} にビルドスクリプトの {{ic|sloppy.c}} をインストールします。ビルドスクリプトを使うことで ratpoison でマウスポインタにあわせてウィンドウをフォーカスさせることができます。有効化するには: |
||
+ | |||
+ | # cd /usr/share/ratpoison/ |
||
+ | # gcc -o sloppy sloppy.c -lX11 |
||
+ | # ./sloppy |
||
+ | |||
+ | ratpoison の起動時に有効化させるには、{{ic|~/.ratpoisonrc}} に以下を記述: |
||
+ | exec /usr/share/ratpoison/sloppy |
||
+ | |||
+ | == 参照 == |
||
+ | |||
+ | * [http://ratpoison.wxcvbn.org/ The Ratpoison wiki] |
||
+ | * [http://stumpwm.svkt.org/cgi-bin/ratpoison.pl?action=browse;id=keys X11 Keys in Ratpoison] |
||
+ | * [http://www.ormiret.com/?q=node/11 Ratpoison config sample] |
||
+ | * [https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience) forum thread] |
||
+ | * [https://github.com/jbaber/ratpoison_scripts Collection of scripts for the Ratpoison window manager] |
||
+ | * [https://www.nongnu.org/stumpwm/ Stumpwm - a successor to Ratpoison written in Common lisp] |
2024年7月10日 (水) 20:56時点における最新版
Ratpoison は C で書かれたタイル型ウィンドウマネージャです。マウスを使わないでアプリケーションを管理することができます。ユーザーインターフェイスは Screen の影響を受けています。
目次
インストール
Ratpoison は ratpoison パッケージでインストールできます。
設定
ratpoison をウィンドウマネージャとして使うには、~/.xinitrc
ファイルを作成・編集する必要があります。
~/.xinitrc
# The black/white grid as background doesn't suit my taste. xsetroot -solid black & # Ratpoison is compatible with xcompmgr! now you can have real transparency xcompmgr -c -f -D 5 & #fire up ratpoison! exec /usr/bin/ratpoison
ratpoison を使う
X11 を起動すると黒い画面に "Welcome to Ratpoison" と書かれたテキストボックスが右上に表示されます。Ctrl+t
と入力してから ?
を押すことでキーバインドのリストを表示できます。GNU screen を使っている場合、すぐに操作に慣れるでしょう。
~/.ratpoisonrc
を書き換えることでカスタムキーバインドを定義したり既存のキーバインドを上書きすることができます:
~/.ratpoisonrc
# Overriding CTRL+t 'c' to start aterm instead of xterm bind c exec aterm bind f exec firefox
上記のように設定することで Ctrl+t
と入力してから f
を押すことで、ratpoison は Firefox を立ち上げます。他の例:
~/.ratpoisonrc
exec xsetroot -cursor_name left_ptr startup_message off escape C-z # Make a screenshot alias sshot exec import -window root ~/screenshot-$(date +%F).jpg definekey top M-C-Print sshot #virtual desks gnewbg one gnewbg two definekey top M-l exec ratpoison -c "select -" -c "gprev" -c "next" definekey top M-h exec ratpoison -c "select -" -c "gnext" -c "next" #switch between windows definekey top M-j next definekey top M-k prev #apps unbind c bind c exec urxvt -tr #bind c exec aterm bind g exec gftp bind f exec firefox
キーバインド
キーバインド | 説明 |
---|---|
Ctrl+t ! <Program Name> |
プログラムを起動 |
Ctrl+t ? |
キーバインドを表示 |
Ctrl+t c |
X 端末を起動 |
Ctrl+t n |
次のウィンドウに移動 |
Ctrl+t p |
前のウィンドウに移動 |
Ctrl+t 1 -9 |
ウィンドウ 1-9 に移動 |
Ctrl+t k |
現在のウィンドウを閉じる |
Ctrl+t Shift+k |
現在のアプリケーションを XKill |
Ctrl+t s , Shift+s |
現在のフレームを縦横のフレームに分割 |
Ctrl+t Tab , ← , ↑ , → , ↓ |
次, 左, 上, 右, 下のフレームに移動。 |
Ctrl+t Shift+q |
現在のフレームだけを表示。 |
Ctrl+t : |
ratpoison コマンドを実行。 |
Ratpoison とディスプレイマネージャ
大抵のディスプレイマネージャ (LightDM など) は /usr/share/xsessions/
からセッションを読み込みます。ほとんどのウィンドウマネージャやデスクトップ環境は /usr/share/xsessions/
に .desktop ファイルを作成しますが、ratpoison は /etc/X11/sessions/
に ratpoison.desktop
ファイルを作成します。ディスプレイマネージャから ratpoison が使えるようにするには ratpoison.desktop
ファイルを /etc/X11/sessions/ratpoison.desktop
から /usr/share/xsessions/ratpoison.desktop
にコピーする必要があります。/usr/share/xsessions
ディレクトリが存在しない場合は、root で作成してください。
ヒントとテクニック
Java Swing アプリケーション
Java Swing GUI アプリケーションはタイル型ウィンドウマネージャに対応していますが、ratpoison のデフォルト設定では正しくフルスクリーンになりません。Java の Swing アプリケーションにタイル型ウィンドウマネージャを使用していることを認識させて、正しくフルスクリーンが使われるようにする "trick" が存在します。
wmname パッケージをインストールしてください。そして以下の行を .ratpoisonrc
に追加してください:
~/.ratpoisonrc
exec wmname LG3D
これで Java Swing アプリケーションは正しくフルスクリーンになるはずです。
マルチワークスペース
デフォルトでは ratpoison にはワークスペースが一つしかありませんが、(デフォルトでインストールされる) rpws と呼ばれるスクリプトを使うことで複数のワークスペースが使えます。
.ratpoisonrc
を編集して、以下を追加してください:
~/.ratpoisonrc
exec /usr/bin/rpws init 6 -k
上記の設定でワークスペースが6つになります。デフォルトでは、Alt+F1
で1番目のワークスペース、Alt+F2
で2番目のワークスペースを使用することができます。以下のようにバインドすることも可能です:
bind C-1 exec rpws 1 bind C-2 exec rpws 2 ...
上記の設定であれば Ctrl+t
Ctrl+1
でワークスペースを切り替えることができます (Ctrl+t
は Escape キー)。
Urxvt と xterm
デフォルトでインストールされる Urxvt と xterm はリサイズのヒント情報をウィンドウマネージャに送信します。ほとんどのタイル型ウィンドウマネージャでは機能しますが、ratpoison では上手くいきません。結果的に URxvt/xterm がフォントサイズの倍にリサイズして、隙間ができてしまう可能性があります。この問題を解決する方法は2つあります。
パッチを適用した URxvt をインストールする
URxvt を使っている場合、rxvt-unicode-fontspacing-noinc-vteclear-secondarywheelAUR パッケージを使うことでリサイズヒントがウィンドウマネージャに送られなくなります。ratpoison では、デフォルトの URxvt の代わりに修正が加えられた URxvt をインストールすることで適切にリサイズするようになります。
ボーダーを調整する
xterm/urxvt のオプションである internalBorder を使って ratpoison のボーダーを 0 に設定することができます。
解像度とフォントサイズの組み合わせにあわせて、internalBorder の正確な値は何度も試して調べる必要があります (テストする前に ratpoison のボーダーを 0 に設定してください)。ターミナルコマンドラインオプションの -b を使うことで適当な値をテストできます。値がわかったら、以下のファイルに保存してください:
~/.Xresources
urxvt*internalBorder: 8 #change urxvt to xterm if necessary. Using the font terminus in urxvt at 14px size, 8 is the correct number here.
~/.ratpoisonrc
set border 0
組み合わせが見つけられない場合、フォントサイズやフォントファミリーも変更してみてください (ボーダーの数字も変わります)。
自動起動
ratpoison が起動したときにプログラムを実行することができます。起動時には ~/.ratpoisonrc
ファイルが実行されます。
tmux セッションの urxvt を起動:
exec urxvt -e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME"
chromium を起動:
exec bash -c 'pidof chromium &>/dev/null || exec /usr/bin/chromium --disk-cache-dir=~/tmp/cache'
壁紙と透過
xcompmgr と nitrogen を使うことで透過を設定できます。まず nitrogen を起動して適当な壁紙を設定してください。そして .ratpoisonrc
で以下を設定:
exec xcompmgr -c -f -D 5 & exec nitrogen --restore
フォーカスはマウスに追従
Arch linux の ratpoison パッケージは /usr/share/ratpoison/
にビルドスクリプトの sloppy.c
をインストールします。ビルドスクリプトを使うことで ratpoison でマウスポインタにあわせてウィンドウをフォーカスさせることができます。有効化するには:
# cd /usr/share/ratpoison/ # gcc -o sloppy sloppy.c -lX11 # ./sloppy
ratpoison の起動時に有効化させるには、~/.ratpoisonrc
に以下を記述:
exec /usr/share/ratpoison/sloppy