Exemple #1
0
void ungrab_keys ( )
{
    Display* xdisplay;
    int screen;
    PluginConfig* plugin_cfg = get_config();
    HotkeyConfiguration *hotkey;

    XErrorHandler old_handler = 0;
     xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());

    if (!grabbed) return;
    if (!xdisplay) return;

    XSync(xdisplay, False);
    old_handler = XSetErrorHandler (x11_error_handler);

    get_offending_modifiers(xdisplay);

    hotkey = &(plugin_cfg->first);
    while (hotkey)
    {
        for (screen=0;screen<ScreenCount(xdisplay);screen++)
        {
            ungrab_key(hotkey, xdisplay, RootWindow(xdisplay, screen));
        }
        hotkey = hotkey->next;
    }

    XSync(xdisplay, False);
    XSetErrorHandler (old_handler);

    grabbed = 0;
}
Exemple #2
0
void glist_grab_ungrab_key (Sven *sven,GList* list,int i)
{
	if(sven == NULL)
		return;
		
	GList *p = g_list_first (list);
	
	while (p)
	{
		int modifer=0;
		
		ConfigSection *section = (ConfigSection *) p->data;

		gchar **key_modifer = g_strsplit(section->name,":",2);
		if(key_modifer[1]==NULL)
			modifer=0;
		else
			modifer=atoi(key_modifer[1]);
		if(i==0)
		{
			gint y=0;
			sven_cfg_read_int(sven->config->key,section->name, "enable",&y);
			if(y)
			{
				grab_key (atoi(key_modifer[0]),modifer);
			}
		}
		else
			ungrab_key(atoi(key_modifer[0]));

		g_strfreev(key_modifer);
			
		p = g_list_next (p);
	}
}
Exemple #3
0
/*
 * disable hotkeys
 */
void
hotkeys_done()
{
	begin_func("hotkeys_done");
	ungrab_key(menukey, menukey_mask);
	return_void();
}
static void ungrab_keys()
{
	int i;

	for (i = 0; i < XF86AUDIO_MAX; i++)
		if (map[i] != 0) {
			ungrab_key(map[i]);
			map[i] = 0;
		}
}
Exemple #5
0
/*
 * Remove all existing bindings
 */
static void
remove_bindings()
{
    if (!accelerators_list)
        return;

    GdkDisplay *display = gdk_display_get_default();
    GdkScreen *screen = gdk_display_get_default_screen(display);

    if (!screen)
        return;

    GdkWindow *root = gdk_screen_get_root_window(screen);
    gdk_window_remove_filter(root, (GdkFilterFunc) filter_keys, NULL);

    /* Unbind shortcuts */
    for (Accelerator *acl = accelerators_list; acl->action != NULL; ++acl)
        if (acl->key != 0)
            ungrab_key(acl->key, acl->mask, root);
}
Exemple #6
0
void icon_set_shortcut(Icon *icon, const gchar *shortcut)
{
	g_return_if_fail(icon != NULL);

	if (shortcut && !*shortcut)
		shortcut = NULL;
	if (icon->shortcut == shortcut)
		return;
	if (icon->shortcut && shortcut && strcmp(icon->shortcut, shortcut) == 0)
		return;

	initModifiers();

	ungrab_key(icon);

	g_free(icon->shortcut);
	icon->shortcut = g_strdup(shortcut);
	parseKeyString(&icon->shortcut_key, shortcut);

	grab_key(icon);
}