「Ratpoison」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(校正(でき・出来))
 
(2人の利用者による、間の3版が非表示)
3行目: 3行目:
 
[[uk:Ratpoison]]
 
[[uk:Ratpoison]]
 
[[zh-hans:Ratpoison]]
 
[[zh-hans:Ratpoison]]
[http://www.nongnu.org/ratpoison/ Ratpoison] は C で書かれたタイル型[[ウィンドウマネージャ]]です。マウスを使わないでアプリケーションを管理することができます。ユーザーインターフェイスは [[Screen]] の影響を受けています。
+
[https://www.nongnu.org/ratpoison/ Ratpoison] は C で書かれたタイル型[[ウィンドウマネージャ]]です。マウスを使わないでアプリケーションを管理することができます。ユーザーインターフェイスは [[Screen]] の影響を受けています。
   
 
== インストール ==
 
== インストール ==
102行目: 102行目:
 
大抵の[[ディスプレイマネージャ]] ([[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 で作成してください。
 
大抵の[[ディスプレイマネージャ]] ([[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 で作成してください。
   
  +
== ヒントとテクニック ==
== Tips and tricks ==
 
   
 
=== Java Swing アプリケーション ===
 
=== Java Swing アプリケーション ===
136行目: 136行目:
 
=== Urxvt と xterm ===
 
=== Urxvt と xterm ===
   
デフォルトでインストールされる Urxvt と xterm はリサイズのヒント情報をウィンドウマネージャに送信します。ほとんどのタイル型ウィンドウマネージャでは機能しますが、ratpoison では上手くいきません。結果的に URxvt/xterm がフォントサイズの倍にリサイズして、隙間が出来てしまう可能性があります。この問題を解決する方法は2つあります。
+
デフォルトでインストールされる Urxvt と xterm はリサイズのヒント情報をウィンドウマネージャに送信します。ほとんどのタイル型ウィンドウマネージャでは機能しますが、ratpoison では上手くいきません。結果的に URxvt/xterm がフォントサイズの倍にリサイズして、隙間ができてしまう可能性があります。この問題を解決する方法は2つあります。
   
 
==== パッチを適用した URxvt をインストールする ====
 
==== パッチを適用した URxvt をインストールする ====
174行目: 174行目:
 
exec nitrogen --restore
 
exec nitrogen --restore
   
  +
=== フォーカスはマウスに追従===
===Focus follows mouse===
 
   
 
Arch linux の ratpoison パッケージは {{ic|/usr/share/ratpoison/}} にビルドスクリプトの {{ic|sloppy.c}} をインストールします。ビルドスクリプトを使うことで ratpoison でマウスポインタにあわせてウィンドウをフォーカスさせることができます。有効化するには:
 
Arch linux の ratpoison パッケージは {{ic|/usr/share/ratpoison/}} にビルドスクリプトの {{ic|sloppy.c}} をインストールします。ビルドスクリプトを使うことで ratpoison でマウスポインタにあわせてウィンドウをフォーカスさせることができます。有効化するには:
192行目: 192行目:
 
* [https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience) forum thread]
 
* [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://github.com/jbaber/ratpoison_scripts Collection of scripts for the Ratpoison window manager]
* [http://www.nongnu.org/stumpwm/ Stumpwm - a successor to Ratpoison written in Common lisp]
+
* [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

参照