「Openbox」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
2行目: 2行目:
 
[[cs:Openbox]]
 
[[cs:Openbox]]
 
[[de:Openbox]]
 
[[de:Openbox]]
  +
[[el:Openbox]]
 
[[en:Openbox]]
 
[[en:Openbox]]
 
[[es:Openbox]]
 
[[es:Openbox]]
24行目: 25行目:
 
{{Related articles end}}
 
{{Related articles end}}
   
Openbox は軽量で設定が自由な''スタック型''[[ウィンドウマネージャ]]です。[[デスクトップ環境]]とは独立して動作させることも、[[KDE|KDE]] や [[Xfce|Xfce]] など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。[[LXDE|LXDE]] デスクトップ環境は Openbox を初めから組み込んでいます。
+
Openbox は軽量で設定が自由な''スタック型''[[ウィンドウマネージャ]]です。[[デスクトップ環境]]とは独立して動作させることも、[[KDE]] や [[Xfce]] など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。[[LXDE]] デスクトップ環境は Openbox を初めから組み込んでいます。
   
 
Openbox の機能については、[http://openbox.org/ 公式ウェブサイト] にドキュメントがあります。この記事では Arch Linux での Openbox のインストールに関して扱います。
 
Openbox の機能については、[http://openbox.org/ 公式ウェブサイト] にドキュメントがあります。この記事では Arch Linux での Openbox のインストールに関して扱います。
41行目: 42行目:
 
exec openbox-session
 
exec openbox-session
   
logind (や consolekit) セッションの維持などについては [[xinitrc|xinitrc]] を見て下さい。
+
logind (や consolekit) セッションの維持などについては [[xinitrc]] を見て下さい。
   
 
以前に他のウィンドウマネージャ (Xfwm 等) を使っていて、Openbox が起動しないときは、autostart フォルダを削除してみてください:
 
以前に他のウィンドウマネージャ (Xfwm 等) を使っていて、Openbox が起動しないときは、autostart フォルダを削除してみてください:
52行目: 53行目:
 
==== GNOME ====
 
==== GNOME ====
   
{{ic|GNOME Shell}} は {{Pkg|mutter}} のプラグインであり、Openbox で使うことはできません。Openbox は GNOME アプリケーションで動作しません ([[GTK+|GTK+]] を参照) [http://comments.gmane.org/gmane.comp.window-managers.openbox/6595]。
+
{{ic|GNOME Shell}} は {{Pkg|mutter}} のプラグインであり、Openbox で使うことはできません。Openbox は GNOME アプリケーションで動作しません ([[GTK+]] を参照) [http://comments.gmane.org/gmane.comp.window-managers.openbox/6595]。
   
 
==== KDE ====
 
==== KDE ====
   
[[KDE#KDE/Openbox Session|KDE#KDE/Openbox Session]] を見て下さい。
+
[[KDE#KDE/Openbox Session]] を見て下さい。
   
 
==== Xfce ====
 
==== Xfce ====
   
[[Xfce#ウィンドウマネージャの置き換え|Xfce#ウィンドウマネージャの置き換え]] を見て下さい。
+
[[Xfce#デフォルトウィンドウマネージャ]] を見て下さい。
  +
  +
==== MATE ====
  +
  +
[[MATE#MATE で他のウィンドウマネージャを使う]] を見て下さい。
   
 
== 設定 ==
 
== 設定 ==
68行目: 73行目:
 
アプリケーションを自動実行するのに、Openbox はローカルの {{ic|~/.config/openbox/autostart}} ファイルだけでなく、パッケージによってグローバルな {{ic|/etc/xdg/autostart}} ディレクトリに自動的にインストールされた {{ic|.desktop}} ファイルも読み込みます。{{pkg|python2-xdg}} は Openbox の xdg-autostart に必要です。
 
アプリケーションを自動実行するのに、Openbox はローカルの {{ic|~/.config/openbox/autostart}} ファイルだけでなく、パッケージによってグローバルな {{ic|/etc/xdg/autostart}} ディレクトリに自動的にインストールされた {{ic|.desktop}} ファイルも読み込みます。{{pkg|python2-xdg}} は Openbox の xdg-autostart に必要です。
   
例えば、[[NetworkManager|Network Manager]] のアプレット (nm-applet) などをローカルで自動実行を行っていて、後で {{Pkg|python2-xdg}} をインストールしていた場合、グローバルな XDG {{ic|.desktop}} ファイルが読み込まれることになり、結果としてシステムトレイに2つアイコンが表示されてしまいます。したがって、{{Pkg|python2-xdg}} を明示的にインストールしておいて、インストールしたときに自動的にアプリケーションが自動実行されるようにしておくのを推奨します。
+
例えば、[[NetworkManager]] のアプレット (nm-applet) などをローカルで自動実行を行っていて、後で {{Pkg|python2-xdg}} をインストールしていた場合、グローバルな XDG {{ic|.desktop}} ファイルが読み込まれることになり、結果としてシステムトレイに2つアイコンが表示されてしまいます。したがって、{{Pkg|python2-xdg}} を明示的にインストールしておいて、インストールしたときに自動的にアプリケーションが自動実行されるようにしておくのを推奨します。
   
{{ic|Downloads}}, {{ic|Documents}} などの {{ic|Home}} フォルダが存在しない場合は [[Xdg user directories|Xdg ユーザーディレクトリ]]を見て下さい。
+
{{ic|Downloads}}, {{ic|Documents}} などの {{ic|Home}} フォルダが存在しない場合は [[Xdg ユーザーディレクトリ]]を見て下さい。
   
 
=== Openbox ===
 
=== Openbox ===
80行目: 85行目:
 
Openbox の基本的な設定は主に4つのファイルを使って行い、それぞれに固有の役割があります: {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, {{ic|environment}}。これらのファイルの詳細は以下で記述していますが、Openbox の設定を始めるには、まず (特定のユーザーアカウントの) ローカルの Openbox プロファイルを作成する必要があります。グローバルな {{ic|/etc/xdg/openbox}} プロファイル (全てのユーザーに適用されます) をテンプレートとしてコピーすることで作成できます:
 
Openbox の基本的な設定は主に4つのファイルを使って行い、それぞれに固有の役割があります: {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, {{ic|environment}}。これらのファイルの詳細は以下で記述していますが、Openbox の設定を始めるには、まず (特定のユーザーアカウントの) ローカルの Openbox プロファイルを作成する必要があります。グローバルな {{ic|/etc/xdg/openbox}} プロファイル (全てのユーザーに適用されます) をテンプレートとしてコピーすることで作成できます:
   
$ mkdir -p ~/.config/openbox
+
$ cp -R /etc/xdg/openbox ~/.config/
$ cp -R /etc/xdg/openbox/* ~/.config/openbox
 
   
 
=== rc.xml ===
 
=== rc.xml ===
103行目: 107行目:
   
 
=== autostart ===
 
=== autostart ===
 
{{Tip|Be aware that some applications will automatically start via {{ic|.desktop}} files installed in the {{ic|/etc/xdg/autostart/}} or {{ic|~/.config/autostart/}} directories.}}
 
   
 
{{ic|~/.config/openbox/autostart}} には Openbox セッションが開始したときにどのアプリケーションを起動するか記述します。
 
{{ic|~/.config/openbox/autostart}} には Openbox セッションが開始したときにどのアプリケーションを起動するか記述します。
114行目: 116行目:
 
(sleep <number of seconds>s && <command>) &
 
(sleep <number of seconds>s && <command>) &
   
例えば、[[Conky|Conky]] の実行を3秒だけ遅らせたい場合、コマンドは以下の通りです:
+
例えば、[[Conky]] の実行を3秒だけ遅らせたい場合、コマンドは以下の通りです:
   
 
(sleep 3s && conky) &
 
(sleep 3s && conky) &
130行目: 132行目:
 
Openbox デスクトップを簡単に設定するための GUI が複数存在します。公式リポジトリには以下の GUI が含まれています:
 
Openbox デスクトップを簡単に設定するための GUI が複数存在します。公式リポジトリには以下の GUI が含まれています:
   
  +
* {{App|ObConf|Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。|http://openbox.org/wiki/ObConf:About|{{Pkg|obconf}}}}
* {{Pkg|obconf}}: 基本的な Openbox 設定マネージャ
 
  +
* {{App|LXAppearance ObConf|Openbox を設定するための LXAppearance のプラグイン。|http://lxde.org|{{Pkg|lxappearance-obconf}}}}
* {{Pkg|lxappearance-obconf}}: LXDE の設定マネージャ
 
* {{Pkg|lxinput}}: LXDE のキーボード・マウス設定
+
* {{App|LXInput|LXDE のキーボード・マウス設定。|http://lxde.org|{{Pkg|lxinput}}}}
* {{Pkg|lxrandr}}: LXDE のモニター設定
+
* {{App|LXRandR|LXDE のモニター設定。|http://wiki.lxde.org/en/LXRandR|{{Pkg|lxrandr}}}}
  +
* {{App|obkey|Openbox のキーボードショートカットを設定。|https://code.google.com/p/obkey/|{{AUR|obkey}}}}
  +
* {{App|ob-autostart|Openbox のためのシンプルな自動起動アプリケーション。|http://pastebin.com/012YgXTk|{{AUR|ob-autostart}}}}
   
他にも {{AUR|obkey}} ({{ic|rc.xml}} ファイルでキーボードショートカットを設定) や {{AUR|ob-autostart}} (Openbox の {{ic|autostart}} ファイルを設定) などが [[AUR|AUR]] からインストールできます。Openbox のデスクトップメニューを設定するアプリケーションについては[[#メニュー|メニュー]]セクションを見て下さい。
+
Openbox のデスクトップメニューを設定するアプリケーションについては[[#メニュー|メニュー]]セクションを見て下さい。
   
 
== Openbox の再設定 ==
 
== Openbox の再設定 ==
157行目: 161行目:
 
=== 特殊なキー ===
 
=== 特殊なキー ===
   
  +
基本的な英数字キーをキーバインドに使うのはわかりやすいですが {{ic|modifers}}, {{ic|multimedia}}, {{ic|navigation}} キーなど他のタイプのキーには特殊な名前が割り当てられています。
While the use of standard alpha-numeric keys for keybindings is self-explanatory, special names are assigned to other types of keys, such as {{ic|modifers}}, {{ic|multimedia}} keys and {{ic|navigation}} keys.
 
   
 
==== 修飾キー ====
 
==== 修飾キー ====
   
  +
{{ic|Modifer}} キーにはキーバインドで重要な役割があります (例: {{ic|shift}} や {{ic|CTRL / control}} キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
{{ic|Modifer}} keys play an important role in keybindings (e.g. holding down the {{ic|shift}} or {{ic|CTRL / control}} key in combination with another key to undertake an action). Using modifers helps to prevent conflicting keybinds, whereby two or more actions are linked to the same key or combination of keys. The syntax to use a modifer with another key is:
 
   
 
"<modifier>-<key>"
 
"<modifier>-<key>"
184行目: 188行目:
 
==== マルチメディアキー ====
 
==== マルチメディアキー ====
   
  +
ボリュームや画面の明るさの調整など、適切な {{ic|multimedia}} キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは {{ic|function}} キーに統合されますが、適当なシンボルで識別できます。詳しくは[[特別なキーボードキー]]を見て下さい。
Where available, it is possible to set the appropriate {{ic|multimedia}} keys to perform their intended functions, such as to control the volume and/or the screen brightness. These will usually be integrated into the {{ic|function}} keys, and are identified by their appropriate symbols. See [[Extra keyboard keys]] for details.
 
   
  +
ボリュームと輝度のマルチメディアキーは以下の通りです (マルチメディアキーを機能させるにはコマンドを割り当てる必要があります):
The volume and brightness multimedia codes are as follows (note that commands will still have to be assigned to them to actually function):
 
   
* {{ic|XF86AudioRaiseVolume}}: Increase volume
+
* {{ic|XF86AudioRaiseVolume}}: ボリュームを上げる
* {{ic|XF86AudioLowerVolume}}: Decrease volume
+
* {{ic|XF86AudioLowerVolume}}: ボリュームを下げる
* {{ic|XF86AudioMute}}: Mute / unmute volume
+
* {{ic|XF86AudioMute}}: ボリュームをミュート / ミュート解除
* {{ic|XF86MonBrightnessUp}}: Increase screen brightess
+
* {{ic|XF86MonBrightnessUp}}: 画面の明るさを上げる
* {{ic|XF86MonBrightnessDown}}: Decrease screen brightness
+
* {{ic|XF86MonBrightnessDown}}: 画面の明るさを下げる
   
Examples of how these may be used in {{ic|~/.config/openbox/rc.xml}} have been provided below.
+
上記のキーを {{ic|~/.config/openbox/rc.xml}} で使用する例は下にあります。
   
 
==== ナビゲーションキー ====
 
==== ナビゲーションキー ====
   
  +
矢印キーは通常、カーソルを上下左右に動かすのに使われます。navigation のコードは以下の通りです:
These are the directional / arrow keys, usually used to move the cursor up, down, left, or right. The (self-explanatory) navigation codes are as follows:
 
   
* {{ic|Up}}: Up
+
* {{ic|Up}}:
* {{ic|Down}}: Down
+
* {{ic|Down}}:
* {{ic|Left}}: Left
+
* {{ic|Left}}:
* {{ic|Right}}: Right
+
* {{ic|Right}}:
   
 
=== ボリュームコントロール ===
 
=== ボリュームコントロール ===
   
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA|ALSA]], [[PulseAudio|PulseAudio]], [[OSS|OSS]] のどれを使っているかによって変わってきます。
+
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA]], [[PulseAudio]], [[OSS]] のどれを使っているかによって変わってきます。
   
 
==== ALSA ====
 
==== ALSA ====
   
[[ALSA|ALSA]] を使って音声を鳴らしている場合、({{Pkg|alsa-utils}} パッケージに入っている) {{ic|amixer}} プログラムを使ってボリュームを調整することができます。以下はボリューム調整用の {{ic|multimedia}} キーを使ってボリュームを +/- 5% で調整する例です (調整量は変更できます):
+
[[ALSA]] を使って音声を鳴らしている場合、({{Pkg|alsa-utils}} パッケージに入っている) {{ic|amixer}} プログラムを使ってボリュームを調整することができます。以下はボリューム調整用の {{ic|multimedia}} キーを使ってボリュームを +/- 5% で調整する例です (調整量は変更できます):
   
 
<keybind key="XF86AudioRaiseVolume">
 
<keybind key="XF86AudioRaiseVolume">
231行目: 235行目:
 
==== Pulseaudio ====
 
==== Pulseaudio ====
   
[[ALSA|ALSA]] をバックエンドにして [[PulseAudio|PulseAudio]] を使用している場合、{{ic|amixer}} プログラムのコマンドを以下のように修正します:
+
[[ALSA]] をバックエンドにして [[PulseAudio]] を使用している場合、{{ic|amixer}} プログラムのコマンドを以下のように修正します:
   
 
<keybind key="XF86AudioRaiseVolume">
 
<keybind key="XF86AudioRaiseVolume">
253行目: 257行目:
 
{{Note|This option may be suitable for more experienced users.}}
 
{{Note|This option may be suitable for more experienced users.}}
   
[[OSS|OSS]] を使っている場合、特定のミキサーを上げ下げできるキーバインドを作成することができます。これによって、例えば全体のシステムボリュームを変更せずに特定のアプリケーション (オーディオプレイヤーなど) のボリュームを変えることが可能です。この場合、OSS のミキサーを使うようにアプリケーションを[[OSS#OSS を使うようにアプリケーションを設定する|設定]]する必要があります。
+
[[OSS]] を使っている場合、特定のミキサーを上げ下げできるキーバインドを作成することができます。これによって、例えば全体のシステムボリュームを変更せずに特定のアプリケーション (オーディオプレイヤーなど) のボリュームを変えることが可能です。この場合、OSS のミキサーを使うようにアプリケーションを[[OSS#OSS を使うようにアプリケーションを設定する|設定]]する必要があります。
   
以下の例では、OSS のミキサーを使って、1デシベル単位でボリュームを上げ下げするように [[MPD|MPD]] を設定しています。{{ic|ossmix}} コマンドの後に {{ic|--}} が追加されるのは負の値が引数として扱われないようにするためです:
+
以下の例では、OSS のミキサーを使って、1デシベル単位でボリュームを上げ下げするように [[MPD]] を設定しています。{{ic|ossmix}} コマンドの後に {{ic|--}} が追加されるのは負の値が引数として扱われないようにするためです:
   
 
<keybind key="[chosen keybind]">
 
<keybind key="[chosen keybind]">
295行目: 299行目:
 
=== 明るさ調整 ===
 
=== 明るさ調整 ===
   
画面の明るさを調整するには {{ic|xbacklight}} プログラムを使います。このプログラムは [[Xorg|Xorg]] に含まれています。以下の例では、画面の明るさをコントロールするための {{ic|multimedia}} キーを使って +/- 10% で設定を調整します:
+
画面の明るさを調整するには {{ic|xbacklight}} プログラムを使います。このプログラムは [[Xorg]] に含まれています。以下の例では、画面の明るさをコントロールするための {{ic|multimedia}} キーを使って +/- 10% で設定を調整します:
   
 
<keybind key="XF86MonBrightnessUp">
 
<keybind key="XF86MonBrightnessUp">
368行目: 372行目:
 
{{Warning|A root terminal '''must''' be installed in order to use MenuMaker, even though a standard user terminal may be used to run it. {{Pkg|xterm}} is a good choice.}}
 
{{Warning|A root terminal '''must''' be installed in order to use MenuMaker, even though a standard user terminal may be used to run it. {{Pkg|xterm}} is a good choice.}}
   
{{Pkg|menumaker}} は Openbox, [[Fluxbox|Fluxbox]], [[IceWM|IceWM]], [[Xfce|Xfce]] など複数のウィンドウマネージャに対応した {{ic|xml}} メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション ([[GNOME|GNOME]], [[KDE|KDE]] など) を省くように設定することも可能です。
+
{{Pkg|menumaker}} は Openbox, [[Fluxbox]], [[IceWM]], [[Xfce]] など複数のウィンドウマネージャに対応した {{ic|xml}} メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション ([[GNOME]], [[KDE]] など) を省くように設定することも可能です。
   
 
インストールして実行すると、新しい {{ic|~/.config/openbox/menu.xml}} ファイルが生成されます。既存のファイルが上書きされないようにするには、次を実行:
 
インストールして実行すると、新しい {{ic|~/.config/openbox/menu.xml}} ファイルが生成されます。既存のファイルが上書きされないようにするには、次を実行:
382行目: 386行目:
 
==== obmenu ====
 
==== obmenu ====
   
  +
{{Warning|{{ic|obm-xdg}} - [[GTK+]] と [[GNOME]] アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。}}
{{Warning|{{ic|obm-xdg}} - a pipe menu to generate a list of [[GTK+|GTK+]] and [[GNOME|GNOME]] applications - is also provided with obmenu. However, it has long-running bugs whereby it may produce an invalid output, or even not function at all. Consequently it has been omitted from discussion.}}
 
   
 
{{Pkg|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
 
{{Pkg|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
432行目: 436行目:
 
{{Tip|It is entirely feasible for a static menu to contain one or more pipe sub-menus. The functionality of some pipe menus may also rely on the installation of relevant software packages.}}
 
{{Tip|It is entirely feasible for a static menu to contain one or more pipe sub-menus. The functionality of some pipe menus may also rely on the installation of relevant software packages.}}
   
  +
このタイプのメニューは基本的にスクリプトで、実行時に即座に更新される動的なリストを提供します。リストが使用される目的は複数あり、アプリケーションを一覧したり、情報を表示したり、機能を制御したりします。定義済みのパイプメニューをインストールすることができますが、[[公式リポジトリ]]には存在しません。上級者であればカスタムスクリプトを作成・修正することができます。また、{{ic|~/.config/openbox/menu.xml}} には複数のパイプメニューを定義することができます。
This type of menu is in essence a script that provides dynamic, refreshed lists on-the-fly as and when run. These lists may be used for multiple purposes, including to list applications, to provide information, and to provide control functions. Pre-configured pipe menus can be installed, although not from the [[official repositories]]. More experienced users can also modify and/or create their own custom scripts. Again, {{ic|~/.config/openbox/menu.xml}} may and commonly will contain several pipe menus.
 
   
 
==== サンプル ====
 
==== サンプル ====
438行目: 442行目:
 
* {{AUR|openbox-xdgmenu}}: xdg-menu を xml-pipe-menu に変換
 
* {{AUR|openbox-xdgmenu}}: xdg-menu を xml-pipe-menu に変換
 
* {{AUR|obfilebrowser}}: アプリケーションとファイルブラウザ
 
* {{AUR|obfilebrowser}}: アプリケーションとファイルブラウザ
* {{AUR|obdevicemenu}}: [[Udisks|udisks]] によるリムーバルメディアの管理
+
* {{AUR|obdevicemenu}}: [[udisks]] によるリムーバルメディアの管理
* [https://bbs.archlinux.org/viewtopic.php?pid=1345031 wifi pipe menu]: [[Netctl|Netctl]] による無線ネットワーク
+
* [https://bbs.archlinux.org/viewtopic.php?pid=1345031 wifi pipe menu]: [[Netctl]] による無線ネットワーク
   
 
[http://openbox.org/download-pipemenus.php Openbox.org] にも様々なパイプメニューのリストが載っています。
 
[http://openbox.org/download-pipemenus.php Openbox.org] にも様々なパイプメニューのリストが載っています。
445行目: 449行目:
 
=== Generators ===
 
=== Generators ===
   
このタイプのメニューは [[Xfce|Xfce]] や [[LXDE|LXDE]] などのデスクトップ環境で使われているタスクバーに似ています。このタイプのメニューは自動的に更新され、強力でとても便利です。カスタムカテゴリやメニューエントリを追加することもできます。使用するダイナミックメニューのドキュメントを読んで下さい。
+
このタイプのメニューは [[Xfce]] や [[LXDE]] などのデスクトップ環境で使われているタスクバーに似ています。このタイプのメニューは自動的に更新され、強力でとても便利です。カスタムカテゴリやメニューエントリを追加することもできます。使用するダイナミックメニューのドキュメントを読んで下さい。
   
 
メニュージェネレータは {{ic|~/.config/openbox/menu.xml}} ファイルから実行する必要があります。
 
メニュージェネレータは {{ic|~/.config/openbox/menu.xml}} ファイルから実行する必要があります。
451行目: 455行目:
 
==== obmenu-generator ====
 
==== obmenu-generator ====
   
  +
{{Tip|{{ic|~/.config/openbox/rc.xml}} でアイコンを有効にしていても、{{AUR|obmenu-generator}} でアイコンを無効化することができます。}}
{{Tip|icons can still be disabled in {{AUR|obmenu-generator}}, even where enabled in {{ic|~/.config/openbox/rc.xml}}.}}
 
   
  +
{{AUR|obmenu-generator}} は非公式パッケージながら強く推奨されています。静的または動的なメニューとして使うことができ、細かくカスタマイズすることが可能です。メニューのカテゴリや個々のエントリは簡単に非表示にすることができ、カスタマイズしたり追加するのもお茶の子さいさい。詳しい説明やスクリーンショットが [http://trizenx.blogspot.co.uk/2012/02/obmenu-generator.html 公式ホームページ] にあります。
{{AUR|obmenu-generator}} is currently only available from the [[AUR]], although it is still highly recommended. With the ability to be used as a static or dynamic menu, it is highly configurable, powerful, and versatile. Menu categories and individual entries may also be easily hidden, customised, and/or added with ease. The [http://trizenx.blogspot.co.uk/2012/02/obmenu-generator.html official homepage] provides further information and screenshots.
 
   
 
Below is an example of how obmenu-generator would be dynamically executed without icons in {{ic|~/.config/openbox/menu.xml}}:
 
Below is an example of how obmenu-generator would be dynamically executed without icons in {{ic|~/.config/openbox/menu.xml}}:
469行目: 473行目:
 
==== openbox-menu ====
 
==== openbox-menu ====
   
{{Tip|If this menu produces an error, it may be solved by enabling icons in {{ic|~/.config/openbox/rc.xml}}.}}
+
{{Tip|このメニューでエラーが発生する場合、{{ic|~/.config/openbox/rc.xml}} でアイコンを有効にすることで解決します。}}
   
{{AUR|openbox-menu}} は [[LXDE|LXDE]] プロジェクトによる [http://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
+
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [http://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
   
 
==== obmenugen ====
 
==== obmenugen ====
   
  +
{{AUR|Obmenugen}} を使うことで {{ic|.desktop}} ファイルから静的なまたは動的なアプリケーションメニューを生成することができます。詳しくは [http://obmenugen.sourceforge.net/ 公式ホームページ] を見て下さい。
{{AUR|Obmenugen}} is currently only available from the [[AUR]], and can be used to a generate static or dynamic application menu based on {{ic|.desktop}} files. The [http://obmenugen.sourceforge.net/ official homepage] provides further information.
 
   
 
=== メニューアイコン ===
 
=== メニューアイコン ===
494行目: 498行目:
   
 
* Replace an existing panel menu
 
* Replace an existing panel menu
* Implement a panel menu where otherwise not provided or possible (e.g. for {{AUR|tint2-svn}})
+
* Implement a panel menu where otherwise not provided or possible (e.g. for {{AUR|tint2-git}})
* Compensate where losing access to the desktop menu due to the use of an application like [[#xfdesktop|xfdesktop]] to [[#Desktop icons and wallpapers|manage the desktop]].
+
* Compensate where losing access to the desktop menu due to the use of an application like [[#xfdesktop|xfdesktop]] to [[#デスクトップアイコンと壁紙|manage the desktop]].
   
 
Once XDoTool has been installed - if not already present - it will be necessary to create a keybind to access the root menu in {{ic|~/.config/openbox/rc.xml}}, and again below the {{ic|<nowiki><</nowiki>!-- Keybindings for running aplications --<nowiki>></nowiki>}} heading. For example, the following code will bring up the menu by pressing {{ic|CTRL}} + {{ic|m}}:
 
Once XDoTool has been installed - if not already present - it will be necessary to create a keybind to access the root menu in {{ic|~/.config/openbox/rc.xml}}, and again below the {{ic|<nowiki><</nowiki>!-- Keybindings for running aplications --<nowiki>></nowiki>}} heading. For example, the following code will bring up the menu by pressing {{ic|CTRL}} + {{ic|m}}:
505行目: 509行目:
 
</keybind>
 
</keybind>
   
Openbox must then be [[#Openbox reconfiguration|re-configured]]. In this instance, XDoTool will be used to simulate the {{ic|CTRL}} + {{ic|m}} keypress to access the desktop menu with the following command (note the use of {{ic|+}} in place of {{ic|-}}):
+
Openbox must then be [[#Openbox の再設定|re-configured]]. In this instance, XDoTool will be used to simulate the {{ic|CTRL}} + {{ic|m}} keypress to access the desktop menu with the following command (note the use of {{ic|+}} in place of {{ic|-}}):
   
 
xdotool key control+m
 
xdotool key control+m
523行目: 527行目:
 
Executing it will bring up the Openbox desktop menu. Consequently, where using a panel that supports drag-and-drop functionality to add new launchers, simply drag the executable script onto it before changing the icon to suit personal taste. For instructions on how to use this executable script with {{AUR|tint2-svn}} - a derivative of the popular {{Pkg|tint2}} panel that allows launchers to be added - see [[Tint2#Application_Launchers_in_tint2-svn_.28AUR.29|Tint2-Svn launchers]].
 
Executing it will bring up the Openbox desktop menu. Consequently, where using a panel that supports drag-and-drop functionality to add new launchers, simply drag the executable script onto it before changing the icon to suit personal taste. For instructions on how to use this executable script with {{AUR|tint2-svn}} - a derivative of the popular {{Pkg|tint2}} panel that allows launchers to be added - see [[Tint2#Application_Launchers_in_tint2-svn_.28AUR.29|Tint2-Svn launchers]].
   
== GTK+ デスクトップテーマ ==
+
== デスクトップテーマ ==
   
  +
{{Tip|外観の設定やテーマを設定するときは GUI アプリケーションの {{Pkg|obconf}} と {{Pkg|lxappearance-obconf}} をインストールすることを強く推奨します。特に後者は {{ic|~/.gtkrc-2.0}} ファイルを生成するのに必要なので特に重要です ([[GTK+#GTK+ 2.x]] を参照)。}}
It is important to note that a substantial range of both Openbox-specific and generalised, Openbox-compatible [[GTK]] themes are available to change the look of window decorations and the desktop menu. ''Generalised'' themes are designed to be simultaneously compatible with a range of popular desktop environments and/or window managers, commonly including Openbox. See these [https://aur.archlinux.org/packages/?O=0&C=0&SeB=n&K=gtk-theme-&outdated=&SB=n&SO=a&PP=50&do_Search=Go package descriptions] for examples.
 
  +
  +
大量の ''Openbox 専用''の [[GTK+]] テーマと、汎用の ''Openbox 対応''の [[GTK+]] テーマが存在し、ウィンドウ装飾やデスクトップメニューの外観を変更することができます。''汎用の''テーマは様々なデスクトップ環境やウィンドウマネージャでも利用できるように作られており、その中に Openbox も含まれています。例は [https://aur.archlinux.org/packages/?O=0&C=0&SeB=n&K=gtk-theme-&outdated=&SB=n&SO=a&PP=50&do_Search=Go パッケージの説明] を見て下さい。
   
 
=== 設定 ===
 
=== 設定 ===
   
GTK テーマを選択したり設定するには {{Pkg|obconf}} や {{Pkg|lxappearance-obconf}} を使います。[[VirtualBox|VirtualBox]] や [[Skype|Skype]] など Qt ベースのアプリケーションのテーマについての情報は [[Uniform Look for Qt and GTK Applications]] を見て下さい。
+
GTK テーマを選択したり設定するには {{Pkg|obconf}} や {{Pkg|lxappearance-obconf}} を使います。[[VirtualBox]] や [[Skype]] など Qt ベースのアプリケーションのテーマについての情報は [[Qt GTK アプリケーションの外観の統合]]を見て下さい。
   
 
=== インストール: 公式リポジトリと AUR ===
 
=== インストール: 公式リポジトリと AUR ===
535行目: 541行目:
 
公式リポジトリの {{Pkg|openbox-themes}} パッケージに様々なテーマが入っています。
 
公式リポジトリの {{Pkg|openbox-themes}} パッケージに様々なテーマが入っています。
   
[[公式リポジトリ]]や [[AUR|AUR]] からインストールした Openbox のテーマは {{ic|/usr/share/themes}} ディレクトリに自動的にインストールされます。すぐに選択することが可能です。
+
[[公式リポジトリ]]や [[AUR]] からインストールした Openbox のテーマは {{ic|/usr/share/themes}} ディレクトリに自動的にインストールされます。すぐに選択することが可能です。
   
 
=== インストール: 他のソース ===
 
=== インストール: 他のソース ===
543行目: 549行目:
 
=== トラブルシューティング ===
 
=== トラブルシューティング ===
   
  +
稀に、以下の2つの問題が発生することがあります。特にサポートされないウェブサイトからテーマをダウンロードしたときに発生します。
There are two particular problems that may be encountered on rare occasions, especially where downloading themes from unsupported websites. These have been addressed below.
 
   
 
==== テーマが使えない ====
 
==== テーマが使えない ====
555行目: 561行目:
 
==== テーマの見た目が壊れている ====
 
==== テーマの見た目が壊れている ====
   
Of course, the first line of enquiry would be to check that it is not just a badly made, broken theme! Otherwise, ensure that the [[#GTK+ 2|Openbox GTK fix]]{{Dead link|2014-11-28}} has been implemented, and then re-start the session. Unfortunately some older themes can simply break if not maintained sufficiently to keep pace with the changes incurred by [[GTK]] updates. To avoid such occurrences, it is best to check that desired themes have recently been created or at least updated / patched.
+
Of course, the first line of enquiry would be to check that it is not just a badly made, broken theme! Otherwise, ensure that the [[#トラブルシューティング|Openbox GTK fix]] has been implemented, and then re-start the session. Unfortunately some older themes can simply break if not maintained sufficiently to keep pace with the changes incurred by [[GTK+]] updates. To avoid such occurrences, it is best to check that desired themes have recently been created or at least updated / patched.
   
 
=== テーマの編集または新しいテーマの作成 ===
 
=== テーマの編集または新しいテーマの作成 ===
561行目: 567行目:
 
{{Tip|Where deciding to modify an existing theme (e.g. the colour scheme), it would be best to work on a copy of it, rather than the original. This will retain the original should anything go wrong, and ensure that your changes are not over-written through an update.}}
 
{{Tip|Where deciding to modify an existing theme (e.g. the colour scheme), it would be best to work on a copy of it, rather than the original. This will retain the original should anything go wrong, and ensure that your changes are not over-written through an update.}}
   
The process of creating new or modifying existing themes is covered extensively at the official [http://openbox.org/wiki/Help:Themes openbox.org] website. A user-friendly GUI to do so - {{AUR|obtheme}} - is also available from the [[AUR]].
+
新しいテーマを作成したり既存のテーマを修正する方法は公式ウェブサイトの [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく解説されています。また、{{AUR|obtheme}} を使うことで GUI で行うことができます。
   
 
== コンポジット効果 ==
 
== コンポジット効果 ==
568行目: 574行目:
   
 
* [[Compton]]: パワフルで信頼性があり、拡張性のあるコンポジタ。
 
* [[Compton]]: パワフルで信頼性があり、拡張性のあるコンポジタ。
* [[Xcompmgr|Xcompmgr]]: 旧式ながらシンプルなコンポジタ。
+
* [[Xcompmgr]]: 旧式ながらシンプルなコンポジタ。
 
* [[Cairo Compmgr]]: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。
 
* [[Cairo Compmgr]]: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。
   
577行目: 583行目:
 
=== ファイルマネージャによるデスクトップ管理 ===
 
=== ファイルマネージャによるデスクトップ管理 ===
   
ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。[[LXDE|LXDE]] デスクトップ環境ではそのために PCManFM を使っています。
+
ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。[[LXDE]] デスクトップ環境ではそのために PCManFM を使っています。
   
[[PCManFM#デスクトップの管理|PCManFM#デスクトップの管理]] や [[SpaceFM#デスクトップの管理|SpaceFM#デスクトップの管理]] を見て下さい。
+
[[PCManFM#デスクトップの管理]] や [[SpaceFM#デスクトップの管理]] を見て下さい。
   
 
=== 壁紙 ===
 
=== 壁紙 ===
   
[[List_of_Applications#壁紙設定]] を見て下さい。
+
[[アプリケーション一覧#壁紙設定]]を見て下さい。
   
 
=== アイコンプログラム ===
 
=== アイコンプログラム ===
597行目: 603行目:
 
==== xfdesktop ====
 
==== xfdesktop ====
   
{{Pkg|xfdesktop}} は [[Xfce|Xfce]] のデスクトップマネージャです。[[Thunar|Thunar]] ファイルマネージャも依存パッケージとしてダウンロードされます。xfdesktop を使用しているときは、壁紙を右クリックして Openbox のデスクトップメニューにアクセスすることはできなくなります。
+
{{Pkg|xfdesktop}} は [[Xfce]] のデスクトップマネージャです。[[Thunar]] ファイルマネージャも依存パッケージとしてダウンロードされます。xfdesktop を使用しているときは、壁紙を右クリックして Openbox のデスクトップメニューにアクセスすることはできなくなります。
   
 
そのため、[[#デスクトップメニュー|キーバインドを作成]]するか、パネルをインストールして[[#デスクトップメニューをパネルメニューとして使う|デスクトップメニューをパネルメニューとして使う]]かして、他の方法でアクセスできるようにする必要があります。xfdesktop を使ってアイコンを表示するには、以下のコマンドを {{ic|~/.config/openbox/autostart}} ファイルに追加します:
 
そのため、[[#デスクトップメニュー|キーバインドを作成]]するか、パネルをインストールして[[#デスクトップメニューをパネルメニューとして使う|デスクトップメニューをパネルメニューとして使う]]かして、他の方法でアクセスできるようにする必要があります。xfdesktop を使ってアイコンを表示するには、以下のコマンドを {{ic|~/.config/openbox/autostart}} ファイルに追加します:
605行目: 611行目:
 
=== conky の設定 ===
 
=== conky の設定 ===
   
ファイルマネージャを使ってデスクトップを管理するときは、[[conky|conky]] を使っている場合、{{ic|~/.conkyrc}} を編集して {{ic|own_window_type}} コマンドを変更する必要があります。コマンドは以下のように修正してください:
+
ファイルマネージャを使ってデスクトップを管理するときは、[[conky]] を使っている場合、{{ic|~/.conkyrc}} を編集して {{ic|own_window_type}} コマンドを変更する必要があります。コマンドは以下のように修正してください:
   
 
own_window_type normal
 
own_window_type normal
620行目: 626行目:
 
=== 規定のアプリケーション/ファイルの関連付けの設定 ===
 
=== 規定のアプリケーション/ファイルの関連付けの設定 ===
   
[[Default applications]] を見て下さい。
+
[[デフォルトアプリケーション]]を見て下さい。
   
 
=== マウスホイールによるデスクトップ切り替えを循環しないようにする ===
 
=== マウスホイールによるデスクトップ切り替えを循環しないようにする ===
   
  +
デフォルトではマウスホイールを回すことで Openbox は最後のデスクトップから最初のデスクトップに切り替えます。{{ic|mousebind}} セクションで {{ic|<wrap>no</wrap>}} を使うことでこの挙動を無効化することが可能です。
By default Openbox switches from the last desktop back to the first desktop on mouse wheel scroll. Use {{ic|<wrap>no</wrap>}} in the {{ic|mousebind}} section to disable this behaviour.
 
   
 
<context name="Desktop">
 
<context name="Desktop">
665行目: 671行目:
 
=== obxprop を使って高速な設定を行う ===
 
=== obxprop を使って高速な設定を行う ===
   
{{Pkg|openbox}} package provides a {{ic|obxprop}} binary that can parse relevant values for applications settings in {{ic|rc.xml}}. Officially {{ic|<nowiki>obxprop | grep "^_OB_APP"</nowiki>}} is recommended for this task. Doing so for multiple applications and its windows can be very inefficient however. The following script {{ic|obxprop2obrc}} makes it much easier to configure even a large number of applications.
+
The {{Pkg|openbox}} package provides a {{ic|obxprop}} binary that can parse relevant values for applications settings in {{ic|rc.xml}}. Officially {{ic|<nowiki>obxprop | grep "^_OB_APP"</nowiki>}} is recommended for this task. Start the process by running the command shown, then click a window to see its properties in the terminal.
  +
  +
Doing so for multiple applications and its windows can be very inefficient however. The following script {{ic|obxprop2obrc}} makes it much easier to configure even a large number of applications.
   
 
{{bc|<nowiki>
 
{{bc|<nowiki>
773行目: 781行目:
 
=== アプリケーションの Xprop の値 ===
 
=== アプリケーションの Xprop の値 ===
   
{{Pkg|xorg-xprop}} is available in the official repositories, and can be used to relay property values for selected applications. Where frequently using per-application settings, the following [[Bash#Aliases|Bash Alias]] may be useful:
+
{{Pkg|xorg-xprop}} is available in the official repositories, and can be used to relay property values for selected applications. Where frequently using per-application settings, the following [[Bash#エイリアス|Bash Alias]] may be useful:
 
dy:
 
dy:
   
789行目: 797行目:
   
 
=== キーボードレイアウトの切り替え ===
 
=== キーボードレイアウトの切り替え ===
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え|Xorg#キーボードレイアウトの切り替え]] を見て下さい。
+
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え]] を見て下さい。
   
 
=== 仮想デスクトップのグリッドレイアウトの設定 ===
 
=== 仮想デスクトップのグリッドレイアウトの設定 ===

2015年10月11日 (日) 21:00時点における版

関連記事

Openbox は軽量で設定が自由なスタック型ウィンドウマネージャです。デスクトップ環境とは独立して動作させることも、KDEXfce など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。LXDE デスクトップ環境は Openbox を初めから組み込んでいます。

Openbox の機能については、公式ウェブサイト にドキュメントがあります。この記事では Arch Linux での Openbox のインストールに関して扱います。

目次

インストール

公式リポジトリから openbox をインストールしてください。

Openbox の起動

スタンドアロン

Openbox は単独のウィンドウマネージャ (WM) として使うことができます。デスクトップ環境と一緒に Openbox を使うよりもインストールや設定はシンプルになります。openbox だけを使うことは CPU やメモリの使用量を減らすこともできます。

Openbox をスタンドアロンのウィンドウマネージャとして実行するには、以下を ~/.xinitrc に追加してください:

exec openbox-session

logind (や consolekit) セッションの維持などについては xinitrc を見て下さい。

以前に他のウィンドウマネージャ (Xfwm 等) を使っていて、Openbox が起動しないときは、autostart フォルダを削除してみてください:

mv ~/.config/autostart ~/.config/autostart.bak

他のデスクトップ環境

デスクトップ環境のネイティブのウィンドウマネージャを Openbox で置き換えるときは、Openbox に (透過などの) コンポジット効果が存在しないことに注意してください。#コンポジット効果 を参照。

GNOME

GNOME Shellmutter のプラグインであり、Openbox で使うことはできません。Openbox は GNOME アプリケーションで動作しません (GTK+ を参照) [1]

KDE

KDE#KDE/Openbox Session を見て下さい。

Xfce

Xfce#デフォルトウィンドウマネージャ を見て下さい。

MATE

MATE#MATE で他のウィンドウマネージャを使う を見て下さい。

設定

XDG

アプリケーションを自動実行するのに、Openbox はローカルの ~/.config/openbox/autostart ファイルだけでなく、パッケージによってグローバルな /etc/xdg/autostart ディレクトリに自動的にインストールされた .desktop ファイルも読み込みます。python2-xdg は Openbox の xdg-autostart に必要です。

例えば、NetworkManager のアプレット (nm-applet) などをローカルで自動実行を行っていて、後で python2-xdg をインストールしていた場合、グローバルな XDG .desktop ファイルが読み込まれることになり、結果としてシステムトレイに2つアイコンが表示されてしまいます。したがって、python2-xdg を明示的にインストールしておいて、インストールしたときに自動的にアプリケーションが自動実行されるようにしておくのを推奨します。

Downloads, Documents などの Home フォルダが存在しない場合は Xdg ユーザーディレクトリを見て下さい。

Openbox

ノート: ファイルの編集は Openbox を使用する一般ユーザーで実行してください。
ヒント: ローカルの設定ファイルはグローバルの設定を上書きします。

Openbox の基本的な設定は主に4つのファイルを使って行い、それぞれに固有の役割があります: rc.xml, menu.xml, autostart, environment。これらのファイルの詳細は以下で記述していますが、Openbox の設定を始めるには、まず (特定のユーザーアカウントの) ローカルの Openbox プロファイルを作成する必要があります。グローバルな /etc/xdg/openbox プロファイル (全てのユーザーに適用されます) をテンプレートとしてコピーすることで作成できます:

$ cp -R /etc/xdg/openbox ~/.config/

rc.xml

ヒント: カスタムキーボードショートカット (キーバインド) はこのファイルの <keyboard> セクションの、<!-- Keybindings for running aplications --> の下に追加します。

~/.config/openbox/rc.xml はメインの設定ファイルです。以下の設定を定義します:

  • キーボードショートカット (例: アプリケーションの起動やボリュームのコントロール)
  • テーマ
  • デスクトップと仮想デスクトップの設定
  • アプリケーションウィンドウの設定

このファイルにはあらかじめ設定がされており、個人的な好みで修正するほかは既存の内容に変更を加える必要はありません。

menu.xml

~/.config/openbox/menu.xml はデスクトップを右クリックしたときに表示されるメニューの中身を定義するファイルです。デフォルトのメニューは静的なメニュー (新しいアプリケーションをインストールしてもメニューが更新されない) ですが、自動的に更新されるダイナミックメニューを使うこともできます。

メニューについては下のメニューセクションで詳しい説明をしています。

autostart

~/.config/openbox/autostart には Openbox セッションが開始したときにどのアプリケーションを起動するか記述します。

コマンドはアンパサンド (&) を付けて終了する必要があります。コマンドにアンパサンドが付いていないと、それから先に記述されたコマンドが実行されなくなります。

また、autostart ファイルではコマンドの実行を遅延させることを推奨します。そうしないと全てのコマンドが同時に実行されることになり、結果的にアイテムが起動しなくなることがあります。コマンドの実行を遅延させるには以下のような形式で記述します:

(sleep <number of seconds>s && <command>) &

例えば、Conky の実行を3秒だけ遅らせたい場合、コマンドは以下の通りです:

(sleep 3s && conky) &

environment

~/.config/openbox/environment では以下のような環境変数を設定するのに使います:

  • 新しいパスの定義 (例: パスを必要とする実行コマンド)
  • 言語設定の変更
  • 他の使用される変数 (例: GTK テーマの修正)

GUI 設定パッケージ

Openbox デスクトップを簡単に設定するための GUI が複数存在します。公式リポジトリには以下の GUI が含まれています:

  • ObConf — Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。
http://openbox.org/wiki/ObConf:About || obconf
  • LXAppearance ObConf — Openbox を設定するための LXAppearance のプラグイン。
http://lxde.org || lxappearance-obconf
  • LXInput — LXDE のキーボード・マウス設定。
http://lxde.org || lxinput
  • LXRandR — LXDE のモニター設定。
http://wiki.lxde.org/en/LXRandR || lxrandr
  • obkey — Openbox のキーボードショートカットを設定。
https://code.google.com/p/obkey/ || obkeyAUR
  • ob-autostart — Openbox のためのシンプルな自動起動アプリケーション。
http://pastebin.com/012YgXTk || ob-autostartAUR

Openbox のデスクトップメニューを設定するアプリケーションについてはメニューセクションを見て下さい。

Openbox の再設定

ヒント: where not already present, it would be worthwhile adding this command to a menu and/or as a keybind for convenience.

Openbox は常に設定ファイルの変更をセッションに反映させるわけではありません。そのため、設定ファイルを編集したら手動でリロードする必要があります。再設定を行うには、次のコマンドを実行してください:

$ openbox --reconfigure

上のコマンドを実行するキーバインドを ~/.config/openbox/rc.xml に追加すれば、いちいちターミナルを開く必要がなくなります。例えば Super+F11 キーバインドを使用する場合:

<keybind key="W-F11">
  <action name="Reconfigure"/>
</keybind>

キーバインド

全てのキーバインドは ~/.config/openbox/rc.xml ファイルの <!-- Keybindings for running aplications --> の下に追加します。ここでは簡単な説明をするにとどめるので、キーバインドの詳しい説明は openbox.org を読んで下さい。

特殊なキー

基本的な英数字キーをキーバインドに使うのはわかりやすいですが modifers, multimedia, navigation キーなど他のタイプのキーには特殊な名前が割り当てられています。

修飾キー

Modifer キーにはキーバインドで重要な役割があります (例: shiftCTRL / control キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:

"<modifier>-<key>"

modifer のコードは以下の通りです:

  • S: Shift
  • C: Control / CTRL
  • A: Alt
  • W: Super / Windows
  • M: Meta
  • H: Hyper (If it is bound to something)

例えば、以下のコードは supertlxterminal を起動します:

<keybind key="W-t">
    <action name="Execute">
        <command>lxterminal</command>
    </action>
</keybind>

マルチメディアキー

ボリュームや画面の明るさの調整など、適切な multimedia キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは function キーに統合されますが、適当なシンボルで識別できます。詳しくは特別なキーボードキーを見て下さい。

ボリュームと輝度のマルチメディアキーは以下の通りです (マルチメディアキーを機能させるにはコマンドを割り当てる必要があります):

  • XF86AudioRaiseVolume: ボリュームを上げる
  • XF86AudioLowerVolume: ボリュームを下げる
  • XF86AudioMute: ボリュームをミュート / ミュート解除
  • XF86MonBrightnessUp: 画面の明るさを上げる
  • XF86MonBrightnessDown: 画面の明るさを下げる

上記のキーを ~/.config/openbox/rc.xml で使用する例は下にあります。

ナビゲーションキー

矢印キーは通常、カーソルを上下左右に動かすのに使われます。navigation のコードは以下の通りです:

  • Up: 上
  • Down: 下
  • Left: 左
  • Right: 右

ボリュームコントロール

音量のコントロールにどのコマンドを使うかは、サウンドシステムとして ALSA, PulseAudio, OSS のどれを使っているかによって変わってきます。

ALSA

ALSA を使って音声を鳴らしている場合、(alsa-utils パッケージに入っている) amixer プログラムを使ってボリュームを調整することができます。以下はボリューム調整用の multimedia キーを使ってボリュームを +/- 5% で調整する例です (調整量は変更できます):

<keybind key="XF86AudioRaiseVolume">
    <action name="Execute">
        <command>amixer set Master 5%+ unmute</command>
    </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
    <action name="Execute">
        <command>amixer set Master 5%- unmute</command>
    </action>
</keybind>
<keybind key="XF86AudioMute">
    <action name="Execute">
        <command>amixer set Master toggle</command>
    </action>
</keybind>

Pulseaudio

ALSA をバックエンドにして PulseAudio を使用している場合、amixer プログラムのコマンドを以下のように修正します:

<keybind key="XF86AudioRaiseVolume">
    <action name="Execute">
        <command>amixer -D pulse set Master 5%+ unmute</command>
    </action>
</keybind>
<keybind key="XF86AudioLowerVolume">
    <action name="Execute">
        <command>amixer -D pulse set Master 5%- unmute</command>
    </action>
</keybind>
<keybind key="XF86AudioMute">
    <action name="Execute">
        <command>amixer -D pulse set Master toggle</command>
    </action>
</keybind>

OSS

ノート: This option may be suitable for more experienced users.

OSS を使っている場合、特定のミキサーを上げ下げできるキーバインドを作成することができます。これによって、例えば全体のシステムボリュームを変更せずに特定のアプリケーション (オーディオプレイヤーなど) のボリュームを変えることが可能です。この場合、OSS のミキサーを使うようにアプリケーションを設定する必要があります。

以下の例では、OSS のミキサーを使って、1デシベル単位でボリュームを上げ下げするように MPD を設定しています。ossmix コマンドの後に -- が追加されるのは負の値が引数として扱われないようにするためです:

<keybind key="[chosen keybind]">
    <action name="Execute">
        <command>ossmix -- mpd +1</command>
    </action>
</keybind>
<keybind key="[chosen keybind]">
    <action name="Execute">
        <command>ossmix -- mpd -1</command>
    </action>
</keybind>

メディアプレイヤーの操作

playerctlAUR コマンドラインユーティリティを使ってマルチメディアキーをプレイヤーのアクションに結びつけることができます。ほとんどのメディアプレイヤーで動作するはずです。

<keybind key="XF86AudioPlay">
    <action name="Execute">
        <command>playerctl play</command>
    </action>
</keybind>
<keybind key="XF86AudioPause">
    <action name="Execute">
        <command>playerctl pause</command>
    </action>
</keybind>
<keybind key="XF86AudioNext">
    <action name="Execute">
        <command>playerctl next</command>
    </action>
</keybind>
<keybind key="XF86AudioPrev">
    <action name="Execute">
        <command>playerctl previous</command>
    </action>
</keybind>

明るさ調整

画面の明るさを調整するには xbacklight プログラムを使います。このプログラムは Xorg に含まれています。以下の例では、画面の明るさをコントロールするための multimedia キーを使って +/- 10% で設定を調整します:

<keybind key="XF86MonBrightnessUp">
     <action name="Execute">
       <command>xbacklight +10</command>
     </action>
</keybind>
<keybind key="XF86MonBrightnessDown">
     <action name="Execute">
       <command>xbacklight -10</command>
     </action>
</keybind>

ウィンドウのスナップ

多数のデスクトップ環境やウィンドウマネージャはウィンドウのスナップ (例: Windows 7 の Aero スナップ) をサポートしています。画面の端に移動された時に自動的にウィンドウの大きさが変更されます。ウィンドウに関するキーバインドを使用することで Openbox でもこの効果を再現することが可能です。

As illustrated in the example below, percentages must be used to determine window sizes (see openbox.org for further information). In this instance, The super key is used in conjunction with the navigation keys:

<keybind key="W-Left">
    <action name="UnmaximizeFull"/>
    <action name="MaximizeVert"/>
    <action name="MoveResizeTo">
        <width>50%</width>
    </action>
    <action name="MoveToEdge"><direction>west</direction></action>
</keybind>
<keybind key="W-Right">
    <action name="UnmaximizeFull"/>
    <action name="MaximizeVert"/>
    <action name="MoveResizeTo">
        <width>50%</width>
    </action>
    <action name="MoveToEdge"><direction>east</direction></action>
</keybind>

However, it should be noted that once a window has been 'snapped' to an edge, it will remain vertically maximised unless subsequently maximised and then restored. The solution is to implement additional keybinds - in this instance using the down and up keys - to do so. This will also make pulling 'snapped' windows from screen edges faster as well:

<keybind key="W-Down">
   <action name="Unmaximize"/>
</keybind>
<keybind key="W-Up">
   <action name="Maximize"/>
</keybind>

Ubuntu フォーラムのスレッド に詳しい情報が載っています。AUR からインストールできる opensnap-gitAUR などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。

デスクトップメニュー

デスクトップメニューにアクセスするキーバインドを作成することもできます。例えば、以下のコードは CTRL + m を押すことでメニューが表示されるようにします:

<keybind key="C-m">
    <action name="ShowMenu">
       <menu>root-menu</menu>
    </action>
</keybind>

メニュー

Openbox では3つのタイプのメニューを使うことができます: static, pipes (dynamic), generators (static または dynamic)。どれか一つだけを使うこともできますし組み合わせることも可能です。

Static

名前の通り、デフォルトのメニュータイプであり決して変更されることがありません。手動で編集したり、適切なソフトウェアパッケージを使って自動で生成することが可能です。

Fast and efficient, while this type of menu can be used to select applications, it can also be useful to access specific functions and/or perform specific tasks (e.g. desktop configuration), leaving the access of applications to another process (e.g. the synapse or xfce4-appfinder applications).

~/.config/openbox/menu.xml ファイルが static デスクトップメニューの唯一の設定ファイルです。

menumaker

警告: A root terminal must be installed in order to use MenuMaker, even though a standard user terminal may be used to run it. xterm is a good choice.

menumaker は Openbox, Fluxbox, IceWM, Xfce など複数のウィンドウマネージャに対応した xml メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション (GNOME, KDE など) を省くように設定することも可能です。

インストールして実行すると、新しい ~/.config/openbox/menu.xml ファイルが生成されます。既存のファイルが上書きされないようにするには、次を実行:

$ mmaker -v OpenBox3

もしくは、既存のファイルを上書きしたい場合は、force 引数を追加 (f):

$ mmaker -vf OpenBox3

新しい ~/.config/openbox/menu.xml ファイルが作成されたら、手動で編集しても良いですし、obmenu などの GUI のメニューエディタを使って設定を行ってもかまいません。

obmenu

警告: obm-xdg - GTK+GNOME アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。

obmenu~/.config/openbox/menu.xml を編集するためのユーザーフレンドリな GUI アプリケーションで、xml のコードを編集したくない人にうってつけでしょう。

xdg-menu

archlinux-xdg-menu は Openbox を含む、様々なウィンドウマネージャのメニューを /etc/xdg/ ディレクトリに含まれている xdg ファイルから自動で作成することができます。詳しくは Xdg-menu#OpenBox を見て下さい。

ログアウトメニューのオプション

ヒント: The commands provided can also be attached to keybinds.

The ~/.config/openbox/menu.xml file can be edited in order to provide a sub-menu with the same options as provided by oblogout. The sample script below will provide all of these options, with the exception of the ability to lock the screen:

<menu id="exit-menu" label="Exit">
	<item label="Log Out">
		<action name="Execute">
			<command>openbox --exit</command>
		</action>
	</item>
	<item label="Shutdown">
		<action name="Execute">
			<command>systemctl poweroff</command>
		</action>
	</item>
	<item label="Restart">
		<action name="Execute">
		        <command>systemctl reboot</command>
		</action>
	</item>
	<item label="Suspend">
		<action name="Execute">
		        <command>systemctl suspend</command>
		</action>
	</item>
	<item label="Hibernate">
		<action name="Execute">
		        <command>systemctl hibernate</command>
		</action>
	</item>
</menu>

Once the entries have been composed, add the following line to present the sub-menu where desired within the main desktop menu (usually as the last entry):

<menu id="exit-menu"/>

Pipes

ヒント: It is entirely feasible for a static menu to contain one or more pipe sub-menus. The functionality of some pipe menus may also rely on the installation of relevant software packages.

このタイプのメニューは基本的にスクリプトで、実行時に即座に更新される動的なリストを提供します。リストが使用される目的は複数あり、アプリケーションを一覧したり、情報を表示したり、機能を制御したりします。定義済みのパイプメニューをインストールすることができますが、公式リポジトリには存在しません。上級者であればカスタムスクリプトを作成・修正することができます。また、~/.config/openbox/menu.xml には複数のパイプメニューを定義することができます。

サンプル

Openbox.org にも様々なパイプメニューのリストが載っています。

Generators

このタイプのメニューは XfceLXDE などのデスクトップ環境で使われているタスクバーに似ています。このタイプのメニューは自動的に更新され、強力でとても便利です。カスタムカテゴリやメニューエントリを追加することもできます。使用するダイナミックメニューのドキュメントを読んで下さい。

メニュージェネレータは ~/.config/openbox/menu.xml ファイルから実行する必要があります。

obmenu-generator

ヒント: ~/.config/openbox/rc.xml でアイコンを有効にしていても、obmenu-generatorAUR でアイコンを無効化することができます。

obmenu-generatorAUR は非公式パッケージながら強く推奨されています。静的または動的なメニューとして使うことができ、細かくカスタマイズすることが可能です。メニューのカテゴリや個々のエントリは簡単に非表示にすることができ、カスタマイズしたり追加するのもお茶の子さいさい。詳しい説明やスクリーンショットが 公式ホームページ にあります。

Below is an example of how obmenu-generator would be dynamically executed without icons in ~/.config/openbox/menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
    <menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator">
    </menu>
</openbox_menu>

To automatically iconify entries, the -i option would be added:

<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i">

openbox-menu

ヒント: このメニューでエラーが発生する場合、~/.config/openbox/rc.xml でアイコンを有効にすることで解決します。

openbox-menuAURLXDE プロジェクトによる menu-cache を使って Openbox のダイナミックメニューを作成します。詳細については 公式ホームページ を見て下さい。

obmenugen

ObmenugenAUR を使うことで .desktop ファイルから静的なまたは動的なアプリケーションメニューを生成することができます。詳しくは 公式ホームページ を見て下さい。

メニューアイコン

メニューエントリの横にアイコンを表示するには、~/.config/openbox/rc.xml ファイルの <menu> セクションでアイコンを有効にする必要があります:

<applicationIcons>yes</applicationIcons>

Where using a static menu, it will then be necessary to edit the ~/.config/openbox/menu.xml file to provide both the icon = command, along with the full path and icon name for each entry. An example of the syntax used to provide an icon for a category is:

<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]">

デスクトップメニューをパネルメニューとして使う

ヒント: XDoTool can simulate any keybind for any action, and as such, it may therefore be used for many other purposes...

xdotool is a package that can issue commands to simulate key presses / keybinds, meaning that it is possible to use it to invoke keybind-related actions without having to actually press their assigned keys. As this includes the ability to invoke an assigned keybind for the Openbox desktop menu, it is therefore possible to use XDoTool to turn the Openbox desktop menu into a panel menu. Especially where the desktop menu is heavily customised and feature-rich, this may prove very useful to:

  • Replace an existing panel menu
  • Implement a panel menu where otherwise not provided or possible (e.g. for tint2-gitAUR)
  • Compensate where losing access to the desktop menu due to the use of an application like xfdesktop to manage the desktop.

Once XDoTool has been installed - if not already present - it will be necessary to create a keybind to access the root menu in ~/.config/openbox/rc.xml, and again below the <!-- Keybindings for running aplications --> heading. For example, the following code will bring up the menu by pressing CTRL + m:

<keybind key="C-m">
    <action name="ShowMenu">
       <menu>root-menu</menu>
    </action>
</keybind>

Openbox must then be re-configured. In this instance, XDoTool will be used to simulate the CTRL + m keypress to access the desktop menu with the following command (note the use of + in place of -):

xdotool key control+m

How this command may be used as a panel launcher / icon is largely dependent on the features of panel used. While some panels will allow the above command to be executed directly in the process of creating a new launcher, others may require the use of an executable script. As an example, a custom executable script called obpanelmenu.sh will be created in the ~/.config folder:

$ text editor ~/.config/obpanelmenu.sh

Once the empty file has been opened, the appropriate XDoTool command must be added to the empty file (i.e. to simulate the CTRL + m keypress for this example):

xdotool key control+m

After the file has been saved and closed, it may then be made into an executable script with the following command:

$ chmod +x ~/.config/obpanelmenu.sh

Executing it will bring up the Openbox desktop menu. Consequently, where using a panel that supports drag-and-drop functionality to add new launchers, simply drag the executable script onto it before changing the icon to suit personal taste. For instructions on how to use this executable script with tint2-svnAUR - a derivative of the popular tint2 panel that allows launchers to be added - see Tint2-Svn launchers.

デスクトップテーマ

ヒント: 外観の設定やテーマを設定するときは GUI アプリケーションの obconflxappearance-obconf をインストールすることを強く推奨します。特に後者は ~/.gtkrc-2.0 ファイルを生成するのに必要なので特に重要です (GTK+#GTK+ 2.x を参照)。

大量の Openbox 専用GTK+ テーマと、汎用の Openbox 対応GTK+ テーマが存在し、ウィンドウ装飾やデスクトップメニューの外観を変更することができます。汎用のテーマは様々なデスクトップ環境やウィンドウマネージャでも利用できるように作られており、その中に Openbox も含まれています。例は パッケージの説明 を見て下さい。

設定

GTK テーマを選択したり設定するには obconflxappearance-obconf を使います。VirtualBoxSkype など Qt ベースのアプリケーションのテーマについての情報は Qt と GTK アプリケーションの外観の統合を見て下さい。

インストール: 公式リポジトリと AUR

公式リポジトリの openbox-themes パッケージに様々なテーマが入っています。

公式リポジトリAUR からインストールした Openbox のテーマは /usr/share/themes ディレクトリに自動的にインストールされます。すぐに選択することが可能です。

インストール: 他のソース

box-look.org is an excellent and well-established source of themes. deviantART.com is another excellent resource. Many more can be found through the utilisation of a search engine.

トラブルシューティング

稀に、以下の2つの問題が発生することがあります。特にサポートされないウェブサイトからテーマをダウンロードしたときに発生します。

テーマが使えない

If for any reason the newly extracted theme cannot be selected, open the theme directory to first ensure that it is indeed compatible with Openbox by determining that an openbox-3 directory is present, and that within this directory a themerc file is also present. An .obt (OpenBox Theme) file may also be present in some instances, which can then be manually loaded in obconf.

Where expected files and directories are present and correct, then on occasion it is possible that the theme author has not correctly set permission to access the file (e.g. permission may still be for the account of the author, rather than for root). To eliminate this possibility, ensure the folder and file permissions are for root:

# chown -R root /user/share/themes

テーマの見た目が壊れている

Of course, the first line of enquiry would be to check that it is not just a badly made, broken theme! Otherwise, ensure that the Openbox GTK fix has been implemented, and then re-start the session. Unfortunately some older themes can simply break if not maintained sufficiently to keep pace with the changes incurred by GTK+ updates. To avoid such occurrences, it is best to check that desired themes have recently been created or at least updated / patched.

テーマの編集または新しいテーマの作成

ヒント: Where deciding to modify an existing theme (e.g. the colour scheme), it would be best to work on a copy of it, rather than the original. This will retain the original should anything go wrong, and ensure that your changes are not over-written through an update.

新しいテーマを作成したり既存のテーマを修正する方法は公式ウェブサイトの openbox.org で詳しく解説されています。また、obthemeAUR を使うことで GUI で行うことができます。

コンポジット効果

Openbox はネイティブではコンポジットをサポートしておらず、したがって、コンポジットを使うにはコンポジタをインストールする必要があります。コンポジットを使用することで透過や影などの様々なデスクトップ効果を使うことができるようになります。コンポジットは必須のコンポーネントではありませんが、見た目の良い環境を作るのに役立ち、oblogout を使うときの画面の乱れや、ターミナルウィンドウの透過を有効にしたときに起こるグリッチを防ぐことができます。一般的には以下からコンポジタを選択します:

  • Compton: パワフルで信頼性があり、拡張性のあるコンポジタ。
  • Xcompmgr: 旧式ながらシンプルなコンポジタ。
  • Cairo Compmgr: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。

デスクトップアイコンと壁紙

Openbox はネイティブではデスクトップアイコンや壁紙の使用をサポートしていません。したがって、必要であればアプリケーションを追加でインストールする必要があります。

ファイルマネージャによるデスクトップ管理

ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。LXDE デスクトップ環境ではそのために PCManFM を使っています。

PCManFM#デスクトップの管理SpaceFM#デスクトップの管理 を見て下さい。

壁紙

アプリケーション一覧#壁紙設定を見て下さい。

アイコンプログラム

デスクトップアイコンを使うためだけのプログラムというものも存在しますが、ファイルマネージャを利用するよりも利便性は大きく劣ります。

idesk

idesk は壁紙の管理に加えてアイコンを使えるようにもできるシンプルなプログラムです。~/.idesktop ディレクトリを作成する必要があり、デスクトップアイコンは手動で作成しなくてはなりません。idesk を使ってアイコンを表示するには、~/.config/openbox/autostart ファイルに以下のコマンドを追加してください:

idesk &

xfdesktop

xfdesktopXfce のデスクトップマネージャです。Thunar ファイルマネージャも依存パッケージとしてダウンロードされます。xfdesktop を使用しているときは、壁紙を右クリックして Openbox のデスクトップメニューにアクセスすることはできなくなります。

そのため、キーバインドを作成するか、パネルをインストールしてデスクトップメニューをパネルメニューとして使うかして、他の方法でアクセスできるようにする必要があります。xfdesktop を使ってアイコンを表示するには、以下のコマンドを ~/.config/openbox/autostart ファイルに追加します:

xfdesktop &

conky の設定

ファイルマネージャを使ってデスクトップを管理するときは、conky を使っている場合、~/.conkyrc を編集して own_window_type コマンドを変更する必要があります。コマンドは以下のように修正してください:

own_window_type normal

Tips and tricks

マウスを使ってデスクトップを切り替える

画面の端にマウスを移動することでデスクトップを切り替えることが可能です。まず xdotool をインストールして以下の2行を ~/.xinitrc に追加してください:

xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
xdotool behave_screen_edge --delay 500 right set_desktop --relative -- +1 &

規定のアプリケーション/ファイルの関連付けの設定

デフォルトアプリケーションを見て下さい。

マウスホイールによるデスクトップ切り替えを循環しないようにする

デフォルトではマウスホイールを回すことで Openbox は最後のデスクトップから最初のデスクトップに切り替えます。mousebind セクションで <wrap>no</wrap> を使うことでこの挙動を無効化することが可能です。

   <context name="Desktop">
     <mousebind button="Up" action="Click">
       <action name="GoToDesktop">
         <to>previous</to>
         <wrap>no</wrap>
       </action>
     </mousebind>
     <mousebind button="Down" action="Click">
       <action name="GoToDesktop">
         <to>next</to>
         <wrap>no</wrap>
       </action>
     </mousebind>
   </context>

ウィンドウ透過

警告: This may not work where other actions are defined within the action group.

transset-df が公式リポジトリから利用できます。transset-df を使えばすぐにウィンドウ透過を有効にできます。

例えば以下を ~/.config/openbox/rc.xml ファイルの <mouse> セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:

<context name="Titlebar">
    ...
    <mousebind button="Up" action="Click">
        <action name= "Execute" >
        <execute>transset-df -p .2 --inc  </execute>
        </action>
    </mousebind>
    <mousebind button="Down" action="Click">
        <action name= "Execute" >
        <execute>transset-df -p .2 --dec </execute>
        </action>
    </mousebind>
    ...
</context>

obxprop を使って高速な設定を行う

The openbox package provides a obxprop binary that can parse relevant values for applications settings in rc.xml. Officially obxprop | grep "^_OB_APP" is recommended for this task. Start the process by running the command shown, then click a window to see its properties in the terminal.

Doing so for multiple applications and its windows can be very inefficient however. The following script obxprop2obrc makes it much easier to configure even a large number of applications.

#!/bin/bash
##Script: obxprop-to-openbox-rc.sh
##Recommended executable name: obxprop2obrc

while [ $# -ne 0 ]; do
case $1 in
    -f*)
        shift;
        FILE="$1";
	shift;
    ;;
    -t*)
        shift;
        TIME="$1";
	shift;
    ;;
    *)
        echo Usage: $0 [-f FILE_TEMPLATE] [-t WAIT_TO_KILL_TIME] 
        exit 1;
    ;;
esac
done

if [ $TIME ]; then
    OBXPROPS=( $(obxprop | cat & (sleep $TIME && pkill -13 cat) | awk -F \" '/_OB_APP/{ print "\x22"$2"\x22" }' ) );
else
    OBXPROPS=( $(obxprop | awk -F \" '/_OB_APP/{ print "\x22"$2"\x22" }' ) );
fi
OBPROPS=(TYPE TITLE GROUP_CLASS GROUP_NAME CLASS NAME ROLE);
j=0;
for i in $( seq 2 2 14 ); do
    OBPROP="$( echo ${OBXPROPS[@]} | awk -F \" '{ print $'$i'}' )";
    if [[ -z $OBPROP ]]; then 
        declare ${OBPROPS[$j]}='"*"';
    else 
        declare ${OBPROPS[$j]}="\"$OBPROP\"";
    fi
    j=$(($j+1));
done;

echo "    <application type="$TYPE" title="$TITLE" class="$CLASS" name="$NAME" role="$ROLE">"
if [ -f "$FILE"  ]; then cat "$FILE" && exit; fi
cat << EOF
      <desktop>1</desktop>
      <desktop>all</desktop>
      <decor>yes</decor>
      <decor>no</decor>
      <focus>yes</focus>
      <focus>no</focus>
      <fullscreen>yes</fullscreen>
      <fullscreen>no</fullscreen>
      <iconic>yes</iconic>
      <iconic>no</iconic>
      <maximized>yes</maximized>
      <maximized>no</maximized>
      <maximized>both</maximized>
      <maximized>horizontal</maximized>
      <maximized>vertical</maximized>
      <monitor>0</monitor>
      <monitor>1</monitor>
      <position force="no">
      <position force="yes">
        <width>40%</width>
        <height>30%</height>
        <x>-1</x>
        <y>-1</y>
        <x>center</x>
        <y>center</y>
      </position>
      <layer>above</layer>
      <layer>normal</layer>
      <layer>below</layer>
      <shade>yes</shade>
      <shade>no</shade>
      <skip_pager>yes</skip_pager>
      <skip_pager>no</skip_pager>
      <skip_taskbar>yes</skip_taskbar>
      <skip_taskbar>no</skip_taskbar>
    </application>
EOF

If no further options are used default configuration, that can be edited by deleting unnecessary lines, is printed out. This script can use templates with default values when using -f switch:

$ obxprop2obrc -f templates-rc-inkscape-dialogs.sc > part-rc-applications-inkscape.xml
$ cat part-rc-applications-inkscape.xml
<application type="normal" title="Align and Distribute (Shift+Ctrl+A)" class="Inkscape" name="inkscape" role="*">
  <desktop>3</desktop>
  <decor>yes</decor>
  <maximized>no</maximized>
  <position force="yes">
    <width>20%</width>
    <height>30%</height>
    <x>-1</x>
    <y>-1</y>
  </position>
  <layer>normal</layer>
  <shade>yes</shade>
</application>

It also has a time switch -t which kills obxprop and thus can reduce time significantly in certain situations, although it may not work perfectly.

アプリケーションの Xprop の値

xorg-xprop is available in the official repositories, and can be used to relay property values for selected applications. Where frequently using per-application settings, the following Bash Alias may be useful: dy:

alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'

To use Xorg-XProp, run using the alias given xp, and click on the active program desired to define with per-application settins. The results displayed will only be the information that Openbox itself requires, namely the WM_WINDOW_ROLE and WM_CLASS (name and class) values:

WM_WINDOW_ROLE(STRING) = "roster"
WM_CLASS(STRING) = "gajim.py", "Gajim.py"
WM_CLASS(STRING) = "NAME", "CLASS"

Firefox

For whatever reason, Firefox and like-minded equivalents ignore application rules (e.g. <desktop>) unless class="Firefox*" is used. This applies irrespective of whatever values xprop may report for the program's WM_CLASS.

キーボードレイアウトの切り替え

キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は Xorg#キーボードレイアウトの切り替え を見て下さい。

仮想デスクトップのグリッドレイアウトの設定

obsetlayoutAUR をインストールしてください。2x2 のグリッドを設定するには:

obsetlayout 0 2 2 0

引数を付けないで実行することで引数の意味を知ることができます。

トラブルシューティング

ウィンドウがアクティブウィンドウの後ろにロードされる

(Firefox のウィンドウなど) アプリケーションウィンドウが現在のアクティブウィンドウの後ろにロードされ、ウィンドウをフォーカスして切り替える必要が生じることがあります。この挙動を修正するには以下を ~/.config/openbox/rc.xml ファイルの <openbox_config></openbox_config> タグの間に追加してください:

<applications>
  <application class="*">
    <focus>yes</focus>
  </application>
</applications>

参照