「Openbox」の版間の差分
(→キーバインド: 同期) |
(項目を整理) |
||
(同じ利用者による、間の1版が非表示) | |||
319行目: | 319行目: | ||
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [https://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}}{{Broken package link|{{aur-mirror|obmenugen}}}} を使うことで {{ic|.desktop}} ファイルから静的なまたは動的なアプリケーションメニューを生成することができます。詳しくは [http://obmenugen.sourceforge.net/ 公式ホームページ] を見て下さい。 |
||
=== メニューアイコン === |
=== メニューアイコン === |
||
368行目: | 364行目: | ||
$ chmod +x ~/.config/obpanelmenu.sh |
$ chmod +x ~/.config/obpanelmenu.sh |
||
− | == |
+ | === XDG 準拠メニュー === |
− | |||
− | {{Tip|外観の設定やテーマを設定するときは GUI アプリケーションの {{Pkg|obconf}} と {{Pkg|lxappearance-obconf}} をインストールすることを強く推奨します。特に後者は {{ic|~/.gtkrc-2.0}} ファイルを生成するのに必要なので特に重要です ([[GTK+#テーマ]]を参照)。}} |
||
− | |||
− | 大量の ''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]] など Qt ベースのアプリケーションのテーマについての情報は [[Qt と GTK アプリケーションの外観の統合]]を見て下さい。 |
||
− | |||
− | === インストール === |
||
− | |||
− | {{AUR|openbox-themes}} パッケージに様々なテーマが入っています。 |
||
− | |||
− | インストールした Openbox のテーマは {{ic|/usr/share/themes}} ディレクトリに自動的にインストールされます。すぐに選択することが可能です。 |
||
− | |||
− | [https://www.box-look.org/browse/ord/latest/ box-look.org] や [http://www.deviantart.com/ deviantART.com] にも様々なテーマが存在します。 |
||
− | |||
− | === トラブルシューティング === |
||
− | |||
− | 稀に、以下の問題が発生することがあります。特にサポートされないウェブサイトからテーマをダウンロードしたときに発生します。 |
||
− | |||
− | ==== テーマが使えない ==== |
||
− | |||
− | 何らかの理由で展開したテーマが選択できない場合、テーマディレクトリを開いて {{ic|openbox-3}} ディレクトリが存在するか、また、ディレクトリ内に {{ic|themerc}} ファイルが存在することを確認してください。テーマによっては {{ic|.obt}} ('''O'''pen'''B'''ox '''T'''heme) ファイルが存在することもあり、{{Pkg|obconf}} から手動でロードすることができます。 |
||
− | |||
− | ファイルやディレクトリが存在する場合、ファイルのパーミッションが正しく設定されていない可能性があります。フォルダとファイルのパーミッションの所有者が '''root''' になっていることを確認してください: |
||
− | |||
− | # chown -R root /user/share/themes |
||
− | |||
− | === テーマの編集または新しいテーマの作成 === |
||
− | |||
− | {{Tip|既存のテーマに修正を加える場合 (例: カラースキーム)、コピーを取ってから作業することを推奨します。元のファイルが消えたり、アップデートによって変更が上書きされないようにするためです。}} |
||
− | |||
− | 新しいテーマを作成したり既存のテーマを修正する方法は公式ウェブサイトの [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく解説されています。また、{{AUR|obtheme}} を使うことで GUI で行うことができます。 |
||
− | |||
− | == コンポジット効果 == |
||
− | |||
− | Openbox はネイティブではコンポジットをサポートしておらず、したがって、コンポジットを使うにはコンポジタをインストールする必要があります。コンポジットを使用することで透過や影などの様々なデスクトップ効果を使うことができるようになります。コンポジットは必須のコンポーネントではありませんが、見た目の良い環境を作るのに役立ち、[[oblogout]] を使うときの画面の乱れや、ターミナルウィンドウの透過を有効にしたときに起こるグリッチを防ぐことができます。一般的には以下からコンポジタを選択します: |
||
− | |||
− | * [[Picom]]: パワフルで信頼性があり、拡張性のあるコンポジタ。 |
||
− | * [[Xcompmgr]]: 旧式ながらシンプルなコンポジタ。 |
||
− | * [[Cairo Compmgr]]: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。 |
||
− | |||
− | == デスクトップアイコンと壁紙 == |
||
− | |||
− | Openbox はネイティブではデスクトップアイコンや壁紙の使用をサポートしていません。したがって、必要であればアプリケーションを追加でインストールする必要があります。 |
||
− | |||
− | === ファイルマネージャによるデスクトップ管理 === |
||
− | |||
− | ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。[[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 & |
||
+ | xdg 準拠のメニューは、freedesktop.org 標準に基づいています。メニューは、{{ic|/etc/xdg/menus}} にあるメニューファイルで定義されます。新しいアプリケーションはメニューに自動的に表示されます。 |
||
− | === conky の設定 === |
||
+ | ==== サンプル ==== |
||
− | ファイルマネージャを使ってデスクトップを管理するときは、[[conky]] を使っている場合、{{ic|~/.conkyrc}} を編集して {{ic|own_window_type}} コマンドを変更する必要があります。コマンドは以下のように修正してください: |
||
+ | {{AUR|archlinux-menus}} パッケージは、Arch Linux 固有の XDG 準拠メニューを提供します。 |
||
− | own_window_type normal |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
2024年1月27日 (土) 21:06時点における最新版
Openbox は軽量で設定が自由なスタック型ウィンドウマネージャです。デスクトップ環境とは独立して動作させることも、KDE や Xfce など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。LXDE デスクトップ環境は Openbox を初めから組み込んでいます。
目次
- 1 インストール
- 2 Openbox の起動
- 3 設定
- 4 Openbox の再設定
- 5 キーボードショートカット
- 6 メニュー
- 7 ヒントとテクニック
- 7.1 カーソルとアイコンのテーマ
- 7.2 デスクトップのアイコンと壁紙
- 7.3 コンポジタの効果
- 7.4 oblogout
- 7.5 ホットキーを使用して複雑なコマンドを起動する
- 7.6 アプリケーションランチャー
- 7.7 マウスを使用してデスクトップを切り替える
- 7.8 規定のアプリケーション/ファイルの関連付けの設定
- 7.9 ウィンドウ透過
- 7.10 obxprop を使って素早く設定を行う
- 7.11 アプリケーションの Xprop の値
- 7.12 キーボードレイアウトの切り替え
- 7.13 仮想デスクトップのグリッドレイアウトの設定
- 7.14 ホットコーナーの有効化
- 7.15 ウィンドウのスナップ
- 7.16 ディスプレイマネージャのスムーズな遷移
- 7.17 ウィンドウのデコレーション
- 8 トラブルシューティング
- 9 参照
インストール
openbox パッケージをインストールしてください。
Openbox の起動
スタンドアロン
xinit を使用して openbox
または openbox-session
を実行します。openbox-session
のみが 自動起動 を提供することに注意してください。
その他のデスクトップ環境
デスクトップ環境#別のウィンドウマネージャーを使用するを参照してください。
設定
4 つの主要なファイルが openbox 設定 の基礎を形成し、それぞれが独自の役割を果たします。それらは、rc.xml
、menu.xml
、autostart
、および environment
です。これらのファイルについては以下で詳しく説明しますが、Openbox の構成を開始するには、まずそれらに基づいて ローカル Openbox プロファイル (つまり、特定のユーザーアカウント用) を作成する必要があります。 これは、グローバル /etc/xdg/openbox
プロファイル (すべてのユーザーに適用可能) からテンプレートとしてコピーすることで実行できます。
$ mkdir -p ~/.config/openbox $ cp -a /etc/xdg/openbox ~/.config/
rc.xml
~/.config/openbox/rc.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] も優れたリソースです。さらに多くのものをオンラインで見つけることができます。
編集または作成
新しいテーマを作成したり、既存のテーマを変更したりするプロセスについては、公式 Web サイト openbox.org で詳しく説明されています。obthemeAUR は、これを行うための使いやすい GUI です。
GUI 設定パッケージ
Openbox デスクトップを簡単に設定するための GUI が複数存在します:
- ObConf — Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。
- LXAppearance ObConf — Openbox を設定するための LXAppearance のプラグイン。
- LXInput — LXDE のキーボード・マウス設定。
- LXRandR — LXDE のモニター設定。
- obkey — Openbox のキーボードショートカットを設定。
- ob-autostart — Openbox のためのシンプルな自動起動アプリケーション。
- obapps — Openbox のアプリケーション設定を変えるためのグラフィカルツール。
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 を参照してください。
キーバインドに標準の英数字キーを使用することは一目瞭然ですが、他のタイプのキーには、modifiers
、multimedia
、navigation
などの特別な名前が割り当てられます。
修飾キー
Modifier
キーにはキーバインドで重要な役割があります (例: shift
や CTRL / control
キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
"<modifier>-<key>"
modifier のコードは以下の通りです:
S
: ShiftC
: Control / CTRLA
: AltW
: Super / WindowsM
: MetaH
: Hyper (何かにバインドしている場合)
マルチメディアキー
ボリュームや画面の明るさの調整など、適切な multimedia
キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは function
キーに統合されますが、適当なシンボルで識別できます。詳しくは特別なキーボードキーを見て下さい。
ボリュームと輝度のマルチメディアキーは以下の通りです (マルチメディアキーを機能させるにはコマンドを割り当てる必要があります):
XF86AudioRaiseVolume
: ボリュームを上げるXF86AudioLowerVolume
: ボリュームを下げるXF86AudioMute
: ボリュームをミュート / ミュート解除XF86MonBrightnessUp
: 画面の明るさを上げるXF86MonBrightnessDown
: 画面の明るさを下げる
上記のキーを ~/.config/openbox/rc.xml
で使用する例は下にあります。
ボリュームコントロール
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして ALSA, PulseAudio, OSS のどれを使っているかによって変わってきます。
- ALSA: Advanced Linux Sound Architecture#キーボードのボリュームコントロールを見てください。
- PulseAudio: PulseAudio#キーボードのボリュームコントロールを見てください。
- OSS: OSS#OSS でマルチメディアキーを使うを見てください。
ナビゲーションキー
これらは方向/矢印キーで、通常はカーソルを上下左右に移動するために使用されます。ナビゲーションコードは次のとおりです。
Up
: UpDown
: DownLeft
: LeftRight
: Right
メニュー
Openbox では3つのタイプのメニューを使うことができます: static
, pipes
(dynamic), generators
(static または dynamic)。どれか一つだけを使うこともできますし組み合わせることも可能です。
Static
名前の通り、デフォルトのメニュータイプであり決して変更されることがありません。手動で編集したり、適切なソフトウェアパッケージを使って自動で生成することが可能です。
このタイプのメニューはアプリケーションを選択するだけでなく、アプリケーションから他のプロセス (例: synapse または xfce4-appfinder アプリケーション) にアクセスして、特定の関数にアクセスしたりタスク (デスクトップの設定など) を実行することもできます。
~/.config/openbox/menu.xml
ファイルが static デスクトップメニューの唯一の設定ファイルです。
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 のメニューエディタを使って設定を行ってもかまいません。
obmenuAUR は ~/.config/openbox/menu.xml
を編集するためのユーザーフレンドリな GUI アプリケーションで、xml
のコードを編集したくない人にうってつけでしょう。
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-xdgmenuAUR: xdg-menu を xml-pipe-menu に変換
- obfilebrowserAUR: アプリケーションとファイルブラウザ
- obdevicemenuAUR: udisks によるリムーバブルメディアの管理
- wifi pipe menu: Netctl による無線ネットワーク
Openbox.org にも様々なパイプメニューのリストが載っています。
Generators
このタイプのメニューは Xfce や LXDE などのデスクトップ環境で使われているタスクバーに似ています。このタイプのメニューは自動的に更新され、強力でとても便利です。カスタムカテゴリやメニューエントリを追加することもできます。使用するダイナミックメニューのドキュメントを読んで下さい。
メニュージェネレータは ~/.config/openbox/menu.xml
ファイルから実行する必要があります。
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-menuAUR は LXDE プロジェクトによる 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 を使うことで実際に特定のキーを押さなくても、キーバインドが設定されたアクションを実行することができます。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 は、デスクトップアイコンや壁紙の使用をネイティブにサポートしていません。
PCManFM、SpaceFM、Ideskを参照してください。
アプリケーション一覧#壁紙設定 を参照してください。
コンポジタの効果
Openbox は compositing のネイティブサポートを提供していないため、この目的には外部コンポジタが必要です。
コンポジタは必須のコンポーネントではありませんが、特に oblogout による画面の歪みや、ターミナルウィンドウの透明度による視覚的な不具合などの問題を回避できる可能性があります。一般的な選択肢については、Xorg#コンポジットマネージャ一覧 を参照してください。
oblogout
この便利なグラフィカルなログアウトスクリプトの使用方法の概要については、Oblogout の記事を参照してください。
ホットキーを使用して複雑なコマンドを起動する
複雑なコマンドを実行する必要がある場合は、シェル機能を使用してください。
独自のスクリプトを作成するときは、"&
" ("&"), "<
" ("<"), ">
" (">") など) の XML 特殊文字を必ずエスケープしてください。)、(詳細は XML の事前定義されたエンティティ を参照してください)。
この例では、表示をすぐにオフにし、slock で画面をロックします。これは このスレッド から取得したものです。
<keybind key="W-l"> <action name="Execute"> <command>sh -c 'slock & (sleep .5 && 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 >/tmp/gimp.out 2>&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 つ以上のアプリケーションランチャーをインストールすると便利です。このようなランチャーのリストは、カテゴリ:アプリケーションランチャー および アプリケーション一覧/その他#アプリケーションランチャー にあります。一般的な例として Gmrun や dmenu など。
マウスを使用してデスクトップを切り替える
マウスカーソルを画面端に移動させることでデスクトップを切り替えることができます。まず、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_ROLE
と WM_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>
ウィンドウを端にスナップすると、一度最大化してから戻すまで縦に最大化された状態になります。down
と up
キーを使用するキーバインドを追加することで解決できます。スナップされたウィンドウを画面の端から素早く引き出します:
<keybind key="W-Down"> <action name="Unmaximize"/> </keybind> <keybind key="W-Up"> <action name="Maximize"/> </keybind>
Ubuntu フォーラムのスレッド に詳しい情報が載っています。opensnap-gitAUR[リンク切れ: アーカイブ: aur-mirror] などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。また、bunsen-utilities-gitAUR の bl-aerosnap --left
や bl-aerosnap --right
コマンドを使うことで、スナップされていない場合にアクティブなウィンドウを左端または右端にスナップして、スナップしている場合に元のサイズ・位置に戻すことができます。コマンドを適当なキーバインドに設定してください。
ディスプレイマネージャのスムーズな遷移
ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。
/usr/lib/openbox/openbox-autostart
にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。# Set a background color
から始まるブロックをコメントアウト(あるいは削除)してください。
ウィンドウのデコレーション
すべてまたは特定のアプリケーションのウィンドウのデコレーションを削除するには、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>
参照
- Openbox Website – 公式ウェブサイト
- Box-Look.org – テーマやアートワーク
- Openbox Hacks and Configs Thread @ Arch Linux フォーラム
- Openbox Screenshots Thread @ Arch Linux フォーラム
- Using GNOME 3 with Openbox Tutorial