mirror of
https://github.com/brl/mutter.git
synced 2025-08-04 23:54:40 +00:00
remove caveats about keybindings
2002-04-28 Havoc Pennington <hp@pobox.com> * README: remove caveats about keybindings * src/metacity.schemas: add schemas for all the keybindings. * src/window.c (meta_window_activate): if in "show desktop" mode when a window is activated, leave show desktop mode. So e.g. when you click on a task in the task list, show desktop mode will be turned off. * src/workspace.c (meta_workspace_get_neighbor): new function that doesn't quite work yet (needs support for getting workspace layout from the pager) * src/prefs.c: keybindings stuff * src/keybindings.c: make keybindings configurable * src/ui.c (meta_ui_parse_accelerator): new function
This commit is contained in:

committed by
Havoc Pennington

parent
e9053f1f52
commit
e4e200a1dc
46
src/ui.c
46
src/ui.c
@@ -31,6 +31,8 @@
|
||||
|
||||
#include <pango/pangox.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
struct _MetaUI
|
||||
{
|
||||
Display *xdisplay;
|
||||
@@ -592,3 +594,47 @@ meta_ui_have_a_theme (void)
|
||||
{
|
||||
return meta_theme_get_current () != NULL;
|
||||
}
|
||||
|
||||
gboolean
|
||||
meta_ui_parse_accelerator (const char *accel,
|
||||
unsigned int *keysym,
|
||||
unsigned long *mask)
|
||||
{
|
||||
GdkModifierType gdk_mask = 0;
|
||||
guint gdk_sym = 0;
|
||||
|
||||
*keysym = 0;
|
||||
*mask = 0;
|
||||
|
||||
if (strcmp (accel, "disabled") == 0)
|
||||
return TRUE;
|
||||
|
||||
gtk_accelerator_parse (accel, &gdk_sym, &gdk_mask);
|
||||
|
||||
if (gdk_sym == None)
|
||||
return FALSE;
|
||||
|
||||
if (gdk_mask & GDK_RELEASE_MASK) /* we don't allow this */
|
||||
return FALSE;
|
||||
|
||||
*keysym = gdk_sym;
|
||||
|
||||
if (gdk_mask & GDK_SHIFT_MASK)
|
||||
*mask |= ShiftMask;
|
||||
if (gdk_mask & GDK_LOCK_MASK)
|
||||
*mask |= LockMask;
|
||||
if (gdk_mask & GDK_CONTROL_MASK)
|
||||
*mask |= ControlMask;
|
||||
if (gdk_mask & GDK_MOD1_MASK)
|
||||
*mask |= Mod1Mask;
|
||||
if (gdk_mask & GDK_MOD2_MASK)
|
||||
*mask |= Mod2Mask;
|
||||
if (gdk_mask & GDK_MOD3_MASK)
|
||||
*mask |= Mod3Mask;
|
||||
if (gdk_mask & GDK_MOD4_MASK)
|
||||
*mask |= Mod4Mask;
|
||||
if (gdk_mask & GDK_MOD5_MASK)
|
||||
*mask |= Mod5Mask;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Reference in New Issue
Block a user