24 #include <X11/XKBlib.h> 45 window = gdk_x11_window_foreign_new_for_display
46 (gdk_display_get_default(), GDK_ROOT_WINDOW());
48 gdk_window_remove_filter(window, filter, data);
59 window = gdk_x11_window_foreign_new_for_display
60 (gdk_display_get_default(), GDK_ROOT_WINDOW());
62 gdk_window_add_filter(window, filter, data);
85 static GdkFilterReturn
86 key_filter(GdkXEvent *gdk_xevent, G_GNUC_UNUSED GdkEvent *event, gpointer data)
88 XKeyEvent *xevent = (XKeyEvent *) gdk_xevent;
99 return GDK_FILTER_CONTINUE;
101 key = xevent->keycode;
102 state = xevent->state;
111 return GDK_FILTER_CONTINUE;
125 gboolean mute_err, up_err, down_err;
139 if (enabled == FALSE)
173 if (mute_err || up_err || down_err) {
175 _(
"Could not grab the following HotKeys"),
176 mute_err ?
_(
"Mute/Unmute") :
"",
177 mute_err ?
"\n" :
"",
178 up_err ?
_(
"Volume Up") :
"",
180 down_err ?
_(
"Volume Down") :
"",
254 DEBUG(
"Creating hotkeys control");
void hotkey_ungrab(Hotkey *hotkey)
Internationalization support.
void audio_raise_volume(Audio *audio, AudioUser user)
void hotkeys_unbind(Hotkeys *hotkeys)
void hotkeys_free(Hotkeys *hotkeys)
static void hotkeys_remove_filter(GdkFilterFunc filter, gpointer data)
void audio_toggle_mute(Audio *audio, AudioUser user)
static void hotkeys_add_filter(GdkFilterFunc filter, gpointer data)
void hotkeys_reload(Hotkeys *hotkeys)
gboolean prefs_get_boolean(const gchar *key, gboolean def)
gboolean hotkey_matches(Hotkey *hotkey, guint code, GdkModifierType mods)
gboolean hotkey_grab(Hotkey *hotkey)
Hotkeys * hotkeys_new(Audio *audio)
void hotkeys_bind(Hotkeys *hotkeys)
Hotkey * hotkey_new(guint code, GdkModifierType mods)
void run_error_dialog(const char *fmt,...)
gint prefs_get_integer(const gchar *key, gint def)
static GdkFilterReturn key_filter(GdkXEvent *gdk_xevent, G_GNUC_UNUSED GdkEvent *event, gpointer data)
void hotkey_free(Hotkey *hotkey)
void audio_lower_volume(Audio *audio, AudioUser user)