2006-10-01 18:30:10 -04:00
|
|
|
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
|
Comprehensively rename to Mutter
Code:
All references in the code not related to themes, keybindings, or
GConf were changed from 'metacity' to 'mutter'. This includes, among other
things, strings, comments, the atoms used in the message protocol, and
the envvars used for debugging. The GConf schema file was reduced to
the 3 settings new to mutter.
The overall version was brought up to 2.27 to match current gnome.
Structure:
All files named '*metacity*' were renamed '*mutter*' with appropriate
changes in the automake system. Files removed are
doc/creating_themes, src/themes, doc/metacity-theme.dtd,
metacity.doap. These files will eventually end up in an external
gnome-wm-data module.
Installation location:
On the filesystem the mutter-plugindir was change from
$(libdir)/metacity/plugins/clutter to just $(libdir)/mutter/plugins.
The mutter-plugins.pc.in reflects these changes.
Note:
mutter.desktop.in and mutter-wm.desktop both continue to have
X-GNOME-WMSettingsModule=metacity set. This allows
gnome-control-center to continue using libmetacity.so for
configuration. This is fine since most the general keybindings and wm
settings are being read from /apps/metacity/* in gconf.
2009-06-10 06:29:20 -04:00
|
|
|
/* Mutter preferences */
|
2001-12-09 17:41:12 -05:00
|
|
|
|
|
|
|
/*
|
|
|
|
* 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,
|
2010-09-10 05:55:20 -04:00
|
|
|
META_PREF_ATTACH_MODAL_DIALOGS,
|
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,
|
2008-11-22 14:02:54 -05:00
|
|
|
META_PREF_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-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,
|
2008-09-18 11:09:11 -04:00
|
|
|
META_PREF_COMPOSITING_MANAGER,
|
2009-02-12 12:14:12 -05:00
|
|
|
META_PREF_RESIZE_WITH_RIGHT_BUTTON,
|
2010-06-24 14:41:28 -04:00
|
|
|
META_PREF_SIDE_BY_SIDE_TILING,
|
2009-06-19 11:30:37 -04:00
|
|
|
META_PREF_FORCE_FULLSCREEN,
|
2008-10-24 05:07:24 -04:00
|
|
|
META_PREF_CLUTTER_PLUGINS,
|
|
|
|
META_PREF_LIVE_HIDDEN_WINDOWS,
|
2009-06-19 11:30:37 -04:00
|
|
|
META_PREF_NO_TAB_POPUP
|
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);
|
2010-04-12 17:39:27 -04:00
|
|
|
|
|
|
|
void meta_prefs_override_preference_location (const char *original_key,
|
|
|
|
const char *new_key);
|
|
|
|
|
2001-12-09 17:41:12 -05:00
|
|
|
const char* meta_preference_to_string (MetaPreference pref);
|
|
|
|
|
2002-10-07 19:14:40 -04:00
|
|
|
MetaVirtualModifier meta_prefs_get_mouse_button_mods (void);
|
2009-01-27 16:05:42 -05:00
|
|
|
guint meta_prefs_get_mouse_button_resize (void);
|
|
|
|
guint meta_prefs_get_mouse_button_menu (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);
|
2010-09-10 05:55:20 -04:00
|
|
|
gboolean meta_prefs_get_attach_modal_dialogs (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);
|
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);
|
2010-06-24 14:41:28 -04:00
|
|
|
gboolean meta_prefs_get_side_by_side_tiling (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);
|
2009-06-19 11:30:37 -04:00
|
|
|
gboolean meta_prefs_get_force_fullscreen (void);
|
2005-07-11 09:25:08 -04:00
|
|
|
|
2008-08-31 18:55:18 -04:00
|
|
|
/**
|
|
|
|
* Sets whether the compositor is turned on.
|
|
|
|
*
|
|
|
|
* \param whether TRUE to turn on, FALSE to turn off
|
|
|
|
*/
|
|
|
|
void meta_prefs_set_compositing_manager (gboolean whether);
|
|
|
|
|
2009-06-19 11:30:37 -04:00
|
|
|
void meta_prefs_set_force_fullscreen (gboolean whether);
|
|
|
|
|
2008-09-18 11:09:11 -04:00
|
|
|
GSList * meta_prefs_get_clutter_plugins (void);
|
|
|
|
|
|
|
|
/**
|
2008-10-31 08:33:37 -04:00
|
|
|
* Sets the list of plugins persistently in GConf
|
2008-09-18 11:09:11 -04:00
|
|
|
*
|
2008-10-31 08:33:37 -04:00
|
|
|
* \param list list of plugin:option pairs
|
2008-09-18 11:09:11 -04:00
|
|
|
*/
|
|
|
|
void meta_prefs_set_clutter_plugins (GSList *list);
|
2008-10-31 08:33:37 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the list of plugins temporarily for this process. The value
|
|
|
|
* from GConf will be ignored.
|
|
|
|
*
|
|
|
|
* \param list list of plugin:option pairs
|
|
|
|
*/
|
|
|
|
void meta_prefs_override_clutter_plugins (GSList *list);
|
|
|
|
|
2008-10-24 05:07:24 -04:00
|
|
|
gboolean meta_prefs_get_live_hidden_windows (void);
|
|
|
|
void meta_prefs_set_live_hidden_windows (gboolean whether);
|
|
|
|
|
2009-02-02 09:09:04 -05:00
|
|
|
gboolean meta_prefs_get_no_tab_popup (void);
|
|
|
|
void meta_prefs_set_no_tab_popup (gboolean whether);
|
|
|
|
void meta_prefs_override_no_tab_popup (gboolean whether);
|
2008-10-24 05:07:24 -04:00
|
|
|
|
2008-10-05 20:24:07 -04:00
|
|
|
/* XXX FIXME This should be x-macroed, but isn't yet because it would be
|
|
|
|
* difficult (or perhaps impossible) to add the suffixes using the current
|
|
|
|
* system. It needs some more thought, perhaps after the current system
|
|
|
|
* evolves a little.
|
|
|
|
*/
|
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;
|
2009-03-20 16:28:13 -04:00
|
|
|
const char *default_keybinding;
|
2008-11-22 14:02:54 -05:00
|
|
|
/**
|
|
|
|
* A list of MetaKeyCombos. Each of them is bound to
|
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
|
|
|
* 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;
|
|
|
|
|
2008-11-22 14:02:54 -05:00
|
|
|
/** for keybindings that can have shift or not like Alt+Tab */
|
|
|
|
gboolean add_shift:1;
|
|
|
|
|
|
|
|
/** for keybindings that apply only to a window */
|
|
|
|
gboolean per_window:1;
|
2002-04-28 00:52:26 -04:00
|
|
|
} MetaKeyPref;
|
|
|
|
|
2008-11-22 14:02:54 -05:00
|
|
|
void meta_prefs_get_key_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);
|
|
|
|
|
2008-12-02 18:13:11 -05:00
|
|
|
void meta_prefs_get_overlay_binding (MetaKeyCombo *combo);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|