Compiz 設定
関連記事
この記事では Compiz の高度な設定について説明します。Compiz はすでにインストールしていて、動作させるための基本的な設定は完了していることが前提です。インストール方法や基本的な設定、トラブルシューティングなどの情報は Compiz の記事を見て下さい。
目次
ストレージオプションの設定
設定バックエンド
デフォルトでは、Compiz は設定をプレーンなテキストファイル ~/.config/compiz-1/compizconfig/Default.ini
に保存します。CCSM では、このファイルは 'Flat-file Configuration Backend' と呼ばれています。
Compiz では設定を GSettings や GConf データベースに保存することもできます。Compiz の設定の保存方法を変更するには、CCSM を開いて左カラムの 'Preferences' タブをクリックしてください。そして 'Backend' のリストから使いたいバックエンドを選択します。
~/.config/compiz-1/compizconfig/config
ファイルを編集することで手動でバックエンドを変更することもできます。
次の行を編集します:
backend = ini
- ini = フラットファイル設定バックエンド
- gsettings = GSettings 設定バックエンド
- gconf = GConf 設定バックエンド
ファイルを編集して保存すると、変更はすぐに適用されます。ログアウトする必要はありません。
プロファイル
プロファイルを使うことで Compiz の設定セットを簡単に切り替えることが可能です。新しいプロファイルを作成するには CCSM を開いて 'Preferences' タブをクリックしてください。'Profile' の下のプラス記号をクリックして新しいプロファイルを追加します。プロファイルを削除するときはマイナス記号です。CCSM での変更は全て現在使用しているプロファイルに書き込まれます。
プロファイルは使っているバックエンドによって左右されます。例えば、GSettings を使っている場合、新しく作成したプロファイルは GSettings プロファイルになります。バックエンドを他のものに切り替えた場合、現在のプロファイルは使えなくなり、自動的に、選択したバックエンドで使用できるプロファイルにスイッチします。
ウィンドウ装飾テーマ
Emerald
compiz-themes.org から様々な Emerald テーマをダウンロードすることができます。Emerald テーマは emerald-theme-manager
プログラムを使うことでインストール・選択・削除することが可能です。テーマをダウンロードしたら、tarball を解凍して、テーママネージャの 'Import' オプションを使ってインストールしてください。
Emerald テーマの保存場所は2つあります:
/usr/share/emerald/themes
-- システム~/.emerald/themes
-- ユーザー
現在選択されている Emerald テーマは ~/.emerald/theme
ディレクトリにコピーされます。
ウィンドウボタンのパルスなどの Emerald の設定は emerald-theme-manager
で設定でき、~/.emerald/settings.ini
ファイルに書き込まれます。
GTK Window Decorator
たくさんの Metacity テーマが gnome-look.org でダウンロードできます。ダウンロードしたら、/usr/local/share/themes
などのディレクトリに展開してください (ディレクトリが存在しない場合は作成してください)。
Compiz 0.9 でテーマを選択する
0.9 バージョンの GTK Window Decorator は GSettings から Metacity のテーマ設定を読み込みます。
また、dconf-editorを使うことでGUIからも設定ができます。起動して、org, gnome, metacity, theme と進むことで、type に metacity を設定できます。
- Gnome Flashback session
まず、テーマタイプを metacity に設定してください
$ gsettings set org.gnome.metacity.theme type metacity
そして以下のコマンドでテーマを設定します:
$ gsettings set org.gnome.metacity.theme name theme-name
theme-name は使用したいテーマの名前に置き換えて下さい。
- MATE session
$ gsettings set org.mate.Marco.general theme theme-name
- 他のセッション
$ gsettings set org.gnome.desktop.wm.preferences theme theme-name
Compiz 0.8 でテーマを選択する
0.8 バージョンの GTK Window Decorator は GConf から Metacity のテーマ設定を読み込みます。Metacity が既に GConf を使っていませんが、以下のコマンドで GTK Window Decorator のテーマを設定できます:
$ gconftool-2 -s /apps/metacity/general/theme -t string theme-name
theme-name は使用したいテーマの名前に置き換えて下さい。
KDE Window Decorator
Kwin テーマは KDE の systemsettings
パネルを使ってダウンロード・インストール・管理することができます。
ワークスペースとビューポート
他のウィンドウマネージャと違って、Compiz は複数のワークスペースを扱いません。代わりに、一つのワークスペースを複数のセクションに分割して、それぞれをビューポートと呼びます。
ビューポートの番号とレイアウトは CCSM -> 'General Options' -> 'Desktop Size' で設定することが可能です。'Horizontal Virtual Size' を変更すると横に並ぶビューポートの数が変わります。'Vertical Virtual Size' を変更すれば縦のビューポートを追加したり削除できます。
'Desktop Cube' プラグインを使用している場合、'Vertical Virtual Size' を増やして追加した縦のビューポートを使用することはできません。縦のビューポートを複数使いたい場合は、代わりに 'Desktop Wall' プラグインを使って下さい。
キーボードショートカット
以下の Compiz のデフォルトのキーボードショートカットのリストです。
- ウィンドウの切り替え =
Alt+Tab
。 - 次のデスクトップに移動 =
Ctrl+Alt+←
。 - 前のデスクトップに移動 =
Ctrl+Alt+→
。 - ウィンドウの移動 =
Alt+Left click
。 - ウィンドウのリサイズ =
Alt+Right click
。
詳細なリストは Compiz wiki の CommonKeyboardShortcuts にあります。また、プラグインの設定でいつでも確認できます。
CCSM のコマンドプラグインを使うことでショートカットを追加することも可能です。
エッジバインディング
マウスやキーのバインディングに加えて、Compiz は画面の端に関して特定のアクション (例: ウィンドウを画面端にドラッグ) にコマンドを割り当てることができます。例えば、'Rotate Cube' プラグインにはウィンドウを画面の端までドラッグしたときに次のビューポートに切り替えるというオプションがあります。エッジバインディングは CCSM で無効にすることができ、プラグインの設定セクションの 'Edge Flip' オプションのチェックを外すか、該当プラグインの 'Bindings' セクションで横にスクリーンアイコンがあるアクションを無効にします。
プラグイン
ほとんど全ての Compiz の機能はプラグインを使って実装されています。標準的なウィンドウマネージャの機能を実現するには必ず有効にしなくてはならないプラグインもあります。Compiz#主要なプラグインを有効にする を見て下さい。このセクションでは、標準のウィンドウ管理からは外れる、特別な機能を提供するプラグインについて説明します。
Grid
Windows 7 から使えるようになった 'Aero Snap' 機能のように、ウィンドウを画面の端にドラッグすることでウィンドウを並べたい場合、CCSM で 'Grid' プラグインを有効にしてください。'Desktop Wall' や 'Rotate Cube' プラグインを使っている場合は、プラグインのセクションで 'Edge Flip' オプションを無効にして、ウィンドウを画面の端にドラッグしたときに次のデスクトップに移動しないようにしてください。
スケール
'Scale' プラグインは現在のビューポート内の全てのウィンドウのサムネイルを表示するオプションを用意します。KDE における 'Present Windows' 機能や GNOME Shell における 'Overview Mode' と似ています。プラグインを有効にした後、マウスカーソルを画面の右上に移動することで表示できます。使用する端はプラグインの設定セクションの 'Bindings' タブで設定できます。
ウィジェットレイヤー
'Widget Layer' プラグインを使用すると特定のウィンドウをウィジェットとして定義できるようになります。ウィジェットウィンドウは画面の別の'レイヤー'に表示されます。ウィジェットウィンドウを隠したときは、ウィジェットウィンドウとして定義されているウィンドウは全てアイコンになります。デフォルトでは、ウィジェットレイヤーは表示されるようになっており、F9
キーで隠すことができます。
ウィンドウをウィジェットとして定義するには、CCSM から 'Widget Layer' プラグインを開いて下さい。'Behaviour' タブをクリックして 'Widget Windows' フィールドの横にあるプラス記号のボタンをクリックします。ダイアログボックスが表示されたら、'Type' メニューから 'Window Title' を選択してください。'Value' フィールドにはウィンドウのタイトルを入力してください。例: galculator
。
画面の拡大
拡大機能を提供する Compiz プラグインは2つあります。1つ目は 'Magnifier' で、拡大鏡のように使います (四角形の中にあるものが全てズームされます)。CCSM でプラグインを有効にして Super+m
を押すことで使えます。
もう1つのプラグインは 'Enhanced Desktop Zoom' です。このプラグインを有効にすると、Super
キーを押しながら中マウスボタンをスクロールすることでマウスカーソル下のデスクトップが拡大されます。
クラッシュハンドラ
CCSM の 'Crash handler' プラグインを有効にするのは良い考えです。何らかの理由で、セッションを使って Compiz が起動できなかったときやセッション中に Compiz がクラッシュした場合に、このプラグインはクラッシュログを保存して別のウィンドウマネージャを起動します。クラッシュ時に Compiz を置き換えるウィンドウマネージャを指定するには、'Crash handler' プラグインをクリックして 'Start Other Window Manager' オプションのチェックを入れて下さい。そして、'Window Manager Command Line' フィールドに、起動するウィンドウマネージャのコマンドを入力します。例: xfwm4 --replace
。
CCSM を使うわずに Compiz を設定
Compiz は必ずしも CCSM で設定しなければならないというわけではありません。直接プロファイルを編集することでも設定は変更できます。Flat File プロファイルの場合、~/.config/compiz-1/compizconfig/Default.ini
などのファイルを編集して変更を加えます。GSettings や GConf プロファイルの場合、gsettings や gconftool-2 ツールを使って DConf や GConf データベースに変更を加えます。
フラットファイル設定例
以下のサンプル設定の特徴:
- ctrl+alt+[numpad] でカレントウィンドウが配列されます。
- 左右下部にタスクバーが表示されます。
- 全てをマウスでコントロールできます。
- 複数のエフェクト。
[core] as_active_plugins = core;session;glib;grid;notification;workarounds;place;put;wall;regex;blur;dbus;fs;inotify;widget;animation;resize;text;mousepoll;obs;expo;fade;move;staticswitcher;mag;scale;scaleaddon; s0_hsize = 2 s0_vsize = 2 [wall] as_show_switcher = false s0_edgeflip_dnd = true as_flip_down_edge = [expo] as_reflection = false as_vp_brightness = 100.000000 as_expo_edge = as_expo_button = Button9 as_mipmaps = true as_zoom_time = 0.150000 as_vp_distance = 0.000000 [scale] as_initiate_edge = as_initiate_all_button = Button8 s0_darken_back = false s0_opacity = 100 s0_overlay_icon = 0 s0_multioutput_mode = 1 as_show_desktop = false s0_hover_time = 100 s0_spacing = 4 s0_timestep = 0.100000 s0_speed = 2.615500 [scaleaddon] s0_window_highlight = true s0_highlight_color = #ffffff08 s0_window_title = 0 [mag] as_zoom_in_button = <TopEdge>Button4 as_zoom_out_button = <TopEdge>Button5 s0_mode = 2 s0_radius = 600 [place] s0_multioutput_mode = 3 s0_mode = 2 [workarounds] as_notification_daemon_fix = true as_firefox_menu_fix = true as_legacy_fullscreen = true as_qt_fix = true as_convert_urgency = true [move] as_opacity = 85 [blur] s0_filter = 1 s0_independent_tex = true s0_mipmap_lod = 1.700000 s0_gaussian_radius = 7 s0_alpha_blur_match = (any) & !(class=Conky) [put] as_put_next_output_button = Button10 s0_speed = 10.441400 s0_timestep = 0.100000 [obs] s0_opacity_matches = type=dock | Tooltip | Menu | PopupMenu | DropdownMenu;(any) & !(class=Whaawmp.py | class=Gimp | class=Inkscape | class=Xfdesktop | class=Ristretto); s0_opacity_values = 70;90; [animation] s0_close_effects = animation:Dream;animation:Fade;animation:Fade; s0_open_effects = animation:Magic Lamp;animation:Fade;animation:Fade; s0_focus_effects = animation:Dodge; s0_open_durations = 150;100;100; s0_close_durations = 150;100;100; s0_minimize_durations = 150; s0_shade_durations = 150; s0_focus_durations = 150; [widget] s0_bg_brightness = 100 s0_fade_time = 0.250000 s0_match = type=Dock as_toggle_edge = BottomLeft|BottomRight s0_end_on_click = false [staticswitcher] s0_highlight_mode = 2 s0_highlight_rect_hidden = 2 as_next_key = Disabled as_next_no_popup_key = <Alt>Tab as_prev_all_key = Disabled
GSettings の設定
使用できる Compiz プロファイルを全て表示:
$ gsettings list-recursively org.compiz | grep existing-profiles
使用中の Compiz プロファイルを表示:
$ gsettings list-recursively org.compiz | grep current-profile
使用する Compiz プロファイルを設定:
$ gsettings set org.compiz current-profile profile-name
使用できる Compiz プラグインスキーマを全て表示:
$ gsettings list-relocatable-schemas | grep org.compiz
Compiz プラグインの設定とその値を全て表示 (以下の例では Static Application Switcher の設定が表示されます):
$ gsettings list-recursively org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/
特定の Compiz 設定の値を表示 (以下の例では Static Application Switcher の Icon オプションが有効になっているかどうか確認します):
$ gsettings get org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/ icon
Compiz プラグインの設定の値を変更 (以下のコマンドは Static Application Switcher のアイコンを無効にします):
$ gsettings set org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/ icon false
GSettings を使って Compiz のプラグインを有効化または無効化
手順は2段階です。まず、以下のコマンドを使って Compiz の使用中のプラグインのリストを取得してください:
$ gsettings get org.compiz.core:/org/compiz/profiles/Default/plugins/core/ active-plugins
コマンドを実行すると以下のような出力がされます:
['core', 'composite', 'opengl', 'compiztoolbox', 'decor', 'vpswitch', 'snap', 'mousepoll', 'resize', 'place', 'move', 'wall', 'grid', 'regex', 'imgpng', 'session', 'gnomecompat', 'animation', 'fade', 'workarounds']
出力をコピーして使用するプラグインを設定するコマンドに貼り付けて下さい。必要に応じてプラグインは追加したり削除してください。例えば Static Application Switcher を有効にする場合:
$ gsettings set org.compiz.core:/org/compiz/profiles/Default/plugins/core/ active-plugins "['core', 'composite', 'opengl', 'compiztoolbox', 'decor', 'vpswitch', 'snap', 'mousepoll', 'resize', 'place', 'move', 'wall', 'grid', 'regex', 'imgpng', 'session', 'gnomecompat', 'animation', 'fade', 'workarounds', 'staticswitcher']"
参照
- Compiz Wiki, (wiki is unmaintained)
- Compiz-Themes.org, including Emerald themes, Metacity themes, Kwin themes and more