keyboard: Trivial update to code style

This fixed many code style issues in wm-common, and add
a few g_autofree when possible.
This commit is contained in:
Georges Basile Stavracas Neto 2018-03-16 14:39:31 -03:00
parent aba1647bea
commit 0269f6e5b2
2 changed files with 42 additions and 41 deletions

View file

@ -35,12 +35,12 @@ wm_common_get_window_manager_property (Atom atom)
val = NULL; val = NULL;
result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
wm_window, wm_window,
atom, atom,
0, G_MAXLONG, 0, G_MAXLONG,
False, utf8_string, False, utf8_string,
&type, &format, &nitems, &type, &format, &nitems,
&bytes_after, (guchar **) &val); &bytes_after, (guchar **) &val);
if (gdk_error_trap_pop () || result != Success || if (gdk_error_trap_pop () || result != Success ||
type != utf8_string || format != 8 || nitems == 0 || type != utf8_string || format != 8 || nitems == 0 ||
@ -53,8 +53,7 @@ wm_common_get_window_manager_property (Atom atom)
retval = g_strndup (val, nitems); retval = g_strndup (val, nitems);
} }
if (val) g_clear_pointer (&val, XFree);
XFree (val);
return retval; return retval;
} }
@ -74,31 +73,37 @@ wm_common_get_current_window_manager (void)
GStrv GStrv
wm_common_get_current_keybindings (void) wm_common_get_current_keybindings (void)
{ {
Atom keybindings_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_GNOME_WM_KEYBINDINGS", False); g_autofree gchar* keybindings = NULL;
char *keybindings = wm_common_get_window_manager_property (keybindings_atom); g_auto(GStrv) results = NULL;
char **results; Atom keybindings_atom;
keybindings_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_GNOME_WM_KEYBINDINGS", False);
keybindings = wm_common_get_window_manager_property (keybindings_atom);
if (keybindings) if (keybindings)
{ {
char **p; GStrv p;
results = g_strsplit(keybindings, ",", -1);
for (p = results; *p; p++) results = g_strsplit (keybindings, ",", -1);
g_strstrip (*p);
g_free (keybindings); for (p = results; p && *p; p++)
g_strstrip (*p);
} }
else else
{ {
Atom wm_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_WM_NAME", False); g_autofree gchar *wm_name = NULL;
char *wm_name = wm_common_get_window_manager_property (wm_atom); Atom wm_atom;
char *to_copy[] = { NULL, NULL }; gchar *to_copy[2] = { NULL, NULL };
wm_atom = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_WM_NAME", False);
wm_name = wm_common_get_window_manager_property (wm_atom);
to_copy[0] = wm_name ? wm_name : WM_COMMON_UNKNOWN; to_copy[0] = wm_name ? wm_name : WM_COMMON_UNKNOWN;
results = g_strdupv (to_copy); results = g_strdupv (to_copy);
g_free (wm_name);
} }
return results; return g_steal_pointer (&results);
} }
static void static void
@ -111,9 +116,9 @@ update_wm_window (void)
gulong bytes_after; gulong bytes_after;
XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), GDK_ROOT_WINDOW (), XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), GDK_ROOT_WINDOW (),
XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_SUPPORTING_WM_CHECK", False), XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_SUPPORTING_WM_CHECK", False),
0, G_MAXLONG, False, XA_WINDOW, &type, &format, 0, G_MAXLONG, False, XA_WINDOW, &type, &format,
&nitems, &bytes_after, (guchar **) &xwindow); &nitems, &bytes_after, (guchar **) &xwindow);
if (type != XA_WINDOW) if (type != XA_WINDOW)
{ {
@ -132,14 +137,14 @@ update_wm_window (void)
return; return;
} }
wm_window = *xwindow; wm_window = *xwindow;
XFree (xwindow); XFree (xwindow);
} }
static GdkFilterReturn static GdkFilterReturn
wm_window_event_filter (GdkXEvent *xev, wm_window_event_filter (GdkXEvent *xev,
GdkEvent *event, GdkEvent *event,
gpointer data) gpointer data)
{ {
WMCallbackData *ncb_data = (WMCallbackData*) data; WMCallbackData *ncb_data = (WMCallbackData*) data;
XEvent *xevent = (XEvent *)xev; XEvent *xevent = (XEvent *)xev;
@ -154,8 +159,7 @@ wm_window_event_filter (GdkXEvent *xev,
xevent->xproperty.atom == (XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_WM_NAME", False)))) xevent->xproperty.atom == (XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), "_NET_WM_NAME", False))))
{ {
update_wm_window (); update_wm_window ();
(* ncb_data->func) ((gpointer)wm_common_get_current_window_manager(), (* ncb_data->func) ((gpointer) wm_common_get_current_window_manager (), ncb_data->data);
ncb_data->data);
} }
return GDK_FILTER_CONTINUE; return GDK_FILTER_CONTINUE;
@ -163,7 +167,7 @@ wm_window_event_filter (GdkXEvent *xev,
gpointer gpointer
wm_common_register_window_manager_change (GFunc func, wm_common_register_window_manager_change (GFunc func,
gpointer data) gpointer data)
{ {
WMCallbackData *ncb_data; WMCallbackData *ncb_data;
@ -185,8 +189,8 @@ wm_common_register_window_manager_change (GFunc func,
void void
wm_common_unregister_window_manager_change (gpointer id) wm_common_unregister_window_manager_change (gpointer id)
{ {
g_return_if_fail (id != NULL); g_return_if_fail (id != NULL);
gdk_window_remove_filter (NULL, wm_window_event_filter, id); gdk_window_remove_filter (NULL, wm_window_event_filter, id);
g_free (id); g_free (id);
} }

View file

@ -1,5 +1,4 @@
#ifndef WM_COMMON_H #pragma once
#define WM_COMMON_H
#define WM_COMMON_METACITY "Metacity" #define WM_COMMON_METACITY "Metacity"
#define WM_COMMON_SAWFISH "Sawfish" #define WM_COMMON_SAWFISH "Sawfish"
@ -7,11 +6,9 @@
/* Returns a strv of keybinding names for the window manager; /* Returns a strv of keybinding names for the window manager;
* using _GNOME_WM_KEYBINDINGS if available, _NET_WM_NAME otherwise. */ * using _GNOME_WM_KEYBINDINGS if available, _NET_WM_NAME otherwise. */
GStrv wm_common_get_current_keybindings (void); GStrv wm_common_get_current_keybindings (void);
gpointer wm_common_register_window_manager_change (GFunc func, gpointer wm_common_register_window_manager_change (GFunc func,
gpointer data); gpointer data);
void wm_common_unregister_window_manager_change (gpointer id); void wm_common_unregister_window_manager_change (gpointer id);
#endif /* WM_COMMON_H */