「Openbox」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「[[zh-CN:」を「[[zh-hans:」に置換)
(項目を整理)
 
(5人の利用者による、間の29版が非表示)
1行目: 1行目:
 
[[Category:スタック型ウィンドウマネージャ]]
 
[[Category:スタック型ウィンドウマネージャ]]
[[cs:Openbox]]
 
 
[[de:Openbox]]
 
[[de:Openbox]]
[[el:Openbox]]
 
 
[[en:Openbox]]
 
[[en:Openbox]]
[[es:Openbox]]
 
 
[[fr:Openbox]]
 
[[fr:Openbox]]
[[it:Openbox]]
 
[[ko:Openbox]]
 
[[lt:Openbox]]
 
[[nl:Openbox]]
 
[[pl:Openbox]]
 
 
[[ru:Openbox]]
 
[[ru:Openbox]]
[[sk:Openbox]]
 
[[sr:Openbox]]
 
[[tr:Openbox]]
 
 
[[zh-hans:Openbox]]
 
[[zh-hans:Openbox]]
[[zh-TW:Openbox]]
 
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|デスクトップ環境}}
 
{{Related|デスクトップ環境}}
23行目: 11行目:
 
{{Related|ウィンドウマネージャ}}
 
{{Related|ウィンドウマネージャ}}
 
{{Related|Oblogout}}
 
{{Related|Oblogout}}
  +
{{Related|Xdg-menu}}
 
{{Related articles end}}
 
{{Related articles end}}
   
Openbox は軽量で設定が自由な''スタック型''[[ウィンドウマネージャ]]です。[[デスクトップ環境]]とは独立して動作させることも、[[KDE]] や [[Xfce]] など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。[[LXDE]] デスクトップ環境は Openbox を初めから組み込んでいます。
+
[http://openbox.org/ Openbox] は軽量で設定が自由な''スタック型''[[ウィンドウマネージャ]]です。[[デスクトップ環境]]とは独立して動作させることも、[[KDE]] や [[Xfce]] など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。[[LXDE]] デスクトップ環境は Openbox を初めから組み込んでいます。
 
Openbox の機能については、[http://openbox.org/ 公式ウェブサイト] にドキュメントがあります。この記事では Arch Linux での Openbox のインストールに関して扱います。
 
   
 
== インストール ==
 
== インストール ==
   
[[公式リポジトリ]]から {{Pkg|openbox}} をインストールしてください。
+
{{Pkg|openbox}} パッケージをインストールしてください。
   
 
== Openbox の起動 ==
 
== Openbox の起動 ==
37行目: 24行目:
 
=== スタンドアロン ===
 
=== スタンドアロン ===
   
  +
[[xinit]] を使用して {{ic|openbox}} または {{ic|openbox-session}} を実行します。{{ic|openbox-session}} のみが [[#autostart|自動起動]] を提供することに注意してください。
Openbox は単独のウィンドウマネージャ (WM) として使うことができます。デスクトップ環境と一緒に Openbox を使うよりもインストールや設定はシンプルになります。openbox だけを使うことは CPU やメモリの使用量を減らすこともできます。
 
   
  +
{{Note|openbox-session を実行すると、空白のグレーの画面だけが表示されます。マウスを移動して '''右クリック''' して openbox メニューを表示し、実際に動作していることを確認してください。}}
Openbox をスタンドアロンのウィンドウマネージャとして実行するには、以下を {{ic|~/.xinitrc}} に追加してください:
 
exec openbox-session
 
   
  +
=== その他のデスクトップ環境 ===
logind (や consolekit) セッションの維持などについては [[xinitrc]] を見て下さい。
 
   
  +
{{Note|
以前に他のウィンドウマネージャ (Xfwm 等) を使っていて、Openbox が起動しないときは、autostart フォルダを削除してみてください:
 
  +
* [[デスクトップ環境]] のネイティブウィンドウマネージャーを Openbox に置き換える場合、Openbox は合成効果 (透明度など) を提供しないことに注意してください。[[#コンポジタの効果]] を参照してください。
mv ~/.config/autostart ~/.config/autostart.bak
 
  +
* Openbox は GNOME アプリケーションで動作します (ただし、[[GTK#クライアントサイドデコレーション]] を参照してください) [https://icculus.org/pipermail/openbox/2014-April/008497.html]}}
   
  +
[[デスクトップ環境#別のウィンドウマネージャーを使用する]]を参照してください。
=== 他のデスクトップ環境 ===
 
 
[[デスクトップ環境]]のネイティブのウィンドウマネージャを Openbox で置き換えるときは、Openbox に (透過などの) コンポジット効果が存在しないことに注意してください。[[#コンポジット効果]] を参照。
 
 
==== GNOME ====
 
 
{{ic|GNOME Shell}} は {{Pkg|mutter}} のプラグインであり、Openbox で使うことはできません。Openbox は GNOME アプリケーションで動作しません ([[GTK+#クライアントサイドデコレーション]] を参照) [http://comments.gmane.org/gmane.comp.window-managers.openbox/6595]。
 
 
==== KDE ====
 
 
[[KDE#KDE/Openbox Session]] を見て下さい。
 
 
==== Xfce ====
 
 
[[Xfce#デフォルトウィンドウマネージャ]] を見て下さい。
 
 
==== MATE ====
 
 
[[MATE#MATE で他のウィンドウマネージャを使う]] を見て下さい。
 
   
 
== 設定 ==
 
== 設定 ==
   
  +
{{Note|ローカル設定ファイルは常にグローバル設定ファイルをオーバーライドします。}}
=== XDG ===
 
 
アプリケーションを自動実行するのに、Openbox はローカルの {{ic|~/.config/openbox/autostart}} ファイルだけでなく、パッケージによってグローバルな {{ic|/etc/xdg/autostart}} ディレクトリに自動的にインストールされた {{ic|.desktop}} ファイルも読み込みます。{{pkg|python2-xdg}} は Openbox の xdg-autostart に必要です。
 
 
例えば、[[NetworkManager]] のアプレット (nm-applet) などをローカルで自動実行を行っていて、後で {{Pkg|python2-xdg}} をインストールしていた場合、グローバルな XDG {{ic|.desktop}} ファイルが読み込まれることになり、結果としてシステムトレイに2つアイコンが表示されてしまいます。したがって、{{Pkg|python2-xdg}} を明示的にインストールしておいて、インストールしたときに自動的にアプリケーションが自動実行されるようにしておくのを推奨します。
 
 
{{ic|Downloads}}, {{ic|Documents}} などの {{ic|Home}} フォルダが存在しない場合は [[Xdg ユーザーディレクトリ]]を見て下さい。
 
 
=== Openbox ===
 
 
{{Note|ファイルの編集は Openbox を使用する一般ユーザーで実行してください。}}
 
 
{{Tip|ローカルの設定ファイルはグローバルの設定を上書きします。}}
 
   
Openbox の基本的な設定は主に4つのファイルを使って行い、それぞれに固有の役割があります: {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, {{ic|environment}}。これらのファイルの詳細は以下で記述ていますが、Openbox の設定を始るには、まず (特定のユーザーアカウント) ローカルの Openbox プロファイルを作成する必要があります。グローバル {{ic|/etc/xdg/openbox}} プロファイル (てのユーザーに適用されます) テンプレートとしてコピーすることで作成できます:
+
4 つの主要なファイルが [http://openbox.org/wiki/Configuration openbox 設定] の基礎形成し、それぞれが独自の役割を果たします。それらは、{{ic|rc.xml}}{{ic|menu.xml}}{{ic|autostart}}、および {{ic|environment}} です。これらのファイルについては以下で詳しく説明しますが、Openbox の構成るには、まずそれらに基づいて '''ローカル''' Openbox プロファイル (つまり、特定のユーザーアカウント) を作成する必要があります。 これは、'''グローバル''' {{ic|/etc/xdg/openbox}} プロファイル (すべてのユーザーに適用可能) からテンプレートとしてコピーすることで実行できます
   
$ cp -R /etc/xdg/openbox ~/.config/
+
$ mkdir -p ~/.config/openbox
  +
$ cp -a /etc/xdg/openbox ~/.config/
   
 
=== rc.xml ===
 
=== rc.xml ===
129行目: 87行目:
 
* 言語設定の変更
 
* 言語設定の変更
 
* 他の使用される変数 (例: GTK テーマの修正)
 
* 他の使用される変数 (例: GTK テーマの修正)
  +
  +
=== Themes ===
  +
  +
GUI 用に {{Pkg|obconf}} および/または {{Pkg|lxAppearance-obconf}} をインストールして、ビジュアル設定とテーマを構成します。
  +
  +
厳選されたテーマが {{AUR|openbox-themes}} パッケージまたは [[AUR]] で入手できます。一部の [[GTK#テーマ|GTK テーマ]] には Openbox テーマも付属しています。Openbox 固有のテーマと Openbox 互換のテーマは両方とも {{ic|/usr/share/themes}} ディレクトリにインストールされ、すぐに選択できるようになります。
  +
  +
[https://www.box-look.org/browse/ord/latest/box-look.org] は、優れた確立されたテーマのソースです。[https://www.deviantart.com/deviantART.com] も優れたリソースです。さらに多くのものをオンラインで見つけることができます。
  +
  +
==== 編集または作成 ====
  +
  +
{{Tip|{{ic|/usr/share/themes/}} にあるテーマを編集するよりも、ホームディレクトリにテーマをコピーする方が良いでしょう。これにより、何か問題が発生した場合でもオリジナルが保持され、更新時に変更が上書きされなくなります。}}
  +
  +
新しいテーマを作成したり、既存のテーマを変更したりするプロセスについては、公式 Web サイト [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく説明されています。{{AUR|obtheme}} は、これを行うための使いやすい GUI です。
   
 
=== GUI 設定パッケージ ===
 
=== GUI 設定パッケージ ===
   
Openbox デスクトップを簡単に設定するための GUI が複数存在します。公式リポジトリには以下の GUI が含まれています:
+
Openbox デスクトップを簡単に設定するための GUI が複数存在します:
   
 
* {{App|ObConf|Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。|http://openbox.org/wiki/ObConf:About|{{Pkg|obconf}}}}
 
* {{App|ObConf|Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。|http://openbox.org/wiki/ObConf:About|{{Pkg|obconf}}}}
139行目: 111行目:
 
* {{App|LXRandR|LXDE のモニター設定。|http://wiki.lxde.org/en/LXRandR|{{Pkg|lxrandr}}}}
 
* {{App|LXRandR|LXDE のモニター設定。|http://wiki.lxde.org/en/LXRandR|{{Pkg|lxrandr}}}}
 
* {{App|obkey|Openbox のキーボードショートカットを設定。|https://code.google.com/p/obkey/|{{AUR|obkey}}}}
 
* {{App|obkey|Openbox のキーボードショートカットを設定。|https://code.google.com/p/obkey/|{{AUR|obkey}}}}
* {{App|ob-autostart|Openbox のためのシンプルな自動起動アプリケーション。|http://pastebin.com/012YgXTk|{{AUR|ob-autostart}}}}
+
* {{App|ob-autostart|Openbox のためのシンプルな自動起動アプリケーション。|https://pastebin.com/012YgXTk|{{AUR|ob-autostart}}}}
  +
* {{App|obapps|Openbox のアプリケーション設定を変えるためのグラフィカルツール。|https://sourceforge.net/projects/obapps/|{{AUR|obapps}}}}
   
 
Openbox のデスクトップメニューを設定するアプリケーションについては[[#メニュー|メニュー]]セクションを見て下さい。
 
Openbox のデスクトップメニューを設定するアプリケーションについては[[#メニュー|メニュー]]セクションを見て下さい。
145行目: 118行目:
 
== Openbox の再設定 ==
 
== Openbox の再設定 ==
   
  +
{{Tip|メニューやキーバインドに以下のコマンドを追加すると便利です。}}
{{Tip|where not already present, it would be worthwhile adding this command to a menu and/or as a keybind for convenience.}}
 
   
 
Openbox は常に設定ファイルの変更をセッションに反映させるわけではありません。そのため、設定ファイルを編集したら手動でリロードする必要があります。再設定を行うには、次のコマンドを実行してください:
 
Openbox は常に設定ファイルの変更をセッションに反映させるわけではありません。そのため、設定ファイルを編集したら手動でリロードする必要があります。再設定を行うには、次のコマンドを実行してください:
157行目: 130行目:
 
</keybind>
 
</keybind>
   
== キーバインド ==
+
== キーボーショートカット ==
  +
  +
すべてのキーバインドは、{{ic|~/.config/openbox/rc.xml}} ファイルの {{ic|<nowiki><!-- Keybindings for running applications --></nowiki> の下に追加する必要があります。}} ここでは簡単な概要を説明します。
  +
キーバインドのより詳細な説明は [http://openbox.org/wiki/Help:Bindings openbox.org] を参照して下さい。
  +
  +
次の構文を使用して、キーバインドを設定ファイルに追加できます:
  +
  +
<keybind key="'''my-key-combination'''">
  +
<action name="'''my-action'''">
  +
'''...'''
  +
</action>
  +
</keybind>
  +
  +
外部コマンドを実行するためのアクション名は ''Execute'' です。次の構文を使用して、実行する外部コマンドを定義します。
  +
  +
<action name="Execute">
  +
<command>'''my-command'''</command>
  +
</action>
   
  +
使用可能なすべてのアクションのリストについては、[http://openbox.org/wiki/Help:Actions the Openbox wiki] を参照してください。
全てのキーバインドは {{ic|~/.config/openbox/rc.xml}} ファイルの {{ic|<nowiki><!-- Keybindings for running aplications --></nowiki>}} の下に追加します。ここでは簡単な説明をするにとどめるので、キーバインドの詳しい説明は [http://openbox.org/wiki/Help:Bindings openbox.org] を読んで下さい。
 
   
  +
{{Tip|{{AUR|obkey}} ユーティリティは、キーバインドを設定するためのグラフィカルインターフェイスを提供します。''obkey'' を使用する前に、''obconf'' を使用して {{ic|~/.config/openbox/rc.xml}} を作成する必要があります。}}
=== 特殊なキー ===
 
   
基本的な英数字キーをキーバインドに使うのわかりやすいですが {{ic|modifers}}, {{ic|multimedia}}, {{ic|navigation}} キーなどタイプのキーにはな名前が割り当てられています。
+
キーバインドに標準の英数字キーを使用すること一目瞭然ですが、他のタイプのキーには、{{ic|modifiers}}{{ic|multimedia}}{{ic|navigation}} などの特な名前が割り当てられます。
   
==== 修飾キー ====
+
=== 修飾キー ===
   
{{ic|Modifer}} キーにはキーバインドで重要な役割があります (例: {{ic|shift}} や {{ic|CTRL / control}} キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
+
{{ic|Modifier}} キーにはキーバインドで重要な役割があります (例: {{ic|shift}} や {{ic|CTRL / control}} キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
   
 
"<modifier>-<key>"
 
"<modifier>-<key>"
   
modifer のコードは以下の通りです:
+
modifier のコードは以下の通りです:
   
 
* {{ic|S}}: Shift
 
* {{ic|S}}: Shift
178行目: 168行目:
 
* {{ic|W}}: Super / Windows
 
* {{ic|W}}: Super / Windows
 
* {{ic|M}}: Meta
 
* {{ic|M}}: Meta
* {{ic|H}}: Hyper (If it is bound to something)
+
* {{ic|H}}: Hyper (何かにバインドしている場合)
   
  +
=== マルチメディアキー ===
例えば、以下のコードは {{ic|super}} と {{ic|t}} で {{Pkg|lxterminal}} を起動します:
 
 
<keybind key="W-t">
 
<action name="Execute">
 
<command>lxterminal</command>
 
</action>
 
</keybind>
 
 
==== マルチメディアキー ====
 
   
 
ボリュームや画面の明るさの調整など、適切な {{ic|multimedia}} キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは {{ic|function}} キーに統合されますが、適当なシンボルで識別できます。詳しくは[[特別なキーボードキー]]を見て下さい。
 
ボリュームや画面の明るさの調整など、適切な {{ic|multimedia}} キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは {{ic|function}} キーに統合されますが、適当なシンボルで識別できます。詳しくは[[特別なキーボードキー]]を見て下さい。
202行目: 184行目:
 
上記のキーを {{ic|~/.config/openbox/rc.xml}} で使用する例は下にあります。
 
上記のキーを {{ic|~/.config/openbox/rc.xml}} で使用する例は下にあります。
   
==== ナビゲショー ====
+
==== ボリュムコトロ ====
 
矢印キーは通常、カーソルを上下左右に動かすのに使われます。navigation のコードは以下の通りです:
 
 
* {{ic|Up}}: 上
 
* {{ic|Down}}: 下
 
* {{ic|Left}}: 左
 
* {{ic|Right}}: 右
 
 
=== ボリュームコントロール ===
 
   
 
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA]], [[PulseAudio]], [[OSS]] のどれを使っているかによって変わってきます。
 
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA]], [[PulseAudio]], [[OSS]] のどれを使っているかによって変わってきます。
   
  +
*ALSA: [[Advanced Linux Sound Architecture#キーボードのボリュームコントロール]]を見てください。
==== ALSA ====
 
  +
*PulseAudio: [[PulseAudio#キーボードのボリュームコントロール]]を見てください。
  +
*OSS: [[OSS#OSS でマルチメディアキーを使う]]を見てください。
   
  +
=== ナビゲーションキー ===
[[ALSA]] を使って音声を鳴らしている場合、({{Pkg|alsa-utils}} パッケージに入っている) {{ic|amixer}} プログラムを使ってボリュームを調整することができます。以下はボリューム調整用の {{ic|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>
 
   
  +
* {{ic|Up}}: Up
==== Pulseaudio ====
 
  +
* {{ic|Down}}: Down
 
  +
* {{ic|Left}}: Left
[[ALSA]] をバックエンドにして [[PulseAudio]] を使用している場合、{{ic|amixer}} プログラムのコマンドを以下のように修正します:
 
  +
* {{ic|Right}}: Right
 
<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 ====
 
 
{{Note|This option may be suitable for more experienced users.}}
 
 
[[OSS]] を使っている場合、特定のミキサーを上げ下げできるキーバインドを作成することができます。これによって、例えば全体のシステムボリュームを変更せずに特定のアプリケーション (オーディオプレイヤーなど) のボリュームを変えることが可能です。この場合、OSS のミキサーを使うようにアプリケーションを[[OSS#OSS を使うようにアプリケーションを設定する|設定]]する必要があります。
 
 
以下の例では、OSS のミキサーを使って、1デシベル単位でボリュームを上げ下げするように [[MPD]] を設定しています。{{ic|ossmix}} コマンドの後に {{ic|--}} が追加されるのは負の値が引数として扱われないようにするためです:
 
 
<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>
 
 
=== メディアプレイヤーの操作 ===
 
 
{{AUR|playerctl}} コマンドラインユーティリティを使ってマルチメディアキーをプレイヤーのアクションに結びつけることができます。ほとんどのメディアプレイヤーで動作するはずです。
 
 
<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>
 
 
=== 明るさ調整 ===
 
 
画面の明るさを調整するには {{ic|xbacklight}} プログラムを使います。このプログラムは [[Xorg]] に含まれています。以下の例では、画面の明るさをコントロールするための {{ic|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 でもこの効果を再現することが可能です。
 
 
下の例であるように、パーセンテージを使ってウィンドウの大きさを決定します (詳しくは [http://openbox.org/wiki/Help:Actions openbox.org] を参照)。ここでは、{{ic|super}} キーを {{ic|navigation}} キーと組み合わせて使っています:
 
 
<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 {{ic|down}} and {{ic|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>
 
 
[http://ubuntuforums.org/showthread.php?t=1796793 Ubuntu フォーラムのスレッド] に詳しい情報が載っています。AUR からインストールできる {{AUR|opensnap-git}} などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。
 
 
=== デスクトップメニュー ===
 
 
デスクトップメニューにアクセスするキーバインドを作成することもできます。例えば、以下のコードは {{ic|CTRL}} + {{ic|m}} を押すことでメニューが表示されるようにします:
 
 
<keybind key="C-m">
 
<action name="ShowMenu">
 
<menu>root-menu</menu>
 
</action>
 
</keybind>
 
   
 
== メニュー ==
 
== メニュー ==
366行目: 209行目:
 
名前の通り、デフォルトのメニュータイプであり決して変更されることがありません。手動で編集したり、適切なソフトウェアパッケージを使って自動で生成することが可能です。
 
名前の通り、デフォルトのメニュータイプであり決して変更されることがありません。手動で編集したり、適切なソフトウェアパッケージを使って自動で生成することが可能です。
   
  +
このタイプのメニューはアプリケーションを選択するだけでなく、アプリケーションから他のプロセス (例: {{Pkg|synapse}} または {{Pkg|xfce4-appfinder}} アプリケーション) にアクセスして、特定の関数にアクセスしたりタスク (デスクトップの設定など) を実行することもできます。
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 {{Pkg|synapse}} or {{Pkg|xfce4-appfinder}} applications).
 
   
 
{{ic|~/.config/openbox/menu.xml}} ファイルが static デスクトップメニューの唯一の設定ファイルです。
 
{{ic|~/.config/openbox/menu.xml}} ファイルが static デスクトップメニューの唯一の設定ファイルです。
   
 
==== menumaker ====
 
==== menumaker ====
 
{{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]], [[IceWM]], [[Xfce]] など複数のウィンドウマネージャに対応した {{ic|xml}} メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション ([[GNOME]], [[KDE]] など) を省くように設定することも可能です。
 
{{Pkg|menumaker}} は Openbox, [[Fluxbox]], [[IceWM]], [[Xfce]] など複数のウィンドウマネージャに対応した {{ic|xml}} メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション ([[GNOME]], [[KDE]] など) を省くように設定することも可能です。
384行目: 225行目:
 
$ mmaker -vf OpenBox3
 
$ mmaker -vf OpenBox3
   
新しい {{ic|~/.config/openbox/menu.xml}} ファイルが作成されたら、手動で編集しても良いですし、{{Pkg|obmenu}} などの GUI のメニューエディタを使って設定を行ってもかまいません。
+
新しい {{ic|~/.config/openbox/menu.xml}} ファイルが作成されたら、手動で編集しても良いですし、{{AUR|obmenu}} などの GUI のメニューエディタを使って設定を行ってもかまいません。
   
 
==== obmenu ====
 
==== obmenu ====
390行目: 231行目:
 
{{Warning|{{ic|obm-xdg}} - [[GTK+]] と [[GNOME]] アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。}}
 
{{Warning|{{ic|obm-xdg}} - [[GTK+]] と [[GNOME]] アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。}}
   
{{Pkg|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
+
{{AUR|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
   
 
==== xdg-menu ====
 
==== xdg-menu ====
398行目: 239行目:
 
==== ログアウトメニューのオプション ====
 
==== ログアウトメニューのオプション ====
   
{{Tip|The commands provided can also be attached to [[#キーバインド|keybinds]].}}
+
{{Tip|[[#キーバインド|キーバインド]]にコマンドを割り当てることもできます。}}
   
 
{{ic|~/.config/openbox/menu.xml}} ファイルを編集することで [[oblogout]] のオプションと同じサブメニューを作成することができます。以下のサンプルスクリプトは画面のロック以外の全てのオプションを備えます:
 
{{ic|~/.config/openbox/menu.xml}} ファイルを編集することで [[oblogout]] のオプションと同じサブメニューを作成することができます。以下のサンプルスクリプトは画面のロック以外の全てのオプションを備えます:
436行目: 277行目:
 
=== Pipes ===
 
=== Pipes ===
   
  +
{{Tip|固定メニューには複数のパイプサブメニューを持たせることができます。一部のパイプメニューの機能を使うにはソフトウェアパッケージをインストールする必要があります。}}
{{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}} には複数のパイプメニューを定義することができます。
+
このタイプのメニューは基本的にスクリプトで、実行時に即座に更新される動的なリストを提供します。リストが使用される目的は複数あり、アプリケーションを一覧したり、情報を表示したり、機能を制御したりします。定義済みのパイプメニューをインストールすることができ、上級者であればカスタムスクリプトを作成・修正することができます。また、{{ic|~/.config/openbox/menu.xml}} には複数のパイプメニューを定義することができます。
   
 
==== サンプル ====
 
==== サンプル ====
444行目: 285行目:
 
* {{AUR|openbox-xdgmenu}}: xdg-menu を xml-pipe-menu に変換
 
* {{AUR|openbox-xdgmenu}}: xdg-menu を xml-pipe-menu に変換
 
* {{AUR|obfilebrowser}}: アプリケーションとファイルブラウザ
 
* {{AUR|obfilebrowser}}: アプリケーションとファイルブラウザ
* {{AUR|obdevicemenu}}: [[udisks]] によるリムーバルメディアの管理
+
* {{AUR|obdevicemenu}}: [[udisks]] によるリムーバルメディアの管理
 
* [https://bbs.archlinux.org/viewtopic.php?pid=1345031 wifi pipe menu]: [[Netctl]] による無線ネットワーク
 
* [https://bbs.archlinux.org/viewtopic.php?pid=1345031 wifi pipe menu]: [[Netctl]] による無線ネットワーク
   
477行目: 318行目:
 
{{Tip|このメニューでエラーが発生する場合、{{ic|~/.config/openbox/rc.xml}} でアイコンを有効にすることで解決します。}}
 
{{Tip|このメニューでエラーが発生する場合、{{ic|~/.config/openbox/rc.xml}} でアイコンを有効にすることで解決します。}}
   
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [http://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
+
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [https://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
 
==== obmenugen ====
 
 
{{AUR|Obmenugen}} を使うことで {{ic|.desktop}} ファイルから静的なまたは動的なアプリケーションメニューを生成することができます。詳しくは [http://obmenugen.sourceforge.net/ 公式ホームページ] を見て下さい。
 
   
 
=== メニューアイコン ===
 
=== メニューアイコン ===
489行目: 326行目:
 
<applicationIcons>yes</applicationIcons>
 
<applicationIcons>yes</applicationIcons>
   
Where using a static menu, it will then be necessary to edit the {{ic|~/.config/openbox/menu.xml}} file to provide both the {{ic|icon <nowiki>=</nowiki>}} 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:
+
固定メニューを使用する際は {{ic|~/.config/openbox/menu.xml}} ファイルを編集して {{ic|icon <nowiki>=</nowiki>}} コマンドとエントリのフルパス・アイコン名が必要です。カテゴリのアイコンを指定する例:
   
 
<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]">
 
<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]">
495行目: 332行目:
 
=== デスクトップメニューをパネルメニューとして使う ===
 
=== デスクトップメニューをパネルメニューとして使う ===
   
  +
{{Tip|XDoTool はあらゆるアクションのキーバインドをシミュレートできるため、他の目的で使うこともできます。}}
{{Tip|XDoTool can simulate any keybind for any action, and as such, it may therefore be used for many other purposes...}}
 
   
 
{{Pkg|xdotool}} はキーの押下やキーバインドを擬態するコマンドが実行できるパッケージです。XDoTool を使うことで実際に特定のキーを押さなくても、キーバインドが設定されたアクションを実行することができます。Openbox のデスクトップメニューのキーバインドも実行できるため、XDoTool を利用して Openbox のデスクトップメニューをパネルメニューにすることが可能になります。特に、デスクトップメニューをとことんカスタマイズして様々なことができるようにしている場合、非常に便利です:
 
{{Pkg|xdotool}} はキーの押下やキーバインドを擬態するコマンドが実行できるパッケージです。XDoTool を使うことで実際に特定のキーを押さなくても、キーバインドが設定されたアクションを実行することができます。Openbox のデスクトップメニューのキーバインドも実行できるため、XDoTool を利用して Openbox のデスクトップメニューをパネルメニューにすることが可能になります。特に、デスクトップメニューをとことんカスタマイズして様々なことができるようにしている場合、非常に便利です:
   
 
* 既存のパネルメニューを置き換える。
 
* 既存のパネルメニューを置き換える。
* パネルメニューが存在しない場合にパネルメニューを追加する (例: {{AUR|tint2-git}})。
+
* パネルメニューが存在しない場合にパネルメニューを追加する (例: [[Tint2]])。
 
* [[#xfdesktop|xfdesktop]] などのアプリケーションを使っている場合にデスクトップメニューを開けなくなったときに[[#デスクトップアイコンと壁紙|デスクトップを管理]]する。
 
* [[#xfdesktop|xfdesktop]] などのアプリケーションを使っている場合にデスクトップメニューを開けなくなったときに[[#デスクトップアイコンと壁紙|デスクトップを管理]]する。
   
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}}:
+
XDoTool をインストールしたら、ルートメニューにアクセスするキーバインドを {{ic|~/.config/openbox/rc.xml}} {{ic|<nowiki><</nowiki>!-- Keybindings for running aplications --<nowiki>></nowiki>}} の下に作成してください。例えば、以下のコードは {{ic|CTRL}} + {{ic|m}} でメニューを表示します:
   
 
<keybind key="C-m">
 
<keybind key="C-m">
511行目: 348行目:
 
</keybind>
 
</keybind>
   
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|-}}):
+
Openbox [[#Openbox の再設定|再設定]]が必要です。ここでは XDoTool を使って以下のコマンドで {{ic|CTRL}} + {{ic|m}} をシミュレートしてデスクトップメニューにアクセスします ({{ic|+}} {{ic|-}} の代わりとして使っています):
   
 
xdotool key control+m
 
xdotool key control+m
   
  +
パネルランチャーやアイコンとして上記のコマンドを使用するやりかたは使用するパネルによります。パネルによっては新しいランチャーを作成するのに直接上記のコマンドを実行できますが、実行スクリプトを使う必要がある場合もあります。例えば {{ic|~/.config}} フォルダに {{ic|obpanelmenu.sh}} という名前のカスタム実行スクリプトを作成:
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 {{ic|obpanelmenu.sh}} will be created in the {{ic|~/.config}} folder:
 
   
 
$ ''text editor'' ~/.config/obpanelmenu.sh
 
$ ''text editor'' ~/.config/obpanelmenu.sh
   
  +
空のファイルを開いたら、適切な XDoTool コマンドを空のファイルに追加してください (以下の例では {{ic|CTRL}} + {{ic|m}} をシミュレート):
Once the empty file has been opened, the appropriate XDoTool command must be added to the empty file (i.e. to simulate the {{ic|CTRL}} + {{ic|m}} keypress for this example):
 
   
 
xdotool key control+m
 
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
 
$ chmod +x ~/.config/obpanelmenu.sh
   
  +
=== XDG 準拠メニュー ===
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#アプリケーションランチャー|Tint2-Svn launchers]].
 
   
  +
xdg 準拠のメニューは、freedesktop.org 標準に基づいています。メニューは、{{ic|/etc/xdg/menus}} にあるメニューファイルで定義されます。新しいアプリケーションはメニューに自動的に表示されます。
== デスクトップテーマ ==
 
   
  +
==== サンプル ====
{{Tip|外観の設定やテーマを設定するときは GUI アプリケーションの {{Pkg|obconf}} と {{Pkg|lxappearance-obconf}} をインストールすることを強く推奨します。特に後者は {{ic|~/.gtkrc-2.0}} ファイルを生成するのに必要なので特に重要です ([[GTK+#GTK+ 2.x]] を参照)。}}
 
   
  +
{{AUR|archlinux-menus}} パッケージは、Arch Linux 固有の XDG 準拠メニューを提供します。
大量の ''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]] や [[Skype]] など Qt ベースのアプリケーションのテーマについての情報は [[Qt と GTK アプリケーションの外観の統合]]を見て下さい。
 
   
  +
詳細については、[[カーソルテーマ]] および [[アイコン]] を参照してください。
=== インストール: 公式リポジトリと AUR ===
 
   
  +
=== デスクトップのアイコンと壁紙 ===
公式リポジトリの {{Pkg|openbox-themes}} パッケージに様々なテーマが入っています。
 
   
  +
Openbox は、デスクトップアイコンや壁紙の使用をネイティブにサポートしていません。
[[公式リポジトリ]]や [[AUR]] からインストールした Openbox のテーマは {{ic|/usr/share/themes}} ディレクトリに自動的にインストールされます。すぐに選択することが可能です。
 
   
  +
[[PCManFM#デスクトップ管理|PCManFM]]、[[SpaceFM#デスクトップ管理|SpaceFM]]、[[Idesk]]を参照してください。
=== インストール: 他のソース ===
 
   
  +
{{note|{{ic|~/.conkyrc}} を編集して、{{ic|own_window_type}} を {{ic|normal}} に設定する必要がある場合があります。}}
[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org] is an excellent and well-established source of themes. [http://www.deviantart.com/ deviantART.com] is another excellent resource. Many more can be found through the utilisation of a search engine.
 
   
  +
[[アプリケーション一覧#壁紙設定]] を参照してください。
=== トラブルシューティング ===
 
   
  +
=== コンポジタの効果 ===
稀に、以下の2つの問題が発生することがあります。特にサポートされないウェブサイトからテーマをダウンロードしたときに発生します。
 
   
  +
Openbox は [[Wikipedia:Compositing window manager|compositing]] のネイティブサポートを提供していないため、この目的には外部コンポジタが必要です。
==== テーマが使えない ====
 
   
  +
コンポジタは必須のコンポーネントではありませんが、特に [[#oblogout|oblogout]] による画面の歪みや、ターミナルウィンドウの透明度による視覚的な不具合などの問題を回避できる可能性があります。一般的な選択肢については、[[Xorg#コンポジットマネージャ一覧]] を参照してください。
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 {{ic|openbox-3}} directory is present, and that within this directory a {{ic|themerc}} file is also present. An {{ic|.obt}} ('''O'''pen'''B'''ox '''T'''heme) file may also be present in some instances, which can then be manually loaded in {{Pkg|obconf}}.
 
   
  +
=== oblogout ===
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''':
 
   
  +
この便利なグラフィカルなログアウトスクリプトの使用方法の概要については、[[Oblogout]] の記事を参照してください。
# 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.
 
   
  +
独自のスクリプトを作成するときは、"{{ic|&}}" ("&amp;amp;"), "{{ic|<}}" ("&amp;lt;"), "{{ic|>}}" ("&amp;gt;") など) の XML 特殊文字を必ずエスケープしてください。)、(詳細は [[Wikipedia:List_of_XML_and_HTML_character_entity_references#XML の事前定義されたエンティティ|XML の事前定義されたエンティティ]] を参照してください)。
=== テーマの編集または新しいテーマの作成 ===
 
   
  +
この例では、表示をすぐにオフにし、{{Pkg|slock}} で画面をロックします。これは [https://bbs.archlinux.org/viewtopic.php?pid=903057 このスレッド] から取得したものです。
{{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.}}
 
  +
<keybind key="W-l">
  +
<action name="Execute">
  +
<command>sh -c 'slock &amp;amp; (sleep .5 &amp;amp;&amp;amp; xset dpms force off)'</command>
  +
</action>
  +
</keybind>
   
  +
場合によっては、アプリケーションの環境変数を指定する必要があります:
新しいテーマを作成したり既存のテーマを修正する方法は公式ウェブサイトの [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく解説されています。また、{{AUR|obtheme}} を使うことで GUI で行うことができます。
 
  +
<keybind key="A-F7">
  +
<action name="Execute">
  +
<command>sh -c "LC_ALL=C obconf"</command>
  +
</action>
  +
</keybind>
   
  +
別の例では、すべての stdout および stderr 出力をファイルに保存してアプリケーションを起動します:
== コンポジット効果 ==
 
  +
<keybind key="A-f">
  +
<action name="Execute">
  +
<command>sh -c sh -c "exec gimp &amp;gt;/tmp/gimp.out 2&amp;gt;&amp;amp;1"</command>
  +
</action>
  +
</keybind>
   
  +
スクリーンショットを有効にする:
Openbox はネイティブではコンポジットをサポートしておらず、したがって、コンポジットを使うにはコンポジタをインストールする必要があります。コンポジットを使用することで透過や影などの様々なデスクトップ効果を使うことができるようになります。コンポジットは必須のコンポーネントではありませんが、見た目の良い環境を作るのに役立ち、[[oblogout]] を使うときの画面の乱れや、ターミナルウィンドウの透過を有効にしたときに起こるグリッチを防ぐことができます。一般的には以下からコンポジタを選択します:
 
  +
<keybind key="Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --clipboard</command>
  +
</action>
  +
</keybind>
  +
<keybind key="A-Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --clipboard --window</command>
  +
</action>
  +
</keybind>
  +
<keybind key="W-Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --interactive</command>
  +
</action>
  +
</keybind>
   
  +
=== アプリケーションランチャー ===
* [[Compton]]: パワフルで信頼性があり、拡張性のあるコンポジタ。
 
* [[Xcompmgr]]: 旧式ながらシンプルなコンポジタ。
 
* [[Cairo Compmgr]]: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。
 
   
  +
Openbox を単純にインストールするデスクトップ環境がない場合、Openbox メニューシステムとホットキーの補足として 1 つ以上のアプリケーションランチャーをインストールすると便利です。このようなランチャーのリストは、[[:カテゴリ:アプリケーションランチャー]] および [[アプリケーション一覧/その他#アプリケーションランチャー]] にあります。一般的な例として [[Gmrun]] や [[dmenu]] など。
== デスクトップアイコンと壁紙 ==
 
   
  +
=== マウスを使用してデスクトップを切り替える ===
Openbox はネイティブではデスクトップアイコンや壁紙の使用をサポートしていません。したがって、必要であればアプリケーションを追加でインストールする必要があります。
 
   
  +
マウスカーソルを画面端に移動させることでデスクトップを切り替えることができます。まず、{{Pkg|xdotool}} をインストールし、次の 2 行を {{ic|~/.xinitrc}} に追加します:
=== ファイルマネージャによるデスクトップ管理 ===
 
 
ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。[[LXDE]] デスクトップ環境ではそのために PCManFM を使っています。
 
 
[[PCManFM#デスクトップの管理]] や [[SpaceFM#デスクトップの管理]] を見て下さい。
 
 
=== 壁紙 ===
 
 
[[アプリケーション一覧#壁紙設定]]を見て下さい。
 
 
=== アイコンプログラム ===
 
 
デスクトップアイコンを使うためだけのプログラムというものも存在しますが、ファイルマネージャを利用するよりも利便性は大きく劣ります。
 
 
==== idesk ====
 
 
[[idesk]] は壁紙の管理に加えてアイコンを使えるようにもできるシンプルなプログラムです。{{ic|~/.idesktop}} ディレクトリを作成する必要があり、デスクトップアイコンは手動で作成しなくてはなりません。idesk を使ってアイコンを表示するには、{{ic|~/.config/openbox/autostart}} ファイルに以下のコマンドを追加してください:
 
 
idesk &
 
 
==== xfdesktop ====
 
 
{{Pkg|xfdesktop}} は [[Xfce]] のデスクトップマネージャです。[[Thunar]] ファイルマネージャも依存パッケージとしてダウンロードされます。xfdesktop を使用しているときは、壁紙を右クリックして Openbox のデスクトップメニューにアクセスすることはできなくなります。
 
 
そのため、[[#デスクトップメニュー|キーバインドを作成]]するか、パネルをインストールして[[#デスクトップメニューをパネルメニューとして使う|デスクトップメニューをパネルメニューとして使う]]かして、他の方法でアクセスできるようにする必要があります。xfdesktop を使ってアイコンを表示するには、以下のコマンドを {{ic|~/.config/openbox/autostart}} ファイルに追加します:
 
 
xfdesktop &
 
 
=== conky の設定 ===
 
 
ファイルマネージャを使ってデスクトップを管理するときは、[[conky]] を使っている場合、{{ic|~/.conkyrc}} を編集して {{ic|own_window_type}} コマンドを変更する必要があります。コマンドは以下のように修正してください:
 
 
own_window_type normal
 
 
== Tips and tricks ==
 
 
=== マウスを使ってデスクトップを切り替える ===
 
 
画面の端にマウスを移動することでデスクトップを切り替えることが可能です。まず {{Pkg|xdotool}} をインストールして以下の2行を {{ic|~/.xinitrc}} に追加してください:
 
   
 
xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
 
xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
629行目: 456行目:
   
 
[[デフォルトアプリケーション]]を見て下さい。
 
[[デフォルトアプリケーション]]を見て下さい。
 
=== マウスホイールによるデスクトップ切り替えを循環しないようにする ===
 
 
デフォルトではマウスホイールを回すことで Openbox は最後のデスクトップから最初のデスクトップに切り替えます。{{ic|mousebind}} セクションで {{ic|<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>
 
   
 
=== ウィンドウ透過 ===
 
=== ウィンドウ透過 ===
   
  +
{{Warning|アクショングループに他のアクションが定義されている場合、上手く行かないことがあります。}}
{{Warning|This may not work where other actions are defined within the action group.}}
 
{{Pkg|transset-df}} が公式リポトリから利用できす。''transset-df'' を使えばすぐにウィンドウ透過を有効にできます。
+
{{AUR|transset-df}} パッケーに含れている ''transset-df'' を使えばすぐにウィンドウ透過を有効にできます。
   
 
例えば以下を {{ic|~/.config/openbox/rc.xml}} ファイルの ''<mouse>'' セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:
 
例えば以下を {{ic|~/.config/openbox/rc.xml}} ファイルの ''<mouse>'' セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:
674行目: 482行目:
   
 
{{Pkg|openbox}} パッケージには {{ic|rc.xml}} のアプリケーション設定の値を解析することができる {{ic|obxprop}} バイナリが付属しています。公式では {{ic|<nowiki>obxprop | grep "^_OB_APP"</nowiki>}} を使うことが推奨されています。コマンドを実行してプロセスを開始したら、ウィンドウをクリックすることでターミナルにプロパティが表示されます。
 
{{Pkg|openbox}} パッケージには {{ic|rc.xml}} のアプリケーション設定の値を解析することができる {{ic|obxprop}} バイナリが付属しています。公式では {{ic|<nowiki>obxprop | grep "^_OB_APP"</nowiki>}} を使うことが推奨されています。コマンドを実行してプロセスを開始したら、ウィンドウをクリックすることでターミナルにプロパティが表示されます。
 
ただし、アプリケーションやウィンドウが複数ある場合は面倒です。以下のスクリプト {{ic|obxprop2obrc}} は大量のアプリケーションの設定を簡単にします:
 
 
{{bc|<nowiki>
 
#!/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
 
</nowiki>}}
 
 
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 {{ic|-f}} switch:
 
{{hc|
 
$ obxprop2obrc -f templates-rc-inkscape-dialogs.sc > part-rc-applications-inkscape.xml
 
$ cat part-rc-applications-inkscape.xml|<nowiki>
 
<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>
 
</nowiki>}}
 
 
It also has a time switch {{ic|-t}} which kills obxprop and thus can reduce time significantly in certain situations, although it may not work perfectly.
 
   
 
=== アプリケーションの Xprop の値 ===
 
=== アプリケーションの Xprop の値 ===
   
{{Pkg|xorg-xprop}} は公式リポトリからインストールすることができ、選択したアプリケーションのプロパティの値を中継することができます。頻繁にアプリケーションごとの設定をする場合、以下の [[Bash#エイリアス|Bash エイリアス]]が役に立つでしょう:
+
{{Pkg|xorg-xprop}} パッケーインストールして、選択したアプリケーションのプロパティの値を中継することができます。頻繁にアプリケーションごとの設定をする場合、以下の [[Bash#エイリアス|Bash エイリアス]]が役に立つでしょう:
   
 
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'
 
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'
792行目: 494行目:
 
WM_CLASS(STRING) = "gajim.py", "Gajim.py"
 
WM_CLASS(STRING) = "gajim.py", "Gajim.py"
 
WM_CLASS(STRING) = "NAME", "CLASS"
 
WM_CLASS(STRING) = "NAME", "CLASS"
 
==== Firefox ====
 
 
何らかの理由で、Firefox やその亜種は {{ic|class&#61;"Firefox*"}} を使用しないかぎりアプリケーションルール (例: ''<desktop>'') を無視します。'''xprop''' によって報告されるプログラムの {{ic|WM_CLASS}} の値とは無関係に適用されます。
 
   
 
=== キーボードレイアウトの切り替え ===
 
=== キーボードレイアウトの切り替え ===
  +
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え]] を見て下さい。
 
  +
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え]]を見てください。
   
 
=== 仮想デスクトップのグリッドレイアウトの設定 ===
 
=== 仮想デスクトップのグリッドレイアウトの設定 ===
807行目: 506行目:
   
 
引数を付けないで実行することで引数の意味を知ることができます。
 
引数を付けないで実行することで引数の意味を知ることができます。
  +
  +
=== ホットコーナーの有効化 ===
  +
  +
[https://github.com/mlde/lead lead] は openbox などの軽量なウィンドウマネージャのためのホットコーナーです。autostart ファイルで以下のようにアプリケーションを起動してください:
  +
  +
mlde.lead &
  +
  +
{{ic|~/.config/mlde/lead.conf}} 設定ファイルでコマンドを編集できます:
  +
  +
[eDP1]
  +
bottom=
  +
bottomLeft=chromium
  +
bottomRight=thunar
  +
left=
  +
right=
  +
top=
  +
topLeft=mlde.californium toggle
  +
topRight=skippy-xd
  +
  +
=== ウィンドウのスナップ ===
  +
  +
多数のデスクトップ環境やウィンドウマネージャは''ウィンドウのスナップ'' (例: Windows 7 の Aero スナップ) をサポートしています。画面の端に移動された時に自動的にウィンドウの大きさが変更されます。ウィンドウに関するキーバインドを使用することで Openbox でもこの効果を再現することが可能です。
  +
  +
下の例であるように、パーセンテージを使ってウィンドウの大きさを決定します (詳しくは [http://openbox.org/wiki/Help:Actions openbox.org] を参照)。ここでは、{{ic|super}} キーを {{ic|navigation}} キーと組み合わせて使っています:
  +
  +
<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>
  +
  +
ウィンドウを端にスナップすると、一度最大化してから戻すまで縦に最大化された状態になります。{{ic|down}} と {{ic|up}} キーを使用するキーバインドを追加することで解決できます。スナップされたウィンドウを画面の端から素早く引き出します:
  +
  +
<keybind key="W-Down">
  +
<action name="Unmaximize"/>
  +
</keybind>
  +
<keybind key="W-Up">
  +
<action name="Maximize"/>
  +
</keybind>
  +
  +
[https://ubuntuforums.org/showthread.php?t=1796793 Ubuntu フォーラムのスレッド] に詳しい情報が載っています。{{AUR|opensnap-git}}{{Broken package link|{{aur-mirror|opensnap-git}}}} などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。また、{{AUR|bunsen-utilities-git}} の {{ic|bl-aerosnap --left}} や {{ic|bl-aerosnap --right}} コマンドを使うことで、スナップされていない場合にアクティブなウィンドウを左端または右端にスナップして、スナップしている場合に元のサイズ・位置に戻すことができます。コマンドを適当なキーバインドに設定してください。
  +
  +
=== ディスプレイマネージャのスムーズな遷移 ===
  +
  +
{{Note|以下の設定は [[LightDM]] で機能することを確認済みです。}}
  +
  +
ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。
  +
  +
{{ic|/usr/lib/openbox/openbox-autostart}} にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。{{ic|# Set a background color}} から始まるブロックをコメントアウト(あるいは削除)してください。
  +
  +
{{Note|ルートウィンドウの色設定を無効化して、Openbox の背景色を特に設定していなかった場合、ディスプレイマネージャの背景が継承されます。}}
  +
  +
=== ウィンドウのデコレーション ===
  +
  +
すべてまたは特定のアプリケーションのウィンドウのデコレーションを削除するには、''rc.xml'' の <applications> セクションの ''<decor>'' オプションを使用します (ユーザー: ''~/.config/openbox/'' またはシステム: ''/etc/xdg/openbox/'')
  +
  +
Firefox の例 (Firefox-Beta や Firefox-Nightly などの亜種を含む):
  +
<application class="Firefox*">
  +
<decor>no</decor>
  +
</application>
  +
また、すべてのアプリケーションのデコレーションを無効にし (クラス '''*''' を使用)、個別のアプリケーションに対して装飾を有効にする ('''yes''' を使用) こともできます。変更を適用するには、デスクトップセッションを再起動し、Openbox を再起動します。参照: [http://openbox.org/wiki/Help:FAQ#How_do_I_remove_the_decorations_from_all_my_windows.3F Openbox FAQ]
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
  +
=== Firefox ===
  +
  +
Mozilla ベースのブラウザは、{{ic|1=class="Firefox"}} が使用されない限り、アプリケーションルール (例: {{ic|<desktop>}}) を無視する可能性があります。[[Openbox#アプリケーションの Xprop の値|Xprop 値]] を参照してください。
  +
  +
=== テーマが見つからない ===
  +
  +
何らかの理由で新しく抽出したテーマを選択できない場合は、まずテーマディレクトリを開いて Openbox と互換性があることを確認します。{{ic|openbox-3}} ディレクトリと {{ic|themerc}} ファイルがあるはずですその中で。場合によっては、{{ic|.obt}} ('''O'''pen'''B'''ox ''''T'''heme) ファイルも存在する場合があり、{{Pkg|obconf}} に手動でロードできます。
  +
  +
間違った権限が原因でテーマにアクセスできない場合もあります。詳細については、[[ファイルのパーミッションと属性]] を参照してください。
  +
  +
=== デスクトップの連続切り替えを停止する ===
  +
  +
デフォルトでは、Openbox はマウスのホイールスクロール時に最後のデスクトップから最初のデスクトップに戻ります。この動作を無効にするには、{{ic|mousebind}} セクションで {{ic|<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>
   
 
=== ウィンドウがアクティブウィンドウの後ろにロードされる ===
 
=== ウィンドウがアクティブウィンドウの後ろにロードされる ===
824行目: 624行目:
 
==参照==
 
==参照==
 
* [http://openbox.org/ Openbox Website] &ndash; 公式ウェブサイト
 
* [http://openbox.org/ Openbox Website] &ndash; 公式ウェブサイト
* [http://www.box-look.org/ Box-Look.org] &ndash; A good resource for themes and related artwork
+
* [http://www.box-look.org/ Box-Look.org] &ndash; テーマやアートワーク
 
* [https://bbs.archlinux.org/viewtopic.php?id=93126 Openbox Hacks and Configs Thread] @ Arch Linux フォーラム
 
* [https://bbs.archlinux.org/viewtopic.php?id=93126 Openbox Hacks and Configs Thread] @ Arch Linux フォーラム
 
* [https://bbs.archlinux.org/viewtopic.php?id=45692 Openbox Screenshots Thread] @ Arch Linux フォーラム
 
* [https://bbs.archlinux.org/viewtopic.php?id=45692 Openbox Screenshots Thread] @ Arch Linux フォーラム

2024年1月27日 (土) 21:06時点における最新版

関連記事

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

目次

インストール

openbox パッケージをインストールしてください。

Openbox の起動

スタンドアロン

xinit を使用して openbox または openbox-session を実行します。openbox-session のみが 自動起動 を提供することに注意してください。

ノート: openbox-session を実行すると、空白のグレーの画面だけが表示されます。マウスを移動して 右クリック して openbox メニューを表示し、実際に動作していることを確認してください。

その他のデスクトップ環境

ノート:

デスクトップ環境#別のウィンドウマネージャーを使用するを参照してください。

設定

ノート: ローカル設定ファイルは常にグローバル設定ファイルをオーバーライドします。

4 つの主要なファイルが openbox 設定 の基礎を形成し、それぞれが独自の役割を果たします。それらは、rc.xmlmenu.xmlautostart、および environment です。これらのファイルについては以下で詳しく説明しますが、Openbox の構成を開始するには、まずそれらに基づいて ローカル Openbox プロファイル (つまり、特定のユーザーアカウント用) を作成する必要があります。 これは、グローバル /etc/xdg/openbox プロファイル (すべてのユーザーに適用可能) からテンプレートとしてコピーすることで実行できます。

$ mkdir -p ~/.config/openbox
$ cp -a /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) &

python2 スクリプトの /usr/lib/openbox/openbox-xdg-autostart は XDG の autostart 規格に沿ってアプリケーションを実行します。

environment

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

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

Themes

GUI 用に obconf および/または lxAppearance-obconf をインストールして、ビジュアル設定とテーマを構成します。

厳選されたテーマが openbox-themesAUR パッケージまたは AUR で入手できます。一部の GTK テーマ には Openbox テーマも付属しています。Openbox 固有のテーマと Openbox 互換のテーマは両方とも /usr/share/themes ディレクトリにインストールされ、すぐに選択できるようになります。

[2] は、優れた確立されたテーマのソースです。[3] も優れたリソースです。さらに多くのものをオンラインで見つけることができます。

編集または作成

ヒント: /usr/share/themes/ にあるテーマを編集するよりも、ホームディレクトリにテーマをコピーする方が良いでしょう。これにより、何か問題が発生した場合でもオリジナルが保持され、更新時に変更が上書きされなくなります。

新しいテーマを作成したり、既存のテーマを変更したりするプロセスについては、公式 Web サイト openbox.org で詳しく説明されています。obthemeAUR は、これを行うための使いやすい GUI です。

GUI 設定パッケージ

Openbox デスクトップを簡単に設定するための 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 のためのシンプルな自動起動アプリケーション。
https://pastebin.com/012YgXTk || ob-autostartAUR
  • obapps — Openbox のアプリケーション設定を変えるためのグラフィカルツール。
https://sourceforge.net/projects/obapps/ || obappsAUR

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

Openbox の再設定

ヒント: メニューやキーバインドに以下のコマンドを追加すると便利です。

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

$ openbox --reconfigure

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

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

キーボードショートカット

すべてのキーバインドは、~/.config/openbox/rc.xml ファイルの <!-- Keybindings for running applications --> の下に追加する必要があります。 ここでは簡単な概要を説明します。 キーバインドのより詳細な説明は openbox.org を参照して下さい。

次の構文を使用して、キーバインドを設定ファイルに追加できます:

<keybind key="my-key-combination">
  <action name="my-action">
    ...
  </action>
</keybind>

外部コマンドを実行するためのアクション名は Execute です。次の構文を使用して、実行する外部コマンドを定義します。

<action name="Execute">
  <command>my-command</command>
</action>

使用可能なすべてのアクションのリストについては、the Openbox wiki を参照してください。

ヒント: obkeyAUR ユーティリティは、キーバインドを設定するためのグラフィカルインターフェイスを提供します。obkey を使用する前に、obconf を使用して ~/.config/openbox/rc.xml を作成する必要があります。

キーバインドに標準の英数字キーを使用することは一目瞭然ですが、他のタイプのキーには、modifiersmultimedianavigation などの特別な名前が割り当てられます。

修飾キー

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

"<modifier>-<key>"

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

  • S: Shift
  • C: Control / CTRL
  • A: Alt
  • W: Super / Windows
  • M: Meta
  • H: Hyper (何かにバインドしている場合)

マルチメディアキー

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

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

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

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

ボリュームコントロール

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

ナビゲーションキー

これらは方向/矢印キーで、通常はカーソルを上下左右に移動するために使用されます。ナビゲーションコードは次のとおりです。

  • Up: Up
  • Down: Down
  • Left: Left
  • Right: Right

メニュー

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

Static

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

このタイプのメニューはアプリケーションを選択するだけでなく、アプリケーションから他のプロセス (例: synapse または xfce4-appfinder アプリケーション) にアクセスして、特定の関数にアクセスしたりタスク (デスクトップの設定など) を実行することもできます。

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

menumaker

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 ファイルが作成されたら、手動で編集しても良いですし、obmenuAUR などの GUI のメニューエディタを使って設定を行ってもかまいません。

obmenu

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

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

xdg-menu

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

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

ヒント: キーバインドにコマンドを割り当てることもできます。

~/.config/openbox/menu.xml ファイルを編集することで oblogout のオプションと同じサブメニューを作成することができます。以下のサンプルスクリプトは画面のロック以外の全てのオプションを備えます:

<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>

エントリを作成したら、以下の行をメインデスクトップメニューの中でサブメニューを表示したいところに追加してください (普通は最後のエントリにします):

<menu id="exit-menu"/>

Pipes

ヒント: 固定メニューには複数のパイプサブメニューを持たせることができます。一部のパイプメニューの機能を使うにはソフトウェアパッケージをインストールする必要があります。

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

サンプル

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

Generators

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

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

obmenu-generator

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

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

以下は ~/.config/openbox/menu.xml でアイコンを使わずに obmenu-generator を動的に実行する例です:

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

自動的にエントリをアイコン化するには、-i オプションを追加します:

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

openbox-menu

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

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

メニューアイコン

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

<applicationIcons>yes</applicationIcons>

固定メニューを使用する際は ~/.config/openbox/menu.xml ファイルを編集して icon = コマンドとエントリのフルパス・アイコン名が必要です。カテゴリのアイコンを指定する例:

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

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

ヒント: XDoTool はあらゆるアクションのキーバインドをシミュレートできるため、他の目的で使うこともできます。

xdotool はキーの押下やキーバインドを擬態するコマンドが実行できるパッケージです。XDoTool を使うことで実際に特定のキーを押さなくても、キーバインドが設定されたアクションを実行することができます。Openbox のデスクトップメニューのキーバインドも実行できるため、XDoTool を利用して Openbox のデスクトップメニューをパネルメニューにすることが可能になります。特に、デスクトップメニューをとことんカスタマイズして様々なことができるようにしている場合、非常に便利です:

  • 既存のパネルメニューを置き換える。
  • パネルメニューが存在しない場合にパネルメニューを追加する (例: Tint2)。
  • xfdesktop などのアプリケーションを使っている場合にデスクトップメニューを開けなくなったときにデスクトップを管理する。

XDoTool をインストールしたら、ルートメニューにアクセスするキーバインドを ~/.config/openbox/rc.xml<!-- Keybindings for running aplications --> の下に作成してください。例えば、以下のコードは CTRL + m でメニューを表示します:

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

Openbox の再設定が必要です。ここでは XDoTool を使って以下のコマンドで CTRL + m をシミュレートしてデスクトップメニューにアクセスします (+- の代わりとして使っています):

xdotool key control+m

パネルランチャーやアイコンとして上記のコマンドを使用するやりかたは使用するパネルによります。パネルによっては新しいランチャーを作成するのに直接上記のコマンドを実行できますが、実行スクリプトを使う必要がある場合もあります。例えば ~/.config フォルダに obpanelmenu.sh という名前のカスタム実行スクリプトを作成:

$ text editor ~/.config/obpanelmenu.sh

空のファイルを開いたら、適切な XDoTool コマンドを空のファイルに追加してください (以下の例では CTRL + m をシミュレート):

xdotool key control+m

ファイルを保存したら、以下のコマンドで実行可能属性を付与してください:

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

XDG 準拠メニュー

xdg 準拠のメニューは、freedesktop.org 標準に基づいています。メニューは、/etc/xdg/menus にあるメニューファイルで定義されます。新しいアプリケーションはメニューに自動的に表示されます。

サンプル

archlinux-menusAUR パッケージは、Arch Linux 固有の XDG 準拠メニューを提供します。

ヒントとテクニック

カーソルとアイコンのテーマ

詳細については、カーソルテーマ および アイコン を参照してください。

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

Openbox は、デスクトップアイコンや壁紙の使用をネイティブにサポートしていません。

PCManFMSpaceFMIdeskを参照してください。

ノート: ~/.conkyrc を編集して、own_window_typenormal に設定する必要がある場合があります。

アプリケーション一覧#壁紙設定 を参照してください。

コンポジタの効果

Openbox は compositing のネイティブサポートを提供していないため、この目的には外部コンポジタが必要です。

コンポジタは必須のコンポーネントではありませんが、特に oblogout による画面の歪みや、ターミナルウィンドウの透明度による視覚的な不具合などの問題を回避できる可能性があります。一般的な選択肢については、Xorg#コンポジットマネージャ一覧 を参照してください。

oblogout

この便利なグラフィカルなログアウトスクリプトの使用方法の概要については、Oblogout の記事を参照してください。

ホットキーを使用して複雑なコマンドを起動する

複雑なコマンドを実行する必要がある場合は、シェル機能を使用してください。

独自のスクリプトを作成するときは、"&" ("&amp;"), "<" ("&lt;"), ">" ("&gt;") など) の XML 特殊文字を必ずエスケープしてください。)、(詳細は XML の事前定義されたエンティティ を参照してください)。

この例では、表示をすぐにオフにし、slock で画面をロックします。これは このスレッド から取得したものです。

 <keybind key="W-l">
   <action name="Execute">
     <command>sh -c 'slock &amp; (sleep .5 &amp;&amp; xset dpms force off)'</command>
   </action>
 </keybind>

場合によっては、アプリケーションの環境変数を指定する必要があります:

 <keybind key="A-F7">
   <action name="Execute">
     <command>sh -c "LC_ALL=C obconf"</command>
   </action>
 </keybind>

別の例では、すべての stdout および stderr 出力をファイルに保存してアプリケーションを起動します:

 <keybind key="A-f">
   <action name="Execute">
     <command>sh -c sh -c "exec gimp &gt;/tmp/gimp.out 2&gt;&amp;1"</command>
   </action>
 </keybind>

スクリーンショットを有効にする:

 <keybind key="Print">
   <action name="Execute">
     <command>gnome-screenshot --clipboard</command>
   </action>
 </keybind>
 <keybind key="A-Print">
   <action name="Execute">
     <command>gnome-screenshot --clipboard --window</command>
   </action>
 </keybind>
 <keybind key="W-Print">
   <action name="Execute">
     <command>gnome-screenshot --interactive</command>
   </action>
 </keybind>

アプリケーションランチャー

Openbox を単純にインストールするデスクトップ環境がない場合、Openbox メニューシステムとホットキーの補足として 1 つ以上のアプリケーションランチャーをインストールすると便利です。このようなランチャーのリストは、カテゴリ:アプリケーションランチャー および アプリケーション一覧/その他#アプリケーションランチャー にあります。一般的な例として Gmrundmenu など。

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

マウスカーソルを画面端に移動させることでデスクトップを切り替えることができます。まず、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 &

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

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

ウィンドウ透過

警告: アクショングループに他のアクションが定義されている場合、上手く行かないことがあります。

transset-dfAUR パッケージに含まれている 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 を使って素早く設定を行う

openbox パッケージには rc.xml のアプリケーション設定の値を解析することができる obxprop バイナリが付属しています。公式では obxprop | grep "^_OB_APP" を使うことが推奨されています。コマンドを実行してプロセスを開始したら、ウィンドウをクリックすることでターミナルにプロパティが表示されます。

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

xorg-xprop パッケージをインストールして、選択したアプリケーションのプロパティの値を中継することができます。頻繁にアプリケーションごとの設定をする場合、以下の Bash エイリアスが役に立つでしょう:

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

Xorg-XProp を使用するときは、xp と定義したエイリアスを使って起動し、アプリケーションごとの設定を定義したいプログラムをクリックしてください。Openbox が必要とする情報だけが表示されます。つまり WM_WINDOW_ROLEWM_CLASS (名前とクラス) の値です:

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

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

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

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

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

obsetlayout 0 2 2 0

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

ホットコーナーの有効化

lead は openbox などの軽量なウィンドウマネージャのためのホットコーナーです。autostart ファイルで以下のようにアプリケーションを起動してください:

mlde.lead &

~/.config/mlde/lead.conf 設定ファイルでコマンドを編集できます:

[eDP1]
bottom=
bottomLeft=chromium
bottomRight=thunar
left=
right=
top=
topLeft=mlde.californium toggle
topRight=skippy-xd

ウィンドウのスナップ

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

下の例であるように、パーセンテージを使ってウィンドウの大きさを決定します (詳しくは openbox.org を参照)。ここでは、super キーを navigation キーと組み合わせて使っています:

<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>

ウィンドウを端にスナップすると、一度最大化してから戻すまで縦に最大化された状態になります。downup キーを使用するキーバインドを追加することで解決できます。スナップされたウィンドウを画面の端から素早く引き出します:

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

Ubuntu フォーラムのスレッド に詳しい情報が載っています。opensnap-gitAUR[リンク切れ: アーカイブ: aur-mirror] などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。また、bunsen-utilities-gitAURbl-aerosnap --leftbl-aerosnap --right コマンドを使うことで、スナップされていない場合にアクティブなウィンドウを左端または右端にスナップして、スナップしている場合に元のサイズ・位置に戻すことができます。コマンドを適当なキーバインドに設定してください。

ディスプレイマネージャのスムーズな遷移

ノート: 以下の設定は LightDM で機能することを確認済みです。

ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。

/usr/lib/openbox/openbox-autostart にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。# Set a background color から始まるブロックをコメントアウト(あるいは削除)してください。

ノート: ルートウィンドウの色設定を無効化して、Openbox の背景色を特に設定していなかった場合、ディスプレイマネージャの背景が継承されます。

ウィンドウのデコレーション

すべてまたは特定のアプリケーションのウィンドウのデコレーションを削除するには、rc.xml の <applications> セクションの <decor> オプションを使用します (ユーザー: ~/.config/openbox/ またはシステム: /etc/xdg/openbox/)

Firefox の例 (Firefox-Beta や Firefox-Nightly などの亜種を含む):

 <application class="Firefox*">
   <decor>no</decor>
 </application>

また、すべてのアプリケーションのデコレーションを無効にし (クラス * を使用)、個別のアプリケーションに対して装飾を有効にする (yes を使用) こともできます。変更を適用するには、デスクトップセッションを再起動し、Openbox を再起動します。参照: Openbox FAQ

トラブルシューティング

Firefox

Mozilla ベースのブラウザは、class="Firefox" が使用されない限り、アプリケーションルール (例: <desktop>) を無視する可能性があります。Xprop 値 を参照してください。

テーマが見つからない

何らかの理由で新しく抽出したテーマを選択できない場合は、まずテーマディレクトリを開いて Openbox と互換性があることを確認します。openbox-3 ディレクトリと themerc ファイルがあるはずですその中で。場合によっては、.obt (OpenBox 'Theme) ファイルも存在する場合があり、obconf に手動でロードできます。

間違った権限が原因でテーマにアクセスできない場合もあります。詳細については、ファイルのパーミッションと属性 を参照してください。

デスクトップの連続切り替えを停止する

デフォルトでは、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>

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

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

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

参照