Openbox

提供: ArchWiki
2024年1月27日 (土) 21:06時点におけるKgx (トーク | 投稿記録)による版 (項目を整理)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

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>

参照