2006-10-01 18:30:10 -04:00
|
|
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
|
2001-12-09 17:41:12 -05:00
|
|
|
/* Metacity preferences */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (C) 2001 Havoc Pennington
|
2006-01-10 14:43:21 -05:00
|
|
|
* Copyright (C) 2006 Elijah Newren
|
2001-12-09 17:41:12 -05:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License as
|
|
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but
|
|
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
|
|
* 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef META_PREFS_H
|
|
|
|
#define META_PREFS_H
|
|
|
|
|
|
|
|
/* This header is a "common" one between the UI and core side */
|
|
|
|
#include "common.h"
|
|
|
|
#include <pango/pango-font.h>
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
2002-10-07 19:14:40 -04:00
|
|
|
META_PREF_MOUSE_BUTTON_MODS,
|
2001-12-09 17:41:12 -05:00
|
|
|
META_PREF_FOCUS_MODE,
|
2006-04-12 14:01:20 -04:00
|
|
|
META_PREF_FOCUS_NEW_WINDOWS,
|
Add a raise on click option, basically only because all the major distros
2006-01-10 Elijah Newren <newren@gmail.com>
Add a raise on click option, basically only because all the major
distros are patching it in anyway. See #326156.
* src/metacity.schemas.in: add the new gconf key and explanation
* src/prefs.[ch] (#define KEY_RAISE_ON_CLICK, static gboolean
raise_on_click, update_raise_on_click, meta_prefs_init,
change_notify, meta_prefs_get_raise_on_click,
meta_preference_to_string):
Add all the normal preference handling stuff for this new
raise-on-click option.
* src/core.c (meta_core_show_window_menu):
* src/display.c (event_callback, meta_display_begin_grab_op):
* src/window.c (window_activate, meta_window_configure_request, ):
Only raise the window if in raise_on_click mode.
* src/display.c (meta_display_begin_grab_op,
meta_display_end_grab_op, meta_display_check_threshold_reached):
* src/display.h (struct MetaDisplay):
* src/window.c (meta_window_handle_mouse_grab_op_event):
if not in raise-on-click mode only raise on button release if the
click didn't start a move or resize operation; needs a few extra
MetaDisplay fields to handle this
* src/core.c (meta_core_user_lower_and_unfocus):
no need to do the MRU shuffling if not maintaining the stacking
order == MRU order invariant
* src/frames.c (meta_frames_button_press_event):
* src/window.c (meta_window_begin_grab_op):
remove an unneeded window raising that is already handled elsewhere
2006-01-10 14:35:03 -05:00
|
|
|
META_PREF_RAISE_ON_CLICK,
|
2002-10-18 17:22:27 -04:00
|
|
|
META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR,
|
2007-04-24 23:30:17 -04:00
|
|
|
META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR,
|
|
|
|
META_PREF_ACTION_RIGHT_CLICK_TITLEBAR,
|
2002-05-23 22:23:46 -04:00
|
|
|
META_PREF_AUTO_RAISE,
|
|
|
|
META_PREF_AUTO_RAISE_DELAY,
|
2002-02-06 22:07:56 -05:00
|
|
|
META_PREF_THEME,
|
2001-12-09 17:41:12 -05:00
|
|
|
META_PREF_TITLEBAR_FONT,
|
2002-01-27 00:50:34 -05:00
|
|
|
META_PREF_NUM_WORKSPACES,
|
2002-04-28 00:52:26 -04:00
|
|
|
META_PREF_APPLICATION_BASED,
|
|
|
|
META_PREF_WINDOW_KEYBINDINGS,
|
2002-04-30 23:23:46 -04:00
|
|
|
META_PREF_SCREEN_KEYBINDINGS,
|
2002-07-11 00:10:44 -04:00
|
|
|
META_PREF_DISABLE_WORKAROUNDS,
|
2002-10-03 22:28:57 -04:00
|
|
|
META_PREF_COMMANDS,
|
2004-10-13 04:32:10 -04:00
|
|
|
META_PREF_TERMINAL_COMMAND,
|
2002-11-03 14:06:39 -05:00
|
|
|
META_PREF_BUTTON_LAYOUT,
|
2003-01-28 10:07:43 -05:00
|
|
|
META_PREF_WORKSPACE_NAMES,
|
|
|
|
META_PREF_VISUAL_BELL,
|
|
|
|
META_PREF_AUDIBLE_BELL,
|
2003-10-12 02:25:38 -04:00
|
|
|
META_PREF_VISUAL_BELL_TYPE,
|
2005-01-26 03:43:38 -05:00
|
|
|
META_PREF_REDUCED_RESOURCES,
|
2005-07-11 09:25:08 -04:00
|
|
|
META_PREF_GNOME_ACCESSIBILITY,
|
2008-06-29 17:57:39 -04:00
|
|
|
META_PREF_GNOME_ANIMATIONS,
|
2005-07-11 09:25:08 -04:00
|
|
|
META_PREF_CURSOR_THEME,
|
2006-02-16 15:26:05 -05:00
|
|
|
META_PREF_CURSOR_SIZE,
|
|
|
|
META_PREF_COMPOSITING_MANAGER
|
2001-12-09 17:41:12 -05:00
|
|
|
} MetaPreference;
|
|
|
|
|
|
|
|
typedef void (* MetaPrefsChangedFunc) (MetaPreference pref,
|
|
|
|
gpointer data);
|
|
|
|
|
|
|
|
void meta_prefs_add_listener (MetaPrefsChangedFunc func,
|
|
|
|
gpointer data);
|
|
|
|
void meta_prefs_remove_listener (MetaPrefsChangedFunc func,
|
|
|
|
gpointer data);
|
|
|
|
|
|
|
|
void meta_prefs_init (void);
|
|
|
|
const char* meta_preference_to_string (MetaPreference pref);
|
|
|
|
|
2002-10-07 19:14:40 -04:00
|
|
|
MetaVirtualModifier meta_prefs_get_mouse_button_mods (void);
|
2001-12-09 17:41:12 -05:00
|
|
|
MetaFocusMode meta_prefs_get_focus_mode (void);
|
2006-04-12 14:01:20 -04:00
|
|
|
MetaFocusNewWindows meta_prefs_get_focus_new_windows (void);
|
Add a raise on click option, basically only because all the major distros
2006-01-10 Elijah Newren <newren@gmail.com>
Add a raise on click option, basically only because all the major
distros are patching it in anyway. See #326156.
* src/metacity.schemas.in: add the new gconf key and explanation
* src/prefs.[ch] (#define KEY_RAISE_ON_CLICK, static gboolean
raise_on_click, update_raise_on_click, meta_prefs_init,
change_notify, meta_prefs_get_raise_on_click,
meta_preference_to_string):
Add all the normal preference handling stuff for this new
raise-on-click option.
* src/core.c (meta_core_show_window_menu):
* src/display.c (event_callback, meta_display_begin_grab_op):
* src/window.c (window_activate, meta_window_configure_request, ):
Only raise the window if in raise_on_click mode.
* src/display.c (meta_display_begin_grab_op,
meta_display_end_grab_op, meta_display_check_threshold_reached):
* src/display.h (struct MetaDisplay):
* src/window.c (meta_window_handle_mouse_grab_op_event):
if not in raise-on-click mode only raise on button release if the
click didn't start a move or resize operation; needs a few extra
MetaDisplay fields to handle this
* src/core.c (meta_core_user_lower_and_unfocus):
no need to do the MRU shuffling if not maintaining the stacking
order == MRU order invariant
* src/frames.c (meta_frames_button_press_event):
* src/window.c (meta_window_begin_grab_op):
remove an unneeded window raising that is already handled elsewhere
2006-01-10 14:35:03 -05:00
|
|
|
gboolean meta_prefs_get_raise_on_click (void);
|
2002-02-06 22:07:56 -05:00
|
|
|
const char* meta_prefs_get_theme (void);
|
2001-12-09 17:41:12 -05:00
|
|
|
/* returns NULL if GTK default should be used */
|
|
|
|
const PangoFontDescription* meta_prefs_get_titlebar_font (void);
|
2001-12-09 22:55:26 -05:00
|
|
|
int meta_prefs_get_num_workspaces (void);
|
2002-01-27 00:50:34 -05:00
|
|
|
gboolean meta_prefs_get_application_based (void);
|
2002-04-30 23:23:46 -04:00
|
|
|
gboolean meta_prefs_get_disable_workarounds (void);
|
2002-05-23 22:23:46 -04:00
|
|
|
gboolean meta_prefs_get_auto_raise (void);
|
|
|
|
int meta_prefs_get_auto_raise_delay (void);
|
2003-10-12 02:25:38 -04:00
|
|
|
gboolean meta_prefs_get_reduced_resources (void);
|
2005-01-26 03:43:38 -05:00
|
|
|
gboolean meta_prefs_get_gnome_accessibility (void);
|
2008-06-29 17:57:39 -04:00
|
|
|
gboolean meta_prefs_get_gnome_animations (void);
|
2001-12-09 17:41:12 -05:00
|
|
|
|
2002-07-11 00:10:44 -04:00
|
|
|
const char* meta_prefs_get_command (int i);
|
|
|
|
|
|
|
|
char* meta_prefs_get_gconf_key_for_command (int i);
|
|
|
|
|
2004-10-13 04:32:10 -04:00
|
|
|
const char* meta_prefs_get_terminal_command (void);
|
|
|
|
const char* meta_prefs_get_gconf_key_for_terminal_command (void);
|
|
|
|
|
2002-10-03 22:28:57 -04:00
|
|
|
void meta_prefs_get_button_layout (MetaButtonLayout *button_layout);
|
2007-03-09 20:15:14 -05:00
|
|
|
|
|
|
|
/* Double, right, middle click can be configured to any titlebar meta-action */
|
2007-02-17 16:34:00 -05:00
|
|
|
MetaActionTitlebar meta_prefs_get_action_double_click_titlebar (void);
|
2007-03-09 20:15:14 -05:00
|
|
|
MetaActionTitlebar meta_prefs_get_action_middle_click_titlebar (void);
|
|
|
|
MetaActionTitlebar meta_prefs_get_action_right_click_titlebar (void);
|
2002-10-03 22:28:57 -04:00
|
|
|
|
2002-03-10 13:36:08 -05:00
|
|
|
void meta_prefs_set_num_workspaces (int n_workspaces);
|
|
|
|
|
2002-11-03 14:06:39 -05:00
|
|
|
const char* meta_prefs_get_workspace_name (int i);
|
|
|
|
void meta_prefs_change_workspace_name (int i,
|
|
|
|
const char *name);
|
|
|
|
|
2005-07-11 09:25:08 -04:00
|
|
|
const char* meta_prefs_get_cursor_theme (void);
|
|
|
|
int meta_prefs_get_cursor_size (void);
|
2006-02-16 15:26:05 -05:00
|
|
|
gboolean meta_prefs_get_compositing_manager (void);
|
2005-07-11 09:25:08 -04:00
|
|
|
|
2002-04-28 00:52:26 -04:00
|
|
|
/* Screen bindings */
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_WORKSPACE_1 "switch_to_workspace_1"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_2 "switch_to_workspace_2"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_3 "switch_to_workspace_3"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_4 "switch_to_workspace_4"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_5 "switch_to_workspace_5"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_6 "switch_to_workspace_6"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_7 "switch_to_workspace_7"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_8 "switch_to_workspace_8"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_9 "switch_to_workspace_9"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_10 "switch_to_workspace_10"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_11 "switch_to_workspace_11"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_12 "switch_to_workspace_12"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_LEFT "switch_to_workspace_left"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_RIGHT "switch_to_workspace_right"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_UP "switch_to_workspace_up"
|
|
|
|
#define META_KEYBINDING_WORKSPACE_DOWN "switch_to_workspace_down"
|
2006-04-14 22:05:44 -04:00
|
|
|
#define META_KEYBINDING_SWITCH_GROUP "switch_group"
|
|
|
|
#define META_KEYBINDING_SWITCH_GROUP_BACKWARD "switch_group_backward"
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_SWITCH_WINDOWS "switch_windows"
|
|
|
|
#define META_KEYBINDING_SWITCH_WINDOWS_BACKWARD "switch_windows_backward"
|
|
|
|
#define META_KEYBINDING_SWITCH_PANELS "switch_panels"
|
|
|
|
#define META_KEYBINDING_SWITCH_PANELS_BACKWARD "switch_panels_backward"
|
2006-04-14 22:05:44 -04:00
|
|
|
#define META_KEYBINDING_CYCLE_GROUP "cycle_group"
|
|
|
|
#define META_KEYBINDING_CYCLE_GROUP_BACKWARD "cycle_group_backward"
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_CYCLE_WINDOWS "cycle_windows"
|
|
|
|
#define META_KEYBINDING_CYCLE_WINDOWS_BACKWARD "cycle_windows_backward"
|
|
|
|
#define META_KEYBINDING_CYCLE_PANELS "cycle_panels"
|
|
|
|
#define META_KEYBINDING_CYCLE_PANELS_BACKWARD "cycle_panels_backward"
|
|
|
|
#define META_KEYBINDING_SHOW_DESKTOP "show_desktop"
|
2003-02-23 21:16:09 -05:00
|
|
|
#define META_KEYBINDING_PANEL_MAIN_MENU "panel_main_menu"
|
|
|
|
#define META_KEYBINDING_PANEL_RUN_DIALOG "panel_run_dialog"
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_COMMAND_1 "run_command_1"
|
|
|
|
#define META_KEYBINDING_COMMAND_2 "run_command_2"
|
|
|
|
#define META_KEYBINDING_COMMAND_3 "run_command_3"
|
|
|
|
#define META_KEYBINDING_COMMAND_4 "run_command_4"
|
|
|
|
#define META_KEYBINDING_COMMAND_5 "run_command_5"
|
|
|
|
#define META_KEYBINDING_COMMAND_6 "run_command_6"
|
|
|
|
#define META_KEYBINDING_COMMAND_7 "run_command_7"
|
|
|
|
#define META_KEYBINDING_COMMAND_8 "run_command_8"
|
|
|
|
#define META_KEYBINDING_COMMAND_9 "run_command_9"
|
|
|
|
#define META_KEYBINDING_COMMAND_10 "run_command_10"
|
|
|
|
#define META_KEYBINDING_COMMAND_11 "run_command_11"
|
|
|
|
#define META_KEYBINDING_COMMAND_12 "run_command_12"
|
2003-01-14 21:39:07 -05:00
|
|
|
#define META_KEYBINDING_COMMAND_13 "run_command_13"
|
|
|
|
#define META_KEYBINDING_COMMAND_14 "run_command_14"
|
|
|
|
#define META_KEYBINDING_COMMAND_15 "run_command_15"
|
|
|
|
#define META_KEYBINDING_COMMAND_16 "run_command_16"
|
|
|
|
#define META_KEYBINDING_COMMAND_17 "run_command_17"
|
|
|
|
#define META_KEYBINDING_COMMAND_18 "run_command_18"
|
|
|
|
#define META_KEYBINDING_COMMAND_19 "run_command_19"
|
|
|
|
#define META_KEYBINDING_COMMAND_20 "run_command_20"
|
|
|
|
#define META_KEYBINDING_COMMAND_21 "run_command_21"
|
|
|
|
#define META_KEYBINDING_COMMAND_22 "run_command_22"
|
|
|
|
#define META_KEYBINDING_COMMAND_23 "run_command_23"
|
|
|
|
#define META_KEYBINDING_COMMAND_24 "run_command_24"
|
|
|
|
#define META_KEYBINDING_COMMAND_25 "run_command_25"
|
|
|
|
#define META_KEYBINDING_COMMAND_26 "run_command_26"
|
|
|
|
#define META_KEYBINDING_COMMAND_27 "run_command_27"
|
|
|
|
#define META_KEYBINDING_COMMAND_28 "run_command_28"
|
|
|
|
#define META_KEYBINDING_COMMAND_29 "run_command_29"
|
|
|
|
#define META_KEYBINDING_COMMAND_30 "run_command_30"
|
|
|
|
#define META_KEYBINDING_COMMAND_31 "run_command_31"
|
|
|
|
#define META_KEYBINDING_COMMAND_32 "run_command_32"
|
2003-02-23 21:16:09 -05:00
|
|
|
#define META_KEYBINDING_COMMAND_SCREENSHOT "run_command_screenshot"
|
|
|
|
#define META_KEYBINDING_COMMAND_WIN_SCREENSHOT "run_command_window_screenshot"
|
2004-10-13 04:32:10 -04:00
|
|
|
#define META_KEYBINDING_RUN_COMMAND_TERMINAL "run_command_terminal"
|
2007-04-07 18:16:35 -04:00
|
|
|
#define META_KEYBINDING_SET_SPEW_MARK "set_spew_mark"
|
2002-04-28 00:52:26 -04:00
|
|
|
|
|
|
|
/* Window bindings */
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_WINDOW_MENU "activate_window_menu"
|
|
|
|
#define META_KEYBINDING_TOGGLE_FULLSCREEN "toggle_fullscreen"
|
|
|
|
#define META_KEYBINDING_TOGGLE_MAXIMIZE "toggle_maximized"
|
2003-06-27 10:49:56 -04:00
|
|
|
#define META_KEYBINDING_TOGGLE_ABOVE "toggle_above"
|
2002-10-18 18:19:05 -04:00
|
|
|
#define META_KEYBINDING_MAXIMIZE "maximize"
|
|
|
|
#define META_KEYBINDING_UNMAXIMIZE "unmaximize"
|
|
|
|
#define META_KEYBINDING_TOGGLE_SHADE "toggle_shaded"
|
|
|
|
#define META_KEYBINDING_MINIMIZE "minimize"
|
|
|
|
#define META_KEYBINDING_CLOSE "close"
|
|
|
|
#define META_KEYBINDING_BEGIN_MOVE "begin_move"
|
|
|
|
#define META_KEYBINDING_BEGIN_RESIZE "begin_resize"
|
|
|
|
#define META_KEYBINDING_TOGGLE_STICKY "toggle_on_all_workspaces"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_1 "move_to_workspace_1"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_2 "move_to_workspace_2"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_3 "move_to_workspace_3"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_4 "move_to_workspace_4"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_5 "move_to_workspace_5"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_6 "move_to_workspace_6"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_7 "move_to_workspace_7"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_8 "move_to_workspace_8"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_9 "move_to_workspace_9"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_10 "move_to_workspace_10"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_11 "move_to_workspace_11"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_12 "move_to_workspace_12"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_LEFT "move_to_workspace_left"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_RIGHT "move_to_workspace_right"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_UP "move_to_workspace_up"
|
|
|
|
#define META_KEYBINDING_MOVE_WORKSPACE_DOWN "move_to_workspace_down"
|
|
|
|
#define META_KEYBINDING_RAISE_OR_LOWER "raise_or_lower"
|
|
|
|
#define META_KEYBINDING_RAISE "raise"
|
|
|
|
#define META_KEYBINDING_LOWER "lower"
|
2002-12-08 16:09:05 -05:00
|
|
|
#define META_KEYBINDING_MAXIMIZE_VERTICALLY "maximize_vertically"
|
|
|
|
#define META_KEYBINDING_MAXIMIZE_HORIZONTALLY "maximize_horizontally"
|
2006-11-05 17:23:44 -05:00
|
|
|
#define META_KEYBINDING_MOVE_TO_CORNER_NW "move_to_corner_nw"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_CORNER_NE "move_to_corner_ne"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_CORNER_SW "move_to_corner_sw"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_CORNER_SE "move_to_corner_se"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_SIDE_N "move_to_side_n"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_SIDE_S "move_to_side_s"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_SIDE_E "move_to_side_e"
|
|
|
|
#define META_KEYBINDING_MOVE_TO_SIDE_W "move_to_side_w"
|
2002-04-28 00:52:26 -04:00
|
|
|
|
2002-06-08 23:44:16 -04:00
|
|
|
typedef enum _MetaKeyBindingAction
|
|
|
|
{
|
|
|
|
META_KEYBINDING_ACTION_NONE = -1,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_1,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_2,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_3,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_4,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_5,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_6,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_7,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_8,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_9,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_10,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_11,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_12,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_LEFT,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_RIGHT,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_UP,
|
|
|
|
META_KEYBINDING_ACTION_WORKSPACE_DOWN,
|
2006-04-14 22:05:44 -04:00
|
|
|
META_KEYBINDING_ACTION_SWITCH_GROUP,
|
|
|
|
META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD,
|
2002-06-08 23:44:16 -04:00
|
|
|
META_KEYBINDING_ACTION_SWITCH_WINDOWS,
|
2002-10-18 18:19:05 -04:00
|
|
|
META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
|
2002-06-08 23:44:16 -04:00
|
|
|
META_KEYBINDING_ACTION_SWITCH_PANELS,
|
2002-10-18 18:19:05 -04:00
|
|
|
META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD,
|
2006-04-14 22:05:44 -04:00
|
|
|
META_KEYBINDING_ACTION_CYCLE_GROUP,
|
|
|
|
META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD,
|
2002-07-06 12:50:48 -04:00
|
|
|
META_KEYBINDING_ACTION_CYCLE_WINDOWS,
|
2002-10-18 18:19:05 -04:00
|
|
|
META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD,
|
2002-07-06 12:50:48 -04:00
|
|
|
META_KEYBINDING_ACTION_CYCLE_PANELS,
|
2002-10-18 18:19:05 -04:00
|
|
|
META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD,
|
2002-07-11 00:10:44 -04:00
|
|
|
META_KEYBINDING_ACTION_SHOW_DESKTOP,
|
2003-02-23 21:16:09 -05:00
|
|
|
META_KEYBINDING_ACTION_PANEL_MAIN_MENU,
|
|
|
|
META_KEYBINDING_ACTION_PANEL_RUN_DIALOG,
|
2002-07-11 00:10:44 -04:00
|
|
|
META_KEYBINDING_ACTION_COMMAND_1,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_2,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_3,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_4,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_5,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_6,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_7,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_8,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_9,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_10,
|
|
|
|
META_KEYBINDING_ACTION_COMMAND_11,
|
2004-02-19 13:36:14 -05:00
|
|
|
META_KEYBINDING_ACTION_COMMAND_12
|
2002-06-08 23:44:16 -04:00
|
|
|
} MetaKeyBindingAction;
|
|
|
|
|
2002-04-28 00:52:26 -04:00
|
|
|
typedef struct
|
|
|
|
{
|
Allow any keybinding pref to be specified either with <foo>, a string, or
2004-04-17 Thomas Thurman <thomas@thurman.org.uk>
* keybindings.c (count_bindings, rebuild_binding_table):
* prefs.c (change_notify, screen_bindings,
window_bindings, init_bindings, update_binding,
find_and_update_list_binding, update_list_binding,
meta_prefs_get_window_binding): Allow any keybinding pref
to be specified either with <foo>, a string, or <foo>_list,
a list of strings, or both. Fixes #164831.
2006-04-17 13:23:09 -04:00
|
|
|
unsigned int keysym;
|
Patch from Ed Catmur to fix keybindings with hex-values (coming from
2006-08-21 Elijah Newren <newren gmail com>
Patch from Ed Catmur to fix keybindings with hex-values (coming
from special extended keyboard keys). #140448.
* src/keybindings.c (struct _MetaKeyBinding): change keycode from
KeyCode to unsigned int (comment from Elijah: why???),
(reload_keycodes): only grab keysyms for keybindings that have
them, (count_bindings, rebuild_binding_table): bindings can be
valid either due to a valid keysym or a valid keycode,
(display_get_keybinding_action, meta_change_keygrab,
process_tab_grab, process_workspace_switch_grab): handle keycode
as well as keysym
* src/prefs.[ch] (struct MetaKeyCombo, update_binding,
update_list_binding): handle keycode as well as keysym
* src/ui.[ch] (meta_ui_accelerator_parse): new function special
cases strings of the form "0x[0-9a-fA-F]+" and otherwise calling
gtk_accelerator_parse(), (meta_ui_parse_accelerator,
meta_ui_parse_modifier): call meta_ui_accelerator_parse instead of
gtk_accelerator_parse.
2006-08-21 15:06:26 -04:00
|
|
|
unsigned int keycode;
|
2002-07-13 23:16:41 -04:00
|
|
|
MetaVirtualModifier modifiers;
|
Allow any keybinding pref to be specified either with <foo>, a string, or
2004-04-17 Thomas Thurman <thomas@thurman.org.uk>
* keybindings.c (count_bindings, rebuild_binding_table):
* prefs.c (change_notify, screen_bindings,
window_bindings, init_bindings, update_binding,
find_and_update_list_binding, update_list_binding,
meta_prefs_get_window_binding): Allow any keybinding pref
to be specified either with <foo>, a string, or <foo>_list,
a list of strings, or both. Fixes #164831.
2006-04-17 13:23:09 -04:00
|
|
|
} MetaKeyCombo;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
const char *name;
|
|
|
|
/* a list of MetaKeyCombos. Each of them is bound to
|
|
|
|
* this keypref. If one has keysym==modifiers==0, it is
|
|
|
|
* ignored. For historical reasons, the first entry is
|
|
|
|
* governed by the pref FOO and the remainder are
|
|
|
|
* governed by the pref FOO_list.
|
|
|
|
*/
|
|
|
|
GSList *bindings;
|
|
|
|
|
2003-02-22 15:31:51 -05:00
|
|
|
/* for keybindings that can have shift or not like Alt+Tab */
|
|
|
|
gboolean add_shift;
|
2002-04-28 00:52:26 -04:00
|
|
|
} MetaKeyPref;
|
|
|
|
|
|
|
|
void meta_prefs_get_screen_bindings (const MetaKeyPref **bindings,
|
|
|
|
int *n_bindings);
|
|
|
|
void meta_prefs_get_window_bindings (const MetaKeyPref **bindings,
|
|
|
|
int *n_bindings);
|
2002-06-09 00:04:19 -04:00
|
|
|
|
2002-07-13 23:16:41 -04:00
|
|
|
MetaKeyBindingAction meta_prefs_get_keybinding_action (const char *name);
|
2002-04-28 00:52:26 -04:00
|
|
|
|
2002-09-26 21:40:17 -04:00
|
|
|
void meta_prefs_get_window_binding (const char *name,
|
|
|
|
unsigned int *keysym,
|
|
|
|
MetaVirtualModifier *modifiers);
|
|
|
|
|
2003-01-28 10:07:43 -05:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
META_VISUAL_BELL_INVALID = 0,
|
|
|
|
META_VISUAL_BELL_FULLSCREEN_FLASH,
|
|
|
|
META_VISUAL_BELL_FRAME_FLASH
|
|
|
|
|
|
|
|
} MetaVisualBellType;
|
|
|
|
|
|
|
|
gboolean meta_prefs_get_visual_bell (void);
|
|
|
|
gboolean meta_prefs_bell_is_audible (void);
|
|
|
|
MetaVisualBellType meta_prefs_get_visual_bell_type (void);
|
|
|
|
|
2001-12-09 17:41:12 -05:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|