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:
Havoc Pennington
2002-04-28 04:52:26 +00:00
committed by Havoc Pennington
parent e9053f1f52
commit e4e200a1dc
18 changed files with 2480 additions and 458 deletions

View File

@@ -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;
}