Merge lp:~attente/gnome-settings-daemon/1311443 into lp:~ubuntu-desktop/gnome-settings-daemon/trusty

Proposed by William Hua
Status: Merged
Merged at revision: 471
Proposed branch: lp:~attente/gnome-settings-daemon/1311443
Merge into: lp:~ubuntu-desktop/gnome-settings-daemon/trusty
Diff against target: 255 lines (+16/-197)
4 files modified
debian/changelog (+8/-0)
debian/patches/fix_input_switching_on_unity.patch (+0/-155)
debian/patches/series (+0/-1)
debian/patches/unity-modifier-media-keys.patch (+8/-41)
To merge this branch: bzr merge lp:~attente/gnome-settings-daemon/1311443
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Review via email: mp+221526@code.launchpad.net

Commit message

Remove Unity-specific input switching behaviour (LP: #1311443).

Description of the change

Remove Unity-specific input switching behaviour (LP: #1311443).

To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote :

thanks

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2014-05-12 15:34:51 +0000
3+++ debian/changelog 2014-05-30 11:50:23 +0000
4@@ -1,3 +1,11 @@
5+gnome-settings-daemon (3.8.6.1-0ubuntu11.2) UNRELEASED; urgency=medium
6+
7+ * debian/patches/fix_input_switching_on_unity.patch:
8+ * debian/patches/unity-modifier-media-keys.patch:
9+ - Remove Unity-specific input switching behaviour (LP: #1311443).
10+
11+ -- William Hua <william.hua@canonical.com> Fri, 23 May 2014 16:15:18 +0200
12+
13 gnome-settings-daemon (3.8.6.1-0ubuntu11.1) trusty; urgency=medium
14
15 * debian/patches/ubuntu-force-lock-group.patch:
16
17=== removed file 'debian/patches/fix_input_switching_on_unity.patch'
18--- debian/patches/fix_input_switching_on_unity.patch 2013-10-15 11:04:41 +0000
19+++ debian/patches/fix_input_switching_on_unity.patch 1970-01-01 00:00:00 +0000
20@@ -1,155 +0,0 @@
21-From a49d454a019334f05dc7f6ba9a96299a178ddd19 Mon Sep 17 00:00:00 2001
22-From: Tim Lunn <tim@feathertop.org>
23-Date: Sun, 1 Sep 2013 09:34:17 +1000
24-Subject: [PATCH] Revert "Revert "media-keys: Add key bindings to switch input
25- sources""
26-
27-This reverts commit cc45fec342713745f391533a202976e97670f9e5.
28-Patched to use the new g_settings keys for input source switching
29----
30- plugins/media-keys/gsd-media-keys-manager.c | 59 ++++++++++++++++++++++++++++-
31- plugins/media-keys/shortcuts-list.h | 6 +++
32- 2 files changed, 64 insertions(+), 1 deletion(-)
33-
34-Index: b/plugins/media-keys/gsd-media-keys-manager.c
35-===================================================================
36---- a/plugins/media-keys/gsd-media-keys-manager.c
37-+++ b/plugins/media-keys/gsd-media-keys-manager.c
38-@@ -114,6 +114,10 @@
39- #define VOLUME_STEP 6 /* percents for one volume button press */
40- #define MAX_VOLUME 65536.0
41-
42-+#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
43-+#define KEY_CURRENT_INPUT_SOURCE "current"
44-+#define KEY_INPUT_SOURCES "sources"
45-+
46- #define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
47- #define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
48- #define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
49-@@ -157,6 +161,7 @@
50- #endif /* HAVE_GUDEV */
51-
52- GSettings *settings;
53-+ GSettings *input_settings;
54- GHashTable *custom_settings;
55-
56- GPtrArray *keys;
57-@@ -530,7 +535,9 @@
58- get_key_string (GsdMediaKeysManager *manager,
59- MediaKey *key)
60- {
61-- if (key->settings_key != NULL)
62-+ if (key->settings_key == "switch-input-source" || key->settings_key == "switch-input-source-backward")
63-+ return g_settings_get_strv (manager->priv->input_settings, key->settings_key)[0];
64-+ else if (key->settings_key != NULL)
65- return g_settings_get_string (manager->priv->settings, key->settings_key);
66- else if (key->hard_coded != NULL)
67- return g_strdup (key->hard_coded);
68-@@ -2111,6 +2118,44 @@
69- * are not used in this context */
70- break;
71- }
72-+
73-+}
74-+
75-+static void
76-+do_switch_input_source_action (GsdMediaKeysManager *manager,
77-+ MediaKeyType type)
78-+{
79-+ GSettings *settings;
80-+ GVariant *sources;
81-+ gint i, n;
82-+
83-+ if (!manager->priv->have_legacy_keygrabber)
84-+ return;
85-+
86-+ settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
87-+ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
88-+
89-+ n = g_variant_n_children (sources);
90-+ if (n < 2)
91-+ goto out;
92-+
93-+ i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE);
94-+
95-+ if (type == SWITCH_INPUT_SOURCE_KEY)
96-+ i += 1;
97-+ else
98-+ i -= 1;
99-+
100-+ if (i < 0)
101-+ i = n - 1;
102-+ else if (i >= n)
103-+ i = 0;
104-+
105-+ g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i);
106-+
107-+ out:
108-+ g_variant_unref (sources);
109-+ g_object_unref (settings);
110- }
111-
112- static void
113-@@ -2451,6 +2496,10 @@
114- case BATTERY_KEY:
115- do_battery_action (manager);
116- break;
117-+ case SWITCH_INPUT_SOURCE_KEY:
118-+ case SWITCH_INPUT_SOURCE_BACKWARD_KEY:
119-+ do_switch_input_source_action (manager, type);
120-+ break;
121- /* Note, no default so compiler catches missing keys */
122- case CUSTOM_KEY:
123- g_assert_not_reached ();
124-@@ -2773,6 +2822,12 @@
125- g_signal_connect (G_OBJECT (manager->priv->settings), "changed::custom-keybindings",
126- G_CALLBACK (gsettings_custom_changed_cb), manager);
127-
128-+ manager->priv->input_settings = g_settings_new (INPUT_SETTINGS_BINDING_DIR);
129-+ g_signal_connect (G_OBJECT (manager->priv->input_settings), "changed",
130-+ G_CALLBACK (gsettings_changed_cb), manager);
131-+ g_signal_connect (G_OBJECT (manager->priv->input_settings), "changed::custom-keybindings",
132-+ G_CALLBACK (gsettings_custom_changed_cb), manager);
133-+
134- manager->priv->custom_settings =
135- g_hash_table_new_full (g_str_hash, g_str_equal,
136- g_free, g_object_unref);
137-@@ -2903,6 +2958,7 @@
138-
139- g_clear_object (&priv->logind_proxy);
140- g_clear_object (&priv->settings);
141-+ g_clear_object (&priv->input_settings);
142- g_clear_object (&priv->power_settings);
143- g_clear_object (&priv->power_proxy);
144- g_clear_object (&priv->power_screen_proxy);
145-Index: b/plugins/media-keys/shortcuts-list.h
146-===================================================================
147---- a/plugins/media-keys/shortcuts-list.h
148-+++ b/plugins/media-keys/shortcuts-list.h
149-@@ -25,6 +25,7 @@
150- #include "gsd-keygrab.h"
151-
152- #define SETTINGS_BINDING_DIR "org.gnome.settings-daemon.plugins.media-keys"
153-+#define INPUT_SETTINGS_BINDING_DIR "org.gnome.desktop.wm.keybindings"
154-
155- typedef enum {
156- TOUCHPAD_KEY,
157-@@ -83,6 +84,8 @@
158- KEYBOARD_BRIGHTNESS_DOWN_KEY,
159- KEYBOARD_BRIGHTNESS_TOGGLE_KEY,
160- BATTERY_KEY,
161-+ SWITCH_INPUT_SOURCE_KEY,
162-+ SWITCH_INPUT_SOURCE_BACKWARD_KEY,
163- CUSTOM_KEY
164- } MediaKeyType;
165-
166-@@ -160,6 +163,9 @@
167- { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, N_("Keyboard Brightness Down"), "XF86KbdBrightnessDown", SHELL_KEYBINDING_MODE_ALL },
168- { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, N_("Keyboard Brightness Toggle"), "XF86KbdLightOnOff", SHELL_KEYBINDING_MODE_ALL },
169- { BATTERY_KEY, NULL, N_("Battery Status"), "XF86Battery", GSD_KEYBINDING_MODE_LAUNCHER },
170-+ { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL, NULL, SHELL_KEYBINDING_MODE_ALL },
171-+ { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL, NULL, SHELL_KEYBINDING_MODE_ALL }
172-+
173- };
174-
175- #undef SCREENSAVER_MODE
176
177=== modified file 'debian/patches/series'
178--- debian/patches/series 2014-05-09 18:38:24 +0000
179+++ debian/patches/series 2014-05-30 11:50:23 +0000
180@@ -17,7 +17,6 @@
181 nexus-orientation.patch
182 fix_broken_user_sounds_permissions.patch
183 fix_media_keys_on_unity.patch
184-fix_input_switching_on_unity.patch
185 fix_screenshots_on_unity.patch
186 git_keybindings_add_screen_reader_toggle.patch
187 git_revert_gsd-keygrab.patch
188
189=== modified file 'debian/patches/unity-modifier-media-keys.patch'
190--- debian/patches/unity-modifier-media-keys.patch 2013-10-24 13:57:03 +0000
191+++ debian/patches/unity-modifier-media-keys.patch 2014-05-30 11:50:23 +0000
192@@ -1,5 +1,7 @@
193---- a/plugins/common/gsd-keygrab.c
194-+++ b/plugins/common/gsd-keygrab.c
195+Index: gnome-settings-daemon-3.8.6.1/plugins/common/gsd-keygrab.c
196+===================================================================
197+--- gnome-settings-daemon-3.8.6.1.orig/plugins/common/gsd-keygrab.c 2014-05-23 16:01:45.415936476 +0200
198++++ gnome-settings-daemon-3.8.6.1/plugins/common/gsd-keygrab.c 2014-05-23 16:01:45.403936475 +0200
199 @@ -170,6 +170,7 @@
200 key->keysym != GDK_KEY_Pause &&
201 key->keysym != GDK_KEY_Print &&
202@@ -334,8 +336,10 @@
203 }
204
205 /* The key we passed doesn't have a keysym, so try with just the keycode */
206---- a/plugins/keyboard/gsd-keyboard-manager.c
207-+++ b/plugins/keyboard/gsd-keyboard-manager.c
208+Index: gnome-settings-daemon-3.8.6.1/plugins/keyboard/gsd-keyboard-manager.c
209+===================================================================
210+--- gnome-settings-daemon-3.8.6.1.orig/plugins/keyboard/gsd-keyboard-manager.c 2014-05-23 16:01:45.415936476 +0200
211++++ gnome-settings-daemon-3.8.6.1/plugins/keyboard/gsd-keyboard-manager.c 2014-05-23 16:03:42.000000000 +0200
212 @@ -959,7 +959,7 @@
213 * and doesn't call us so we can't set the group switching XKB
214 * option in the first place otherwise the X server's switch
215@@ -354,40 +358,3 @@
216 }
217
218 static void
219---- a/plugins/media-keys/gsd-media-keys-manager.c
220-+++ b/plugins/media-keys/gsd-media-keys-manager.c
221-@@ -2559,6 +2559,8 @@
222- GdkEvent *event,
223- GsdMediaKeysManager *manager)
224- {
225-+ static gboolean ok_to_switch = TRUE;
226-+
227- XIEvent *xiev;
228- XIDeviceEvent *xev;
229- XGenericEventCookie *cookie;
230-@@ -2582,6 +2584,9 @@
231-
232- deviceid = xev->sourceid;
233-
234-+ if (xiev->evtype == XI_KeyPress)
235-+ ok_to_switch = TRUE;
236-+
237- for (i = 0; i < manager->priv->keys->len; i++) {
238- MediaKey *key;
239-
240-@@ -2614,6 +2619,15 @@
241- return GDK_FILTER_REMOVE;
242- }
243-
244-+ if (key->key_type == SWITCH_INPUT_SOURCE_KEY || key->key_type == SWITCH_INPUT_SOURCE_BACKWARD_KEY) {
245-+ if (ok_to_switch) {
246-+ do_action (manager, deviceid, key->key_type, xev->time);
247-+ ok_to_switch = FALSE;
248-+ }
249-+
250-+ return GDK_FILTER_CONTINUE;
251-+ }
252-+
253- if (do_action (manager, deviceid, key->key_type, xev->time) == FALSE) {
254- return GDK_FILTER_REMOVE;
255- } else {

Subscribers

People subscribed via source and target branches

to all changes: