Compiz 設定

提供: ArchWiki
2015年2月5日 (木) 19:06時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

この記事では 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 = Flat File Configuration Backend
  • gsettings = GSettings Configuration Backend
  • gconf = GConf Configuration Backend

ファイルを編集して保存すると、変更はすぐに適用されます。ログアウトする必要はありません。

プロファイル

プロファイルを使うことで Compiz の設定セットを簡単に切り替えることが可能です。新しいプロファイルを作成するには CCSM を開いて 'Preferences' タブをクリックしてください。'Profile' の下のプラス記号をクリックして新しいプロファイルを追加します。プロファイルを削除するときはマイナス記号です。CCSM での変更は全て現在使用しているプロファイルに書き込まれます。

プロファイルは使っているバックエンドによって左右されます。例えば、GSettings を使っている場合、新しく作成したプロファイルは GSettings プロファイルになります。バックエンドを他のものに切り替えた場合、現在のプロファイルは使えなくなり、自動的に、選択したバックエンドで使用できるプロファイルにスイッチします。

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

ウィンドウ装飾テーマ

Emerald

ノート: テーマによっては選択したとたんに 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

Many Metacity themes are available for download on gnome-look.org. Once downloaded, they should be unpacked into the user's ~/.themes directory (create it if it doesn't exist.) You could also place themes in /usr/share/themes if you wish.

  • Selecting the theme in Compiz 0.9: The 0.9 version of GTK Window Decorator will read Metacity's theme settings from GSettings. See GNOME#Window manager themes.
  • Selecting the theme in Compiz 0.8: The 0.8 version of GTK Window Decorator expects Metacity's theme settings to be stored in GConf. Despite the fact that Metacity no longer uses GConf, the GTK Window Decorator theme can still be set using the following command:
$ gconftool-2 -s /apps/metacity/general/theme -t string theme-name

where theme-name is the name of the theme you wish to use.

KDE Window Decorator

Kwin themes can be downloaded, installed and managed using the KDE systemsettings panel.

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

ノート: There was once a 'Number of Desktops' option in CCSM -> 'General Options' -> 'Desktop Size' which made it possible to use standard workspaces instead of viewports. As of Compiz 0.9.11 (revision 3857) the 'Number of Desktops' option has been removed.

Unlike many other window managers, Compiz does not use multiple workspaces. Instead, it uses one workspace but splits it into multiple sections known as viewports.

The number and layout of viewports can be configured in CCSM -> 'General Options' -> 'Desktop Size.' Changing the 'Horizontal Virtual Size' will change the number of viewports in a row. Changing the 'Vertical Virtual Size' will add or remove rows of viewports.

If you are using the 'Desktop Cube' plugin, you will not be to use the rows of viewports added by increasing the 'Vertical Virtual Size.' To take advantage of multiple rows of viewports, use the 'Desktop Wall' plugin instead.

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

以下の Compiz のデフォルトのキーボードショートカットのリストです。

  • ウィンドウの切り替え = Alt+Tab
  • 次のデスクトップに移動 = Ctrl+Alt+←
  • 前のデスクトップに移動 = Ctrl+Alt+→
  • ウィンドウの移動 = Alt+Left click
  • ウィンドウのリサイズ = Alt+Right click

A more detailed list can be found under CommonKeyboardShortcuts in the Compiz wiki or you can always just look at your plugin's configuration.

Extra shortcuts can be added using the commands plugin in CCSM.

エッジバインディング

Besides mouse and key bindings, Compiz can also assign commands to certain actions involving the screen edges e.g. dragging a window to the screen edge. For instance: the 'Rotate Cube' plugin has an option to switch to the next viewport if a window is dragged to the screen edge. Edge bindings can usually be disabled, through CCSM, by unticking 'Edge Flip' options in the plugin's settings section or by disabling actions which have the screen icon next to them in the 'Bindings' section of the relevant plugin.

プラグイン

Almost all Compiz functionality is implemented using plugins. Some plugins must be enabled for standard window manager functionality - see Compiz#Enabling important plugins. Plugins that provide extra functionality, above and beyond standard window management, are discussed here.

Grid

If you want to compare two windows side by side by dragging them to the edges of the screen, similar to the 'Aero Snap' feature introduced in Windows 7, enable the 'Grid' plugin in CCSM. If you are using the 'Desktop Wall' or 'Rotate Cube' plugin then disable the 'Edge Flip' options in that plugin's section to ensure that windows do not move to the next desktop when dragged to the screen edge.

ヒント:
  • The plugin in CCSM labelled 'Snapping Windows' merely adds resistance to the edges of the screen. It does not resize windows that are dragged to the screen edge.
  • The 'Grid' plugin in Compiz 0.8 does not support resizing windows by dragging them to the screen edge. Windows can only be compared by using keyboard shortcuts.

スケール

The 'Scale' plugin provides an option to view scaled thumbnails of all windows in the current viewport, similar to the 'Present Windows' feature in KDE or the 'Overview Mode' in GNOME Shell. Once the plugin is enabled, the view can be accessed by moving the mouse cursor into the top right corner of the screen. The active corner can be configured in the 'Bindings' tab of the plugin's settings section.

ウィジェットレイヤー

The 'Widget Layer' plugin allows you to define certain windows as widgets. Widget windows are shown on a separate 'layer' of the screen. When the widget layer is hidden, all windows defined as widget windows will be iconified. By default, the widget layer is shown and hidden using F9 key.

To define a window as a widget, open CCSM and navigate to the 'Widget Layer' plugin. Click on the 'Behaviour' tab and click on the plus sign button next to the 'Widget Windows' field. In the dialog box that appears, choose 'Window Title' from the 'Type' menu. In the 'Value' field enter the title for the window you wish to define as a widget e.g. galculator.

画面の拡大

There are two Compiz plugins that can provide magnification functionality. The first is 'Magnifier' which acts much like a magnifying glass (everything within the rectangular box will be zoomed.) The magnifier can be used by enabling the plugin in CCSM and pressing Super+m.

The other plugin is called 'Enhanced Desktop Zoom.' When this plugin is enabled, pressing the Super key and scrolling the middle mouse button will magnify the part of the desktop that is under the mouse cursor.

クラッシュハンドラ

It is a good idea to enable the 'Crash handler' plugin in CCSM. This plugin ensures that if, for whatever reason, Compiz fails to start with the session or crashes at some point during the session, crash logs will be dumped and an alternative window manager will be started. To specify a window manager that can replace Compiz in the event of a crash, click on the 'Crash handler' plugin and tick the 'Start Other Window Manager' option. Then, in the 'Window Manager Command Line' field, enter a command to start the window manager of choice, for instance: xfwm4 --replace.

CCSM を使うわずに Compiz を設定

Compiz does not have to be configured through CCSM. Settings can be changed by editing the profile directly. For Flat File profiles, this will mean making editing changes to the ~/.config/compiz-1/compizconfig/Default.ini file or similar. For GSettings or GConf profiles, this will mean making changes to the DConf or GConf databases using the gsettings or gconftool-2 tools.

フラットファイルの設定例

キューブグリッドなどのプラグインを使用する設定ファイルの例 (注釈付き)

[core]
s0_focus_prevention_level = 0 ## this disables focus prevention
s0_active_plugins = core;composite;crashhandler;opengl;decor;move;imgsvg;place;text;imgpng;imgjpeg;compiztoolbox;grid;regex;resize;wobbly;animation;workspacenames;cube;rotate;switcher; ## a list of all the enabled plugins

[rotate] ## change cube rotation settings
s0_speed = 1.850000 ## cube rotation slowed down so there is no 'bounce' when switching viewports
s0_edge_flip_dnd = false ## stops the cube from rotating when a window is dragged to the screen edge (set this if using grid)
s0_edge_flip_window = false ## same as above

[cube]
s0_top_color = #a2a2a2ff
s0_bottom_color = #a2a2a2ff
s0_skydome_gradient_start_color = #f3f2ceff
s0_skydome_gradient_end_color = #87879eff
s0_skydome = true ## if skydome is set to false, the cube will be surrounded by blackness. set to true if you want a colour gradient or a picture behind your cube

[decor]
s0_command = emerald --replace ## this starts emerald with compiz.

[crashhandler]
s0_start_wm = true ## if crash handler plugin is enabled, this option ensures that another window manager will be loaded if Compiz crashes
s0_wm_cmd = xfwm4 --replace ## this option defines the window manager that will replace Compiz in the event of a crash. I've chosen xfwm but it could be metacity or openbox or any other wm
 
[switcher]
s0_icon = false ## this stops icons being shown in the alt-tab switcher. only window previews are shown
s0_minimized = false ## this stops minimised windows from being shown in the switcher
 
[grid]
s0_put_restore_key = <Super>F5 ## I've remapped the restore key to Super+F5. the original binding is Alt+F5 but it clashes with Unmaximize Window in CCSM general options
s0_outline_color = #635bac9f ## the default selection colours for grid are orange and brown. here I've changed them to shades of blue
s0_fill_color = #706a9a4f ## same as above

[place]
s0_mode = 2 ## smart window placement method chosen
s0_mode_matches = title=Application Finder;title=File Operation Progress; ## this defines windows for which I want special placement options.
s0_mode_modes = 1;1; ## placement mode 1 is centered. the windows defined above will be centered

ウィンドウ装飾を使わずに Compiz をタイル型ウィンドウマネージャとして使用

  • ctrl+alt+[numpad] arranges the current window
  • left and right bottom corner shows Taskbar
  • mouse control for everything (but typing ;))
  • some effects
  • & more
[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 の設定

ノート:
  • Most Compiz schemas are relocatable. This means that a path needs to provided along with the schema name itself - in this case, the path to the Compiz profile, for example: :/org/compiz/profiles/Default/plugins/.
  • That a Compiz plugin's schema is installed does not guarantee that the plugin itself is installed.

List all of the available Compiz profiles:

$ gsettings list-recursively org.compiz | grep existing-profiles

Show the active Compiz profile:

$ gsettings list-recursively org.compiz | grep current-profile

Set the active Compiz profile:

$ gsettings set org.compiz current-profile profile-name

List all the available Compiz plugins schemas:

$ gsettings list-relocatable-schemas | grep org.compiz

View all of the available settings for a Compiz plugin and their values (this example will show the settings of Static Application Switcher):

$ gsettings list-recursively org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/

View the value for a specific Compiz setting (this example checks the whether the Icon option in Static Application Switcher is enabled:

$ gsettings get org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/ icon

Change the value for a Compiz plugin setting (this will disable icons in Static Application Switcher):

$ gsettings set org.compiz.staticswitcher:/org/compiz/profiles/Default/plugins/staticswitcher/ icon false

GSettings を使って Compiz のプラグインを有効化または無効化

ヒント:
  • Don't forget to place quotation marks around the array when overwriting the active-plugins value, e.g. "['core']".
  • If you enter an invalid plugin name or the name of a plugin that is not installed, the command will complete without error but the invalid name will automatically be removed from the array.

Two steps are required. Firstly, get the list of active Compiz plugins using the command below:

$ gsettings get org.compiz.core:/org/compiz/profiles/Default/plugins/core/ active-plugins

This should return an output similar to the one below:

['core', 'composite', 'opengl', 'compiztoolbox', 'decor', 'vpswitch', 'snap', 'mousepoll', 'resize', 'place', 'move', 'wall', 'grid', 'regex', 'imgpng', 'session', 'gnomecompat', 'animation', 'fade', 'workarounds']

Copy and paste the output and add it to the command to set the active plugins, adding or removing plugins from the array as appropriate. The example below will enable the 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']"

参照