summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2019-02-20 17:01:01 +0100
committerBenjamin Berg <bberg@redhat.com>2019-03-22 13:20:22 +0100
commit863cc23d12a1d7474dce2958fadcafdf183eab79 (patch)
tree337fbc4500914495fab0599abf72e719019f83f0
parent86601817a75eec9910ffc5bbcc3339d44d76987d (diff)
downloadgnome-settings-daemon-863cc23d12a1d7474dce2958fadcafdf183eab79.tar.gz
media-keys: Use G_DECLARE_DERIVABLE_TYPE for GsdMediaKeysManager
-rw-r--r--plugins/media-keys/gsd-media-keys-manager.c736
-rw-r--r--plugins/media-keys/gsd-media-keys-manager.h19
2 files changed, 413 insertions, 342 deletions
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index 929bfb1d..8bdf32d3 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -128,7 +128,7 @@ static const gchar introspection_xml[] =
#define AUDIO_SELECTION_DBUS_PATH "/org/gnome/Shell/AudioDeviceSelection"
#define AUDIO_SELECTION_DBUS_INTERFACE "org.gnome.Shell.AudioDeviceSelection"
-#define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerPrivate))
+#define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (gsd_media_keys_manager_get_instance_private (o))
typedef struct {
char *application;
@@ -156,7 +156,7 @@ typedef struct {
MediaKey *key;
} GrabData;
-struct GsdMediaKeysManagerPrivate
+typedef struct
{
/* Volume bits */
GvcMixerControl *volume;
@@ -239,7 +239,7 @@ struct GsdMediaKeysManagerPrivate
/* Multimedia keys */
guint mmkeys_name_id;
MprisController *mpris_controller;
-};
+} GsdMediaKeysManagerPrivate;
static void gsd_media_keys_manager_class_init (GsdMediaKeysManagerClass *klass);
static void gsd_media_keys_manager_init (GsdMediaKeysManager *media_keys_manager);
@@ -253,7 +253,7 @@ static void grab_media_key (MediaKey *key,
GsdMediaKeysManager *manager);
static void ungrab_media_key (MediaKey *key,
GsdMediaKeysManager *manager);
-G_DEFINE_TYPE (GsdMediaKeysManager, gsd_media_keys_manager, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GsdMediaKeysManager, gsd_media_keys_manager, G_TYPE_OBJECT)
static gpointer manager_object = NULL;
@@ -288,11 +288,12 @@ static void
set_launch_context_env (GsdMediaKeysManager *manager,
GAppLaunchContext *launch_context)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
GVariant *variant, *item;
GVariantIter *iter;
- variant = g_dbus_connection_call_sync (manager->priv->connection,
+ variant = g_dbus_connection_call_sync (priv->connection,
GNOME_KEYRING_DBUS_NAME,
GNOME_KEYRING_DBUS_PATH,
GNOME_KEYRING_DBUS_INTERFACE,
@@ -348,14 +349,16 @@ static char *
get_binding (GsdMediaKeysManager *manager,
MediaKey *key)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
if (key->settings_key != NULL)
- return g_settings_get_string (manager->priv->settings, key->settings_key);
+ return g_settings_get_string (priv->settings, key->settings_key);
else if (key->hard_coded != NULL)
return g_strdup (key->hard_coded);
else if (key->custom_path != NULL) {
GSettings *settings;
- settings = g_hash_table_lookup (manager->priv->custom_settings,
+ settings = g_hash_table_lookup (priv->custom_settings,
key->custom_path);
return g_settings_get_string (settings, "binding");
} else
@@ -370,10 +373,12 @@ show_osd_with_max_level (GsdMediaKeysManager *manager,
int max_level,
int output_id)
{
- if (manager->priv->shell_proxy == NULL)
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->shell_proxy == NULL)
return;
- shell_show_osd_with_max_level (manager->priv->shell_proxy,
+ shell_show_osd_with_max_level (priv->shell_proxy,
icon, label, level, max_level, output_id);
}
@@ -445,10 +450,11 @@ grab_accelerators_complete (GObject *object,
GAsyncResult *result,
gpointer user_data)
{
+ GsdMediaKeysManager *manager = user_data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GVariant *ret, *actions;
gboolean retry = FALSE;
GError *error = NULL;
- GsdMediaKeysManager *manager = user_data;
ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (object), result, &error);
g_variant_get (ret, "(@au)", &actions);
@@ -463,10 +469,10 @@ grab_accelerators_complete (GObject *object,
g_error_free (error);
} else {
int i;
- for (i = 0; i < manager->priv->keys->len; i++) {
+ for (i = 0; i < priv->keys->len; i++) {
MediaKey *key;
- key = g_ptr_array_index (manager->priv->keys, i);
+ key = g_ptr_array_index (priv->keys, i);
g_variant_get_child (actions, i, "u", &key->accel_id);
}
}
@@ -482,28 +488,29 @@ grab_accelerators_complete (GObject *object,
static void
grab_media_keys (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GVariantBuilder builder;
int i;
g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(suu)"));
- for (i = 0; i < manager->priv->keys->len; i++) {
+ for (i = 0; i < priv->keys->len; i++) {
MediaKey *key;
char *tmp;
- key = g_ptr_array_index (manager->priv->keys, i);
+ key = g_ptr_array_index (priv->keys, i);
tmp = get_binding (manager, key);
g_variant_builder_add (&builder, "(suu)", tmp, key->modes, key->grab_flags);
g_free (tmp);
}
- g_dbus_proxy_call (G_DBUS_PROXY (manager->priv->key_grabber),
+ g_dbus_proxy_call (G_DBUS_PROXY (priv->key_grabber),
"GrabAccelerators",
g_variant_new ("(@a(suu))",
g_variant_builder_end (&builder)),
G_DBUS_CALL_FLAGS_NONE,
SHELL_GRABBER_CALL_TIMEOUT,
- manager->priv->grab_cancellable,
+ priv->grab_cancellable,
grab_accelerators_complete,
manager);
}
@@ -517,6 +524,7 @@ grab_accelerator_complete (GObject *object,
GrabData *data = user_data;
MediaKey *key = data->key;
GsdMediaKeysManager *manager = data->manager;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
if (!shell_key_grabber_call_grab_accelerator_finish (SHELL_KEY_GRABBER (object),
@@ -527,7 +535,7 @@ grab_accelerator_complete (GObject *object,
}
keyname = get_key_string (key);
- g_hash_table_remove (manager->priv->keys_pending_grab, keyname);
+ g_hash_table_remove (priv->keys_pending_grab, keyname);
if (key->ungrab_requested)
ungrab_media_key (key, manager);
@@ -535,9 +543,9 @@ grab_accelerator_complete (GObject *object,
media_key_unref (key);
g_slice_free (GrabData, data);
- if ((key = g_hash_table_lookup (manager->priv->keys_to_grab, keyname)) != NULL) {
+ if ((key = g_hash_table_lookup (priv->keys_to_grab, keyname)) != NULL) {
grab_media_key (key, manager);
- g_hash_table_remove (manager->priv->keys_to_grab, keyname);
+ g_hash_table_remove (priv->keys_to_grab, keyname);
}
g_free (keyname);
@@ -547,13 +555,14 @@ static void
grab_media_key (MediaKey *key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GrabData *data;
char *binding, *keyname;
keyname = get_key_string (key);
binding = get_binding (manager, key);
- if (g_hash_table_lookup (manager->priv->keys_pending_grab, keyname)) {
- g_hash_table_insert (manager->priv->keys_to_grab,
+ if (g_hash_table_lookup (priv->keys_pending_grab, keyname)) {
+ g_hash_table_insert (priv->keys_to_grab,
g_strdup (keyname), media_key_ref (key));
goto out;
}
@@ -562,12 +571,12 @@ grab_media_key (MediaKey *key,
data->manager = manager;
data->key = media_key_ref (key);
- shell_key_grabber_call_grab_accelerator (manager->priv->key_grabber,
+ shell_key_grabber_call_grab_accelerator (priv->key_grabber,
binding, key->modes, key->grab_flags,
- manager->priv->grab_cancellable,
+ priv->grab_cancellable,
grab_accelerator_complete,
data);
- g_hash_table_add (manager->priv->keys_pending_grab, g_strdup (keyname));
+ g_hash_table_add (priv->keys_pending_grab, g_strdup (keyname));
out:
g_free (keyname);
g_free (binding);
@@ -592,11 +601,12 @@ static gboolean
is_pending_grab (MediaKey *key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *keyname = get_key_string (key);
const char *val;
gboolean pending_grab;
- val = g_hash_table_lookup (manager->priv->keys_pending_grab, keyname);
+ val = g_hash_table_lookup (priv->keys_pending_grab, keyname);
pending_grab = val != NULL;
g_free (keyname);
@@ -607,14 +617,16 @@ static void
ungrab_media_key (MediaKey *key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
if (key->accel_id == 0) {
key->ungrab_requested = is_pending_grab (key, manager);
return;
}
- shell_key_grabber_call_ungrab_accelerator (manager->priv->key_grabber,
+ shell_key_grabber_call_ungrab_accelerator (priv->key_grabber,
key->accel_id,
- manager->priv->grab_cancellable,
+ priv->grab_cancellable,
ungrab_accelerator_complete,
manager);
key->accel_id = 0;
@@ -625,10 +637,11 @@ gsettings_changed_cb (GSettings *settings,
const gchar *settings_key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
int i;
/* Give up if we don't have proxy to the shell */
- if (!manager->priv->key_grabber)
+ if (!priv->key_grabber)
return;
/* handled in gsettings_custom_changed_cb() */
@@ -640,13 +653,13 @@ gsettings_changed_cb (GSettings *settings,
return;
/* Find the key that was modified */
- if (manager->priv->keys == NULL)
+ if (priv->keys == NULL)
return;
- for (i = 0; i < manager->priv->keys->len; i++) {
+ for (i = 0; i < priv->keys->len; i++) {
MediaKey *key;
- key = g_ptr_array_index (manager->priv->keys, i);
+ key = g_ptr_array_index (priv->keys, i);
/* Skip over hard-coded and GConf keys */
if (key->settings_key == NULL)
@@ -663,19 +676,20 @@ static MediaKey *
media_key_new_for_path (GsdMediaKeysManager *manager,
char *path)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GSettings *settings;
char *command, *binding;
MediaKey *key;
g_debug ("media_key_new_for_path: %s", path);
- settings = g_hash_table_lookup (manager->priv->custom_settings, path);
+ settings = g_hash_table_lookup (priv->custom_settings, path);
if (settings == NULL) {
settings = g_settings_new_with_path (CUSTOM_BINDING_SCHEMA, path);
g_signal_connect (settings, "changed",
G_CALLBACK (custom_binding_changed), manager);
- g_hash_table_insert (manager->priv->custom_settings,
+ g_hash_table_insert (priv->custom_settings,
g_strdup (path), settings);
}
@@ -704,19 +718,20 @@ static void
update_custom_binding (GsdMediaKeysManager *manager,
char *path)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
MediaKey *key;
int i;
/* Remove the existing key */
- for (i = 0; i < manager->priv->keys->len; i++) {
- key = g_ptr_array_index (manager->priv->keys, i);
+ for (i = 0; i < priv->keys->len; i++) {
+ key = g_ptr_array_index (priv->keys, i);
if (key->custom_path == NULL)
continue;
if (strcmp (key->custom_path, path) == 0) {
g_debug ("Removing custom key binding %s", path);
ungrab_media_key (key, manager);
- g_ptr_array_remove_index_fast (manager->priv->keys, i);
+ g_ptr_array_remove_index_fast (priv->keys, i);
break;
}
}
@@ -725,7 +740,7 @@ update_custom_binding (GsdMediaKeysManager *manager,
key = media_key_new_for_path (manager, path);
if (key) {
g_debug ("Adding new custom key binding %s", path);
- g_ptr_array_add (manager->priv->keys, key);
+ g_ptr_array_add (priv->keys, key);
grab_media_key (key, manager);
}
@@ -736,11 +751,12 @@ update_custom_binding_command (GsdMediaKeysManager *manager,
GSettings *settings,
char *path)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
MediaKey *key;
int i;
- for (i = 0; i < manager->priv->keys->len; i++) {
- key = g_ptr_array_index (manager->priv->keys, i);
+ for (i = 0; i < priv->keys->len; i++) {
+ key = g_ptr_array_index (priv->keys, i);
if (key->custom_path == NULL)
continue;
@@ -774,6 +790,7 @@ gsettings_custom_changed_cb (GSettings *settings,
const char *settings_key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char **bindings;
int i, j, n_bindings;
@@ -782,16 +799,16 @@ gsettings_custom_changed_cb (GSettings *settings,
/* Handle additions */
for (i = 0; i < n_bindings; i++) {
- if (g_hash_table_lookup (manager->priv->custom_settings,
+ if (g_hash_table_lookup (priv->custom_settings,
bindings[i]))
continue;
update_custom_binding (manager, bindings[i]);
}
/* Handle removals */
- for (i = 0; i < manager->priv->keys->len; i++) {
+ for (i = 0; i < priv->keys->len; i++) {
gboolean found = FALSE;
- MediaKey *key = g_ptr_array_index (manager->priv->keys, i);
+ MediaKey *key = g_ptr_array_index (priv->keys, i);
if (key->key_type != CUSTOM_KEY)
continue;
@@ -802,9 +819,9 @@ gsettings_custom_changed_cb (GSettings *settings,
continue;
ungrab_media_key (key, manager);
- g_hash_table_remove (manager->priv->custom_settings,
+ g_hash_table_remove (priv->custom_settings,
key->custom_path);
- g_ptr_array_remove_index_fast (manager->priv->keys, i);
+ g_ptr_array_remove_index_fast (priv->keys, i);
--i; /* make up for the removed key */
}
g_strfreev (bindings);
@@ -813,6 +830,7 @@ gsettings_custom_changed_cb (GSettings *settings,
static void
add_key (GsdMediaKeysManager *manager, guint i)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
MediaKey *key;
key = media_key_new ();
@@ -822,12 +840,13 @@ add_key (GsdMediaKeysManager *manager, guint i)
key->modes = media_keys[i].modes;
key->grab_flags = media_keys[i].grab_flags;
- g_ptr_array_add (manager->priv->keys, key);
+ g_ptr_array_add (priv->keys, key);
}
static void
init_kbd (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char **custom_paths;
int i;
@@ -845,7 +864,7 @@ init_kbd (GsdMediaKeysManager *manager)
}
/* Custom shortcuts */
- custom_paths = g_settings_get_strv (manager->priv->settings,
+ custom_paths = g_settings_get_strv (priv->settings,
"custom-keybindings");
for (i = 0; i < g_strv_length (custom_paths); i++) {
@@ -857,7 +876,7 @@ init_kbd (GsdMediaKeysManager *manager)
if (!key) {
continue;
}
- g_ptr_array_add (manager->priv->keys, key);
+ g_ptr_array_add (priv->keys, key);
}
g_strfreev (custom_paths);
@@ -972,6 +991,7 @@ gnome_session_shutdown_cb (GObject *source_object,
static void
gnome_session_shutdown (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GDBusProxy *proxy;
proxy = G_DBUS_PROXY (gnome_settings_bus_get_session_proxy ());
@@ -981,7 +1001,7 @@ gnome_session_shutdown (GsdMediaKeysManager *manager)
NULL,
G_DBUS_CALL_FLAGS_NONE,
-1,
- manager->priv->bus_cancellable,
+ priv->bus_cancellable,
gnome_session_shutdown_cb,
NULL);
@@ -1078,10 +1098,12 @@ static void
do_search_action (GsdMediaKeysManager *manager,
gint64 timestamp)
{
- if (manager->priv->shell_proxy == NULL)
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->shell_proxy == NULL)
return;
- gsd_shell_call_focus_search (manager->priv->shell_proxy,
+ gsd_shell_call_focus_search (priv->shell_proxy,
NULL, NULL, NULL);
}
@@ -1152,7 +1174,7 @@ on_screen_locked (GsdScreenSaver *screen_saver,
static void
do_lock_screensaver (GsdMediaKeysManager *manager)
{
- GsdMediaKeysManagerPrivate *priv = manager->priv;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
if (priv->screen_saver_proxy == NULL)
priv->screen_saver_proxy = gnome_settings_bus_get_screen_saver_proxy ();
@@ -1168,11 +1190,12 @@ sound_theme_changed (GtkSettings *settings,
GParamSpec *pspec,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *theme_name;
- g_object_get (G_OBJECT (manager->priv->gtksettings), "gtk-sound-theme-name", &theme_name, NULL);
+ g_object_get (G_OBJECT (priv->gtksettings), "gtk-sound-theme-name", &theme_name, NULL);
if (theme_name)
- ca_context_change_props (manager->priv->ca, CA_PROP_CANBERRA_XDG_THEME_NAME, theme_name, NULL);
+ ca_context_change_props (priv->ca, CA_PROP_CANBERRA_XDG_THEME_NAME, theme_name, NULL);
g_free (theme_name);
}
@@ -1181,33 +1204,35 @@ allow_volume_above_100_percent_changed_cb (GSettings *settings,
const char *settings_key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gboolean allow_volume_above_100_percent;
g_assert (g_str_equal (settings_key, ALLOW_VOLUME_ABOVE_100_PERCENT_KEY));
allow_volume_above_100_percent = g_settings_get_boolean (settings, settings_key);
- manager->priv->max_volume = allow_volume_above_100_percent ? PA_VOLUME_UI_MAX : PA_VOLUME_NORM;
+ priv->max_volume = allow_volume_above_100_percent ? PA_VOLUME_UI_MAX : PA_VOLUME_NORM;
}
static void
ensure_canberra (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *theme_name;
- if (manager->priv->ca != NULL)
+ if (priv->ca != NULL)
return;
- ca_context_create (&manager->priv->ca);
- ca_context_set_driver (manager->priv->ca, "pulse");
- ca_context_change_props (manager->priv->ca, 0,
+ ca_context_create (&priv->ca);
+ ca_context_set_driver (priv->ca, "pulse");
+ ca_context_change_props (priv->ca, 0,
CA_PROP_APPLICATION_ID, "org.gnome.VolumeControl",
NULL);
- manager->priv->gtksettings = gtk_settings_get_for_screen (gdk_screen_get_default ());
- g_object_get (G_OBJECT (manager->priv->gtksettings), "gtk-sound-theme-name", &theme_name, NULL);
+ priv->gtksettings = gtk_settings_get_for_screen (gdk_screen_get_default ());
+ g_object_get (G_OBJECT (priv->gtksettings), "gtk-sound-theme-name", &theme_name, NULL);
if (theme_name)
- ca_context_change_props (manager->priv->ca, CA_PROP_CANBERRA_XDG_THEME_NAME, theme_name, NULL);
+ ca_context_change_props (priv->ca, CA_PROP_CANBERRA_XDG_THEME_NAME, theme_name, NULL);
g_free (theme_name);
- g_signal_connect (manager->priv->gtksettings, "notify::gtk-sound-theme-name",
+ g_signal_connect (priv->gtksettings, "notify::gtk-sound-theme-name",
G_CALLBACK (sound_theme_changed), manager);
}
@@ -1219,12 +1244,13 @@ update_dialog (GsdMediaKeysManager *manager,
gboolean sound_changed,
gboolean quiet)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GvcMixerUIDevice *device;
const GvcMixerStreamPort *port;
const char *icon;
int max_volume_pct;
- max_volume_pct = (int) (100 * (double) manager->priv->max_volume / PA_VOLUME_NORM);
+ max_volume_pct = (int) (100 * (double) priv->max_volume / PA_VOLUME_NORM);
if (!muted) {
vol = (int) (100 * (double) vol / PA_VOLUME_NORM);
@@ -1239,7 +1265,7 @@ update_dialog (GsdMediaKeysManager *manager,
(port != NULL &&
g_strcmp0 (port->port, "analog-output-speaker") != 0 &&
g_strcmp0 (port->port, "analog-output") != 0)) {
- device = gvc_mixer_control_lookup_device_from_stream (manager->priv->volume, stream);
+ device = gvc_mixer_control_lookup_device_from_stream (priv->volume, stream);
show_osd_with_max_level (manager, icon,
gvc_mixer_ui_device_get_description (device),
vol, max_volume_pct, OSD_ALL_OUTPUTS);
@@ -1249,9 +1275,9 @@ update_dialog (GsdMediaKeysManager *manager,
if (quiet == FALSE && sound_changed != FALSE && muted == FALSE) {
ensure_canberra (manager);
- ca_context_change_device (manager->priv->ca,
+ ca_context_change_device (priv->ca,
gvc_mixer_stream_get_name (stream));
- ca_context_play (manager->priv->ca, 1,
+ ca_context_play (priv->ca, 1,
CA_PROP_EVENT_ID, "audio-volume-change",
CA_PROP_EVENT_DESCRIPTION, "volume changed through key press",
CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
@@ -1266,11 +1292,12 @@ static GUdevDevice *
get_udev_device_for_sysfs_path (GsdMediaKeysManager *manager,
const char *sysfs_path)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *path;
GUdevDevice *dev;
path = g_strdup_printf ("/sys%s", sysfs_path);
- dev = g_udev_client_query_by_sysfs_path (manager->priv->udev_client, path);
+ dev = g_udev_client_query_by_sysfs_path (priv->udev_client, path);
g_free (path);
return dev;
@@ -1281,18 +1308,19 @@ get_stream_for_device_id (GsdMediaKeysManager *manager,
gboolean is_output,
guint deviceid)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *devnode;
gpointer id_ptr;
GvcMixerStream *res;
GUdevDevice *dev, *parent;
GSList *streams, *l;
- id_ptr = g_hash_table_lookup (manager->priv->streams, GUINT_TO_POINTER (deviceid));
+ id_ptr = g_hash_table_lookup (priv->streams, GUINT_TO_POINTER (deviceid));
if (id_ptr != NULL) {
if (GPOINTER_TO_UINT (id_ptr) == (guint) -1)
return NULL;
else
- return gvc_mixer_control_lookup_stream_id (manager->priv->volume, GPOINTER_TO_UINT (id_ptr));
+ return gvc_mixer_control_lookup_stream_id (priv->volume, GPOINTER_TO_UINT (id_ptr));
}
devnode = xdevice_get_device_node (deviceid);
@@ -1301,7 +1329,7 @@ get_stream_for_device_id (GsdMediaKeysManager *manager,
return NULL;
}
- dev = g_udev_client_query_by_device_file (manager->priv->udev_client, devnode);
+ dev = g_udev_client_query_by_device_file (priv->udev_client, devnode);
if (dev == NULL) {
g_debug ("Could not find udev device for device path '%s'", devnode);
g_free (devnode);
@@ -1311,7 +1339,7 @@ get_stream_for_device_id (GsdMediaKeysManager *manager,
if (g_strcmp0 (g_udev_device_get_property (dev, "ID_BUS"), "usb") != 0) {
g_debug ("Not handling XInput device %d, not USB", deviceid);
- g_hash_table_insert (manager->priv->streams,
+ g_hash_table_insert (priv->streams,
GUINT_TO_POINTER (deviceid),
GUINT_TO_POINTER ((guint) -1));
g_object_unref (dev);
@@ -1327,9 +1355,9 @@ get_stream_for_device_id (GsdMediaKeysManager *manager,
res = NULL;
if (is_output)
- streams = gvc_mixer_control_get_sinks (manager->priv->volume);
+ streams = gvc_mixer_control_get_sinks (priv->volume);
else
- streams = gvc_mixer_control_get_sources (manager->priv->volume);
+ streams = gvc_mixer_control_get_sources (priv->volume);
for (l = streams; l; l = l->next) {
GvcMixerStream *stream = l->data;
const char *sysfs_path;
@@ -1356,11 +1384,11 @@ get_stream_for_device_id (GsdMediaKeysManager *manager,
g_slist_free (streams);
if (res)
- g_hash_table_insert (manager->priv->streams,
+ g_hash_table_insert (priv->streams,
GUINT_TO_POINTER (deviceid),
GUINT_TO_POINTER (gvc_mixer_stream_get_id (res)));
else
- g_hash_table_insert (manager->priv->streams,
+ g_hash_table_insert (priv->streams,
GUINT_TO_POINTER (deviceid),
GUINT_TO_POINTER ((guint) -1));
@@ -1380,6 +1408,7 @@ do_sound_action (GsdMediaKeysManager *manager,
int type,
SoundActionFlags flags)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GvcMixerStream *stream;
gboolean old_muted, new_muted;
guint old_vol, new_vol, norm_vol_step;
@@ -1395,9 +1424,9 @@ do_sound_action (GsdMediaKeysManager *manager,
if (stream == NULL) {
if (flags & SOUND_ACTION_FLAG_IS_OUTPUT)
- stream = manager->priv->sink;
+ stream = priv->sink;
else
- stream = manager->priv->source;
+ stream = priv->source;
}
if (stream == NULL)
@@ -1429,7 +1458,7 @@ do_sound_action (GsdMediaKeysManager *manager,
new_muted = FALSE;
/* When coming out of mute only increase the volume if it was 0 */
if (!old_muted || old_vol == 0)
- new_vol = MIN (old_vol + norm_vol_step, manager->priv->max_volume);
+ new_vol = MIN (old_vol + norm_vol_step, priv->max_volume);
break;
}
@@ -1452,16 +1481,17 @@ do_sound_action (GsdMediaKeysManager *manager,
static void
update_default_sink (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GvcMixerStream *stream;
- stream = gvc_mixer_control_get_default_sink (manager->priv->volume);
- if (stream == manager->priv->sink)
+ stream = gvc_mixer_control_get_default_sink (priv->volume);
+ if (stream == priv->sink)
return;
- g_clear_object (&manager->priv->sink);
+ g_clear_object (&priv->sink);
if (stream != NULL) {
- manager->priv->sink = g_object_ref (stream);
+ priv->sink = g_object_ref (stream);
} else {
g_warning ("Unable to get default sink");
}
@@ -1470,16 +1500,17 @@ update_default_sink (GsdMediaKeysManager *manager)
static void
update_default_source (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GvcMixerStream *stream;
- stream = gvc_mixer_control_get_default_source (manager->priv->volume);
- if (stream == manager->priv->source)
+ stream = gvc_mixer_control_get_default_source (priv->volume);
+ if (stream == priv->source)
return;
- g_clear_object (&manager->priv->source);
+ g_clear_object (&priv->source);
if (stream != NULL) {
- manager->priv->source = g_object_ref (stream);
+ priv->source = g_object_ref (stream);
} else {
g_warning ("Unable to get default source");
}
@@ -1527,17 +1558,19 @@ on_control_stream_removed (GvcMixerControl *control,
guint id,
GsdMediaKeysManager *manager)
{
- if (manager->priv->sink != NULL) {
- if (gvc_mixer_stream_get_id (manager->priv->sink) == id)
- g_clear_object (&manager->priv->sink);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->sink != NULL) {
+ if (gvc_mixer_stream_get_id (priv->sink) == id)
+ g_clear_object (&priv->sink);
}
- if (manager->priv->source != NULL) {
- if (gvc_mixer_stream_get_id (manager->priv->source) == id)
- g_clear_object (&manager->priv->source);
+ if (priv->source != NULL) {
+ if (gvc_mixer_stream_get_id (priv->source) == id)
+ g_clear_object (&priv->source);
}
#if HAVE_GUDEV
- g_hash_table_foreach_remove (manager->priv->streams, (GHRFunc) remove_stream, GUINT_TO_POINTER (id));
+ g_hash_table_foreach_remove (priv->streams, (GHRFunc) remove_stream, GUINT_TO_POINTER (id));
#endif
}
@@ -1579,9 +1612,10 @@ name_vanished_handler (GDBusConnection *connection,
const gchar *name,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GList *iter;
- iter = g_list_find_custom (manager->priv->media_players,
+ iter = g_list_find_custom (priv->media_players,
name,
find_by_name);
@@ -1591,7 +1625,7 @@ name_vanished_handler (GDBusConnection *connection,
player = iter->data;
g_debug ("Deregistering vanished %s (dbus_name: %s)", player->application, player->dbus_name);
free_media_player (player);
- manager->priv->media_players = g_list_delete_link (manager->priv->media_players, iter);
+ priv->media_players = g_list_delete_link (priv->media_players, iter);
}
}
@@ -1608,6 +1642,7 @@ gsd_media_keys_manager_grab_media_player_keys (GsdMediaKeysManager *manager,
const char *dbus_name,
guint32 time)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GList *iter;
MediaPlayer *media_player;
guint watch_id;
@@ -1619,7 +1654,7 @@ gsd_media_keys_manager_grab_media_player_keys (GsdMediaKeysManager *manager,
time = tv.tv_sec * 1000 + tv.tv_usec / 1000;
}
- iter = g_list_find_custom (manager->priv->media_players,
+ iter = g_list_find_custom (priv->media_players,
application,
find_by_application);
@@ -1627,7 +1662,7 @@ gsd_media_keys_manager_grab_media_player_keys (GsdMediaKeysManager *manager,
if (((MediaPlayer *)iter->data)->time < time) {
MediaPlayer *player = iter->data;
free_media_player (player);
- manager->priv->media_players = g_list_delete_link (manager->priv->media_players, iter);
+ priv->media_players = g_list_delete_link (priv->media_players, iter);
} else {
return;
}
@@ -1648,9 +1683,9 @@ gsd_media_keys_manager_grab_media_player_keys (GsdMediaKeysManager *manager,
media_player->time = time;
media_player->watch_id = watch_id;
- manager->priv->media_players = g_list_insert_sorted (manager->priv->media_players,
- media_player,
- find_by_time);
+ priv->media_players = g_list_insert_sorted (priv->media_players,
+ media_player,
+ find_by_time);
}
static void
@@ -1658,18 +1693,19 @@ gsd_media_keys_manager_release_media_player_keys (GsdMediaKeysManager *manager,
const char *application,
const char *name)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GList *iter = NULL;
g_return_if_fail (application != NULL || name != NULL);
if (application != NULL) {
- iter = g_list_find_custom (manager->priv->media_players,
+ iter = g_list_find_custom (priv->media_players,
application,
find_by_application);
}
if (iter == NULL && name != NULL) {
- iter = g_list_find_custom (manager->priv->media_players,
+ iter = g_list_find_custom (priv->media_players,
name,
find_by_name);
}
@@ -1680,7 +1716,7 @@ gsd_media_keys_manager_release_media_player_keys (GsdMediaKeysManager *manager,
player = iter->data;
g_debug ("Deregistering %s (dbus_name: %s)", application, player->dbus_name);
free_media_player (player);
- manager->priv->media_players = g_list_delete_link (manager->priv->media_players, iter);
+ priv->media_players = g_list_delete_link (priv->media_players, iter);
}
}
@@ -1688,6 +1724,7 @@ static gboolean
gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
const char *key)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char *application;
gboolean have_listeners;
GError *error = NULL;
@@ -1698,12 +1735,12 @@ gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
g_debug ("Media key '%s' pressed", key);
/* Prefer MPRIS players to those using the native API */
- if (mpris_controller_get_has_active_player (manager->priv->mpris_controller)) {
- if (mpris_controller_key (manager->priv->mpris_controller, key))
+ if (mpris_controller_get_has_active_player (priv->mpris_controller)) {
+ if (mpris_controller_key (priv->mpris_controller, key))
return TRUE;
}
- have_listeners = (manager->priv->media_players != NULL);
+ have_listeners = (priv->media_players != NULL);
if (!have_listeners) {
/* Popup a dialog with an (/) icon */
@@ -1711,10 +1748,10 @@ gsd_media_player_key_pressed (GsdMediaKeysManager *manager,
return TRUE;
}
- player = manager->priv->media_players->data;
+ player = priv->media_players->data;
application = player->application;
- if (g_dbus_connection_emit_signal (manager->priv->connection,
+ if (g_dbus_connection_emit_signal (priv->connection,
player->dbus_name,
GSD_MEDIA_KEYS_DBUS_PATH,
GSD_MEDIA_KEYS_DBUS_NAME,
@@ -1779,10 +1816,11 @@ sensor_properties_changed (GDBusProxy *proxy,
gpointer user_data)
{
GsdMediaKeysManager *manager = user_data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GVariant *v;
GVariantDict dict;
- if (manager->priv->iio_sensor_proxy == NULL)
+ if (priv->iio_sensor_proxy == NULL)
return;
if (changed_properties)
@@ -1790,13 +1828,13 @@ sensor_properties_changed (GDBusProxy *proxy,
if (changed_properties == NULL ||
g_variant_dict_contains (&dict, "HasAccelerometer")) {
- v = g_dbus_proxy_get_cached_property (manager->priv->iio_sensor_proxy,
+ v = g_dbus_proxy_get_cached_property (priv->iio_sensor_proxy,
"HasAccelerometer");
if (v == NULL) {
g_debug ("Couldn't fetch HasAccelerometer property");
return;
}
- manager->priv->has_accel = g_variant_get_boolean (v);
+ priv->has_accel = g_variant_get_boolean (v);
g_variant_unref (v);
}
}
@@ -1808,26 +1846,27 @@ iio_sensor_appeared_cb (GDBusConnection *connection,
gpointer user_data)
{
GsdMediaKeysManager *manager = user_data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->iio_sensor_proxy = g_dbus_proxy_new_sync (connection,
- G_DBUS_PROXY_FLAGS_NONE,
- NULL,
- "net.hadess.SensorProxy",
- "/net/hadess/SensorProxy",
- "net.hadess.SensorProxy",
- NULL,
- &error);
+ priv->iio_sensor_proxy = g_dbus_proxy_new_sync (connection,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ "net.hadess.SensorProxy",
+ "/net/hadess/SensorProxy",
+ "net.hadess.SensorProxy",
+ NULL,
+ &error);
- if (manager->priv->iio_sensor_proxy == NULL) {
+ if (priv->iio_sensor_proxy == NULL) {
g_warning ("Failed to access net.hadess.SensorProxy after it appeared");
return;
}
- g_signal_connect (G_OBJECT (manager->priv->iio_sensor_proxy),
+ g_signal_connect (G_OBJECT (priv->iio_sensor_proxy),
"g-properties-changed",
G_CALLBACK (sensor_properties_changed), manager);
- sensor_properties_changed (manager->priv->iio_sensor_proxy,
+ sensor_properties_changed (priv->iio_sensor_proxy,
NULL, NULL, manager);
}
@@ -1837,18 +1876,21 @@ iio_sensor_disappeared_cb (GDBusConnection *connection,
gpointer user_data)
{
GsdMediaKeysManager *manager = user_data;
- g_clear_object (&manager->priv->iio_sensor_proxy);
- manager->priv->has_accel = FALSE;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ g_clear_object (&priv->iio_sensor_proxy);
+ priv->has_accel = FALSE;
}
static void
do_video_rotate_lock_action (GsdMediaKeysManager *manager,
gint64 timestamp)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GSettings *settings;
gboolean locked;
- if (!manager->priv->has_accel) {
+ if (!priv->has_accel) {
g_debug ("Ignoring attempt to set orientation lock: no accelerometer");
return;
}
@@ -1896,6 +1938,7 @@ static void
do_text_size_action (GsdMediaKeysManager *manager,
MediaKeyType type)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gdouble factor, best, distance;
guint i;
@@ -1908,7 +1951,7 @@ do_text_size_action (GsdMediaKeysManager *manager,
};
/* Figure out the current DPI scaling factor */
- factor = g_settings_get_double (manager->priv->interface_settings, "text-scaling-factor");
+ factor = g_settings_get_double (priv->interface_settings, "text-scaling-factor");
factor += (type == INCREASE_TEXT_KEY ? 0.25 : -0.25);
/* Try to find a matching value */
@@ -1924,9 +1967,9 @@ do_text_size_action (GsdMediaKeysManager *manager,
}
if (best == 1.0)
- g_settings_reset (manager->priv->interface_settings, "text-scaling-factor");
+ g_settings_reset (priv->interface_settings, "text-scaling-factor");
else
- g_settings_set_double (manager->priv->interface_settings, "text-scaling-factor", best);
+ g_settings_set_double (priv->interface_settings, "text-scaling-factor", best);
}
static void
@@ -1952,23 +1995,24 @@ do_magnifier_zoom_action (GsdMediaKeysManager *manager,
static void
do_toggle_contrast_action (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gboolean high_contrast;
char *theme;
/* Are we using HighContrast now? */
- theme = g_settings_get_string (manager->priv->interface_settings, "gtk-theme");
+ theme = g_settings_get_string (priv->interface_settings, "gtk-theme");
high_contrast = g_str_equal (theme, HIGH_CONTRAST);
g_free (theme);
if (high_contrast != FALSE) {
- if (manager->priv->gtk_theme == NULL)
- g_settings_reset (manager->priv->interface_settings, "gtk-theme");
+ if (priv->gtk_theme == NULL)
+ g_settings_reset (priv->interface_settings, "gtk-theme");
else
- g_settings_set (manager->priv->interface_settings, "gtk-theme", manager->priv->gtk_theme);
- g_settings_set (manager->priv->interface_settings, "icon-theme", manager->priv->icon_theme);
+ g_settings_set (priv->interface_settings, "gtk-theme", priv->gtk_theme);
+ g_settings_set (priv->interface_settings, "icon-theme", priv->icon_theme);
} else {
- g_settings_set (manager->priv->interface_settings, "gtk-theme", HIGH_CONTRAST);
- g_settings_set (manager->priv->interface_settings, "icon-theme", HIGH_CONTRAST);
+ g_settings_set (priv->interface_settings, "gtk-theme", HIGH_CONTRAST);
+ g_settings_set (priv->interface_settings, "icon-theme", HIGH_CONTRAST);
}
}
@@ -1977,12 +2021,14 @@ power_action (GsdMediaKeysManager *manager,
const char *action,
gboolean allow_interaction)
{
- g_dbus_proxy_call (manager->priv->logind_proxy,
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ g_dbus_proxy_call (priv->logind_proxy,
action,
g_variant_new ("(b)", allow_interaction),
G_DBUS_CALL_FLAGS_NONE,
G_MAXINT,
- manager->priv->bus_cancellable,
+ priv->bus_cancellable,
NULL, NULL);
}
@@ -2018,6 +2064,7 @@ static gboolean
supports_power_action (GsdMediaKeysManager *manager,
GsdPowerActionType action_type)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char *method_name = NULL;
g_autoptr(GVariant) variant = NULL;
const char *reply;
@@ -2043,12 +2090,12 @@ supports_power_action (GsdMediaKeysManager *manager,
if (method_name == NULL)
return FALSE;
- variant = g_dbus_proxy_call_sync (manager->priv->logind_proxy,
+ variant = g_dbus_proxy_call_sync (priv->logind_proxy,
method_name,
NULL,
G_DBUS_CALL_FLAGS_NONE,
-1,
- manager->priv->bus_cancellable,
+ priv->bus_cancellable,
NULL);
if (variant == NULL)
@@ -2065,25 +2112,26 @@ static void
do_config_power_button_action (GsdMediaKeysManager *manager,
gboolean in_lock_screen)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GsdPowerButtonActionType action_type;
GsdPowerActionType action;
- if (manager->priv->power_button_disabled)
+ if (priv->power_button_disabled)
return;
/* Always power off VMs when power off is pressed in the menus */
- if (g_strcmp0 (manager->priv->chassis_type, "vm") == 0) {
+ if (g_strcmp0 (priv->chassis_type, "vm") == 0) {
power_action (manager, "PowerOff", !in_lock_screen);
return;
}
/* Always suspend tablets */
- if (g_strcmp0 (manager->priv->chassis_type, "tablet") == 0) {
+ if (g_strcmp0 (priv->chassis_type, "tablet") == 0) {
power_action (manager, "Suspend", !in_lock_screen);
return;
}
- action_type = g_settings_get_enum (manager->priv->power_settings, "power-button-action");
+ action_type = g_settings_get_enum (priv->power_settings, "power-button-action");
switch (action_type) {
case GSD_POWER_BUTTON_ACTION_SUSPEND:
action = GSD_POWER_ACTION_SUSPEND;
@@ -2114,10 +2162,11 @@ update_brightness_cb (GObject *source_object,
int percentage, output_id;
GVariant *variant;
GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char *icon, *debug;
/* update the dialog with the new value */
- if (G_DBUS_PROXY (source_object) == manager->priv->power_keyboard_proxy) {
+ if (G_DBUS_PROXY (source_object) == priv->power_keyboard_proxy) {
debug = "keyboard";
} else {
debug = "screen";
@@ -2134,7 +2183,7 @@ update_brightness_cb (GObject *source_object,
}
/* update the dialog with the new value */
- if (G_DBUS_PROXY (source_object) == manager->priv->power_keyboard_proxy) {
+ if (G_DBUS_PROXY (source_object) == priv->power_keyboard_proxy) {
icon = "keyboard-brightness-symbolic";
output_id = -1;
g_variant_get (variant, "(i)", &percentage);
@@ -2151,6 +2200,7 @@ static void
do_brightness_action (GsdMediaKeysManager *manager,
MediaKeyType type)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char *cmd;
GDBusProxy *proxy;
@@ -2158,17 +2208,17 @@ do_brightness_action (GsdMediaKeysManager *manager,
case KEYBOARD_BRIGHTNESS_UP_KEY:
case KEYBOARD_BRIGHTNESS_DOWN_KEY:
case KEYBOARD_BRIGHTNESS_TOGGLE_KEY:
- proxy = manager->priv->power_keyboard_proxy;
+ proxy = priv->power_keyboard_proxy;
break;
case SCREEN_BRIGHTNESS_UP_KEY:
case SCREEN_BRIGHTNESS_DOWN_KEY:
- proxy = manager->priv->power_screen_proxy;
+ proxy = priv->power_screen_proxy;
break;
default:
g_assert_not_reached ();
}
- if (manager->priv->connection == NULL ||
+ if (priv->connection == NULL ||
proxy == NULL) {
g_warning ("No existing D-Bus connection trying to handle power keys");
return;
@@ -2204,13 +2254,14 @@ do_brightness_action (GsdMediaKeysManager *manager,
static void
do_battery_action (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gdouble percentage;
UpDeviceKind kind;
gchar *icon_name;
- g_return_if_fail (manager->priv->composite_device != NULL);
+ g_return_if_fail (priv->composite_device != NULL);
- g_object_get (manager->priv->composite_device,
+ g_object_get (priv->composite_device,
"kind", &kind,
"icon-name", &icon_name,
"percentage", &percentage,
@@ -2228,10 +2279,11 @@ static gboolean
get_rfkill_property (GsdMediaKeysManager *manager,
const char *property)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GVariant *v;
gboolean ret;
- v = g_dbus_proxy_get_cached_property (manager->priv->rfkill_proxy, property);
+ v = g_dbus_proxy_get_cached_property (priv->rfkill_proxy, property);
if (!v)
return FALSE;
ret = g_variant_get_boolean (v);
@@ -2294,6 +2346,7 @@ static void
do_rfkill_action (GsdMediaKeysManager *manager,
gboolean bluetooth)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char *has_mode, *hw_mode, *mode;
gboolean new_state;
RfkillData *data;
@@ -2302,7 +2355,7 @@ do_rfkill_action (GsdMediaKeysManager *manager,
hw_mode = bluetooth ? "BluetoothHardwareAirplaneMode" : "HardwareAirplaneMode";
mode = bluetooth ? "BluetoothAirplaneMode" : "AirplaneMode";
- if (manager->priv->rfkill_proxy == NULL)
+ if (priv->rfkill_proxy == NULL)
return;
if (get_rfkill_property (manager, has_mode) == FALSE)
@@ -2320,14 +2373,14 @@ do_rfkill_action (GsdMediaKeysManager *manager,
data->property = g_strdup (mode);
data->bluetooth = bluetooth;
data->target_state = new_state;
- g_dbus_proxy_call (manager->priv->rfkill_proxy,
+ g_dbus_proxy_call (priv->rfkill_proxy,
"org.freedesktop.DBus.Properties.Set",
g_variant_new ("(ssv)",
"org.gnome.SettingsDaemon.Rfkill",
data->property,
g_variant_new_boolean (new_state)),
G_DBUS_CALL_FLAGS_NONE, -1,
- manager->priv->rfkill_cancellable,
+ priv->rfkill_cancellable,
set_rfkill_complete, data);
g_debug ("Setting rfkill property %s to %s",
@@ -2337,18 +2390,20 @@ do_rfkill_action (GsdMediaKeysManager *manager,
static void
screencast_stop (GsdMediaKeysManager *manager)
{
- if (manager->priv->screencast_timeout_id > 0) {
- g_source_remove (manager->priv->screencast_timeout_id);
- manager->priv->screencast_timeout_id = 0;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->screencast_timeout_id > 0) {
+ g_source_remove (priv->screencast_timeout_id);
+ priv->screencast_timeout_id = 0;
}
- g_dbus_proxy_call (manager->priv->screencast_proxy,
+ g_dbus_proxy_call (priv->screencast_proxy,
"StopScreencast", NULL,
G_DBUS_CALL_FLAGS_NONE, -1,
- manager->priv->screencast_cancellable,
+ priv->screencast_cancellable,
NULL, NULL);
- manager->priv->screencast_recording = FALSE;
+ priv->screencast_recording = FALSE;
}
static gboolean
@@ -2362,8 +2417,9 @@ screencast_timeout (gpointer user_data)
static void
screencast_start (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
guint max_length;
- g_dbus_proxy_call (manager->priv->screencast_proxy,
+ g_dbus_proxy_call (priv->screencast_proxy,
"Screencast",
g_variant_new_parsed ("(%s, @a{sv} {})",
/* Translators: this is a filename used for screencast
@@ -2372,27 +2428,29 @@ screencast_start (GsdMediaKeysManager *manager)
/* xgettext:no-c-format */
_("Screencast from %d %t.webm")),
G_DBUS_CALL_FLAGS_NONE, -1,
- manager->priv->screencast_cancellable,
+ priv->screencast_cancellable,
NULL, NULL);
- max_length = g_settings_get_uint (manager->priv->settings, "max-screencast-length");
+ max_length = g_settings_get_uint (priv->settings, "max-screencast-length");
if (max_length > 0) {
- manager->priv->screencast_timeout_id = g_timeout_add_seconds (max_length,
- screencast_timeout,
- manager);
- g_source_set_name_by_id (manager->priv->screencast_timeout_id, "[gnome-settings-daemon] screencast_timeout");
+ priv->screencast_timeout_id = g_timeout_add_seconds (max_length,
+ screencast_timeout,
+ manager);
+ g_source_set_name_by_id (priv->screencast_timeout_id, "[gnome-settings-daemon] screencast_timeout");
}
- manager->priv->screencast_recording = TRUE;
+ priv->screencast_recording = TRUE;
}
static void
do_screencast_action (GsdMediaKeysManager *manager)
{
- if (manager->priv->screencast_proxy == NULL)
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->screencast_proxy == NULL)
return;
- if (!manager->priv->screencast_recording)
+ if (!priv->screencast_recording)
screencast_start (manager);
else
screencast_stop (manager);
@@ -2585,6 +2643,7 @@ on_accelerator_activated (ShellKeyGrabber *grabber,
GVariant *parameters,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GVariantDict dict;
guint i;
guint deviceid;
@@ -2603,10 +2662,10 @@ on_accelerator_activated (ShellKeyGrabber *grabber,
g_debug ("Received accel id %u (device-id: %u, timestamp: %u, mode: 0x%X)",
accel_id, deviceid, timestamp, mode);
- for (i = 0; i < manager->priv->keys->len; i++) {
+ for (i = 0; i < priv->keys->len; i++) {
MediaKey *key;
- key = g_ptr_array_index (manager->priv->keys, i);
+ key = g_ptr_array_index (priv->keys, i);
if (key->accel_id != accel_id)
continue;
@@ -2626,18 +2685,19 @@ update_theme_settings (GSettings *settings,
const char *key,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
char *theme;
- theme = g_settings_get_string (manager->priv->interface_settings, key);
+ theme = g_settings_get_string (priv->interface_settings, key);
if (g_str_equal (theme, HIGH_CONTRAST)) {
g_free (theme);
} else {
if (g_str_equal (key, "gtk-theme")) {
- g_free (manager->priv->gtk_theme);
- manager->priv->gtk_theme = theme;
+ g_free (priv->gtk_theme);
+ priv->gtk_theme = theme;
} else {
- g_free (manager->priv->icon_theme);
- manager->priv->icon_theme = theme;
+ g_free (priv->icon_theme);
+ priv->icon_theme = theme;
}
}
}
@@ -2662,7 +2722,8 @@ audio_selection_done (GDBusConnection *connection,
GVariant *parameters,
gpointer data)
{
- GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER (data)->priv;
+ GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (data);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const gchar *choice;
guint i;
@@ -2693,7 +2754,7 @@ audio_selection_needed (GvcMixerControl *control,
GvcHeadsetPortChoice choices,
GsdMediaKeysManager *manager)
{
- GsdMediaKeysManagerPrivate *priv = manager->priv;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gchar *args[G_N_ELEMENTS (audio_selection_choices) + 1];
guint i, n;
@@ -2741,8 +2802,10 @@ audio_selection_appeared (GDBusConnection *connection,
gpointer data)
{
GsdMediaKeysManager *manager = data;
- manager->priv->audio_selection_conn = connection;
- manager->priv->audio_selection_signal_id =
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ priv->audio_selection_conn = connection;
+ priv->audio_selection_signal_id =
g_dbus_connection_signal_subscribe (connection,
AUDIO_SELECTION_DBUS_NAME,
AUDIO_SELECTION_DBUS_INTERFACE,
@@ -2758,7 +2821,7 @@ audio_selection_appeared (GDBusConnection *connection,
static void
clear_audio_selection (GsdMediaKeysManager *manager)
{
- GsdMediaKeysManagerPrivate *priv = manager->priv;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
if (priv->audio_selection_signal_id)
g_dbus_connection_signal_unsubscribe (priv->audio_selection_conn,
@@ -2779,6 +2842,8 @@ audio_selection_vanished (GDBusConnection *connection,
static void
initialize_volume_handler (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
/* initialise Volume handler
*
* We do this one here to force checking gstreamer cache, etc.
@@ -2787,32 +2852,32 @@ initialize_volume_handler (GsdMediaKeysManager *manager)
*/
gnome_settings_profile_start ("gvc_mixer_control_new");
- manager->priv->volume = gvc_mixer_control_new ("GNOME Volume Control Media Keys");
+ priv->volume = gvc_mixer_control_new ("GNOME Volume Control Media Keys");
- g_signal_connect (manager->priv->volume,
+ g_signal_connect (priv->volume,
"state-changed",
G_CALLBACK (on_control_state_changed),
manager);
- g_signal_connect (manager->priv->volume,
+ g_signal_connect (priv->volume,
"default-sink-changed",
G_CALLBACK (on_control_default_sink_changed),
manager);
- g_signal_connect (manager->priv->volume,
+ g_signal_connect (priv->volume,
"default-source-changed",
G_CALLBACK (on_control_default_source_changed),
manager);
- g_signal_connect (manager->priv->volume,
+ g_signal_connect (priv->volume,
"stream-removed",
G_CALLBACK (on_control_stream_removed),
manager);
- g_signal_connect (manager->priv->volume,
+ g_signal_connect (priv->volume,
"audio-device-selection-needed",
G_CALLBACK (audio_selection_needed),
manager);
- gvc_mixer_control_open (manager->priv->volume);
+ gvc_mixer_control_open (priv->volume);
- manager->priv->audio_selection_watch_id =
+ priv->audio_selection_watch_id =
g_bus_watch_name (G_BUS_TYPE_SESSION,
AUDIO_SELECTION_DBUS_NAME,
G_BUS_NAME_WATCHER_FLAGS_NONE,
@@ -2830,12 +2895,13 @@ on_screencast_proxy_ready (GObject *source,
gpointer data)
{
GsdMediaKeysManager *manager = data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->screencast_proxy =
+ priv->screencast_proxy =
g_dbus_proxy_new_for_bus_finish (result, &error);
- if (!manager->priv->screencast_proxy) {
+ if (!priv->screencast_proxy) {
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Failed to create proxy for screencast: %s", error->message);
g_error_free (error);
@@ -2848,19 +2914,19 @@ on_key_grabber_ready (GObject *source,
gpointer data)
{
GsdMediaKeysManager *manager = data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->key_grabber =
- shell_key_grabber_proxy_new_for_bus_finish (result, &error);
+ priv->key_grabber = shell_key_grabber_proxy_new_for_bus_finish (result, &error);
- if (!manager->priv->key_grabber) {
+ if (!priv->key_grabber) {
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Failed to create proxy for key grabber: %s", error->message);
g_error_free (error);
return;
}
- g_signal_connect (manager->priv->key_grabber, "accelerator-activated",
+ g_signal_connect (priv->key_grabber, "accelerator-activated",
G_CALLBACK (on_accelerator_activated), manager);
init_kbd (manager);
@@ -2869,20 +2935,21 @@ on_key_grabber_ready (GObject *source,
static void
shell_presence_changed (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gchar *name_owner;
- name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (manager->priv->shell_proxy));
+ name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (priv->shell_proxy));
- g_ptr_array_set_size (manager->priv->keys, 0);
- g_clear_object (&manager->priv->key_grabber);
- g_clear_object (&manager->priv->screencast_proxy);
+ g_ptr_array_set_size (priv->keys, 0);
+ g_clear_object (&priv->key_grabber);
+ g_clear_object (&priv->screencast_proxy);
if (name_owner) {
shell_key_grabber_proxy_new_for_bus (G_BUS_TYPE_SESSION,
0,
name_owner,
SHELL_DBUS_PATH,
- manager->priv->grab_cancellable,
+ priv->grab_cancellable,
on_key_grabber_ready, manager);
g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
@@ -2890,7 +2957,7 @@ shell_presence_changed (GsdMediaKeysManager *manager)
name_owner,
SHELL_DBUS_PATH "/Screencast",
SHELL_DBUS_NAME ".Screencast",
- manager->priv->screencast_cancellable,
+ priv->screencast_cancellable,
on_screencast_proxy_ready, manager);
g_free (name_owner);
}
@@ -2902,8 +2969,9 @@ on_rfkill_proxy_ready (GObject *source,
gpointer data)
{
GsdMediaKeysManager *manager = data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
- manager->priv->rfkill_proxy =
+ priv->rfkill_proxy =
g_dbus_proxy_new_for_bus_finish (result, NULL);
}
@@ -2914,95 +2982,98 @@ rfkill_appeared_cb (GDBusConnection *connection,
gpointer user_data)
{
GsdMediaKeysManager *manager = user_data;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
0, NULL,
"org.gnome.SettingsDaemon.Rfkill",
"/org/gnome/SettingsDaemon/Rfkill",
"org.gnome.SettingsDaemon.Rfkill",
- manager->priv->rfkill_cancellable,
+ priv->rfkill_cancellable,
on_rfkill_proxy_ready, manager);
}
static gboolean
start_media_keys_idle_cb (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
g_debug ("Starting media_keys manager");
gnome_settings_profile_start (NULL);
- manager->priv->keys = g_ptr_array_new_with_free_func ((GDestroyNotify) media_key_unref);
+ priv->keys = g_ptr_array_new_with_free_func ((GDestroyNotify) media_key_unref);
- manager->priv->keys_pending_grab = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, NULL);
- manager->priv->keys_to_grab = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, (GDestroyNotify) media_key_unref);
+ priv->keys_pending_grab = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, NULL);
+ priv->keys_to_grab = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, (GDestroyNotify) media_key_unref);
initialize_volume_handler (manager);
- manager->priv->settings = g_settings_new (SETTINGS_BINDING_DIR);
- g_signal_connect (G_OBJECT (manager->priv->settings), "changed",
+ priv->settings = g_settings_new (SETTINGS_BINDING_DIR);
+ g_signal_connect (G_OBJECT (priv->settings), "changed",
G_CALLBACK (gsettings_changed_cb), manager);
- g_signal_connect (G_OBJECT (manager->priv->settings), "changed::custom-keybindings",
+ g_signal_connect (G_OBJECT (priv->settings), "changed::custom-keybindings",
G_CALLBACK (gsettings_custom_changed_cb), manager);
- manager->priv->custom_settings =
+ priv->custom_settings =
g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_object_unref);
- manager->priv->sound_settings = g_settings_new (SETTINGS_SOUND_DIR);
- g_signal_connect (G_OBJECT (manager->priv->sound_settings),
+ priv->sound_settings = g_settings_new (SETTINGS_SOUND_DIR);
+ g_signal_connect (G_OBJECT (priv->sound_settings),
"changed::" ALLOW_VOLUME_ABOVE_100_PERCENT_KEY,
G_CALLBACK (allow_volume_above_100_percent_changed_cb), manager);
- allow_volume_above_100_percent_changed_cb (manager->priv->sound_settings,
+ allow_volume_above_100_percent_changed_cb (priv->sound_settings,
ALLOW_VOLUME_ABOVE_100_PERCENT_KEY, manager);
/* for the power plugin interface code */
- manager->priv->power_settings = g_settings_new (SETTINGS_POWER_DIR);
- manager->priv->chassis_type = gnome_settings_get_chassis_type ();
+ priv->power_settings = g_settings_new (SETTINGS_POWER_DIR);
+ priv->chassis_type = gnome_settings_get_chassis_type ();
/* Logic from http://git.gnome.org/browse/gnome-shell/tree/js/ui/status/accessibility.js#n163 */
- manager->priv->interface_settings = g_settings_new (SETTINGS_INTERFACE_DIR);
- g_signal_connect (G_OBJECT (manager->priv->interface_settings), "changed::gtk-theme",
+ priv->interface_settings = g_settings_new (SETTINGS_INTERFACE_DIR);
+ g_signal_connect (G_OBJECT (priv->interface_settings), "changed::gtk-theme",
G_CALLBACK (update_theme_settings), manager);
- g_signal_connect (G_OBJECT (manager->priv->interface_settings), "changed::icon-theme",
+ g_signal_connect (G_OBJECT (priv->interface_settings), "changed::icon-theme",
G_CALLBACK (update_theme_settings), manager);
- manager->priv->gtk_theme = g_settings_get_string (manager->priv->interface_settings, "gtk-theme");
- if (g_str_equal (manager->priv->gtk_theme, HIGH_CONTRAST)) {
- g_free (manager->priv->gtk_theme);
- manager->priv->gtk_theme = NULL;
+ priv->gtk_theme = g_settings_get_string (priv->interface_settings, "gtk-theme");
+ if (g_str_equal (priv->gtk_theme, HIGH_CONTRAST)) {
+ g_free (priv->gtk_theme);
+ priv->gtk_theme = NULL;
}
- manager->priv->icon_theme = g_settings_get_string (manager->priv->interface_settings, "icon-theme");
+ priv->icon_theme = g_settings_get_string (priv->interface_settings, "icon-theme");
- manager->priv->grab_cancellable = g_cancellable_new ();
- manager->priv->screencast_cancellable = g_cancellable_new ();
- manager->priv->rfkill_cancellable = g_cancellable_new ();
+ priv->grab_cancellable = g_cancellable_new ();
+ priv->screencast_cancellable = g_cancellable_new ();
+ priv->rfkill_cancellable = g_cancellable_new ();
- manager->priv->shell_proxy = gnome_settings_bus_get_shell_proxy ();
- g_signal_connect_swapped (manager->priv->shell_proxy, "notify::g-name-owner",
+ priv->shell_proxy = gnome_settings_bus_get_shell_proxy ();
+ g_signal_connect_swapped (priv->shell_proxy, "notify::g-name-owner",
G_CALLBACK (shell_presence_changed), manager);
shell_presence_changed (manager);
- manager->priv->rfkill_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
- "org.gnome.SettingsDaemon.Rfkill",
- G_BUS_NAME_WATCHER_FLAGS_NONE,
- rfkill_appeared_cb,
- NULL,
- manager, NULL);
+ priv->rfkill_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
+ "org.gnome.SettingsDaemon.Rfkill",
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ rfkill_appeared_cb,
+ NULL,
+ manager, NULL);
g_debug ("Starting mpris controller");
- manager->priv->mpris_controller = mpris_controller_new ();
+ priv->mpris_controller = mpris_controller_new ();
/* Rotation */
- manager->priv->iio_sensor_watch_id = g_bus_watch_name (G_BUS_TYPE_SYSTEM,
- "net.hadess.SensorProxy",
- G_BUS_NAME_WATCHER_FLAGS_NONE,
- iio_sensor_appeared_cb,
- iio_sensor_disappeared_cb,
- manager, NULL);
+ priv->iio_sensor_watch_id = g_bus_watch_name (G_BUS_TYPE_SYSTEM,
+ "net.hadess.SensorProxy",
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ iio_sensor_appeared_cb,
+ iio_sensor_disappeared_cb,
+ manager, NULL);
gnome_settings_profile_end (NULL);
- manager->priv->start_idle_id = 0;
+ priv->start_idle_id = 0;
return FALSE;
}
@@ -3011,17 +3082,18 @@ gboolean
gsd_media_keys_manager_start (GsdMediaKeysManager *manager,
GError **error)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
const char * const subsystems[] = { "input", "usb", "sound", NULL };
gnome_settings_profile_start (NULL);
#if HAVE_GUDEV
- manager->priv->streams = g_hash_table_new (g_direct_hash, g_direct_equal);
- manager->priv->udev_client = g_udev_client_new (subsystems);
+ priv->streams = g_hash_table_new (g_direct_hash, g_direct_equal);
+ priv->udev_client = g_udev_client_new (subsystems);
#endif
- manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_media_keys_idle_cb, manager);
- g_source_set_name_by_id (manager->priv->start_idle_id, "[gnome-settings-daemon] start_media_keys_idle_cb");
+ priv->start_idle_id = g_idle_add ((GSourceFunc) start_media_keys_idle_cb, manager);
+ g_source_set_name_by_id (priv->start_idle_id, "[gnome-settings-daemon] start_media_keys_idle_cb");
register_manager (manager_object);
@@ -3033,7 +3105,7 @@ gsd_media_keys_manager_start (GsdMediaKeysManager *manager,
void
gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
{
- GsdMediaKeysManagerPrivate *priv = manager->priv;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
int i;
g_debug ("Stopping media_keys manager");
@@ -3054,19 +3126,19 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
priv->bus_cancellable = NULL;
}
- if (manager->priv->gtksettings != NULL) {
- g_signal_handlers_disconnect_by_func (manager->priv->gtksettings, sound_theme_changed, manager);
- manager->priv->gtksettings = NULL;
+ if (priv->gtksettings != NULL) {
+ g_signal_handlers_disconnect_by_func (priv->gtksettings, sound_theme_changed, manager);
+ priv->gtksettings = NULL;
}
- if (manager->priv->rfkill_watch_id > 0) {
- g_bus_unwatch_name (manager->priv->rfkill_watch_id);
- manager->priv->rfkill_watch_id = 0;
+ if (priv->rfkill_watch_id > 0) {
+ g_bus_unwatch_name (priv->rfkill_watch_id);
+ priv->rfkill_watch_id = 0;
}
- if (manager->priv->iio_sensor_watch_id > 0) {
- g_bus_unwatch_name (manager->priv->iio_sensor_watch_id);
- manager->priv->iio_sensor_watch_id = 0;
+ if (priv->iio_sensor_watch_id > 0) {
+ g_bus_unwatch_name (priv->iio_sensor_watch_id);
+ priv->iio_sensor_watch_id = 0;
}
if (priv->inhibit_suspend_fd != -1) {
@@ -3080,7 +3152,7 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
priv->reenable_power_button_timer_id = 0;
}
- g_clear_pointer (&manager->priv->ca, ca_context_destroy);
+ g_clear_pointer (&priv->ca, ca_context_destroy);
#if HAVE_GUDEV
g_clear_pointer (&priv->streams, g_hash_table_destroy);
@@ -3107,7 +3179,7 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
for (i = 0; i < priv->keys->len; ++i) {
MediaKey *key;
- key = g_ptr_array_index (manager->priv->keys, i);
+ key = g_ptr_array_index (priv->keys, i);
ungrab_media_key (key, manager);
}
g_ptr_array_free (priv->keys, TRUE);
@@ -3158,6 +3230,7 @@ inhibit_suspend_done (GObject *source,
{
GDBusProxy *proxy = G_DBUS_PROXY (source);
GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
GVariant *res;
GUnixFDList *fd_list = NULL;
@@ -3170,12 +3243,12 @@ inhibit_suspend_done (GObject *source,
g_error_free (error);
} else {
g_variant_get (res, "(h)", &idx);
- manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error);
- if (manager->priv->inhibit_suspend_fd == -1) {
+ priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error);
+ if (priv->inhibit_suspend_fd == -1) {
g_warning ("Failed to receive system suspend inhibitor fd: %s", error->message);
g_error_free (error);
}
- g_debug ("System suspend inhibitor fd is %d", manager->priv->inhibit_suspend_fd);
+ g_debug ("System suspend inhibitor fd is %d", priv->inhibit_suspend_fd);
g_object_unref (fd_list);
g_variant_unref (res);
}
@@ -3187,13 +3260,15 @@ inhibit_suspend_done (GObject *source,
static void
inhibit_suspend (GsdMediaKeysManager *manager)
{
- if (manager->priv->inhibit_suspend_taken) {
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->inhibit_suspend_taken) {
g_debug ("already inhibited suspend");
return;
}
g_debug ("Adding suspend delay inhibitor");
- manager->priv->inhibit_suspend_taken = TRUE;
- g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
+ priv->inhibit_suspend_taken = TRUE;
+ g_dbus_proxy_call_with_unix_fd_list (priv->logind_proxy,
"Inhibit",
g_variant_new ("(ssss)",
"sleep",
@@ -3211,47 +3286,55 @@ inhibit_suspend (GsdMediaKeysManager *manager)
static void
uninhibit_suspend (GsdMediaKeysManager *manager)
{
- if (manager->priv->inhibit_suspend_fd == -1) {
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->inhibit_suspend_fd == -1) {
g_debug ("no suspend delay inhibitor");
return;
}
g_debug ("Removing suspend delay inhibitor");
- close (manager->priv->inhibit_suspend_fd);
- manager->priv->inhibit_suspend_fd = -1;
- manager->priv->inhibit_suspend_taken = FALSE;
+ close (priv->inhibit_suspend_fd);
+ priv->inhibit_suspend_fd = -1;
+ priv->inhibit_suspend_taken = FALSE;
}
static gboolean
reenable_power_button_timer_cb (GsdMediaKeysManager *manager)
{
- manager->priv->power_button_disabled = FALSE;
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ priv->power_button_disabled = FALSE;
/* This is a one shot timer. */
- manager->priv->reenable_power_button_timer_id = 0;
+ priv->reenable_power_button_timer_id = 0;
return G_SOURCE_REMOVE;
}
static void
setup_reenable_power_button_timer (GsdMediaKeysManager *manager)
{
- if (manager->priv->reenable_power_button_timer_id != 0)
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->reenable_power_button_timer_id != 0)
return;
- manager->priv->reenable_power_button_timer_id =
+ priv->reenable_power_button_timer_id =
g_timeout_add (GSD_REENABLE_POWER_BUTTON_DELAY,
(GSourceFunc) reenable_power_button_timer_cb,
manager);
- g_source_set_name_by_id (manager->priv->reenable_power_button_timer_id,
+ g_source_set_name_by_id (priv->reenable_power_button_timer_id,
"[GsdMediaKeysManager] Reenable power button timer");
}
static void
stop_reenable_power_button_timer (GsdMediaKeysManager *manager)
{
- if (manager->priv->reenable_power_button_timer_id == 0)
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ if (priv->reenable_power_button_timer_id == 0)
return;
- g_source_remove (manager->priv->reenable_power_button_timer_id);
- manager->priv->reenable_power_button_timer_id = 0;
+ g_source_remove (priv->reenable_power_button_timer_id);
+ priv->reenable_power_button_timer_id = 0;
}
static void
@@ -3262,6 +3345,7 @@ logind_proxy_signal_cb (GDBusProxy *proxy,
gpointer user_data)
{
GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
gboolean is_about_to_suspend;
if (g_strcmp0 (signal_name, "PrepareForSleep") != 0)
@@ -3272,7 +3356,7 @@ logind_proxy_signal_cb (GDBusProxy *proxy,
* up with the power-button, suppress this, to avoid immediate
* re-suspend. */
stop_reenable_power_button_timer (manager);
- manager->priv->power_button_disabled = TRUE;
+ priv->power_button_disabled = TRUE;
uninhibit_suspend (manager);
} else {
inhibit_suspend (manager);
@@ -3287,8 +3371,6 @@ gsd_media_keys_manager_class_init (GsdMediaKeysManagerClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = gsd_media_keys_manager_finalize;
-
- g_type_class_add_private (klass, sizeof (GsdMediaKeysManagerPrivate));
}
static void
@@ -3298,6 +3380,7 @@ inhibit_done (GObject *source,
{
GDBusProxy *proxy = G_DBUS_PROXY (source);
GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
GVariant *res;
GUnixFDList *fd_list = NULL;
@@ -3310,12 +3393,12 @@ inhibit_done (GObject *source,
g_error_free (error);
} else {
g_variant_get (res, "(h)", &idx);
- manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error);
- if (manager->priv->inhibit_keys_fd == -1) {
+ priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error);
+ if (priv->inhibit_keys_fd == -1) {
g_warning ("Failed to receive system inhibitor fd: %s", error->message);
g_error_free (error);
}
- g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd);
+ g_debug ("System inhibitor fd is %d", priv->inhibit_keys_fd);
g_object_unref (fd_list);
g_variant_unref (res);
}
@@ -3324,11 +3407,12 @@ inhibit_done (GObject *source,
static void
gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error;
GDBusConnection *bus;
error = NULL;
- manager->priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+ priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
if (bus == NULL) {
@@ -3338,7 +3422,7 @@ gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
return;
}
- manager->priv->logind_proxy =
+ priv->logind_proxy =
g_dbus_proxy_new_sync (bus,
0,
NULL,
@@ -3348,7 +3432,7 @@ gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
NULL,
&error);
- if (manager->priv->logind_proxy == NULL) {
+ if (priv->logind_proxy == NULL) {
g_warning ("Failed to connect to systemd: %s",
error->message);
g_error_free (error);
@@ -3357,8 +3441,8 @@ gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
g_object_unref (bus);
g_debug ("Adding system inhibitors for power keys");
- manager->priv->inhibit_keys_fd = -1;
- g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
+ priv->inhibit_keys_fd = -1;
+ g_dbus_proxy_call_with_unix_fd_list (priv->logind_proxy,
"Inhibit",
g_variant_new ("(ssss)",
"handle-power-key:handle-suspend-key:handle-hibernate-key",
@@ -3373,8 +3457,8 @@ gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
manager);
g_debug ("Adding delay inhibitor for suspend");
- manager->priv->inhibit_suspend_fd = -1;
- g_signal_connect (manager->priv->logind_proxy, "g-signal",
+ priv->inhibit_suspend_fd = -1;
+ g_signal_connect (priv->logind_proxy, "g-signal",
G_CALLBACK (logind_proxy_signal_cb),
manager);
inhibit_suspend (manager);
@@ -3383,22 +3467,16 @@ gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
static void
gsd_media_keys_manager_finalize (GObject *object)
{
- GsdMediaKeysManager *media_keys_manager;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (GSD_IS_MEDIA_KEYS_MANAGER (object));
-
- media_keys_manager = GSD_MEDIA_KEYS_MANAGER (object);
+ GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (object);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
- g_return_if_fail (media_keys_manager->priv != NULL);
+ gsd_media_keys_manager_stop (manager);
- gsd_media_keys_manager_stop (media_keys_manager);
+ if (priv->inhibit_keys_fd != -1)
+ close (priv->inhibit_keys_fd);
- if (media_keys_manager->priv->inhibit_keys_fd != -1)
- close (media_keys_manager->priv->inhibit_keys_fd);
-
- g_clear_object (&media_keys_manager->priv->logind_proxy);
- g_clear_object (&media_keys_manager->priv->screen_saver_proxy);
+ g_clear_object (&priv->logind_proxy);
+ g_clear_object (&priv->screen_saver_proxy);
G_OBJECT_CLASS (gsd_media_keys_manager_parent_class)->finalize (object);
}
@@ -3432,10 +3510,11 @@ power_ready_cb (GObject *source_object,
GAsyncResult *res,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->power_proxy = g_dbus_proxy_new_finish (res, &error);
- if (manager->priv->power_proxy == NULL) {
+ priv->power_proxy = g_dbus_proxy_new_finish (res, &error);
+ if (priv->power_proxy == NULL) {
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Failed to get proxy for power: %s",
error->message);
@@ -3448,10 +3527,11 @@ power_screen_ready_cb (GObject *source_object,
GAsyncResult *res,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->power_screen_proxy = g_dbus_proxy_new_finish (res, &error);
- if (manager->priv->power_screen_proxy == NULL) {
+ priv->power_screen_proxy = g_dbus_proxy_new_finish (res, &error);
+ if (priv->power_screen_proxy == NULL) {
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Failed to get proxy for power (screen): %s",
error->message);
@@ -3464,17 +3544,18 @@ power_keyboard_ready_cb (GObject *source_object,
GAsyncResult *res,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GError *error = NULL;
- manager->priv->power_keyboard_proxy = g_dbus_proxy_new_finish (res, &error);
- if (manager->priv->power_keyboard_proxy == NULL) {
+ priv->power_keyboard_proxy = g_dbus_proxy_new_finish (res, &error);
+ if (priv->power_keyboard_proxy == NULL) {
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Failed to get proxy for power (keyboard): %s",
error->message);
g_error_free (error);
}
- g_signal_connect (manager->priv->power_keyboard_proxy, "g-signal",
+ g_signal_connect (priv->power_keyboard_proxy, "g-signal",
G_CALLBACK (power_keyboard_proxy_signal_cb),
manager);
}
@@ -3484,6 +3565,7 @@ on_bus_gotten (GObject *source_object,
GAsyncResult *res,
GsdMediaKeysManager *manager)
{
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
GDBusConnection *connection;
GError *error = NULL;
UpClient *up_client;
@@ -3495,22 +3577,22 @@ on_bus_gotten (GObject *source_object,
g_error_free (error);
return;
}
- manager->priv->connection = connection;
+ priv->connection = connection;
g_dbus_connection_register_object (connection,
GSD_MEDIA_KEYS_DBUS_PATH,
- manager->priv->introspection_data->interfaces[0],
+ priv->introspection_data->interfaces[0],
&interface_vtable,
manager,
NULL,
NULL);
- manager->priv->mmkeys_name_id = g_bus_own_name_on_connection (manager->priv->connection,
- "org.gnome.SettingsDaemon.MediaKeys",
- G_BUS_NAME_OWNER_FLAGS_NONE,
- NULL, NULL, NULL, NULL);
+ priv->mmkeys_name_id = g_bus_own_name_on_connection (priv->connection,
+ "org.gnome.SettingsDaemon.MediaKeys",
+ G_BUS_NAME_OWNER_FLAGS_NONE,
+ NULL, NULL, NULL, NULL);
- g_dbus_proxy_new (manager->priv->connection,
+ g_dbus_proxy_new (priv->connection,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
GSD_DBUS_NAME ".Power",
@@ -3520,7 +3602,7 @@ on_bus_gotten (GObject *source_object,
(GAsyncReadyCallback) power_ready_cb,
manager);
- g_dbus_proxy_new (manager->priv->connection,
+ g_dbus_proxy_new (priv->connection,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
GSD_DBUS_NAME ".Power",
@@ -3530,7 +3612,7 @@ on_bus_gotten (GObject *source_object,
(GAsyncReadyCallback) power_screen_ready_cb,
manager);
- g_dbus_proxy_new (manager->priv->connection,
+ g_dbus_proxy_new (priv->connection,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
GSD_DBUS_NAME ".Power",
@@ -3541,19 +3623,21 @@ on_bus_gotten (GObject *source_object,
manager);
up_client = up_client_new ();
- manager->priv->composite_device = up_client_get_display_device (up_client);
+ priv->composite_device = up_client_get_display_device (up_client);
g_object_unref (up_client);
}
static void
register_manager (GsdMediaKeysManager *manager)
{
- manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL);
- manager->priv->bus_cancellable = g_cancellable_new ();
- g_assert (manager->priv->introspection_data != NULL);
+ GsdMediaKeysManagerPrivate *priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
+
+ priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL);
+ priv->bus_cancellable = g_cancellable_new ();
+ g_assert (priv->introspection_data != NULL);
g_bus_get (G_BUS_TYPE_SESSION,
- manager->priv->bus_cancellable,
+ priv->bus_cancellable,
(GAsyncReadyCallback) on_bus_gotten,
manager);
}
diff --git a/plugins/media-keys/gsd-media-keys-manager.h b/plugins/media-keys/gsd-media-keys-manager.h
index 9e89a62c..d7042b8f 100644
--- a/plugins/media-keys/gsd-media-keys-manager.h
+++ b/plugins/media-keys/gsd-media-keys-manager.h
@@ -25,29 +25,16 @@
G_BEGIN_DECLS
#define GSD_TYPE_MEDIA_KEYS_MANAGER (gsd_media_keys_manager_get_type ())
-#define GSD_MEDIA_KEYS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManager))
-#define GSD_MEDIA_KEYS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerClass))
-#define GSD_IS_MEDIA_KEYS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER))
-#define GSD_IS_MEDIA_KEYS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_MEDIA_KEYS_MANAGER))
-#define GSD_MEDIA_KEYS_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerClass))
-typedef struct GsdMediaKeysManagerPrivate GsdMediaKeysManagerPrivate;
+G_DECLARE_DERIVABLE_TYPE (GsdMediaKeysManager, gsd_media_keys_manager, GSD, MEDIA_KEYS_MANAGER, GObject)
-typedef struct
-{
- GObject parent;
- GsdMediaKeysManagerPrivate *priv;
-} GsdMediaKeysManager;
-
-typedef struct
+struct _GsdMediaKeysManagerClass
{
GObjectClass parent_class;
void (* media_player_key_pressed) (GsdMediaKeysManager *manager,
const char *application,
const char *key);
-} GsdMediaKeysManagerClass;
-
-GType gsd_media_keys_manager_get_type (void);
+};
GsdMediaKeysManager * gsd_media_keys_manager_new (void);
gboolean gsd_media_keys_manager_start (GsdMediaKeysManager *manager,