「Compiz 設定」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(言語間リンク)
(校正(でき・出来))
 
38行目: 38行目:
 
プロファイルは使っているバックエンドによって左右されます。例えば、GSettings を使っている場合、新しく作成したプロファイルは GSettings プロファイルになります。バックエンドを他のものに切り替えた場合、現在のプロファイルは使えなくなり、自動的に、選択したバックエンドで使用できるプロファイルにスイッチします。
 
プロファイルは使っているバックエンドによって左右されます。例えば、GSettings を使っている場合、新しく作成したプロファイルは GSettings プロファイルになります。バックエンドを他のものに切り替えた場合、現在のプロファイルは使えなくなり、自動的に、選択したバックエンドで使用できるプロファイルにスイッチします。
   
{{Note|'Default' という名前のプロファイルが複数存在する場合、おそらく複数のバックエンドを使用したのが原因です。例えば ini のデフォルトプロファイルと、GSettings や GConf のデフォルトプロファイルが出来るというわけです。}}
+
{{Note|'Default' という名前のプロファイルが複数存在する場合、おそらく複数のバックエンドを使用したのが原因です。例えば ini のデフォルトプロファイルと、GSettings や GConf のデフォルトプロファイルができるというわけです。}}
   
 
== ウィンドウ装飾テーマ ==
 
== ウィンドウ装飾テーマ ==

2024年7月10日 (水) 20:27時点における最新版

関連記事

この記事では Compiz の高度な設定について説明します。Compiz はすでにインストールしていて、動作させるための基本的な設定は完了していることが前提です。インストール方法や基本的な設定、トラブルシューティングなどの情報は Compiz の記事を見て下さい。

ストレージオプションの設定

設定バックエンド

ノート:
  • インストールしたパッケージによっては、使える Compiz バックエンドが限られることがあります。
  • GConf バックエンドは Compiz 0.9.12 から削除されました (revision 3991)。

デフォルトでは、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 プロファイルになります。バックエンドを他のものに切り替えた場合、現在のプロファイルは使えなくなり、自動的に、選択したバックエンドで使用できるプロファイルにスイッチします。

ノート: 'Default' という名前のプロファイルが複数存在する場合、おそらく複数のバックエンドを使用したのが原因です。例えば ini のデフォルトプロファイルと、GSettings や GConf のデフォルトプロファイルができるというわけです。

ウィンドウ装飾テーマ

Emerald

ヒント: Emerald のインストールについては、Compiz#追加パッケージを見てください。
ノート: テーマによっては選択したとたんに Emerald をクラッシュさせてしまうことがあります。Compiz#テーマを選択すると 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

ノート: GConf や GSettings データベースに保存された Metacity の設定を読み込むのに Compiz で GConf や GSettings バックエンドを使用する必要はありません。

GTK Window Decorator は Metacity や Marco ウィンドウマネージャのサポートを有効にしてコンパイルすることができます (Compiz のバージョンによります)。サポートを有効にしてコンパイルした場合、Metacity や Marco によって使われるテーマは GTK Window Decorator からも使用されるようになります。Metacity や Marco のサポートを有効にせず GTK Window Decorator をコンパイルした場合、組み込みのフォールバックテーマが使われます。

たくさんの Metacity テーマが gnome-look.org でダウンロードできます。ダウンロードしたら、/usr/local/share/themes (Metacity の場合) や ~/.themes (Marco の場合) などのディレクトリに展開してください (ディレクトリが存在しない場合は作成してください)。

Compiz 0.9 でテーマを選択する

Compiz 0.9 の GTK Window Decorator は Metacity (バージョン 3) のサポートを有効にしてコンパイルできます。サポートが有効になっている場合、以下のコマンドで Metacity のテーマを変更できます:

  • Gnome Flashback セッション:
まず、テーマタイプを metacity に設定してください
$ gsettings set org.gnome.metacity.theme type metacity
そして以下のコマンドでテーマを設定します:
$ gsettings set org.gnome.metacity.theme name theme-name
theme-name は使用したいテーマの名前に置き換えて下さい。
また、dconf-editor を使うことで GUI から設定ができます。dconf-editor を起動したら org, gnome, metacity, theme と進んで、type に metacity を設定してから、上記と同じく name にテーマ名を設定してください。
  • MATE セッション:
以下のコマンドを使ってください:
$ gsettings set org.mate.Marco.general theme theme-name
  • 他のセッション
以下のコマンドを使ってください:
$ gsettings set org.gnome.desktop.wm.preferences theme theme-name

Compiz 0.8 でテーマを選択する

Compiz-Reloaded によって提供されている Compiz (バージョン 0.8.10 以上) に含まれている GTK Window Decorator は Marco のサポートを有効にしてコンパイルできます。サポートが有効になっている場合、以下のコマンドで Marco のテーマを変更できます:

$ gsettings set org.mate.Marco.general theme theme-name

オリジナルの Compiz (バージョン 0.8.9 以下) に含まれている GTK Window Decorator は Metacity (バージョン2) のサポートを有効にしてコンパイルできます。GTK Window Decorator は GConf からテーマ設定を読み込みます。Metacity が既に GConf を使っていませんが、以下のコマンドで GTK Window Decorator のテーマを設定できます:

$ gconftool-2 -s /apps/metacity/general/theme -t string theme-name

theme-name は使用したいテーマの名前に置き換えて下さい。

KDE Window Decorator

Kwin テーマは KDEsystemsettings パネルを使ってダウンロード・インストール・管理することができます。

ワークスペースとビューポート

ノート: かつては CCSM -> 'General Options' -> 'Desktop Size' に 'Number of Desktops' オプションがあり、ビューポートの代わりに標準のワークスペースを使うことができました。Compiz 0.9.11 (revision 3857) から 'Number of Desktops' オプションは削除されています。

他のウィンドウマネージャと違って、Compiz は複数のワークスペースを扱いません。代わりに、一つのワークスペースを複数のセクションに分割して、それぞれをビューポートと呼びます。詳しくは [1] を見てください。

ビューポートの番号とレイアウトは 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' オプションを無効にして、ウィンドウを画面の端にドラッグしたときに次のデスクトップに移動しないようにしてください。

ヒント:
  • CCSM の 'Snapping Windows' プラグインは画面の端に抵抗を加えるだけです。画面の端にドラッグしたウィンドウのサイズは変わりません。
  • Compiz 0.8 の 'Grid' プラグインではウィンドウを画面の端にドラッグしてサイズを変えることはできません。ウィンドウを並べる方法はキーボードショートカットだけです。

スケール

'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 プロファイルの場合、gsettingsgconftool-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 スキーマは再配置可能です。スキーマの名前にはパスを付ける必要があります。この場合、Compiz プロファイルのパスになります。例: :/org/compiz/profiles/Default/plugins/
  • Compiz プラグインのスキーマがインストールされているからといってプラグインがインストールされているとは限りません。

使用できる 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 SwitcherIcon オプションが有効になっているかどうか確認します):

$ 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 のプラグインを有効化または無効化

ヒント:
  • active-plugins の値を上書きするときはクオーテーションマークを忘れないで下さい、例: "['core']"
  • プラグインの名前を間違って入力したりインストールしてないプラグインの名前を入力した場合でも、コマンドはエラーを出力しないで終了します。ただし間違って入力した名前は自動的に取り除かれます。

手順は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']"

参照