00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef META_PREFS_H
00026 #define META_PREFS_H
00027
00028
00029 #include "common.h"
00030 #include <pango/pango-font.h>
00031
00032 typedef enum
00033 {
00034 META_PREF_MOUSE_BUTTON_MODS,
00035 META_PREF_FOCUS_MODE,
00036 META_PREF_FOCUS_NEW_WINDOWS,
00037 META_PREF_RAISE_ON_CLICK,
00038 META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR,
00039 META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR,
00040 META_PREF_ACTION_RIGHT_CLICK_TITLEBAR,
00041 META_PREF_AUTO_RAISE,
00042 META_PREF_AUTO_RAISE_DELAY,
00043 META_PREF_THEME,
00044 META_PREF_TITLEBAR_FONT,
00045 META_PREF_NUM_WORKSPACES,
00046 META_PREF_APPLICATION_BASED,
00047 META_PREF_WINDOW_KEYBINDINGS,
00048 META_PREF_SCREEN_KEYBINDINGS,
00049 META_PREF_DISABLE_WORKAROUNDS,
00050 META_PREF_COMMANDS,
00051 META_PREF_TERMINAL_COMMAND,
00052 META_PREF_BUTTON_LAYOUT,
00053 META_PREF_WORKSPACE_NAMES,
00054 META_PREF_VISUAL_BELL,
00055 META_PREF_AUDIBLE_BELL,
00056 META_PREF_VISUAL_BELL_TYPE,
00057 META_PREF_REDUCED_RESOURCES,
00058 META_PREF_GNOME_ACCESSIBILITY,
00059 META_PREF_GNOME_ANIMATIONS,
00060 META_PREF_CURSOR_THEME,
00061 META_PREF_CURSOR_SIZE,
00062 META_PREF_COMPOSITING_MANAGER
00063 } MetaPreference;
00064
00065 typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
00066 gpointer data);
00067
00068 void meta_prefs_add_listener (MetaPrefsChangedFunc func,
00069 gpointer data);
00070 void meta_prefs_remove_listener (MetaPrefsChangedFunc func,
00071 gpointer data);
00072
00073 void meta_prefs_init (void);
00074 const char* meta_preference_to_string (MetaPreference pref);
00075
00076 MetaVirtualModifier meta_prefs_get_mouse_button_mods (void);
00077 MetaFocusMode meta_prefs_get_focus_mode (void);
00078 MetaFocusNewWindows meta_prefs_get_focus_new_windows (void);
00079 gboolean meta_prefs_get_raise_on_click (void);
00080 const char* meta_prefs_get_theme (void);
00081
00082 const PangoFontDescription* meta_prefs_get_titlebar_font (void);
00083 int meta_prefs_get_num_workspaces (void);
00084 gboolean meta_prefs_get_application_based (void);
00085 gboolean meta_prefs_get_disable_workarounds (void);
00086 gboolean meta_prefs_get_auto_raise (void);
00087 int meta_prefs_get_auto_raise_delay (void);
00088 gboolean meta_prefs_get_reduced_resources (void);
00089 gboolean meta_prefs_get_gnome_accessibility (void);
00090 gboolean meta_prefs_get_gnome_animations (void);
00091
00092 const char* meta_prefs_get_command (int i);
00093
00094 char* meta_prefs_get_gconf_key_for_command (int i);
00095
00096 const char* meta_prefs_get_terminal_command (void);
00097 const char* meta_prefs_get_gconf_key_for_terminal_command (void);
00098
00099 void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
00100
00101
00102 MetaActionTitlebar meta_prefs_get_action_double_click_titlebar (void);
00103 MetaActionTitlebar meta_prefs_get_action_middle_click_titlebar (void);
00104 MetaActionTitlebar meta_prefs_get_action_right_click_titlebar (void);
00105
00106 void meta_prefs_set_num_workspaces (int n_workspaces);
00107
00108 const char* meta_prefs_get_workspace_name (int i);
00109 void meta_prefs_change_workspace_name (int i,
00110 const char *name);
00111
00112 const char* meta_prefs_get_cursor_theme (void);
00113 int meta_prefs_get_cursor_size (void);
00114 gboolean meta_prefs_get_compositing_manager (void);
00115
00116
00117 #define META_KEYBINDING_WORKSPACE_1 "switch_to_workspace_1"
00118 #define META_KEYBINDING_WORKSPACE_2 "switch_to_workspace_2"
00119 #define META_KEYBINDING_WORKSPACE_3 "switch_to_workspace_3"
00120 #define META_KEYBINDING_WORKSPACE_4 "switch_to_workspace_4"
00121 #define META_KEYBINDING_WORKSPACE_5 "switch_to_workspace_5"
00122 #define META_KEYBINDING_WORKSPACE_6 "switch_to_workspace_6"
00123 #define META_KEYBINDING_WORKSPACE_7 "switch_to_workspace_7"
00124 #define META_KEYBINDING_WORKSPACE_8 "switch_to_workspace_8"
00125 #define META_KEYBINDING_WORKSPACE_9 "switch_to_workspace_9"
00126 #define META_KEYBINDING_WORKSPACE_10 "switch_to_workspace_10"
00127 #define META_KEYBINDING_WORKSPACE_11 "switch_to_workspace_11"
00128 #define META_KEYBINDING_WORKSPACE_12 "switch_to_workspace_12"
00129 #define META_KEYBINDING_WORKSPACE_LEFT "switch_to_workspace_left"
00130 #define META_KEYBINDING_WORKSPACE_RIGHT "switch_to_workspace_right"
00131 #define META_KEYBINDING_WORKSPACE_UP "switch_to_workspace_up"
00132 #define META_KEYBINDING_WORKSPACE_DOWN "switch_to_workspace_down"
00133 #define META_KEYBINDING_SWITCH_GROUP "switch_group"
00134 #define META_KEYBINDING_SWITCH_GROUP_BACKWARD "switch_group_backward"
00135 #define META_KEYBINDING_SWITCH_WINDOWS "switch_windows"
00136 #define META_KEYBINDING_SWITCH_WINDOWS_BACKWARD "switch_windows_backward"
00137 #define META_KEYBINDING_SWITCH_PANELS "switch_panels"
00138 #define META_KEYBINDING_SWITCH_PANELS_BACKWARD "switch_panels_backward"
00139 #define META_KEYBINDING_CYCLE_GROUP "cycle_group"
00140 #define META_KEYBINDING_CYCLE_GROUP_BACKWARD "cycle_group_backward"
00141 #define META_KEYBINDING_CYCLE_WINDOWS "cycle_windows"
00142 #define META_KEYBINDING_CYCLE_WINDOWS_BACKWARD "cycle_windows_backward"
00143 #define META_KEYBINDING_CYCLE_PANELS "cycle_panels"
00144 #define META_KEYBINDING_CYCLE_PANELS_BACKWARD "cycle_panels_backward"
00145 #define META_KEYBINDING_SHOW_DESKTOP "show_desktop"
00146 #define META_KEYBINDING_PANEL_MAIN_MENU "panel_main_menu"
00147 #define META_KEYBINDING_PANEL_RUN_DIALOG "panel_run_dialog"
00148 #define META_KEYBINDING_COMMAND_1 "run_command_1"
00149 #define META_KEYBINDING_COMMAND_2 "run_command_2"
00150 #define META_KEYBINDING_COMMAND_3 "run_command_3"
00151 #define META_KEYBINDING_COMMAND_4 "run_command_4"
00152 #define META_KEYBINDING_COMMAND_5 "run_command_5"
00153 #define META_KEYBINDING_COMMAND_6 "run_command_6"
00154 #define META_KEYBINDING_COMMAND_7 "run_command_7"
00155 #define META_KEYBINDING_COMMAND_8 "run_command_8"
00156 #define META_KEYBINDING_COMMAND_9 "run_command_9"
00157 #define META_KEYBINDING_COMMAND_10 "run_command_10"
00158 #define META_KEYBINDING_COMMAND_11 "run_command_11"
00159 #define META_KEYBINDING_COMMAND_12 "run_command_12"
00160 #define META_KEYBINDING_COMMAND_13 "run_command_13"
00161 #define META_KEYBINDING_COMMAND_14 "run_command_14"
00162 #define META_KEYBINDING_COMMAND_15 "run_command_15"
00163 #define META_KEYBINDING_COMMAND_16 "run_command_16"
00164 #define META_KEYBINDING_COMMAND_17 "run_command_17"
00165 #define META_KEYBINDING_COMMAND_18 "run_command_18"
00166 #define META_KEYBINDING_COMMAND_19 "run_command_19"
00167 #define META_KEYBINDING_COMMAND_20 "run_command_20"
00168 #define META_KEYBINDING_COMMAND_21 "run_command_21"
00169 #define META_KEYBINDING_COMMAND_22 "run_command_22"
00170 #define META_KEYBINDING_COMMAND_23 "run_command_23"
00171 #define META_KEYBINDING_COMMAND_24 "run_command_24"
00172 #define META_KEYBINDING_COMMAND_25 "run_command_25"
00173 #define META_KEYBINDING_COMMAND_26 "run_command_26"
00174 #define META_KEYBINDING_COMMAND_27 "run_command_27"
00175 #define META_KEYBINDING_COMMAND_28 "run_command_28"
00176 #define META_KEYBINDING_COMMAND_29 "run_command_29"
00177 #define META_KEYBINDING_COMMAND_30 "run_command_30"
00178 #define META_KEYBINDING_COMMAND_31 "run_command_31"
00179 #define META_KEYBINDING_COMMAND_32 "run_command_32"
00180 #define META_KEYBINDING_COMMAND_SCREENSHOT "run_command_screenshot"
00181 #define META_KEYBINDING_COMMAND_WIN_SCREENSHOT "run_command_window_screenshot"
00182 #define META_KEYBINDING_RUN_COMMAND_TERMINAL "run_command_terminal"
00183 #define META_KEYBINDING_SET_SPEW_MARK "set_spew_mark"
00184
00185
00186 #define META_KEYBINDING_WINDOW_MENU "activate_window_menu"
00187 #define META_KEYBINDING_TOGGLE_FULLSCREEN "toggle_fullscreen"
00188 #define META_KEYBINDING_TOGGLE_MAXIMIZE "toggle_maximized"
00189 #define META_KEYBINDING_TOGGLE_ABOVE "toggle_above"
00190 #define META_KEYBINDING_MAXIMIZE "maximize"
00191 #define META_KEYBINDING_UNMAXIMIZE "unmaximize"
00192 #define META_KEYBINDING_TOGGLE_SHADE "toggle_shaded"
00193 #define META_KEYBINDING_MINIMIZE "minimize"
00194 #define META_KEYBINDING_CLOSE "close"
00195 #define META_KEYBINDING_BEGIN_MOVE "begin_move"
00196 #define META_KEYBINDING_BEGIN_RESIZE "begin_resize"
00197 #define META_KEYBINDING_TOGGLE_STICKY "toggle_on_all_workspaces"
00198 #define META_KEYBINDING_MOVE_WORKSPACE_1 "move_to_workspace_1"
00199 #define META_KEYBINDING_MOVE_WORKSPACE_2 "move_to_workspace_2"
00200 #define META_KEYBINDING_MOVE_WORKSPACE_3 "move_to_workspace_3"
00201 #define META_KEYBINDING_MOVE_WORKSPACE_4 "move_to_workspace_4"
00202 #define META_KEYBINDING_MOVE_WORKSPACE_5 "move_to_workspace_5"
00203 #define META_KEYBINDING_MOVE_WORKSPACE_6 "move_to_workspace_6"
00204 #define META_KEYBINDING_MOVE_WORKSPACE_7 "move_to_workspace_7"
00205 #define META_KEYBINDING_MOVE_WORKSPACE_8 "move_to_workspace_8"
00206 #define META_KEYBINDING_MOVE_WORKSPACE_9 "move_to_workspace_9"
00207 #define META_KEYBINDING_MOVE_WORKSPACE_10 "move_to_workspace_10"
00208 #define META_KEYBINDING_MOVE_WORKSPACE_11 "move_to_workspace_11"
00209 #define META_KEYBINDING_MOVE_WORKSPACE_12 "move_to_workspace_12"
00210 #define META_KEYBINDING_MOVE_WORKSPACE_LEFT "move_to_workspace_left"
00211 #define META_KEYBINDING_MOVE_WORKSPACE_RIGHT "move_to_workspace_right"
00212 #define META_KEYBINDING_MOVE_WORKSPACE_UP "move_to_workspace_up"
00213 #define META_KEYBINDING_MOVE_WORKSPACE_DOWN "move_to_workspace_down"
00214 #define META_KEYBINDING_RAISE_OR_LOWER "raise_or_lower"
00215 #define META_KEYBINDING_RAISE "raise"
00216 #define META_KEYBINDING_LOWER "lower"
00217 #define META_KEYBINDING_MAXIMIZE_VERTICALLY "maximize_vertically"
00218 #define META_KEYBINDING_MAXIMIZE_HORIZONTALLY "maximize_horizontally"
00219 #define META_KEYBINDING_MOVE_TO_CORNER_NW "move_to_corner_nw"
00220 #define META_KEYBINDING_MOVE_TO_CORNER_NE "move_to_corner_ne"
00221 #define META_KEYBINDING_MOVE_TO_CORNER_SW "move_to_corner_sw"
00222 #define META_KEYBINDING_MOVE_TO_CORNER_SE "move_to_corner_se"
00223 #define META_KEYBINDING_MOVE_TO_SIDE_N "move_to_side_n"
00224 #define META_KEYBINDING_MOVE_TO_SIDE_S "move_to_side_s"
00225 #define META_KEYBINDING_MOVE_TO_SIDE_E "move_to_side_e"
00226 #define META_KEYBINDING_MOVE_TO_SIDE_W "move_to_side_w"
00227
00228 typedef enum _MetaKeyBindingAction
00229 {
00230 META_KEYBINDING_ACTION_NONE = -1,
00231 META_KEYBINDING_ACTION_WORKSPACE_1,
00232 META_KEYBINDING_ACTION_WORKSPACE_2,
00233 META_KEYBINDING_ACTION_WORKSPACE_3,
00234 META_KEYBINDING_ACTION_WORKSPACE_4,
00235 META_KEYBINDING_ACTION_WORKSPACE_5,
00236 META_KEYBINDING_ACTION_WORKSPACE_6,
00237 META_KEYBINDING_ACTION_WORKSPACE_7,
00238 META_KEYBINDING_ACTION_WORKSPACE_8,
00239 META_KEYBINDING_ACTION_WORKSPACE_9,
00240 META_KEYBINDING_ACTION_WORKSPACE_10,
00241 META_KEYBINDING_ACTION_WORKSPACE_11,
00242 META_KEYBINDING_ACTION_WORKSPACE_12,
00243 META_KEYBINDING_ACTION_WORKSPACE_LEFT,
00244 META_KEYBINDING_ACTION_WORKSPACE_RIGHT,
00245 META_KEYBINDING_ACTION_WORKSPACE_UP,
00246 META_KEYBINDING_ACTION_WORKSPACE_DOWN,
00247 META_KEYBINDING_ACTION_SWITCH_GROUP,
00248 META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD,
00249 META_KEYBINDING_ACTION_SWITCH_WINDOWS,
00250 META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
00251 META_KEYBINDING_ACTION_SWITCH_PANELS,
00252 META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD,
00253 META_KEYBINDING_ACTION_CYCLE_GROUP,
00254 META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD,
00255 META_KEYBINDING_ACTION_CYCLE_WINDOWS,
00256 META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD,
00257 META_KEYBINDING_ACTION_CYCLE_PANELS,
00258 META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD,
00259 META_KEYBINDING_ACTION_SHOW_DESKTOP,
00260 META_KEYBINDING_ACTION_PANEL_MAIN_MENU,
00261 META_KEYBINDING_ACTION_PANEL_RUN_DIALOG,
00262 META_KEYBINDING_ACTION_COMMAND_1,
00263 META_KEYBINDING_ACTION_COMMAND_2,
00264 META_KEYBINDING_ACTION_COMMAND_3,
00265 META_KEYBINDING_ACTION_COMMAND_4,
00266 META_KEYBINDING_ACTION_COMMAND_5,
00267 META_KEYBINDING_ACTION_COMMAND_6,
00268 META_KEYBINDING_ACTION_COMMAND_7,
00269 META_KEYBINDING_ACTION_COMMAND_8,
00270 META_KEYBINDING_ACTION_COMMAND_9,
00271 META_KEYBINDING_ACTION_COMMAND_10,
00272 META_KEYBINDING_ACTION_COMMAND_11,
00273 META_KEYBINDING_ACTION_COMMAND_12
00274 } MetaKeyBindingAction;
00275
00276 typedef struct
00277 {
00278 unsigned int keysym;
00279 unsigned int keycode;
00280 MetaVirtualModifier modifiers;
00281 } MetaKeyCombo;
00282
00283 typedef struct
00284 {
00285 const char *name;
00286
00287
00288
00289
00290
00291
00292 GSList *bindings;
00293
00294
00295 gboolean add_shift;
00296 } MetaKeyPref;
00297
00298 void meta_prefs_get_screen_bindings (const MetaKeyPref **bindings,
00299 int *n_bindings);
00300 void meta_prefs_get_window_bindings (const MetaKeyPref **bindings,
00301 int *n_bindings);
00302
00303 MetaKeyBindingAction meta_prefs_get_keybinding_action (const char *name);
00304
00305 void meta_prefs_get_window_binding (const char *name,
00306 unsigned int *keysym,
00307 MetaVirtualModifier *modifiers);
00308
00309 typedef enum
00310 {
00311 META_VISUAL_BELL_INVALID = 0,
00312 META_VISUAL_BELL_FULLSCREEN_FLASH,
00313 META_VISUAL_BELL_FRAME_FLASH
00314
00315 } MetaVisualBellType;
00316
00317 gboolean meta_prefs_get_visual_bell (void);
00318 gboolean meta_prefs_bell_is_audible (void);
00319 MetaVisualBellType meta_prefs_get_visual_bell_type (void);
00320
00321 #endif
00322
00323
00324
00325