diff options
Diffstat (limited to 'meta-xfce/recipes-xfce')
8 files changed, 2470 insertions, 2 deletions
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch new file mode 100644 index 000000000..9272081f0 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch | |||
@@ -0,0 +1,248 @@ | |||
1 | From 4be18d7c8f2ac72b402dcbe8385922638fcd0a89 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 30 Oct 2012 13:14:11 +0100 | ||
4 | Subject: [PATCH 1/5] add cursor-theme "xfce-invisible" | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
10 | Upstream-Status: Submitted [1] | ||
11 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
12 | --- | ||
13 | Makefile.am | 1 + | ||
14 | configure.ac | 2 + | ||
15 | cursors/Makefile.am | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
16 | cursors/index.theme | 3 + | ||
17 | 6 files changed, 184 insertions(+), 0 deletions(-) | ||
18 | create mode 100644 cursors/Makefile.am | ||
19 | create mode 100644 cursors/index.theme | ||
20 | |||
21 | diff --git a/Makefile.am b/Makefile.am | ||
22 | index 3060bac..3f0dd1d 100644 | ||
23 | --- a/Makefile.am | ||
24 | +++ b/Makefile.am | ||
25 | @@ -1,6 +1,7 @@ | ||
26 | # $Id$ | ||
27 | |||
28 | SUBDIRS = \ | ||
29 | + cursors \ | ||
30 | dialogs \ | ||
31 | xfce4-settings-manager \ | ||
32 | xfce4-settings-editor \ | ||
33 | diff --git a/configure.ac b/configure.ac | ||
34 | index 0e7907d..1378049 100644 | ||
35 | --- a/configure.ac | ||
36 | +++ b/configure.ac | ||
37 | @@ -157,6 +157,7 @@ dnl *** Optional support for Xcursor *** | ||
38 | dnl ************************************ | ||
39 | XDT_CHECK_OPTIONAL_PACKAGE([XCURSOR], [xcursor], [1.1.0], | ||
40 | [xcursor], [Cursor themes support]) | ||
41 | +AC_SUBST(cursordir, "\${datadir}/icons/xfce-invisible/cursors") | ||
42 | |||
43 | dnl **************************************** | ||
44 | dnl *** Optional support for Libxklavier *** | ||
45 | @@ -232,6 +233,7 @@ AC_SUBST([PLATFORM_LDFLAGS]) | ||
46 | AC_OUTPUT([ | ||
47 | Makefile | ||
48 | po/Makefile.in | ||
49 | +cursors/Makefile | ||
50 | dialogs/Makefile | ||
51 | dialogs/appearance-settings/Makefile | ||
52 | dialogs/accessibility-settings/Makefile | ||
53 | diff --git a/cursors/Makefile.am b/cursors/Makefile.am | ||
54 | new file mode 100644 | ||
55 | index 0000000..c9e5a9f | ||
56 | --- /dev/null | ||
57 | +++ b/cursors/Makefile.am | ||
58 | @@ -0,0 +1,178 @@ | ||
59 | +CURSOR_NAMES_INVISIBLE = \ | ||
60 | + 00008160000006810000408080010102 \ | ||
61 | + 028006030e0e7ebffc7f7070c0600140 \ | ||
62 | + 2870a09082c103050810ffdffffe0204 \ | ||
63 | + 03b6e0fcb3499374a867c041f52298f0 \ | ||
64 | + 0876e1c15ff2fc01f906f1c363074c0f \ | ||
65 | + 08ffe1cb5fe6fc01f906f1c063814ccf \ | ||
66 | + 08ffe1e65f80fcfdf9fff11263e74c48 \ | ||
67 | + 1001208387f90000800003000700f6ff \ | ||
68 | + 1081e37283d90000800003c07f3ef6bf \ | ||
69 | + 14fef782d02440884392942c11205230 \ | ||
70 | + 208530c400c041818281048008011002 \ | ||
71 | + 3085a0e285430894940527032f8b26df \ | ||
72 | + 4498f0e0c1937ffe01fd06f973665830 \ | ||
73 | + 5aca4d189052212118709018842178c0 \ | ||
74 | + 5c6cd98b3f3ebcb1f9c7f1c204630408 \ | ||
75 | + 6407b0e94181790501fd1e167b474872 \ | ||
76 | + 640fb0e74195791501fd1ed57b41487f \ | ||
77 | + 9081237383d90e509aa00f00170e968f \ | ||
78 | + 9d800788f1b08800ae810202380a0822 \ | ||
79 | + a2a266d0498c3104214a47bd64ab0fc8 \ | ||
80 | + b66166c04f8c3109214a4fbd64a50fc8 \ | ||
81 | + c7088f0f3e6c8088236ef8e1e3e70000 \ | ||
82 | + d9ce0ab605698f320427677b458ad60b \ | ||
83 | + e29285e634086352946a0e7090d73106 \ | ||
84 | + f41c0e382c94c0958e07017e42b00462 \ | ||
85 | + f41c0e382c97c0938e07017e42800402 \ | ||
86 | + fcf1c3c7cd4491d801f1e1c78f100000 \ | ||
87 | + fcf21c00b30f7e3f83fe0dfd12e71cff \ | ||
88 | + alias \ | ||
89 | + all-scroll \ | ||
90 | + arrow \ | ||
91 | + base_arrow_down \ | ||
92 | + base_arrow_up \ | ||
93 | + based_arrow_down \ | ||
94 | + based_arrow_up \ | ||
95 | + bd_double_arrow \ | ||
96 | + boat \ | ||
97 | + bottom_left_corner \ | ||
98 | + bottom_right_corner \ | ||
99 | + bottom_side \ | ||
100 | + bottom_tee \ | ||
101 | + cell \ | ||
102 | + center_ptr \ | ||
103 | + circle \ | ||
104 | + closedhand \ | ||
105 | + color-picker \ | ||
106 | + col-resize \ | ||
107 | + copy \ | ||
108 | + cross \ | ||
109 | + cross_reverse \ | ||
110 | + crossed_circle \ | ||
111 | + crosshair \ | ||
112 | + default \ | ||
113 | + diamond_cross \ | ||
114 | + dnd-ask \ | ||
115 | + dnd-copy \ | ||
116 | + dnd-link \ | ||
117 | + dnd-move \ | ||
118 | + dnd-no-drop \ | ||
119 | + dnd-none \ | ||
120 | + dot \ | ||
121 | + dot_box_mask \ | ||
122 | + dotbox \ | ||
123 | + double_arrow \ | ||
124 | + down_arrow \ | ||
125 | + draft_large \ | ||
126 | + draft_small \ | ||
127 | + draped_box \ | ||
128 | + e-resize \ | ||
129 | + ew-resize \ | ||
130 | + exchange \ | ||
131 | + fd_double_arrow \ | ||
132 | + fleur \ | ||
133 | + forbidden \ | ||
134 | + grab \ | ||
135 | + grabbing \ | ||
136 | + gumby \ | ||
137 | + h_double_arrow \ | ||
138 | + hand \ | ||
139 | + hand1 \ | ||
140 | + hand2 \ | ||
141 | + help \ | ||
142 | + ibeam \ | ||
143 | + icon \ | ||
144 | + left_arrow \ | ||
145 | + left_ptr \ | ||
146 | + left_side \ | ||
147 | + left_tee \ | ||
148 | + link \ | ||
149 | + ll_angle \ | ||
150 | + lr_angle \ | ||
151 | + move \ | ||
152 | + ne-resize \ | ||
153 | + nesw-resize \ | ||
154 | + no-drop \ | ||
155 | + not-allowed \ | ||
156 | + n-resize \ | ||
157 | + ns-resize \ | ||
158 | + nw-resize \ | ||
159 | + nwse-resize \ | ||
160 | + openhand \ | ||
161 | + pencil \ | ||
162 | + pirate \ | ||
163 | + plus \ | ||
164 | + pointer \ | ||
165 | + pointing_hand \ | ||
166 | + question_arrow \ | ||
167 | + right_arrow \ | ||
168 | + right_ptr \ | ||
169 | + right_side \ | ||
170 | + right_tee \ | ||
171 | + row-resize \ | ||
172 | + sailboat \ | ||
173 | + sb_down_arrow \ | ||
174 | + sb_h_double_arrow \ | ||
175 | + sb_left_arrow \ | ||
176 | + sb_right_arrow \ | ||
177 | + sb_up_arrow \ | ||
178 | + sb_v_double_arrow \ | ||
179 | + se-resize \ | ||
180 | + size_all \ | ||
181 | + size_bdiag \ | ||
182 | + size_fdiag \ | ||
183 | + size_hor \ | ||
184 | + size_ver \ | ||
185 | + sizing \ | ||
186 | + shuttle \ | ||
187 | + split_h \ | ||
188 | + split_v \ | ||
189 | + s-resize \ | ||
190 | + sw-resize \ | ||
191 | + target \ | ||
192 | + tcross \ | ||
193 | + text \ | ||
194 | + top_left_arrow \ | ||
195 | + top_left_corner \ | ||
196 | + top_right_corner \ | ||
197 | + top_side \ | ||
198 | + top_tee \ | ||
199 | + trek \ | ||
200 | + ul_angle \ | ||
201 | + up_arrow \ | ||
202 | + ur_angle \ | ||
203 | + vertical-text \ | ||
204 | + v_double_arrow \ | ||
205 | + whats_this \ | ||
206 | + w-resize \ | ||
207 | + X_cursor \ | ||
208 | + xterm \ | ||
209 | + zoom-in \ | ||
210 | + zoom-out | ||
211 | + | ||
212 | +CURSOR_NAMES = \ | ||
213 | + 3ecb610c1bf2410f44200f48c40d3599 \ | ||
214 | + 08e8e1c95fe2fc01f976f1e063a24ccd \ | ||
215 | + 00000000000000020006000e7e9ffc3f \ | ||
216 | + half-busy \ | ||
217 | + left_ptr_watch \ | ||
218 | + progress \ | ||
219 | + watch | ||
220 | + | ||
221 | + | ||
222 | +EXTRA_DIST = invisible wait index.theme | ||
223 | + | ||
224 | +install-data-local: | ||
225 | + $(mkinstalldirs) $(DESTDIR)@cursordir@; | ||
226 | + $(INSTALL_DATA) index.theme $(DESTDIR)/@cursordir@/.. | ||
227 | + $(INSTALL_DATA) invisible wait $(DESTDIR)@cursordir@/ | ||
228 | + for CURSOR in $(CURSOR_NAMES_INVISIBLE); do \ | ||
229 | + echo '-- Installing invisible cursor '$$CURSOR; \ | ||
230 | + ln -s invisible $(DESTDIR)@cursordir@/$$CURSOR; \ | ||
231 | + done | ||
232 | + for CURSOR in $(CURSOR_NAMES); do \ | ||
233 | + echo '-- Installing visible cursor '$$CURSOR; \ | ||
234 | + ln -s wait $(DESTDIR)@cursordir@/$$CURSOR; \ | ||
235 | + done | ||
236 | + | ||
237 | diff --git a/cursors/index.theme b/cursors/index.theme | ||
238 | new file mode 100644 | ||
239 | index 0000000..0c48458 | ||
240 | --- /dev/null | ||
241 | +++ b/cursors/index.theme | ||
242 | @@ -0,0 +1,3 @@ | ||
243 | +[Icon Theme] | ||
244 | +Name=xfce-invisible | ||
245 | +Example=invisible | ||
246 | -- | ||
247 | 1.7.6.5 | ||
248 | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch new file mode 100644 index 000000000..4151c3d78 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch | |||
@@ -0,0 +1,1236 @@ | |||
1 | From 7c87f8f202a7743a18b8d7fdab5c66a3d54badd5 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 1 Nov 2012 21:01:59 +0100 | ||
4 | Subject: [PATCH 2/5] mouse settings dialog: add touchscreen-pointer option | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | Upstream-Status: Submitted [1] | ||
12 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
13 | --- | ||
14 | dialogs/mouse-settings/main.c | 56 +++++++++++++++++++++++++++++ | ||
15 | dialogs/mouse-settings/mouse-dialog.glade | 28 ++++++++++++++- | ||
16 | dialogs/mouse-settings/mouse-dialog_ui.h | 1056 +++++++++++++++--------------- | ||
17 | 3 files changed, 422 insertions(+), 329 deletions(-) | ||
18 | |||
19 | diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c | ||
20 | index f4b475b..ff08219 100644 | ||
21 | --- a/dialogs/mouse-settings/main.c | ||
22 | +++ b/dialogs/mouse-settings/main.c | ||
23 | @@ -956,6 +956,50 @@ mouse_settings_device_set_enabled (GtkToggleButton *button, | ||
24 | |||
25 | |||
26 | |||
27 | +#ifdef HAVE_XCURSOR | ||
28 | +static void | ||
29 | +mouse_settings_on_touchscreen_pointer (GtkToggleButton *button, | ||
30 | + GtkBuilder *builder) | ||
31 | +{ | ||
32 | + gchar *name = NULL; | ||
33 | + gchar *prop; | ||
34 | + gboolean enabled; | ||
35 | + | ||
36 | + if (locked > 0) | ||
37 | + return; | ||
38 | + | ||
39 | + if (mouse_settings_device_get_selected (builder, NULL, &name)) | ||
40 | + { | ||
41 | + enabled = gtk_toggle_button_get_active (button); | ||
42 | + prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL); | ||
43 | + xfconf_channel_set_bool (pointers_channel, prop, enabled); | ||
44 | + g_free (prop); | ||
45 | + } | ||
46 | + g_free (name); | ||
47 | +} | ||
48 | + | ||
49 | +static void | ||
50 | +mouse_settings_set_touchscreen_pointer (GtkBuilder *builder) | ||
51 | +{ | ||
52 | + gchar *name = NULL; | ||
53 | + gchar *prop; | ||
54 | + gboolean enabled; | ||
55 | + GtkToggleButton *button; | ||
56 | + | ||
57 | + if (mouse_settings_device_get_selected (builder, NULL, &name)) | ||
58 | + { | ||
59 | + button = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "touchscreen-pointer")); | ||
60 | + prop = g_strconcat ("/", name, "/TouchscreenPointer", NULL); | ||
61 | + enabled = xfconf_channel_get_bool (pointers_channel, prop, FALSE); | ||
62 | + gtk_toggle_button_set_active (button, enabled); | ||
63 | + g_free (prop); | ||
64 | + } | ||
65 | + g_free (name); | ||
66 | +} | ||
67 | +#endif | ||
68 | + | ||
69 | + | ||
70 | + | ||
71 | static void | ||
72 | mouse_settings_device_selection_changed (GtkBuilder *builder) | ||
73 | { | ||
74 | @@ -1007,6 +1051,9 @@ mouse_settings_device_selection_changed (GtkBuilder *builder) | ||
75 | /* get the selected item */ | ||
76 | if (mouse_settings_device_get_selected (builder, &device, NULL)) | ||
77 | { | ||
78 | +#ifdef HAVE_XCURSOR | ||
79 | + mouse_settings_set_touchscreen_pointer (builder); | ||
80 | +#endif | ||
81 | gdk_error_trap_push (); | ||
82 | device_info = XListInputDevices (xdisplay, &ndevices); | ||
83 | if (gdk_error_trap_pop () == 0 && device_info != NULL) | ||
84 | @@ -1735,11 +1782,20 @@ main (gint argc, gchar **argv) | ||
85 | /* populate the themes treeview */ | ||
86 | mouse_settings_themes_populate_store (builder); | ||
87 | |||
88 | + /* connect & fill touchscreen-pointer */ | ||
89 | + object = gtk_builder_get_object (builder, "touchscreen-pointer"); | ||
90 | + g_signal_connect (G_OBJECT (object), "toggled", | ||
91 | + G_CALLBACK (mouse_settings_on_touchscreen_pointer), builder); | ||
92 | + mouse_settings_set_touchscreen_pointer (builder); | ||
93 | + | ||
94 | /* connect the cursor size in the cursor tab */ | ||
95 | object = gtk_builder_get_object (builder, "theme-cursor-size"); | ||
96 | xfconf_g_property_bind (xsettings_channel, "/Gtk/CursorThemeSize", | ||
97 | G_TYPE_INT, G_OBJECT (object), "value"); | ||
98 | #else | ||
99 | + /* hide touchscreen-pointer */ | ||
100 | + object = gtk_builder_get_object (builder, "touchscreen-pointer"); | ||
101 | + gtk_widget_hide (GTK_WIDGET (object)); | ||
102 | /* hide the themes tab */ | ||
103 | object = gtk_builder_get_object (builder, "themes-hbox"); | ||
104 | gtk_widget_hide (GTK_WIDGET (object)); | ||
105 | diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade | ||
106 | index d3aab0d..573c551 100644 | ||
107 | --- a/dialogs/mouse-settings/mouse-dialog.glade | ||
108 | +++ b/dialogs/mouse-settings/mouse-dialog.glade | ||
109 | @@ -323,7 +323,7 @@ | ||
110 | <property name="visible">True</property> | ||
111 | <property name="can_focus">False</property> | ||
112 | <property name="border_width">6</property> | ||
113 | - <property name="n_rows">3</property> | ||
114 | + <property name="n_rows">4</property> | ||
115 | <property name="n_columns">2</property> | ||
116 | <property name="column_spacing">12</property> | ||
117 | <property name="row_spacing">6</property> | ||
118 | @@ -415,6 +415,32 @@ | ||
119 | <property name="bottom_attach">3</property> | ||
120 | </packing> | ||
121 | </child> | ||
122 | + <child> | ||
123 | + <object class="GtkAlignment" id="alignment8"> | ||
124 | + <property name="visible">True</property> | ||
125 | + <property name="can_focus">False</property> | ||
126 | + <property name="xalign">0</property> | ||
127 | + <property name="xscale">0</property> | ||
128 | + <property name="yscale">0</property> | ||
129 | + <child> | ||
130 | + <object class="GtkCheckButton" id="touchscreen-pointer"> | ||
131 | + <property name="label" translatable="yes">_Touchscreen pointer</property> | ||
132 | + <property name="use_action_appearance">False</property> | ||
133 | + <property name="visible">True</property> | ||
134 | + <property name="can_focus">True</property> | ||
135 | + <property name="receives_default">False</property> | ||
136 | + <property name="tooltip_text" translatable="yes">When selected, no mouse pointer is displayed for this device and gtk TouchscreenMode is activated</property> | ||
137 | + <property name="use_underline">True</property> | ||
138 | + <property name="draw_indicator">True</property> | ||
139 | + </object> | ||
140 | + </child> | ||
141 | + </object> | ||
142 | + <packing> | ||
143 | + <property name="right_attach">2</property> | ||
144 | + <property name="top_attach">3</property> | ||
145 | + <property name="bottom_attach">4</property> | ||
146 | + </packing> | ||
147 | + </child> | ||
148 | </object> | ||
149 | </child> | ||
150 | </object> | ||
151 | diff --git a/dialogs/mouse-settings/mouse-dialog_ui.h b/dialogs/mouse-settings/mouse-dialog_ui.h | ||
152 | index 9e0c267..8a68c3b 100644 | ||
153 | --- a/dialogs/mouse-settings/mouse-dialog_ui.h | ||
154 | +++ b/dialogs/mouse-settings/mouse-dialog_ui.h | ||
155 | @@ -31,545 +31,555 @@ static const char mouse_dialog_ui[] = | ||
156 | "</property></object><object class=\"GtkImage\" id=\"image5\"><property " | ||
157 | "name=\"visible\">True</property><property name=\"can_focus\">False</pro" | ||
158 | "perty><property name=\"stock\">gtk-revert-to-saved</property></object><" | ||
159 | - "object class=\"XfceTitledDialog\" id=\"mouse-dialog\"><property name=\"" | ||
160 | - "can_focus\">False</property><property name=\"title\" translatable=\"yes" | ||
161 | - "\">Mouse and Touchpad</property><property name=\"window_position\">cent" | ||
162 | - "er-on-parent</property><property name=\"icon_name\">preferences-desktop" | ||
163 | - "-peripherals</property><property name=\"type_hint\">dialog</property><p" | ||
164 | - "roperty name=\"subtitle\" translatable=\"yes\">Configure pointer device" | ||
165 | - " behavior and appearance</property><child internal-child=\"vbox\"><obje" | ||
166 | - "ct class=\"GtkVBox\" id=\"dialog-vbox1\"><property name=\"visible\">Tru" | ||
167 | - "e</property><property name=\"can_focus\">False</property><property name" | ||
168 | - "=\"spacing\">2</property><child internal-child=\"action_area\"><object " | ||
169 | - "class=\"GtkHButtonBox\" id=\"dialog-action_area1\"><property name=\"vis" | ||
170 | - "ible\">True</property><property name=\"can_focus\">False</property><pro" | ||
171 | - "perty name=\"layout_style\">end</property><child><object class=\"GtkBut" | ||
172 | - "ton\" id=\"button1\"><property name=\"label\">gtk-close</property><prop" | ||
173 | - "erty name=\"visible\">True</property><property name=\"can_focus\">True<" | ||
174 | - "/property><property name=\"receives_default\">True</property><property " | ||
175 | - "name=\"use_action_appearance\">False</property><property name=\"use_sto" | ||
176 | - "ck\">True</property></object><packing><property name=\"expand\">False</" | ||
177 | - "property><property name=\"fill\">False</property><property name=\"posit" | ||
178 | - "ion\">0</property></packing></child><child><object class=\"GtkButton\" " | ||
179 | - "id=\"button2\"><property name=\"label\">gtk-help</property><property na" | ||
180 | - "me=\"use_action_appearance\">False</property><property name=\"visible\"" | ||
181 | - ">True</property><property name=\"can_focus\">True</property><property n" | ||
182 | - "ame=\"receives_default\">True</property><property name=\"use_stock\">Tr" | ||
183 | - "ue</property></object><packing><property name=\"expand\">False</propert" | ||
184 | - "y><property name=\"fill\">False</property><property name=\"position\">0" | ||
185 | - "</property><property name=\"secondary\">True</property></packing></chil" | ||
186 | - "d></object><packing><property name=\"expand\">False</property><property" | ||
187 | - " name=\"fill\">True</property><property name=\"pack_type\">end</propert" | ||
188 | - "y><property name=\"position\">0</property></packing></child><child><obj" | ||
189 | - "ect class=\"GtkNotebook\" id=\"plug-child\"><property name=\"visible\">" | ||
190 | - "True</property><property name=\"can_focus\">True</property><property na" | ||
191 | - "me=\"border_width\">6</property><child><object class=\"GtkVBox\" id=\"v" | ||
192 | - "box1\"><property name=\"visible\">True</property><property name=\"can_f" | ||
193 | - "ocus\">False</property><property name=\"border_width\">12</property><pr" | ||
194 | - "operty name=\"spacing\">6</property><child><object class=\"GtkHBox\" id" | ||
195 | - "=\"hbox1\"><property name=\"visible\">True</property><property name=\"c" | ||
196 | - "an_focus\">False</property><property name=\"spacing\">12</property><chi" | ||
197 | - "ld><object class=\"GtkLabel\" id=\"label7\"><property name=\"visible\">" | ||
198 | - "True</property><property name=\"can_focus\">False</property><property n" | ||
199 | - "ame=\"label\" translatable=\"yes\">De_vice:</property><property name=\"" | ||
200 | - "use_underline\">True</property><property name=\"mnemonic_widget\">devic" | ||
201 | - "e-combobox</property><property name=\"angle\">0.050000000000000003</pro" | ||
202 | - "perty></object><packing><property name=\"expand\">False</property><prop" | ||
203 | - "erty name=\"fill\">True</property><property name=\"position\">0</proper" | ||
204 | - "ty></packing></child><child><object class=\"GtkComboBox\" id=\"device-c" | ||
205 | - "ombobox\"><property name=\"visible\">True</property><property name=\"ca" | ||
206 | - "n_focus\">False</property></object><packing><property name=\"expand\">T" | ||
207 | - "rue</property><property name=\"fill\">True</property><property name=\"p" | ||
208 | - "osition\">1</property></packing></child></object><packing><property nam" | ||
209 | - "e=\"expand\">False</property><property name=\"fill\">True</property><pr" | ||
210 | - "operty name=\"position\">0</property></packing></child><child><object c" | ||
211 | - "lass=\"GtkCheckButton\" id=\"device-enabled\"><property name=\"label\" " | ||
212 | - "translatable=\"yes\">_Enable this device</property><property name=\"vis" | ||
213 | - "ible\">True</property><property name=\"can_focus\">True</property><prop" | ||
214 | - "erty name=\"receives_default\">False</property><property name=\"use_act" | ||
215 | - "ion_appearance\">False</property><property name=\"use_underline\">True<" | ||
216 | - "/property><property name=\"draw_indicator\">True</property></object><pa" | ||
217 | - "cking><property name=\"expand\">False</property><property name=\"fill\"" | ||
218 | - ">True</property><property name=\"position\">1</property></packing></chi" | ||
219 | - "ld><child><object class=\"GtkNotebook\" id=\"device-notebook\"><propert" | ||
220 | - "y name=\"visible\">True</property><property name=\"can_focus\">True</pr" | ||
221 | - "operty><child><object class=\"GtkVBox\" id=\"device-box\"><property nam" | ||
222 | - "e=\"visible\">True</property><property name=\"can_focus\">False</proper" | ||
223 | - "ty><property name=\"border_width\">6</property><property name=\"spacing" | ||
224 | - "\">6</property><child><object class=\"GtkFrame\" id=\"frame1\"><propert" | ||
225 | - "y name=\"visible\">True</property><property name=\"can_focus\">False</p" | ||
226 | - "roperty><property name=\"label_xalign\">0</property><property name=\"sh" | ||
227 | - "adow_type\">none</property><child><object class=\"GtkAlignment\" id=\"a" | ||
228 | - "lignment1\"><property name=\"visible\">True</property><property name=\"" | ||
229 | - "can_focus\">False</property><property name=\"left_padding\">12</propert" | ||
230 | - "y><child><object class=\"GtkVBox\" id=\"vbox12\"><property name=\"visib" | ||
231 | - "le\">True</property><property name=\"can_focus\">False</property><prope" | ||
232 | - "rty name=\"border_width\">6</property><property name=\"spacing\">6</pro" | ||
233 | - "perty><child><object class=\"GtkHBox\" id=\"hbox3\"><property name=\"vi" | ||
234 | - "sible\">True</property><property name=\"can_focus\">False</property><pr" | ||
235 | - "operty name=\"spacing\">12</property><child><object class=\"GtkRadioBut" | ||
236 | - "ton\" id=\"device-right-handed\"><property name=\"label\" translatable=" | ||
237 | - "\"yes\">_Right-handed</property><property name=\"visible\">True</proper" | ||
238 | - "ty><property name=\"can_focus\">True</property><property name=\"receive" | ||
239 | - "s_default\">False</property><property name=\"use_action_appearance\">Fa" | ||
240 | - "lse</property><property name=\"use_underline\">True</property><property" | ||
241 | - " name=\"active\">True</property><property name=\"draw_indicator\">True<" | ||
242 | - "/property></object><packing><property name=\"expand\">False</property><" | ||
243 | - "property name=\"fill\">True</property><property name=\"position\">0</pr" | ||
244 | - "operty></packing></child><child><object class=\"GtkRadioButton\" id=\"d" | ||
245 | - "evice-left-handed\"><property name=\"label\" translatable=\"yes\">_Left" | ||
246 | - "-handed</property><property name=\"visible\">True</property><property n" | ||
247 | - "ame=\"can_focus\">True</property><property name=\"receives_default\">Fa" | ||
248 | - "lse</property><property name=\"use_action_appearance\">False</property>" | ||
249 | - "<property name=\"use_underline\">True</property><property name=\"draw_i" | ||
250 | - "ndicator\">True</property><property name=\"group\">device-right-handed<" | ||
251 | - "/property></object><packing><property name=\"expand\">False</property><" | ||
252 | - "property name=\"fill\">True</property><property name=\"position\">1</pr" | ||
253 | - "operty></packing></child></object><packing><property name=\"expand\">Tr" | ||
254 | - "ue</property><property name=\"fill\">True</property><property name=\"po" | ||
255 | - "sition\">0</property></packing></child><child><object class=\"GtkCheckB" | ||
256 | - "utton\" id=\"device-reverse-scrolling\"><property name=\"label\" transl" | ||
257 | - "atable=\"yes\">Reverse scroll d_irection</property><property name=\"vis" | ||
258 | - "ible\">True</property><property name=\"can_focus\">True</property><prop" | ||
259 | - "erty name=\"receives_default\">False</property><property name=\"tooltip" | ||
260 | - "_text\" translatable=\"yes\">When selected, the scroll wheel will work " | ||
261 | - "in the opposite direction</property><property name=\"use_action_appeara" | ||
262 | - "nce\">False</property><property name=\"use_underline\">True</property><" | ||
263 | - "property name=\"draw_indicator\">True</property></object><packing><prop" | ||
264 | - "erty name=\"expand\">True</property><property name=\"fill\">True</prope" | ||
265 | - "rty><property name=\"position\">1</property></packing></child></object>" | ||
266 | - "</child></object></child><child type=\"label\"><object class=\"GtkLabel" | ||
267 | - "\" id=\"label14\"><property name=\"visible\">True</property><property n" | ||
268 | - "ame=\"can_focus\">False</property><property name=\"label\" translatable" | ||
269 | - "=\"yes\">Buttons</property><attributes><attribute name=\"weight\" value" | ||
270 | - "=\"bold\"/></attributes></object></child></object><packing><property na" | ||
271 | - "me=\"expand\">False</property><property name=\"fill\">True</property><p" | ||
272 | - "roperty name=\"position\">0</property></packing></child><child><object " | ||
273 | - "class=\"GtkFrame\" id=\"frame2\"><property name=\"visible\">True</prope" | ||
274 | - "rty><property name=\"can_focus\">False</property><property name=\"label" | ||
275 | - "_xalign\">0</property><property name=\"shadow_type\">none</property><ch" | ||
276 | - "ild><object class=\"GtkAlignment\" id=\"alignment2\"><property name=\"v" | ||
277 | + "object class=\"GtkListStore\" id=\"synaptics-scroll-store\"><columns><c" | ||
278 | + "olumn type=\"gchararray\"/><column type=\"gboolean\"/></columns><data><" | ||
279 | + "row><col id=\"0\" translatable=\"yes\">Disabled</col><col id=\"1\">True" | ||
280 | + "</col></row><row><col id=\"0\" translatable=\"yes\">Edge scrolling</col" | ||
281 | + "><col id=\"1\">True</col></row><row><col id=\"0\" translatable=\"yes\">" | ||
282 | + "Two-finger scrolling</col><col id=\"1\">True</col></row><row><col id=\"" | ||
283 | + "0\" translatable=\"yes\">Circular scrolling</col><col id=\"1\">True</co" | ||
284 | + "l></row></data></object><object class=\"GtkAdjustment\" id=\"theme-curs" | ||
285 | + "or-size\"><property name=\"lower\">16</property><property name=\"upper\"" | ||
286 | + ">48</property><property name=\"value\">24</property><property name=\"st" | ||
287 | + "ep_increment\">1</property><property name=\"page_increment\">11</proper" | ||
288 | + "ty></object><object class=\"XfceTitledDialog\" id=\"mouse-dialog\"><pro" | ||
289 | + "perty name=\"can_focus\">False</property><property name=\"title\" trans" | ||
290 | + "latable=\"yes\">Mouse and Touchpad</property><property name=\"window_po" | ||
291 | + "sition\">center-on-parent</property><property name=\"icon_name\">prefer" | ||
292 | + "ences-desktop-peripherals</property><property name=\"type_hint\">dialog" | ||
293 | + "</property><property name=\"subtitle\" translatable=\"yes\">Configure p" | ||
294 | + "ointer device behavior and appearance</property><child internal-child=\"" | ||
295 | + "vbox\"><object class=\"GtkVBox\" id=\"dialog-vbox1\"><property name=\"v" | ||
296 | "isible\">True</property><property name=\"can_focus\">False</property><p" | ||
297 | - "roperty name=\"left_padding\">12</property><child><object class=\"GtkTa" | ||
298 | - "ble\" id=\"table1\"><property name=\"visible\">True</property><property" | ||
299 | - " name=\"can_focus\">False</property><property name=\"border_width\">6</" | ||
300 | - "property><property name=\"n_rows\">3</property><property name=\"n_colum" | ||
301 | - "ns\">2</property><property name=\"column_spacing\">12</property><proper" | ||
302 | - "ty name=\"row_spacing\">6</property><child><object class=\"GtkLabel\" i" | ||
303 | - "d=\"device-acceleration-label\"><property name=\"visible\">True</proper" | ||
304 | - "ty><property name=\"can_focus\">False</property><property name=\"xalign" | ||
305 | - "\">0</property><property name=\"label\" translatable=\"yes\">_Accelerat" | ||
306 | - "ion:</property><property name=\"use_underline\">True</property><propert" | ||
307 | - "y name=\"mnemonic_widget\">device-acceleration-scale</property></object" | ||
308 | - "><packing><property name=\"x_options\">GTK_FILL</property><property nam" | ||
309 | - "e=\"y_options\">GTK_FILL</property></packing></child><child><object cla" | ||
310 | - "ss=\"GtkHScale\" id=\"device-acceleration-scale\"><property name=\"visi" | ||
311 | - "ble\">True</property><property name=\"can_focus\">True</property><prope" | ||
312 | - "rty name=\"tooltip_text\" translatable=\"yes\">The factor at which the " | ||
313 | - "pointer\'s speed will increase as the mouse is moved</property><propert" | ||
314 | - "y name=\"update_policy\">delayed</property><property name=\"adjustment\"" | ||
315 | - ">device-acceleration</property><property name=\"round_digits\">1</prope" | ||
316 | - "rty><property name=\"value_pos\">right</property></object><packing><pro" | ||
317 | - "perty name=\"left_attach\">1</property><property name=\"right_attach\">" | ||
318 | - "2</property></packing></child><child><object class=\"GtkHScale\" id=\"d" | ||
319 | - "evice-threshold-scale\"><property name=\"visible\">True</property><prop" | ||
320 | - "erty name=\"can_focus\">True</property><property name=\"tooltip_text\" " | ||
321 | - "translatable=\"yes\">The number of pixels the pointer must move in a sh" | ||
322 | - "ort time before it starts accelerating</property><property name=\"updat" | ||
323 | - "e_policy\">delayed</property><property name=\"adjustment\">device-thres" | ||
324 | - "hold</property><property name=\"round_digits\">0</property><property na" | ||
325 | - "me=\"digits\">0</property><property name=\"value_pos\">right</property>" | ||
326 | - "</object><packing><property name=\"left_attach\">1</property><property " | ||
327 | - "name=\"right_attach\">2</property><property name=\"top_attach\">1</prop" | ||
328 | - "erty><property name=\"bottom_attach\">2</property></packing></child><ch" | ||
329 | - "ild><object class=\"GtkLabel\" id=\"device-threshold-label\"><property " | ||
330 | + "roperty name=\"spacing\">2</property><child internal-child=\"action_are" | ||
331 | + "a\"><object class=\"GtkHButtonBox\" id=\"dialog-action_area1\"><propert" | ||
332 | + "y name=\"visible\">True</property><property name=\"can_focus\">False</p" | ||
333 | + "roperty><property name=\"layout_style\">end</property><child><object cl" | ||
334 | + "ass=\"GtkButton\" id=\"button2\"><property name=\"label\">gtk-help</pro" | ||
335 | + "perty><property name=\"use_action_appearance\">False</property><propert" | ||
336 | + "y name=\"visible\">True</property><property name=\"can_focus\">True</pr" | ||
337 | + "operty><property name=\"receives_default\">True</property><property nam" | ||
338 | + "e=\"use_stock\">True</property></object><packing><property name=\"expan" | ||
339 | + "d\">False</property><property name=\"fill\">False</property><property n" | ||
340 | + "ame=\"position\">0</property><property name=\"secondary\">True</propert" | ||
341 | + "y></packing></child><child><object class=\"GtkButton\" id=\"button1\"><" | ||
342 | + "property name=\"label\">gtk-close</property><property name=\"use_action" | ||
343 | + "_appearance\">False</property><property name=\"visible\">True</property" | ||
344 | + "><property name=\"can_focus\">True</property><property name=\"receives_" | ||
345 | + "default\">True</property><property name=\"use_stock\">True</property></" | ||
346 | + "object><packing><property name=\"expand\">False</property><property nam" | ||
347 | + "e=\"fill\">False</property><property name=\"position\">0</property></pa" | ||
348 | + "cking></child></object><packing><property name=\"expand\">False</proper" | ||
349 | + "ty><property name=\"fill\">True</property><property name=\"pack_type\">" | ||
350 | + "end</property><property name=\"position\">0</property></packing></child" | ||
351 | + "><child><object class=\"GtkNotebook\" id=\"plug-child\"><property name=" | ||
352 | + "\"visible\">True</property><property name=\"can_focus\">True</property>" | ||
353 | + "<property name=\"border_width\">6</property><child><object class=\"GtkV" | ||
354 | + "Box\" id=\"vbox1\"><property name=\"visible\">True</property><property " | ||
355 | + "name=\"can_focus\">False</property><property name=\"border_width\">12</" | ||
356 | + "property><property name=\"spacing\">6</property><child><object class=\"" | ||
357 | + "GtkHBox\" id=\"hbox1\"><property name=\"visible\">True</property><prope" | ||
358 | + "rty name=\"can_focus\">False</property><property name=\"spacing\">12</p" | ||
359 | + "roperty><child><object class=\"GtkLabel\" id=\"label7\"><property name=" | ||
360 | + "\"visible\">True</property><property name=\"can_focus\">False</property" | ||
361 | + "><property name=\"label\" translatable=\"yes\">De_vice:</property><prop" | ||
362 | + "erty name=\"use_underline\">True</property><property name=\"mnemonic_wi" | ||
363 | + "dget\">device-combobox</property><property name=\"angle\">0.05000000000" | ||
364 | + "0000003</property></object><packing><property name=\"expand\">False</pr" | ||
365 | + "operty><property name=\"fill\">True</property><property name=\"position" | ||
366 | + "\">0</property></packing></child><child><object class=\"GtkComboBox\" i" | ||
367 | + "d=\"device-combobox\"><property name=\"visible\">True</property><proper" | ||
368 | + "ty name=\"can_focus\">False</property></object><packing><property name=" | ||
369 | + "\"expand\">True</property><property name=\"fill\">True</property><prope" | ||
370 | + "rty name=\"position\">1</property></packing></child></object><packing><" | ||
371 | + "property name=\"expand\">False</property><property name=\"fill\">True</" | ||
372 | + "property><property name=\"position\">0</property></packing></child><chi" | ||
373 | + "ld><object class=\"GtkCheckButton\" id=\"device-enabled\"><property nam" | ||
374 | + "e=\"label\" translatable=\"yes\">_Enable this device</property><propert" | ||
375 | + "y name=\"use_action_appearance\">False</property><property name=\"visib" | ||
376 | + "le\">True</property><property name=\"can_focus\">True</property><proper" | ||
377 | + "ty name=\"receives_default\">False</property><property name=\"use_under" | ||
378 | + "line\">True</property><property name=\"draw_indicator\">True</property>" | ||
379 | + "</object><packing><property name=\"expand\">False</property><property n" | ||
380 | + "ame=\"fill\">True</property><property name=\"position\">1</property></p" | ||
381 | + "acking></child><child><object class=\"GtkNotebook\" id=\"device-noteboo" | ||
382 | + "k\"><property name=\"visible\">True</property><property name=\"can_focu" | ||
383 | + "s\">True</property><child><object class=\"GtkVBox\" id=\"device-box\"><" | ||
384 | + "property name=\"visible\">True</property><property name=\"can_focus\">F" | ||
385 | + "alse</property><property name=\"border_width\">6</property><property na" | ||
386 | + "me=\"spacing\">6</property><child><object class=\"GtkFrame\" id=\"frame" | ||
387 | + "1\"><property name=\"visible\">True</property><property name=\"can_focu" | ||
388 | + "s\">False</property><property name=\"label_xalign\">0</property><proper" | ||
389 | + "ty name=\"shadow_type\">none</property><child><object class=\"GtkAlignm" | ||
390 | + "ent\" id=\"alignment1\"><property name=\"visible\">True</property><prop" | ||
391 | + "erty name=\"can_focus\">False</property><property name=\"left_padding\"" | ||
392 | + ">12</property><child><object class=\"GtkVBox\" id=\"vbox12\"><property " | ||
393 | "name=\"visible\">True</property><property name=\"can_focus\">False</pro" | ||
394 | - "perty><property name=\"xalign\">0</property><property name=\"label\" tr" | ||
395 | - "anslatable=\"yes\">_Sensitivity:</property><property name=\"use_underli" | ||
396 | - "ne\">True</property><property name=\"mnemonic_widget\">device-threshold" | ||
397 | - "-scale</property></object><packing><property name=\"top_attach\">1</pro" | ||
398 | - "perty><property name=\"bottom_attach\">2</property><property name=\"x_o" | ||
399 | - "ptions\">GTK_FILL</property></packing></child><child><object class=\"Gt" | ||
400 | - "kAlignment\" id=\"alignment7\"><property name=\"visible\">True</propert" | ||
401 | - "y><property name=\"can_focus\">False</property><property name=\"xalign\"" | ||
402 | - ">0</property><property name=\"xscale\">0</property><property name=\"ysc" | ||
403 | - "ale\">0</property><child><object class=\"GtkButton\" id=\"device-reset-" | ||
404 | - "feedback\"><property name=\"label\" translatable=\"yes\">Reset to De_fa" | ||
405 | - "ults</property><property name=\"visible\">True</property><property name" | ||
406 | - "=\"can_focus\">True</property><property name=\"receives_default\">True<" | ||
407 | - "/property><property name=\"tooltip_text\" translatable=\"yes\">Set the " | ||
408 | - "acceleration and sensitivity for the selected device to the default val" | ||
409 | - "ues</property><property name=\"use_action_appearance\">False</property>" | ||
410 | - "<property name=\"image\">image5</property><property name=\"use_underlin" | ||
411 | - "e\">True</property></object></child></object><packing><property name=\"" | ||
412 | - "right_attach\">2</property><property name=\"top_attach\">2</property><p" | ||
413 | - "roperty name=\"bottom_attach\">3</property></packing></child></object><" | ||
414 | - "/child></object></child><child type=\"label\"><object class=\"GtkLabel\"" | ||
415 | - " id=\"label15\"><property name=\"visible\">True</property><property nam" | ||
416 | - "e=\"can_focus\">False</property><property name=\"label\" translatable=\"" | ||
417 | - "yes\">Pointer Speed</property><attributes><attribute name=\"weight\" va" | ||
418 | - "lue=\"bold\"/></attributes></object></child></object><packing><property" | ||
419 | - " name=\"expand\">False</property><property name=\"fill\">True</property" | ||
420 | - "><property name=\"position\">1</property></packing></child></object></c" | ||
421 | - "hild><child type=\"tab\"><object class=\"GtkLabel\" id=\"label4\"><prop" | ||
422 | - "erty name=\"visible\">True</property><property name=\"can_focus\">False" | ||
423 | - "</property><property name=\"label\" translatable=\"yes\">B_uttons and F" | ||
424 | - "eedback</property><property name=\"use_underline\">True</property></obj" | ||
425 | - "ect><packing><property name=\"tab_fill\">False</property></packing></ch" | ||
426 | - "ild><child><object class=\"GtkVBox\" id=\"synaptics-tab\"><property nam" | ||
427 | - "e=\"visible\">True</property><property name=\"can_focus\">False</proper" | ||
428 | - "ty><property name=\"border_width\">6</property><property name=\"spacing" | ||
429 | - "\">6</property><child><object class=\"GtkFrame\" id=\"frame11\"><proper" | ||
430 | + "perty><property name=\"border_width\">6</property><property name=\"spac" | ||
431 | + "ing\">6</property><child><object class=\"GtkHBox\" id=\"hbox3\"><proper" | ||
432 | "ty name=\"visible\">True</property><property name=\"can_focus\">False</" | ||
433 | - "property><property name=\"label_xalign\">0</property><property name=\"s" | ||
434 | - "hadow_type\">none</property><child><object class=\"GtkAlignment\" id=\"" | ||
435 | - "alignment13\"><property name=\"visible\">True</property><property name=" | ||
436 | - "\"can_focus\">False</property><property name=\"left_padding\">12</prope" | ||
437 | - "rty><child><object class=\"GtkVBox\" id=\"vbox11\"><property name=\"vis" | ||
438 | - "ible\">True</property><property name=\"can_focus\">False</property><pro" | ||
439 | - "perty name=\"border_width\">6</property><property name=\"spacing\">6</p" | ||
440 | - "roperty><child><object class=\"GtkCheckButton\" id=\"synaptics-disable-" | ||
441 | - "while-type\"><property name=\"label\" translatable=\"yes\">Disable to_u" | ||
442 | - "chpad while typing</property><property name=\"visible\">True</property>" | ||
443 | + "property><property name=\"spacing\">12</property><child><object class=\"" | ||
444 | + "GtkRadioButton\" id=\"device-right-handed\"><property name=\"label\" tr" | ||
445 | + "anslatable=\"yes\">Ri_ght-handed</property><property name=\"use_action_" | ||
446 | + "appearance\">False</property><property name=\"visible\">True</property>" | ||
447 | "<property name=\"can_focus\">True</property><property name=\"receives_d" | ||
448 | - "efault\">False</property><property name=\"tooltip_text\" translatable=\"" | ||
449 | - "yes\">When selected, the touchpad will be disabled when the keyboard is" | ||
450 | - " being used</property><property name=\"use_action_appearance\">False</p" | ||
451 | - "roperty><property name=\"use_underline\">True</property><property name=" | ||
452 | - "\"draw_indicator\">True</property></object><packing><property name=\"ex" | ||
453 | - "pand\">True</property><property name=\"fill\">True</property><property " | ||
454 | - "name=\"position\">0</property></packing></child><child><object class=\"" | ||
455 | - "GtkCheckButton\" id=\"synaptics-tap-to-click\"><property name=\"label\"" | ||
456 | - " translatable=\"yes\">T_ap touchpad to click</property><property name=\"" | ||
457 | - "visible\">True</property><property name=\"can_focus\">True</property><p" | ||
458 | - "roperty name=\"receives_default\">False</property><property name=\"use_" | ||
459 | - "action_appearance\">False</property><property name=\"use_underline\">Tr" | ||
460 | - "ue</property><property name=\"draw_indicator\">True</property></object>" | ||
461 | - "<packing><property name=\"expand\">True</property><property name=\"fill" | ||
462 | - "\">True</property><property name=\"position\">1</property></packing></c" | ||
463 | - "hild></object></child></object></child><child type=\"label\"><object cl" | ||
464 | - "ass=\"GtkLabel\" id=\"label16\"><property name=\"visible\">True</proper" | ||
465 | - "ty><property name=\"can_focus\">False</property><property name=\"label\"" | ||
466 | - " translatable=\"yes\">General</property><property name=\"use_markup\">T" | ||
467 | - "rue</property><attributes><attribute name=\"weight\" value=\"bold\"/></" | ||
468 | - "attributes></object></child></object><packing><property name=\"expand\"" | ||
469 | - ">False</property><property name=\"fill\">True</property><property name=" | ||
470 | - "\"position\">0</property></packing></child><child><object class=\"GtkFr" | ||
471 | - "ame\" id=\"frame10\"><property name=\"visible\">True</property><propert" | ||
472 | - "y name=\"can_focus\">False</property><property name=\"label_xalign\">0<" | ||
473 | - "/property><property name=\"shadow_type\">none</property><child><object " | ||
474 | - "class=\"GtkAlignment\" id=\"alignment12\"><property name=\"visible\">Tr" | ||
475 | - "ue</property><property name=\"can_focus\">False</property><property nam" | ||
476 | - "e=\"left_padding\">12</property><child><object class=\"GtkVBox\" id=\"v" | ||
477 | - "box10\"><property name=\"visible\">True</property><property name=\"can_" | ||
478 | - "focus\">False</property><property name=\"border_width\">6</property><pr" | ||
479 | - "operty name=\"spacing\">6</property><child><object class=\"GtkHBox\" id" | ||
480 | - "=\"hbox4\"><property name=\"visible\">True</property><property name=\"c" | ||
481 | - "an_focus\">False</property><property name=\"spacing\">12</property><chi" | ||
482 | - "ld><object class=\"GtkRadioButton\" id=\"synaptics-scroll-no\"><propert" | ||
483 | - "y name=\"label\" translatable=\"yes\">Di_sabled</property><property nam" | ||
484 | - "e=\"visible\">True</property><property name=\"can_focus\">True</propert" | ||
485 | - "y><property name=\"receives_default\">False</property><property name=\"" | ||
486 | - "use_action_appearance\">False</property><property name=\"use_underline\"" | ||
487 | - ">True</property><property name=\"active\">True</property><property name" | ||
488 | - "=\"draw_indicator\">True</property></object><packing><property name=\"e" | ||
489 | - "xpand\">False</property><property name=\"fill\">True</property><propert" | ||
490 | + "efault\">False</property><property name=\"use_underline\">True</propert" | ||
491 | + "y><property name=\"active\">True</property><property name=\"draw_indica" | ||
492 | + "tor\">True</property></object><packing><property name=\"expand\">False<" | ||
493 | + "/property><property name=\"fill\">True</property><property name=\"posit" | ||
494 | + "ion\">0</property></packing></child><child><object class=\"GtkRadioButt" | ||
495 | + "on\" id=\"device-left-handed\"><property name=\"label\" translatable=\"" | ||
496 | + "yes\">Le_ft-handed</property><property name=\"use_action_appearance\">F" | ||
497 | + "alse</property><property name=\"visible\">True</property><property name" | ||
498 | + "=\"can_focus\">True</property><property name=\"receives_default\">False" | ||
499 | + "</property><property name=\"use_underline\">True</property><property na" | ||
500 | + "me=\"draw_indicator\">True</property><property name=\"group\">device-ri" | ||
501 | + "ght-handed</property></object><packing><property name=\"expand\">False<" | ||
502 | + "/property><property name=\"fill\">True</property><property name=\"posit" | ||
503 | + "ion\">1</property></packing></child></object><packing><property name=\"" | ||
504 | + "expand\">True</property><property name=\"fill\">True</property><propert" | ||
505 | "y name=\"position\">0</property></packing></child><child><object class=" | ||
506 | - "\"GtkRadioButton\" id=\"synaptics-scroll-edge\"><property name=\"label\"" | ||
507 | - " translatable=\"yes\">Edge scro_lling</property><property name=\"visibl" | ||
508 | + "\"GtkCheckButton\" id=\"device-reverse-scrolling\"><property name=\"lab" | ||
509 | + "el\" translatable=\"yes\">Reverse scroll d_irection</property><property" | ||
510 | + " name=\"use_action_appearance\">False</property><property name=\"visibl" | ||
511 | "e\">True</property><property name=\"can_focus\">True</property><propert" | ||
512 | - "y name=\"receives_default\">False</property><property name=\"use_action" | ||
513 | - "_appearance\">False</property><property name=\"use_underline\">True</pr" | ||
514 | - "operty><property name=\"draw_indicator\">True</property><property name=" | ||
515 | - "\"group\">synaptics-scroll-no</property></object><packing><property nam" | ||
516 | - "e=\"expand\">False</property><property name=\"fill\">True</property><pr" | ||
517 | - "operty name=\"position\">1</property></packing></child><child><object c" | ||
518 | - "lass=\"GtkRadioButton\" id=\"synaptics-scroll-two\"><property name=\"la" | ||
519 | - "bel\" translatable=\"yes\">Two-_finger scrolling</property><property na" | ||
520 | - "me=\"visible\">True</property><property name=\"can_focus\">True</proper" | ||
521 | - "ty><property name=\"receives_default\">False</property><property name=\"" | ||
522 | - "use_action_appearance\">False</property><property name=\"use_underline\"" | ||
523 | - ">True</property><property name=\"draw_indicator\">True</property><prope" | ||
524 | - "rty name=\"group\">synaptics-scroll-no</property></object><packing><pro" | ||
525 | - "perty name=\"expand\">True</property><property name=\"fill\">True</prop" | ||
526 | - "erty><property name=\"position\">2</property></packing></child></object" | ||
527 | - "><packing><property name=\"expand\">True</property><property name=\"fil" | ||
528 | - "l\">True</property><property name=\"position\">0</property></packing></" | ||
529 | - "child><child><object class=\"GtkCheckButton\" id=\"synaptics-scroll-hor" | ||
530 | - "iz\"><property name=\"label\" translatable=\"yes\">Enable hori_zontal s" | ||
531 | - "crolling</property><property name=\"visible\">True</property><property " | ||
532 | - "name=\"can_focus\">True</property><property name=\"receives_default\">F" | ||
533 | - "alse</property><property name=\"use_action_appearance\">False</property" | ||
534 | - "><property name=\"use_underline\">True</property><property name=\"draw_" | ||
535 | - "indicator\">True</property></object><packing><property name=\"expand\">" | ||
536 | - "True</property><property name=\"fill\">True</property><property name=\"" | ||
537 | - "position\">1</property></packing></child></object></child></object></ch" | ||
538 | - "ild><child type=\"label\"><object class=\"GtkLabel\" id=\"label17\"><pr" | ||
539 | - "operty name=\"visible\">True</property><property name=\"can_focus\">Fal" | ||
540 | - "se</property><property name=\"label\" translatable=\"yes\">Scrolling</p" | ||
541 | - "roperty><property name=\"use_markup\">True</property><attributes><attri" | ||
542 | - "bute name=\"weight\" value=\"bold\"/></attributes></object></child></ob" | ||
543 | - "ject><packing><property name=\"expand\">False</property><property name=" | ||
544 | - "\"fill\">True</property><property name=\"position\">1</property></packi" | ||
545 | - "ng></child></object><packing><property name=\"position\">1</property></" | ||
546 | - "packing></child><child type=\"tab\"><object class=\"GtkLabel\" id=\"syn" | ||
547 | - "aptics-label\"><property name=\"visible\">True</property><property name" | ||
548 | - "=\"can_focus\">False</property><property name=\"label\" translatable=\"" | ||
549 | - "yes\">T_ouchpad</property><property name=\"use_underline\">True</proper" | ||
550 | - "ty></object><packing><property name=\"position\">1</property><property " | ||
551 | - "name=\"tab_fill\">False</property></packing></child><child><object clas" | ||
552 | - "s=\"GtkVBox\" id=\"wacom-tab\"><property name=\"visible\">True</propert" | ||
553 | + "y name=\"receives_default\">False</property><property name=\"tooltip_te" | ||
554 | + "xt\" translatable=\"yes\">When selected, the scroll wheel will work in " | ||
555 | + "the opposite direction</property><property name=\"use_underline\">True<" | ||
556 | + "/property><property name=\"draw_indicator\">True</property></object><pa" | ||
557 | + "cking><property name=\"expand\">True</property><property name=\"fill\">" | ||
558 | + "True</property><property name=\"position\">1</property></packing></chil" | ||
559 | + "d></object></child></object></child><child type=\"label\"><object class" | ||
560 | + "=\"GtkLabel\" id=\"label14\"><property name=\"visible\">True</property>" | ||
561 | + "<property name=\"can_focus\">False</property><property name=\"label\" t" | ||
562 | + "ranslatable=\"yes\">Buttons</property><attributes><attribute name=\"wei" | ||
563 | + "ght\" value=\"bold\"/></attributes></object></child></object><packing><" | ||
564 | + "property name=\"expand\">False</property><property name=\"fill\">True</" | ||
565 | + "property><property name=\"position\">0</property></packing></child><chi" | ||
566 | + "ld><object class=\"GtkFrame\" id=\"frame2\"><property name=\"visible\">" | ||
567 | + "True</property><property name=\"can_focus\">False</property><property n" | ||
568 | + "ame=\"label_xalign\">0</property><property name=\"shadow_type\">none</p" | ||
569 | + "roperty><child><object class=\"GtkAlignment\" id=\"alignment2\"><proper" | ||
570 | + "ty name=\"visible\">True</property><property name=\"can_focus\">False</" | ||
571 | + "property><property name=\"left_padding\">12</property><child><object cl" | ||
572 | + "ass=\"GtkTable\" id=\"table1\"><property name=\"visible\">True</propert" | ||
573 | "y><property name=\"can_focus\">False</property><property name=\"border_" | ||
574 | - "width\">6</property><property name=\"spacing\">6</property><child><obje" | ||
575 | - "ct class=\"GtkFrame\" id=\"frame12\"><property name=\"visible\">True</p" | ||
576 | - "roperty><property name=\"can_focus\">False</property><property name=\"l" | ||
577 | - "abel_xalign\">0</property><property name=\"shadow_type\">none</property" | ||
578 | - "><child><object class=\"GtkAlignment\" id=\"alignment14\"><property nam" | ||
579 | - "e=\"visible\">True</property><property name=\"can_focus\">False</proper" | ||
580 | - "ty><property name=\"left_padding\">12</property><child><object class=\"" | ||
581 | - "GtkTable\" id=\"table2\"><property name=\"visible\">True</property><pro" | ||
582 | - "perty name=\"can_focus\">False</property><property name=\"border_width\"" | ||
583 | - ">6</property><property name=\"n_rows\">2</property><property name=\"n_c" | ||
584 | - "olumns\">2</property><property name=\"column_spacing\">12</property><pr" | ||
585 | - "operty name=\"row_spacing\">6</property><child><object class=\"GtkLabel" | ||
586 | - "\" id=\"label9\"><property name=\"visible\">True</property><property na" | ||
587 | - "me=\"can_focus\">False</property><property name=\"xalign\">0</property>" | ||
588 | - "<property name=\"label\" translatable=\"yes\">Tr_acking mode:</property" | ||
589 | - "><property name=\"use_underline\">True</property><property name=\"mnemo" | ||
590 | - "nic_widget\">wacom-mode</property></object><packing><property name=\"x_" | ||
591 | - "options\">GTK_FILL</property></packing></child><child><object class=\"G" | ||
592 | - "tkLabel\" id=\"label10\"><property name=\"visible\">True</property><pro" | ||
593 | - "perty name=\"can_focus\">False</property><property name=\"xalign\">0</p" | ||
594 | - "roperty><property name=\"label\" translatable=\"yes\">_Rotation:</prope" | ||
595 | - "rty><property name=\"use_underline\">True</property><property name=\"mn" | ||
596 | - "emonic_widget\">wacom-rotation</property></object><packing><property na" | ||
597 | - "me=\"top_attach\">1</property><property name=\"bottom_attach\">2</prope" | ||
598 | - "rty><property name=\"x_options\">GTK_FILL</property></packing></child><" | ||
599 | - "child><object class=\"GtkComboBox\" id=\"wacom-mode\"><property name=\"" | ||
600 | - "visible\">True</property><property name=\"can_focus\">False</property><" | ||
601 | - "property name=\"model\">wacom-mode-store</property><child><object class" | ||
602 | - "=\"GtkCellRendererText\" id=\"cellrenderertext1\"/><attributes><attribu" | ||
603 | - "te name=\"text\">1</attribute></attributes></child></object><packing><p" | ||
604 | - "roperty name=\"left_attach\">1</property><property name=\"right_attach\"" | ||
605 | - ">2</property></packing></child><child><object class=\"GtkComboBox\" id=" | ||
606 | - "\"wacom-rotation\"><property name=\"visible\">True</property><property " | ||
607 | - "name=\"can_focus\">False</property><property name=\"model\">wacom-rotat" | ||
608 | - "ion-store</property><child><object class=\"GtkCellRendererText\" id=\"c" | ||
609 | - "ellrenderertext2\"/><attributes><attribute name=\"text\">1</attribute><" | ||
610 | - "/attributes></child></object><packing><property name=\"left_attach\">1<" | ||
611 | - "/property><property name=\"right_attach\">2</property><property name=\"" | ||
612 | - "top_attach\">1</property><property name=\"bottom_attach\">2</property><" | ||
613 | - "/packing></child></object></child></object></child><child type=\"label\"" | ||
614 | - "><object class=\"GtkLabel\" id=\"label18\"><property name=\"visible\">T" | ||
615 | + "width\">6</property><property name=\"n_rows\">4</property><property nam" | ||
616 | + "e=\"n_columns\">2</property><property name=\"column_spacing\">12</prope" | ||
617 | + "rty><property name=\"row_spacing\">6</property><child><object class=\"G" | ||
618 | + "tkLabel\" id=\"device-acceleration-label\"><property name=\"visible\">T" | ||
619 | "rue</property><property name=\"can_focus\">False</property><property na" | ||
620 | - "me=\"label\" translatable=\"yes\">General</property><property name=\"us" | ||
621 | - "e_markup\">True</property><attributes><attribute name=\"weight\" value=" | ||
622 | - "\"bold\"/></attributes></object></child></object><packing><property nam" | ||
623 | - "e=\"expand\">False</property><property name=\"fill\">True</property><pr" | ||
624 | - "operty name=\"position\">0</property></packing></child></object><packin" | ||
625 | - "g><property name=\"position\">2</property></packing></child><child type" | ||
626 | - "=\"tab\"><object class=\"GtkLabel\" id=\"wacom-label\"><property name=\"" | ||
627 | - "visible\">True</property><property name=\"can_focus\">False</property><" | ||
628 | - "property name=\"label\" translatable=\"yes\">Table_t</property><propert" | ||
629 | - "y name=\"use_underline\">True</property></object><packing><property nam" | ||
630 | - "e=\"position\">2</property><property name=\"tab_fill\">False</property>" | ||
631 | - "</packing></child></object><packing><property name=\"expand\">True</pro" | ||
632 | - "perty><property name=\"fill\">True</property><property name=\"position\"" | ||
633 | - ">2</property></packing></child></object></child><child type=\"tab\"><ob" | ||
634 | - "ject class=\"GtkLabel\" id=\"label1\"><property name=\"visible\">True</" | ||
635 | - "property><property name=\"can_focus\">False</property><property name=\"" | ||
636 | - "label\" translatable=\"yes\">_Devices</property><property name=\"use_un" | ||
637 | - "derline\">True</property></object><packing><property name=\"tab_fill\">" | ||
638 | - "False</property></packing></child><child><object class=\"GtkVBox\" id=\"" | ||
639 | - "vbox3\"><property name=\"visible\">True</property><property name=\"can_" | ||
640 | - "focus\">False</property><property name=\"border_width\">12</property><p" | ||
641 | - "roperty name=\"spacing\">6</property><child><object class=\"GtkFrame\" " | ||
642 | - "id=\"frame3\"><property name=\"visible\">True</property><property name=" | ||
643 | - "\"can_focus\">False</property><property name=\"label_xalign\">0</proper" | ||
644 | - "ty><property name=\"shadow_type\">none</property><child><object class=\"" | ||
645 | - "GtkAlignment\" id=\"alignment3\"><property name=\"visible\">True</prope" | ||
646 | - "rty><property name=\"can_focus\">False</property><property name=\"left_" | ||
647 | - "padding\">12</property><child><object class=\"GtkVBox\" id=\"vbox4\"><p" | ||
648 | - "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa" | ||
649 | - "lse</property><property name=\"border_width\">6</property><property nam" | ||
650 | - "e=\"spacing\">6</property><child><object class=\"GtkLabel\" id=\"mouse-" | ||
651 | - "dnd-label\"><property name=\"visible\">True</property><property name=\"" | ||
652 | - "can_focus\">False</property><property name=\"xalign\">0</property><prop" | ||
653 | - "erty name=\"label\" translatable=\"yes\">Th_reshold:</property><propert" | ||
654 | - "y name=\"use_underline\">True</property><property name=\"mnemonic_widge" | ||
655 | - "t\">dnd-threshold-scale</property></object><packing><property name=\"ex" | ||
656 | - "pand\">True</property><property name=\"fill\">True</property><property " | ||
657 | - "name=\"position\">0</property></packing></child><child><object class=\"" | ||
658 | - "GtkHScale\" id=\"dnd-threshold-scale\"><property name=\"visible\">True<" | ||
659 | - "/property><property name=\"can_focus\">True</property><property name=\"" | ||
660 | - "tooltip_text\" translatable=\"yes\">The number of pixels the pointer mu" | ||
661 | - "st move before a drag operation will start</property><property name=\"u" | ||
662 | - "pdate_policy\">delayed</property><property name=\"adjustment\">dnd-thre" | ||
663 | - "shold</property><property name=\"digits\">0</property><property name=\"" | ||
664 | - "value_pos\">right</property></object><packing><property name=\"expand\"" | ||
665 | - ">True</property><property name=\"fill\">True</property><property name=\"" | ||
666 | - "position\">1</property></packing></child></object></child></object></ch" | ||
667 | - "ild><child type=\"label\"><object class=\"GtkLabel\" id=\"label6\"><pro" | ||
668 | - "perty name=\"visible\">True</property><property name=\"can_focus\">Fals" | ||
669 | - "e</property><property name=\"label\" translatable=\"yes\">Drag and Drop" | ||
670 | - "</property><attributes><attribute name=\"weight\" value=\"bold\"/></att" | ||
671 | - "ributes></object></child></object><packing><property name=\"expand\">Fa" | ||
672 | - "lse</property><property name=\"fill\">True</property><property name=\"p" | ||
673 | - "osition\">0</property></packing></child><child><object class=\"GtkFrame" | ||
674 | - "\" id=\"frame4\"><property name=\"visible\">True</property><property na" | ||
675 | - "me=\"can_focus\">False</property><property name=\"label_xalign\">0</pro" | ||
676 | - "perty><property name=\"shadow_type\">none</property><child><object clas" | ||
677 | - "s=\"GtkAlignment\" id=\"alignment4\"><property name=\"visible\">True</p" | ||
678 | - "roperty><property name=\"can_focus\">False</property><property name=\"l" | ||
679 | - "eft_padding\">12</property><child><object class=\"GtkVBox\" id=\"vbox5\"" | ||
680 | + "me=\"xalign\">0</property><property name=\"label\" translatable=\"yes\"" | ||
681 | + ">Acceleratio_n:</property><property name=\"use_underline\">True</proper" | ||
682 | + "ty><property name=\"mnemonic_widget\">device-acceleration-scale</proper" | ||
683 | + "ty></object><packing><property name=\"x_options\">GTK_FILL</property><p" | ||
684 | + "roperty name=\"y_options\">GTK_FILL</property></packing></child><child>" | ||
685 | + "<object class=\"GtkHScale\" id=\"device-acceleration-scale\"><property " | ||
686 | + "name=\"visible\">True</property><property name=\"can_focus\">True</prop" | ||
687 | + "erty><property name=\"tooltip_text\" translatable=\"yes\">The factor at" | ||
688 | + " which the pointer\'s speed will increase as the mouse is moved</proper" | ||
689 | + "ty><property name=\"update_policy\">delayed</property><property name=\"" | ||
690 | + "adjustment\">device-acceleration</property><property name=\"round_digit" | ||
691 | + "s\">1</property><property name=\"value_pos\">right</property></object><" | ||
692 | + "packing><property name=\"left_attach\">1</property><property name=\"rig" | ||
693 | + "ht_attach\">2</property></packing></child><child><object class=\"GtkHSc" | ||
694 | + "ale\" id=\"device-threshold-scale\"><property name=\"visible\">True</pr" | ||
695 | + "operty><property name=\"can_focus\">True</property><property name=\"too" | ||
696 | + "ltip_text\" translatable=\"yes\">The number of pixels the pointer must " | ||
697 | + "move in a short time before it starts accelerating</property><property " | ||
698 | + "name=\"update_policy\">delayed</property><property name=\"adjustment\">" | ||
699 | + "device-threshold</property><property name=\"round_digits\">0</property>" | ||
700 | + "<property name=\"digits\">0</property><property name=\"value_pos\">righ" | ||
701 | + "t</property></object><packing><property name=\"left_attach\">1</propert" | ||
702 | + "y><property name=\"right_attach\">2</property><property name=\"top_atta" | ||
703 | + "ch\">1</property><property name=\"bottom_attach\">2</property></packing" | ||
704 | + "></child><child><object class=\"GtkLabel\" id=\"device-threshold-label\"" | ||
705 | "><property name=\"visible\">True</property><property name=\"can_focus\"" | ||
706 | - ">False</property><property name=\"border_width\">6</property><property " | ||
707 | - "name=\"spacing\">6</property><child><object class=\"GtkLabel\" id=\"dcl" | ||
708 | - "ick-time-label\"><property name=\"visible\">True</property><property na" | ||
709 | - "me=\"can_focus\">False</property><property name=\"xalign\">0</property>" | ||
710 | - "<property name=\"label\" translatable=\"yes\">Ti_me:</property><propert" | ||
711 | - "y name=\"use_underline\">True</property><property name=\"mnemonic_widge" | ||
712 | - "t\">dclick-time-scale</property></object><packing><property name=\"expa" | ||
713 | - "nd\">True</property><property name=\"fill\">True</property><property na" | ||
714 | - "me=\"position\">0</property></packing></child><child><object class=\"Gt" | ||
715 | - "kHScale\" id=\"dclick-time-scale\"><property name=\"visible\">True</pro" | ||
716 | - "perty><property name=\"can_focus\">True</property><property name=\"tool" | ||
717 | - "tip_text\" translatable=\"yes\">Two mouse clicks in less than this leng" | ||
718 | - "th of time (in milliseconds) will be considered a double click</propert" | ||
719 | - "y><property name=\"update_policy\">delayed</property><property name=\"a" | ||
720 | - "djustment\">dclick-time</property><property name=\"digits\">0</property" | ||
721 | - "><property name=\"value_pos\">right</property></object><packing><proper" | ||
722 | - "ty name=\"expand\">True</property><property name=\"fill\">True</propert" | ||
723 | - "y><property name=\"position\">1</property></packing></child><child><obj" | ||
724 | - "ect class=\"GtkLabel\" id=\"dclick-distance-label\"><property name=\"vi" | ||
725 | - "sible\">True</property><property name=\"can_focus\">False</property><pr" | ||
726 | - "operty name=\"xalign\">0</property><property name=\"label\" translatabl" | ||
727 | - "e=\"yes\">D_istance:</property><property name=\"use_underline\">True</p" | ||
728 | - "roperty><property name=\"mnemonic_widget\">dclick-distance-scale</prope" | ||
729 | - "rty></object><packing><property name=\"expand\">True</property><propert" | ||
730 | - "y name=\"fill\">True</property><property name=\"position\">2</property>" | ||
731 | - "</packing></child><child><object class=\"GtkHScale\" id=\"dclick-distan" | ||
732 | - "ce-scale\"><property name=\"visible\">True</property><property name=\"c" | ||
733 | - "an_focus\">True</property><property name=\"tooltip_text\" translatable=" | ||
734 | - "\"yes\">The mouse pointer cannot move farther than this distance betwee" | ||
735 | - "n two clicks for them to be considered a double click</property><proper" | ||
736 | - "ty name=\"update_policy\">delayed</property><property name=\"adjustment" | ||
737 | - "\">dclick-distance</property><property name=\"digits\">0</property><pro" | ||
738 | - "perty name=\"value_pos\">right</property></object><packing><property na" | ||
739 | - "me=\"expand\">True</property><property name=\"fill\">True</property><pr" | ||
740 | - "operty name=\"position\">3</property></packing></child></object></child" | ||
741 | - "></object></child><child type=\"label\"><object class=\"GtkLabel\" id=\"" | ||
742 | - "label8\"><property name=\"visible\">True</property><property name=\"can" | ||
743 | - "_focus\">False</property><property name=\"label\" translatable=\"yes\">" | ||
744 | - "Double Click</property><attributes><attribute name=\"weight\" value=\"b" | ||
745 | - "old\"/></attributes></object></child></object><packing><property name=\"" | ||
746 | - "expand\">False</property><property name=\"fill\">True</property><proper" | ||
747 | - "ty name=\"position\">1</property></packing></child></object><packing><p" | ||
748 | - "roperty name=\"position\">1</property></packing></child><child type=\"t" | ||
749 | - "ab\"><object class=\"GtkLabel\" id=\"label2\"><property name=\"visible\"" | ||
750 | - ">True</property><property name=\"can_focus\">False</property><property " | ||
751 | - "name=\"label\" translatable=\"yes\">_Behavior</property><property name=" | ||
752 | - "\"use_underline\">True</property></object><packing><property name=\"pos" | ||
753 | - "ition\">1</property><property name=\"tab_fill\">False</property></packi" | ||
754 | - "ng></child><child><object class=\"GtkHBox\" id=\"themes-hbox\"><propert" | ||
755 | - "y name=\"visible\">True</property><property name=\"can_focus\">False</p" | ||
756 | - "roperty><property name=\"border_width\">12</property><property name=\"s" | ||
757 | - "pacing\">12</property><child><object class=\"GtkScrolledWindow\" id=\"s" | ||
758 | - "crolledwindow2\"><property name=\"visible\">True</property><property na" | ||
759 | - "me=\"can_focus\">True</property><property name=\"hscrollbar_policy\">au" | ||
760 | - "tomatic</property><property name=\"vscrollbar_policy\">automatic</prope" | ||
761 | - "rty><property name=\"shadow_type\">etched-in</property><child><object c" | ||
762 | - "lass=\"GtkTreeView\" id=\"theme-treeview\"><property name=\"width_reque" | ||
763 | - "st\">200</property><property name=\"visible\">True</property><property " | ||
764 | - "name=\"can_focus\">True</property><property name=\"headers_visible\">Fa" | ||
765 | - "lse</property></object></child></object><packing><property name=\"expan" | ||
766 | - "d\">True</property><property name=\"fill\">True</property><property nam" | ||
767 | - "e=\"position\">0</property></packing></child><child><object class=\"Gtk" | ||
768 | - "VBox\" id=\"vbox9\"><property name=\"visible\">True</property><property" | ||
769 | - " name=\"can_focus\">False</property><property name=\"spacing\">6</prope" | ||
770 | - "rty><child><object class=\"GtkFrame\" id=\"frame5\"><property name=\"vi" | ||
771 | - "sible\">True</property><property name=\"can_focus\">False</property><pr" | ||
772 | - "operty name=\"label_xalign\">0</property><property name=\"shadow_type\"" | ||
773 | - ">none</property><child><object class=\"GtkAlignment\" id=\"alignment5\"" | ||
774 | + ">False</property><property name=\"xalign\">0</property><property name=\"" | ||
775 | + "label\" translatable=\"yes\">Sensitivit_y:</property><property name=\"u" | ||
776 | + "se_underline\">True</property><property name=\"mnemonic_widget\">device" | ||
777 | + "-threshold-scale</property></object><packing><property name=\"top_attac" | ||
778 | + "h\">1</property><property name=\"bottom_attach\">2</property><property " | ||
779 | + "name=\"x_options\">GTK_FILL</property></packing></child><child><object " | ||
780 | + "class=\"GtkAlignment\" id=\"alignment7\"><property name=\"visible\">Tru" | ||
781 | + "e</property><property name=\"can_focus\">False</property><property name" | ||
782 | + "=\"xalign\">0</property><property name=\"xscale\">0</property><property" | ||
783 | + " name=\"yscale\">0</property><child><object class=\"GtkButton\" id=\"de" | ||
784 | + "vice-reset-feedback\"><property name=\"label\" translatable=\"yes\">_Re" | ||
785 | + "set to Defaults</property><property name=\"use_action_appearance\">Fals" | ||
786 | + "e</property><property name=\"visible\">True</property><property name=\"" | ||
787 | + "can_focus\">True</property><property name=\"receives_default\">True</pr" | ||
788 | + "operty><property name=\"tooltip_text\" translatable=\"yes\">Set the acc" | ||
789 | + "eleration and sensitivity for the selected device to the default values" | ||
790 | + "</property><property name=\"image\">image5</property><property name=\"u" | ||
791 | + "se_underline\">True</property></object></child></object><packing><prope" | ||
792 | + "rty name=\"right_attach\">2</property><property name=\"top_attach\">2</" | ||
793 | + "property><property name=\"bottom_attach\">3</property></packing></child" | ||
794 | + "><child><object class=\"GtkAlignment\" id=\"alignment8\"><property name" | ||
795 | + "=\"visible\">True</property><property name=\"can_focus\">False</propert" | ||
796 | + "y><property name=\"xalign\">0</property><property name=\"xscale\">0</pr" | ||
797 | + "operty><property name=\"yscale\">0</property><child><object class=\"Gtk" | ||
798 | + "CheckButton\" id=\"touchscreen-pointer\"><property name=\"label\" trans" | ||
799 | + "latable=\"yes\">_Touchscreen pointer</property><property name=\"use_act" | ||
800 | + "ion_appearance\">False</property><property name=\"visible\">True</prope" | ||
801 | + "rty><property name=\"can_focus\">True</property><property name=\"receiv" | ||
802 | + "es_default\">False</property><property name=\"tooltip_text\" translatab" | ||
803 | + "le=\"yes\">When selected, no mouse pointer is displayed for this device" | ||
804 | + " and gtk TouchscreenMode is activated</property><property name=\"use_un" | ||
805 | + "derline\">True</property><property name=\"draw_indicator\">True</proper" | ||
806 | + "ty></object></child></object><packing><property name=\"right_attach\">2" | ||
807 | + "</property><property name=\"top_attach\">3</property><property name=\"b" | ||
808 | + "ottom_attach\">4</property></packing></child></object></child></object>" | ||
809 | + "</child><child type=\"label\"><object class=\"GtkLabel\" id=\"label15\"" | ||
810 | "><property name=\"visible\">True</property><property name=\"can_focus\"" | ||
811 | - ">False</property><property name=\"left_padding\">12</property><child><o" | ||
812 | - "bject class=\"GtkHBox\" id=\"hbox7\"><property name=\"visible\">True</p" | ||
813 | + ">False</property><property name=\"label\" translatable=\"yes\">Pointer " | ||
814 | + "Speed</property><attributes><attribute name=\"weight\" value=\"bold\"/>" | ||
815 | + "</attributes></object></child></object><packing><property name=\"expand" | ||
816 | + "\">False</property><property name=\"fill\">True</property><property nam" | ||
817 | + "e=\"position\">1</property></packing></child></object></child><child ty" | ||
818 | + "pe=\"tab\"><object class=\"GtkLabel\" id=\"label4\"><property name=\"vi" | ||
819 | + "sible\">True</property><property name=\"can_focus\">False</property><pr" | ||
820 | + "operty name=\"label\" translatable=\"yes\">B_uttons and Feedback</prope" | ||
821 | + "rty><property name=\"use_underline\">True</property></object><packing><" | ||
822 | + "property name=\"tab_fill\">False</property></packing></child><child><ob" | ||
823 | + "ject class=\"GtkVBox\" id=\"synaptics-tab\"><property name=\"visible\">" | ||
824 | + "True</property><property name=\"can_focus\">False</property><property n" | ||
825 | + "ame=\"border_width\">6</property><property name=\"spacing\">6</property" | ||
826 | + "><child><object class=\"GtkFrame\" id=\"frame11\"><property name=\"visi" | ||
827 | + "ble\">True</property><property name=\"can_focus\">False</property><prop" | ||
828 | + "erty name=\"label_xalign\">0</property><property name=\"shadow_type\">n" | ||
829 | + "one</property><child><object class=\"GtkAlignment\" id=\"alignment13\">" | ||
830 | + "<property name=\"visible\">True</property><property name=\"can_focus\">" | ||
831 | + "False</property><property name=\"left_padding\">12</property><child><ob" | ||
832 | + "ject class=\"GtkVBox\" id=\"vbox11\"><property name=\"visible\">True</p" | ||
833 | "roperty><property name=\"can_focus\">False</property><property name=\"b" | ||
834 | - "order_width\">6</property><property name=\"spacing\">12</property><chil" | ||
835 | - "d><object class=\"GtkLabel\" id=\"label21\"><property name=\"visible\">" | ||
836 | + "order_width\">6</property><property name=\"spacing\">6</property><child" | ||
837 | + "><object class=\"GtkCheckButton\" id=\"synaptics-disable-while-type\"><" | ||
838 | + "property name=\"label\" translatable=\"yes\">Disable touchpad _while ty" | ||
839 | + "ping</property><property name=\"use_action_appearance\">False</property" | ||
840 | + "><property name=\"visible\">True</property><property name=\"can_focus\"" | ||
841 | + ">True</property><property name=\"receives_default\">False</property><pr" | ||
842 | + "operty name=\"tooltip_text\" translatable=\"yes\">When selected, the to" | ||
843 | + "uchpad will be disabled when the keyboard is being used</property><prop" | ||
844 | + "erty name=\"use_underline\">True</property><property name=\"draw_indica" | ||
845 | + "tor\">True</property></object><packing><property name=\"expand\">True</" | ||
846 | + "property><property name=\"fill\">True</property><property name=\"positi" | ||
847 | + "on\">0</property></packing></child><child><object class=\"GtkCheckButto" | ||
848 | + "n\" id=\"synaptics-tap-to-click\"><property name=\"label\" translatable" | ||
849 | + "=\"yes\">Tap touchpad to clic_k</property><property name=\"use_action_a" | ||
850 | + "ppearance\">False</property><property name=\"visible\">True</property><" | ||
851 | + "property name=\"can_focus\">True</property><property name=\"receives_de" | ||
852 | + "fault\">False</property><property name=\"use_underline\">True</property" | ||
853 | + "><property name=\"draw_indicator\">True</property></object><packing><pr" | ||
854 | + "operty name=\"expand\">True</property><property name=\"fill\">True</pro" | ||
855 | + "perty><property name=\"position\">1</property></packing></child></objec" | ||
856 | + "t></child></object></child><child type=\"label\"><object class=\"GtkLab" | ||
857 | + "el\" id=\"label16\"><property name=\"visible\">True</property><property" | ||
858 | + " name=\"can_focus\">False</property><property name=\"label\" translatab" | ||
859 | + "le=\"yes\">General</property><property name=\"use_markup\">True</proper" | ||
860 | + "ty><attributes><attribute name=\"weight\" value=\"bold\"/></attributes>" | ||
861 | + "</object></child></object><packing><property name=\"expand\">False</pro" | ||
862 | + "perty><property name=\"fill\">True</property><property name=\"position\"" | ||
863 | + ">0</property></packing></child><child><object class=\"GtkFrame\" id=\"f" | ||
864 | + "rame10\"><property name=\"visible\">True</property><property name=\"can" | ||
865 | + "_focus\">False</property><property name=\"label_xalign\">0</property><p" | ||
866 | + "roperty name=\"shadow_type\">none</property><child><object class=\"GtkA" | ||
867 | + "lignment\" id=\"alignment12\"><property name=\"visible\">True</property" | ||
868 | + "><property name=\"can_focus\">False</property><property name=\"left_pad" | ||
869 | + "ding\">12</property><child><object class=\"GtkVBox\" id=\"vbox10\"><pro" | ||
870 | + "perty name=\"visible\">True</property><property name=\"can_focus\">Fals" | ||
871 | + "e</property><property name=\"border_width\">6</property><property name=" | ||
872 | + "\"spacing\">6</property><child><object class=\"GtkHBox\" id=\"hbox4\"><" | ||
873 | + "property name=\"visible\">True</property><property name=\"can_focus\">F" | ||
874 | + "alse</property><property name=\"spacing\">12</property><child><object c" | ||
875 | + "lass=\"GtkLabel\" id=\"label23\"><property name=\"visible\">True</prope" | ||
876 | + "rty><property name=\"can_focus\">False</property><property name=\"xalig" | ||
877 | + "n\">0</property><property name=\"label\" translatable=\"yes\">Scrolling" | ||
878 | + " _mode:</property><property name=\"use_underline\">True</property><prop" | ||
879 | + "erty name=\"mnemonic_widget\">synaptics-scroll</property></object><pack" | ||
880 | + "ing><property name=\"expand\">False</property><property name=\"fill\">T" | ||
881 | + "rue</property><property name=\"position\">0</property></packing></child" | ||
882 | + "><child><object class=\"GtkComboBox\" id=\"synaptics-scroll\"><property" | ||
883 | + " name=\"visible\">True</property><property name=\"can_focus\">False</pr" | ||
884 | + "operty><property name=\"model\">synaptics-scroll-store</property><child" | ||
885 | + "><object class=\"GtkCellRendererText\" id=\"cellrenderertext3\"/><attri" | ||
886 | + "butes><attribute name=\"sensitive\">1</attribute><attribute name=\"text" | ||
887 | + "\">0</attribute></attributes></child></object><packing><property name=\"" | ||
888 | + "expand\">True</property><property name=\"fill\">True</property><propert" | ||
889 | + "y name=\"position\">1</property></packing></child></object><packing><pr" | ||
890 | + "operty name=\"expand\">True</property><property name=\"fill\">True</pro" | ||
891 | + "perty><property name=\"position\">0</property></packing></child><child>" | ||
892 | + "<object class=\"GtkCheckButton\" id=\"synaptics-scroll-horiz\"><propert" | ||
893 | + "y name=\"label\" translatable=\"yes\">Enable hori_zontal scrolling</pro" | ||
894 | + "perty><property name=\"use_action_appearance\">False</property><propert" | ||
895 | + "y name=\"visible\">True</property><property name=\"can_focus\">True</pr" | ||
896 | + "operty><property name=\"receives_default\">False</property><property na" | ||
897 | + "me=\"use_underline\">True</property><property name=\"draw_indicator\">T" | ||
898 | + "rue</property></object><packing><property name=\"expand\">True</propert" | ||
899 | + "y><property name=\"fill\">True</property><property name=\"position\">1<" | ||
900 | + "/property></packing></child></object></child></object></child><child ty" | ||
901 | + "pe=\"label\"><object class=\"GtkLabel\" id=\"label17\"><property name=\"" | ||
902 | + "visible\">True</property><property name=\"can_focus\">False</property><" | ||
903 | + "property name=\"label\" translatable=\"yes\">Scrolling</property><prope" | ||
904 | + "rty name=\"use_markup\">True</property><attributes><attribute name=\"we" | ||
905 | + "ight\" value=\"bold\"/></attributes></object></child></object><packing>" | ||
906 | + "<property name=\"expand\">False</property><property name=\"fill\">True<" | ||
907 | + "/property><property name=\"position\">1</property></packing></child></o" | ||
908 | + "bject><packing><property name=\"position\">1</property></packing></chil" | ||
909 | + "d><child type=\"tab\"><object class=\"GtkLabel\" id=\"synaptics-label\"" | ||
910 | + "><property name=\"visible\">True</property><property name=\"can_focus\"" | ||
911 | + ">False</property><property name=\"label\" translatable=\"yes\">T_ouchpa" | ||
912 | + "d</property><property name=\"use_underline\">True</property></object><p" | ||
913 | + "acking><property name=\"position\">1</property><property name=\"tab_fil" | ||
914 | + "l\">False</property></packing></child><child><object class=\"GtkVBox\" " | ||
915 | + "id=\"wacom-tab\"><property name=\"visible\">True</property><property na" | ||
916 | + "me=\"can_focus\">False</property><property name=\"border_width\">6</pro" | ||
917 | + "perty><property name=\"spacing\">6</property><child><object class=\"Gtk" | ||
918 | + "Frame\" id=\"frame12\"><property name=\"visible\">True</property><prope" | ||
919 | + "rty name=\"can_focus\">False</property><property name=\"label_xalign\">" | ||
920 | + "0</property><property name=\"shadow_type\">none</property><child><objec" | ||
921 | + "t class=\"GtkAlignment\" id=\"alignment14\"><property name=\"visible\">" | ||
922 | "True</property><property name=\"can_focus\">False</property><property n" | ||
923 | - "ame=\"label\" translatable=\"yes\">Cursor _size:</property><property na" | ||
924 | - "me=\"use_underline\">True</property><property name=\"mnemonic_widget\">" | ||
925 | - "spin1</property></object><packing><property name=\"expand\">False</prop" | ||
926 | - "erty><property name=\"fill\">True</property><property name=\"position\"" | ||
927 | - ">0</property></packing></child><child><object class=\"GtkSpinButton\" i" | ||
928 | - "d=\"spin1\"><property name=\"visible\">True</property><property name=\"" | ||
929 | - "can_focus\">True</property><property name=\"primary_icon_activatable\">" | ||
930 | - "False</property><property name=\"secondary_icon_activatable\">False</pr" | ||
931 | - "operty><property name=\"primary_icon_sensitive\">True</property><proper" | ||
932 | - "ty name=\"secondary_icon_sensitive\">True</property><property name=\"ad" | ||
933 | - "justment\">theme-cursor-size</property><property name=\"snap_to_ticks\"" | ||
934 | - ">True</property><property name=\"numeric\">True</property></object><pac" | ||
935 | - "king><property name=\"expand\">False</property><property name=\"fill\">" | ||
936 | - "True</property><property name=\"position\">1</property></packing></chil" | ||
937 | + "ame=\"left_padding\">12</property><child><object class=\"GtkTable\" id=" | ||
938 | + "\"table2\"><property name=\"visible\">True</property><property name=\"c" | ||
939 | + "an_focus\">False</property><property name=\"border_width\">6</property>" | ||
940 | + "<property name=\"n_rows\">2</property><property name=\"n_columns\">2</p" | ||
941 | + "roperty><property name=\"column_spacing\">12</property><property name=\"" | ||
942 | + "row_spacing\">6</property><child><object class=\"GtkLabel\" id=\"label9" | ||
943 | + "\"><property name=\"visible\">True</property><property name=\"can_focus" | ||
944 | + "\">False</property><property name=\"xalign\">0</property><property name" | ||
945 | + "=\"label\" translatable=\"yes\">Trac_king mode:</property><property nam" | ||
946 | + "e=\"use_underline\">True</property><property name=\"mnemonic_widget\">w" | ||
947 | + "acom-mode</property></object><packing><property name=\"x_options\">GTK_" | ||
948 | + "FILL</property></packing></child><child><object class=\"GtkLabel\" id=\"" | ||
949 | + "label10\"><property name=\"visible\">True</property><property name=\"ca" | ||
950 | + "n_focus\">False</property><property name=\"xalign\">0</property><proper" | ||
951 | + "ty name=\"label\" translatable=\"yes\">_Rotation:</property><property n" | ||
952 | + "ame=\"use_underline\">True</property><property name=\"mnemonic_widget\"" | ||
953 | + ">wacom-rotation</property></object><packing><property name=\"top_attach" | ||
954 | + "\">1</property><property name=\"bottom_attach\">2</property><property n" | ||
955 | + "ame=\"x_options\">GTK_FILL</property></packing></child><child><object c" | ||
956 | + "lass=\"GtkComboBox\" id=\"wacom-mode\"><property name=\"visible\">True<" | ||
957 | + "/property><property name=\"can_focus\">False</property><property name=\"" | ||
958 | + "model\">wacom-mode-store</property><child><object class=\"GtkCellRender" | ||
959 | + "erText\" id=\"cellrenderertext1\"/><attributes><attribute name=\"text\"" | ||
960 | + ">1</attribute></attributes></child></object><packing><property name=\"l" | ||
961 | + "eft_attach\">1</property><property name=\"right_attach\">2</property></" | ||
962 | + "packing></child><child><object class=\"GtkComboBox\" id=\"wacom-rotatio" | ||
963 | + "n\"><property name=\"visible\">True</property><property name=\"can_focu" | ||
964 | + "s\">False</property><property name=\"model\">wacom-rotation-store</prop" | ||
965 | + "erty><child><object class=\"GtkCellRendererText\" id=\"cellrenderertext" | ||
966 | + "2\"/><attributes><attribute name=\"text\">1</attribute></attributes></c" | ||
967 | + "hild></object><packing><property name=\"left_attach\">1</property><prop" | ||
968 | + "erty name=\"right_attach\">2</property><property name=\"top_attach\">1<" | ||
969 | + "/property><property name=\"bottom_attach\">2</property></packing></chil" | ||
970 | "d></object></child></object></child><child type=\"label\"><object class" | ||
971 | - "=\"GtkLabel\" id=\"label20\"><property name=\"visible\">True</property>" | ||
972 | + "=\"GtkLabel\" id=\"label18\"><property name=\"visible\">True</property>" | ||
973 | "<property name=\"can_focus\">False</property><property name=\"label\" t" | ||
974 | - "ranslatable=\"yes\">Size</property><attributes><attribute name=\"weight" | ||
975 | - "\" value=\"bold\"/></attributes></object></child></object><packing><pro" | ||
976 | - "perty name=\"expand\">False</property><property name=\"fill\">True</pro" | ||
977 | - "perty><property name=\"position\">0</property></packing></child><child>" | ||
978 | - "<object class=\"GtkFrame\" id=\"frame6\"><property name=\"visible\">Tru" | ||
979 | + "ranslatable=\"yes\">General</property><property name=\"use_markup\">Tru" | ||
980 | + "e</property><attributes><attribute name=\"weight\" value=\"bold\"/></at" | ||
981 | + "tributes></object></child></object><packing><property name=\"expand\">F" | ||
982 | + "alse</property><property name=\"fill\">True</property><property name=\"" | ||
983 | + "position\">0</property></packing></child></object><packing><property na" | ||
984 | + "me=\"position\">2</property></packing></child><child type=\"tab\"><obje" | ||
985 | + "ct class=\"GtkLabel\" id=\"wacom-label\"><property name=\"visible\">Tru" | ||
986 | "e</property><property name=\"can_focus\">False</property><property name" | ||
987 | - "=\"label_xalign\">0</property><property name=\"shadow_type\">none</prop" | ||
988 | - "erty><child><object class=\"GtkAlignment\" id=\"alignment6\"><property " | ||
989 | - "name=\"visible\">True</property><property name=\"can_focus\">False</pro" | ||
990 | - "perty><property name=\"border_width\">6</property><property name=\"xali" | ||
991 | - "gn\">0</property><property name=\"yalign\">0</property><property name=\"" | ||
992 | - "xscale\">0</property><property name=\"yscale\">0</property><property na" | ||
993 | - "me=\"top_padding\">6</property><property name=\"bottom_padding\">6</pro" | ||
994 | - "perty><property name=\"left_padding\">18</property><property name=\"rig" | ||
995 | - "ht_padding\">6</property><child><object class=\"GtkImage\" id=\"theme-p" | ||
996 | - "review\"><property name=\"visible\">True</property><property name=\"can" | ||
997 | - "_focus\">False</property><property name=\"stock\">gtk-missing-image</pr" | ||
998 | - "operty></object></child></object></child><child type=\"label\"><object " | ||
999 | - "class=\"GtkLabel\" id=\"label22\"><property name=\"visible\">True</prop" | ||
1000 | + "=\"label\" translatable=\"yes\">Tab_let</property><property name=\"use_" | ||
1001 | + "underline\">True</property></object><packing><property name=\"position\"" | ||
1002 | + ">2</property><property name=\"tab_fill\">False</property></packing></ch" | ||
1003 | + "ild></object><packing><property name=\"expand\">True</property><propert" | ||
1004 | + "y name=\"fill\">True</property><property name=\"position\">2</property>" | ||
1005 | + "</packing></child></object></child><child type=\"tab\"><object class=\"" | ||
1006 | + "GtkLabel\" id=\"label1\"><property name=\"visible\">True</property><pro" | ||
1007 | + "perty name=\"can_focus\">False</property><property name=\"label\" trans" | ||
1008 | + "latable=\"yes\">_Devices</property><property name=\"use_underline\">Tru" | ||
1009 | + "e</property></object><packing><property name=\"tab_fill\">False</proper" | ||
1010 | + "ty></packing></child><child><object class=\"GtkVBox\" id=\"vbox3\"><pro" | ||
1011 | + "perty name=\"visible\">True</property><property name=\"can_focus\">Fals" | ||
1012 | + "e</property><property name=\"border_width\">12</property><property name" | ||
1013 | + "=\"spacing\">6</property><child><object class=\"GtkFrame\" id=\"frame3\"" | ||
1014 | + "><property name=\"visible\">True</property><property name=\"can_focus\"" | ||
1015 | + ">False</property><property name=\"label_xalign\">0</property><property " | ||
1016 | + "name=\"shadow_type\">none</property><child><object class=\"GtkAlignment" | ||
1017 | + "\" id=\"alignment3\"><property name=\"visible\">True</property><propert" | ||
1018 | + "y name=\"can_focus\">False</property><property name=\"left_padding\">12" | ||
1019 | + "</property><child><object class=\"GtkVBox\" id=\"vbox4\"><property name" | ||
1020 | + "=\"visible\">True</property><property name=\"can_focus\">False</propert" | ||
1021 | + "y><property name=\"border_width\">6</property><property name=\"spacing\"" | ||
1022 | + ">6</property><child><object class=\"GtkLabel\" id=\"mouse-dnd-label\"><" | ||
1023 | + "property name=\"visible\">True</property><property name=\"can_focus\">F" | ||
1024 | + "alse</property><property name=\"xalign\">0</property><property name=\"l" | ||
1025 | + "abel\" translatable=\"yes\">Th_reshold:</property><property name=\"use_" | ||
1026 | + "underline\">True</property><property name=\"mnemonic_widget\">dnd-thres" | ||
1027 | + "hold-scale</property></object><packing><property name=\"expand\">True</" | ||
1028 | + "property><property name=\"fill\">True</property><property name=\"positi" | ||
1029 | + "on\">0</property></packing></child><child><object class=\"GtkHScale\" i" | ||
1030 | + "d=\"dnd-threshold-scale\"><property name=\"visible\">True</property><pr" | ||
1031 | + "operty name=\"can_focus\">True</property><property name=\"tooltip_text\"" | ||
1032 | + " translatable=\"yes\">The number of pixels the pointer must move before" | ||
1033 | + " a drag operation will start</property><property name=\"update_policy\"" | ||
1034 | + ">delayed</property><property name=\"adjustment\">dnd-threshold</propert" | ||
1035 | + "y><property name=\"digits\">0</property><property name=\"value_pos\">ri" | ||
1036 | + "ght</property></object><packing><property name=\"expand\">True</propert" | ||
1037 | + "y><property name=\"fill\">True</property><property name=\"position\">1<" | ||
1038 | + "/property></packing></child></object></child></object></child><child ty" | ||
1039 | + "pe=\"label\"><object class=\"GtkLabel\" id=\"label6\"><property name=\"" | ||
1040 | + "visible\">True</property><property name=\"can_focus\">False</property><" | ||
1041 | + "property name=\"label\" translatable=\"yes\">Drag and Drop</property><a" | ||
1042 | + "ttributes><attribute name=\"weight\" value=\"bold\"/></attributes></obj" | ||
1043 | + "ect></child></object><packing><property name=\"expand\">False</property" | ||
1044 | + "><property name=\"fill\">True</property><property name=\"position\">0</" | ||
1045 | + "property></packing></child><child><object class=\"GtkFrame\" id=\"frame" | ||
1046 | + "4\"><property name=\"visible\">True</property><property name=\"can_focu" | ||
1047 | + "s\">False</property><property name=\"label_xalign\">0</property><proper" | ||
1048 | + "ty name=\"shadow_type\">none</property><child><object class=\"GtkAlignm" | ||
1049 | + "ent\" id=\"alignment4\"><property name=\"visible\">True</property><prop" | ||
1050 | + "erty name=\"can_focus\">False</property><property name=\"left_padding\"" | ||
1051 | + ">12</property><child><object class=\"GtkVBox\" id=\"vbox5\"><property n" | ||
1052 | + "ame=\"visible\">True</property><property name=\"can_focus\">False</prop" | ||
1053 | + "erty><property name=\"border_width\">6</property><property name=\"spaci" | ||
1054 | + "ng\">6</property><child><object class=\"GtkLabel\" id=\"dclick-time-lab" | ||
1055 | + "el\"><property name=\"visible\">True</property><property name=\"can_foc" | ||
1056 | + "us\">False</property><property name=\"xalign\">0</property><property na" | ||
1057 | + "me=\"label\" translatable=\"yes\">Ti_me:</property><property name=\"use" | ||
1058 | + "_underline\">True</property><property name=\"mnemonic_widget\">dclick-t" | ||
1059 | + "ime-scale</property></object><packing><property name=\"expand\">True</p" | ||
1060 | + "roperty><property name=\"fill\">True</property><property name=\"positio" | ||
1061 | + "n\">0</property></packing></child><child><object class=\"GtkHScale\" id" | ||
1062 | + "=\"dclick-time-scale\"><property name=\"visible\">True</property><prope" | ||
1063 | + "rty name=\"can_focus\">True</property><property name=\"tooltip_text\" t" | ||
1064 | + "ranslatable=\"yes\">Two mouse clicks in less than this length of time (" | ||
1065 | + "in milliseconds) will be considered a double click</property><property " | ||
1066 | + "name=\"update_policy\">delayed</property><property name=\"adjustment\">" | ||
1067 | + "dclick-time</property><property name=\"digits\">0</property><property n" | ||
1068 | + "ame=\"value_pos\">right</property></object><packing><property name=\"ex" | ||
1069 | + "pand\">True</property><property name=\"fill\">True</property><property " | ||
1070 | + "name=\"position\">1</property></packing></child><child><object class=\"" | ||
1071 | + "GtkLabel\" id=\"dclick-distance-label\"><property name=\"visible\">True" | ||
1072 | + "</property><property name=\"can_focus\">False</property><property name=" | ||
1073 | + "\"xalign\">0</property><property name=\"label\" translatable=\"yes\">D_" | ||
1074 | + "istance:</property><property name=\"use_underline\">True</property><pro" | ||
1075 | + "perty name=\"mnemonic_widget\">dclick-distance-scale</property></object" | ||
1076 | + "><packing><property name=\"expand\">True</property><property name=\"fil" | ||
1077 | + "l\">True</property><property name=\"position\">2</property></packing></" | ||
1078 | + "child><child><object class=\"GtkHScale\" id=\"dclick-distance-scale\"><" | ||
1079 | + "property name=\"visible\">True</property><property name=\"can_focus\">T" | ||
1080 | + "rue</property><property name=\"tooltip_text\" translatable=\"yes\">The " | ||
1081 | + "mouse pointer cannot move farther than this distance between two clicks" | ||
1082 | + " for them to be considered a double click</property><property name=\"up" | ||
1083 | + "date_policy\">delayed</property><property name=\"adjustment\">dclick-di" | ||
1084 | + "stance</property><property name=\"digits\">0</property><property name=\"" | ||
1085 | + "value_pos\">right</property></object><packing><property name=\"expand\"" | ||
1086 | + ">True</property><property name=\"fill\">True</property><property name=\"" | ||
1087 | + "position\">3</property></packing></child></object></child></object></ch" | ||
1088 | + "ild><child type=\"label\"><object class=\"GtkLabel\" id=\"label8\"><pro" | ||
1089 | + "perty name=\"visible\">True</property><property name=\"can_focus\">Fals" | ||
1090 | + "e</property><property name=\"label\" translatable=\"yes\">Double Click<" | ||
1091 | + "/property><attributes><attribute name=\"weight\" value=\"bold\"/></attr" | ||
1092 | + "ibutes></object></child></object><packing><property name=\"expand\">Fal" | ||
1093 | + "se</property><property name=\"fill\">True</property><property name=\"po" | ||
1094 | + "sition\">1</property></packing></child></object><packing><property name" | ||
1095 | + "=\"position\">1</property></packing></child><child type=\"tab\"><object" | ||
1096 | + " class=\"GtkLabel\" id=\"label2\"><property name=\"visible\">True</prop" | ||
1097 | "erty><property name=\"can_focus\">False</property><property name=\"labe" | ||
1098 | - "l\" translatable=\"yes\">Preview</property><attributes><attribute name=" | ||
1099 | - "\"weight\" value=\"bold\"/></attributes></object></child></object><pack" | ||
1100 | - "ing><property name=\"expand\">False</property><property name=\"fill\">T" | ||
1101 | - "rue</property><property name=\"position\">1</property></packing></child" | ||
1102 | - "></object><packing><property name=\"expand\">False</property><property " | ||
1103 | - "name=\"fill\">True</property><property name=\"position\">1</property></" | ||
1104 | - "packing></child></object><packing><property name=\"position\">2</proper" | ||
1105 | - "ty></packing></child><child type=\"tab\"><object class=\"GtkLabel\" id=" | ||
1106 | - "\"label3\"><property name=\"visible\">True</property><property name=\"c" | ||
1107 | - "an_focus\">False</property><property name=\"label\" translatable=\"yes\"" | ||
1108 | - ">T_heme</property><property name=\"use_underline\">True</property></obj" | ||
1109 | - "ect><packing><property name=\"position\">2</property><property name=\"t" | ||
1110 | - "ab_fill\">False</property></packing></child></object><packing><property" | ||
1111 | - " name=\"expand\">True</property><property name=\"fill\">True</property>" | ||
1112 | - "<property name=\"position\">1</property></packing></child></object></ch" | ||
1113 | - "ild><action-widgets><action-widget response=\"0\">button1</action-widge" | ||
1114 | - "t><action-widget response=\"-11\">button2</action-widget></action-widge" | ||
1115 | - "ts></object><object class=\"GtkAdjustment\" id=\"theme-cursor-size\"><p" | ||
1116 | - "roperty name=\"lower\">16</property><property name=\"upper\">48</proper" | ||
1117 | - "ty><property name=\"value\">24</property><property name=\"step_incremen" | ||
1118 | - "t\">1</property><property name=\"page_increment\">11</property></object" | ||
1119 | - "><object class=\"GtkListStore\" id=\"wacom-mode-store\"><columns><colum" | ||
1120 | - "n type=\"gchararray\"/><column type=\"gchararray\"/></columns><data><ro" | ||
1121 | - "w><col id=\"0\">ABSOLUTE</col><col id=\"1\" translatable=\"yes\">Pen (a" | ||
1122 | - "bsolute)</col></row><row><col id=\"0\">RELATIVE</col><col id=\"1\" tran" | ||
1123 | - "slatable=\"yes\">Mouse (relative)</col></row></data></object><object cl" | ||
1124 | - "ass=\"GtkListStore\" id=\"wacom-rotation-store\"><columns><column type=" | ||
1125 | - "\"gint\"/><column type=\"gchararray\"/></columns><data><row><col id=\"0" | ||
1126 | - "\">0</col><col id=\"1\" translatable=\"yes\">None (right-handed)</col><" | ||
1127 | - "/row><row><col id=\"0\">3</col><col id=\"1\" translatable=\"yes\">Half " | ||
1128 | - "(left-handed)</col></row><row><col id=\"0\">1</col><col id=\"1\" transl" | ||
1129 | - "atable=\"yes\">Clockwise</col></row><row><col id=\"0\">2</col><col id=\"" | ||
1130 | - "1\" translatable=\"yes\">Counterclockwise</col></row></data></object></" | ||
1131 | - "interface>" | ||
1132 | + "l\" translatable=\"yes\">_Behavior</property><property name=\"use_under" | ||
1133 | + "line\">True</property></object><packing><property name=\"position\">1</" | ||
1134 | + "property><property name=\"tab_fill\">False</property></packing></child>" | ||
1135 | + "<child><object class=\"GtkHBox\" id=\"themes-hbox\"><property name=\"vi" | ||
1136 | + "sible\">True</property><property name=\"can_focus\">False</property><pr" | ||
1137 | + "operty name=\"border_width\">12</property><property name=\"spacing\">12" | ||
1138 | + "</property><child><object class=\"GtkScrolledWindow\" id=\"scrolledwind" | ||
1139 | + "ow2\"><property name=\"visible\">True</property><property name=\"can_fo" | ||
1140 | + "cus\">True</property><property name=\"hscrollbar_policy\">automatic</pr" | ||
1141 | + "operty><property name=\"vscrollbar_policy\">automatic</property><proper" | ||
1142 | + "ty name=\"shadow_type\">etched-in</property><child><object class=\"GtkT" | ||
1143 | + "reeView\" id=\"theme-treeview\"><property name=\"width_request\">200</p" | ||
1144 | + "roperty><property name=\"visible\">True</property><property name=\"can_" | ||
1145 | + "focus\">True</property><property name=\"headers_visible\">False</proper" | ||
1146 | + "ty></object></child></object><packing><property name=\"expand\">True</p" | ||
1147 | + "roperty><property name=\"fill\">True</property><property name=\"positio" | ||
1148 | + "n\">0</property></packing></child><child><object class=\"GtkVBox\" id=\"" | ||
1149 | + "vbox9\"><property name=\"visible\">True</property><property name=\"can_" | ||
1150 | + "focus\">False</property><property name=\"spacing\">6</property><child><" | ||
1151 | + "object class=\"GtkFrame\" id=\"frame5\"><property name=\"visible\">True" | ||
1152 | + "</property><property name=\"can_focus\">False</property><property name=" | ||
1153 | + "\"label_xalign\">0</property><property name=\"shadow_type\">none</prope" | ||
1154 | + "rty><child><object class=\"GtkAlignment\" id=\"alignment5\"><property n" | ||
1155 | + "ame=\"visible\">True</property><property name=\"can_focus\">False</prop" | ||
1156 | + "erty><property name=\"left_padding\">12</property><child><object class=" | ||
1157 | + "\"GtkHBox\" id=\"hbox7\"><property name=\"visible\">True</property><pro" | ||
1158 | + "perty name=\"can_focus\">False</property><property name=\"border_width\"" | ||
1159 | + ">6</property><property name=\"spacing\">12</property><child><object cla" | ||
1160 | + "ss=\"GtkLabel\" id=\"label21\"><property name=\"visible\">True</propert" | ||
1161 | + "y><property name=\"can_focus\">False</property><property name=\"label\"" | ||
1162 | + " translatable=\"yes\">Cursor si_ze:</property><property name=\"use_unde" | ||
1163 | + "rline\">True</property><property name=\"mnemonic_widget\">spin1</proper" | ||
1164 | + "ty></object><packing><property name=\"expand\">False</property><propert" | ||
1165 | + "y name=\"fill\">True</property><property name=\"position\">0</property>" | ||
1166 | + "</packing></child><child><object class=\"GtkSpinButton\" id=\"spin1\"><" | ||
1167 | + "property name=\"visible\">True</property><property name=\"can_focus\">T" | ||
1168 | + "rue</property><property name=\"primary_icon_activatable\">False</proper" | ||
1169 | + "ty><property name=\"secondary_icon_activatable\">False</property><prope" | ||
1170 | + "rty name=\"primary_icon_sensitive\">True</property><property name=\"sec" | ||
1171 | + "ondary_icon_sensitive\">True</property><property name=\"adjustment\">th" | ||
1172 | + "eme-cursor-size</property><property name=\"snap_to_ticks\">True</proper" | ||
1173 | + "ty><property name=\"numeric\">True</property></object><packing><propert" | ||
1174 | + "y name=\"expand\">False</property><property name=\"fill\">True</propert" | ||
1175 | + "y><property name=\"position\">1</property></packing></child></object></" | ||
1176 | + "child></object></child><child type=\"label\"><object class=\"GtkLabel\"" | ||
1177 | + " id=\"label20\"><property name=\"visible\">True</property><property nam" | ||
1178 | + "e=\"can_focus\">False</property><property name=\"label\" translatable=\"" | ||
1179 | + "yes\">Size</property><attributes><attribute name=\"weight\" value=\"bol" | ||
1180 | + "d\"/></attributes></object></child></object><packing><property name=\"e" | ||
1181 | + "xpand\">False</property><property name=\"fill\">True</property><propert" | ||
1182 | + "y name=\"position\">0</property></packing></child><child><object class=" | ||
1183 | + "\"GtkFrame\" id=\"frame6\"><property name=\"visible\">True</property><p" | ||
1184 | + "roperty name=\"can_focus\">False</property><property name=\"label_xalig" | ||
1185 | + "n\">0</property><property name=\"shadow_type\">none</property><child><o" | ||
1186 | + "bject class=\"GtkAlignment\" id=\"alignment6\"><property name=\"visible" | ||
1187 | + "\">True</property><property name=\"can_focus\">False</property><propert" | ||
1188 | + "y name=\"border_width\">6</property><property name=\"xalign\">0</proper" | ||
1189 | + "ty><property name=\"yalign\">0</property><property name=\"xscale\">0</p" | ||
1190 | + "roperty><property name=\"yscale\">0</property><property name=\"top_padd" | ||
1191 | + "ing\">6</property><property name=\"bottom_padding\">6</property><proper" | ||
1192 | + "ty name=\"left_padding\">18</property><property name=\"right_padding\">" | ||
1193 | + "6</property><child><object class=\"GtkImage\" id=\"theme-preview\"><pro" | ||
1194 | + "perty name=\"visible\">True</property><property name=\"can_focus\">Fals" | ||
1195 | + "e</property><property name=\"stock\">gtk-missing-image</property></obje" | ||
1196 | + "ct></child></object></child><child type=\"label\"><object class=\"GtkLa" | ||
1197 | + "bel\" id=\"label22\"><property name=\"visible\">True</property><propert" | ||
1198 | + "y name=\"can_focus\">False</property><property name=\"label\" translata" | ||
1199 | + "ble=\"yes\">Preview</property><attributes><attribute name=\"weight\" va" | ||
1200 | + "lue=\"bold\"/></attributes></object></child></object><packing><property" | ||
1201 | + " name=\"expand\">False</property><property name=\"fill\">True</property" | ||
1202 | + "><property name=\"position\">1</property></packing></child></object><pa" | ||
1203 | + "cking><property name=\"expand\">False</property><property name=\"fill\"" | ||
1204 | + ">True</property><property name=\"position\">1</property></packing></chi" | ||
1205 | + "ld></object><packing><property name=\"position\">2</property></packing>" | ||
1206 | + "</child><child type=\"tab\"><object class=\"GtkLabel\" id=\"label3\"><p" | ||
1207 | + "roperty name=\"visible\">True</property><property name=\"can_focus\">Fa" | ||
1208 | + "lse</property><property name=\"label\" translatable=\"yes\">_Theme</pro" | ||
1209 | + "perty><property name=\"use_underline\">True</property></object><packing" | ||
1210 | + "><property name=\"position\">2</property><property name=\"tab_fill\">Fa" | ||
1211 | + "lse</property></packing></child></object><packing><property name=\"expa" | ||
1212 | + "nd\">True</property><property name=\"fill\">True</property><property na" | ||
1213 | + "me=\"position\">1</property></packing></child></object></child><action-" | ||
1214 | + "widgets><action-widget response=\"-11\">button2</action-widget><action-" | ||
1215 | + "widget response=\"0\">button1</action-widget></action-widgets></object>" | ||
1216 | + "<object class=\"GtkListStore\" id=\"wacom-mode-store\"><columns><column" | ||
1217 | + " type=\"gchararray\"/><column type=\"gchararray\"/></columns><data><row" | ||
1218 | + "><col id=\"0\">ABSOLUTE</col><col id=\"1\" translatable=\"yes\">Pen (ab" | ||
1219 | + "solute)</col></row><row><col id=\"0\">RELATIVE</col><col id=\"1\" trans" | ||
1220 | + "latable=\"yes\">Mouse (relative)</col></row></data></object><object cla" | ||
1221 | + "ss=\"GtkListStore\" id=\"wacom-rotation-store\"><columns><column type=\"" | ||
1222 | + "gint\"/><column type=\"gchararray\"/></columns><data><row><col id=\"0\"" | ||
1223 | + ">0</col><col id=\"1\" translatable=\"yes\">None (right-handed)</col></r" | ||
1224 | + "ow><row><col id=\"0\">3</col><col id=\"1\" translatable=\"yes\">Half (l" | ||
1225 | + "eft-handed)</col></row><row><col id=\"0\">1</col><col id=\"1\" translat" | ||
1226 | + "able=\"yes\">Clockwise</col></row><row><col id=\"0\">2</col><col id=\"1" | ||
1227 | + "\" translatable=\"yes\">Counterclockwise</col></row></data></object></i" | ||
1228 | + "nterface>" | ||
1229 | }; | ||
1230 | |||
1231 | -static const unsigned mouse_dialog_ui_length = 37918u; | ||
1232 | +static const unsigned mouse_dialog_ui_length = 38582u; | ||
1233 | |||
1234 | -- | ||
1235 | 1.7.6.5 | ||
1236 | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch new file mode 100644 index 000000000..eff052b68 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch | |||
@@ -0,0 +1,137 @@ | |||
1 | From a3b0218137c8796fbb7bd6d852dc8ab5895a65cb Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Sat, 3 Nov 2012 18:32:01 +0100 | ||
4 | Subject: [PATCH 3/5] XfcePointersHelper gets a pointer to XfceXSettingsHelper | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | |||
10 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
11 | Upstream-Status: Submitted [1] | ||
12 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
13 | --- | ||
14 | xfsettingsd/main.c | 2 +- | ||
15 | xfsettingsd/pointers.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ | ||
16 | 2 files changed, 56 insertions(+), 1 deletions(-) | ||
17 | |||
18 | diff --git a/xfsettingsd/main.c b/xfsettingsd/main.c | ||
19 | index 55c4183..99982f7 100644 | ||
20 | --- a/xfsettingsd/main.c | ||
21 | +++ b/xfsettingsd/main.c | ||
22 | @@ -273,7 +273,7 @@ main (gint argc, gchar **argv) | ||
23 | #ifdef HAVE_XRANDR | ||
24 | displays_helper = g_object_new (XFCE_TYPE_DISPLAYS_HELPER, NULL); | ||
25 | #endif | ||
26 | - pointer_helper = g_object_new (XFCE_TYPE_POINTERS_HELPER, NULL); | ||
27 | + pointer_helper = g_object_new (XFCE_TYPE_POINTERS_HELPER, "xsettings-helper", xsettings_helper, NULL); | ||
28 | keyboards_helper = g_object_new (XFCE_TYPE_KEYBOARDS_HELPER, NULL); | ||
29 | accessibility_helper = g_object_new (XFCE_TYPE_ACCESSIBILITY_HELPER, NULL); | ||
30 | shortcuts_helper = g_object_new (XFCE_TYPE_KEYBOARD_SHORTCUTS_HELPER, NULL); | ||
31 | diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c | ||
32 | index e7192e7..62ebc60 100644 | ||
33 | --- a/xfsettingsd/pointers.c | ||
34 | +++ b/xfsettingsd/pointers.c | ||
35 | @@ -47,8 +47,16 @@ | ||
36 | |||
37 | #define XFCONF_TYPE_G_VALUE_ARRAY (dbus_g_type_get_collection ("GPtrArray", G_TYPE_VALUE)) | ||
38 | |||
39 | +/* Property identifiers */ | ||
40 | +enum | ||
41 | +{ | ||
42 | + PROP_0, | ||
43 | + PROP_XSETTINGS_HELPER, | ||
44 | +}; | ||
45 | + | ||
46 | |||
47 | |||
48 | +static void xfce_pointers_helper_constructed (GObject *object); | ||
49 | static void xfce_pointers_helper_finalize (GObject *object); | ||
50 | static void xfce_pointers_helper_syndaemon_stop (XfcePointersHelper *helper); | ||
51 | static void xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper); | ||
52 | @@ -63,6 +71,10 @@ static GdkFilterReturn xfce_pointers_helper_event_filter (GdkXEvent | ||
53 | GdkEvent *gdk_event, | ||
54 | gpointer user_data); | ||
55 | #endif | ||
56 | +static void xfce_pointers_helper_set_property (GObject *object, | ||
57 | + guint prop_id, | ||
58 | + const GValue *value, | ||
59 | + GParamSpec *pspec); | ||
60 | |||
61 | |||
62 | |||
63 | @@ -75,6 +87,8 @@ struct _XfcePointersHelper | ||
64 | { | ||
65 | GObject __parent__; | ||
66 | |||
67 | + GObject *xsettings_helper; | ||
68 | + | ||
69 | /* xfconf channel */ | ||
70 | XfconfChannel *channel; | ||
71 | |||
72 | @@ -108,7 +122,18 @@ xfce_pointers_helper_class_init (XfcePointersHelperClass *klass) | ||
73 | { | ||
74 | GObjectClass *gobject_class = G_OBJECT_CLASS (klass); | ||
75 | |||
76 | + gobject_class->constructed = xfce_pointers_helper_constructed; | ||
77 | gobject_class->finalize = xfce_pointers_helper_finalize; | ||
78 | + gobject_class->set_property = xfce_pointers_helper_set_property; | ||
79 | + | ||
80 | + g_object_class_install_property (gobject_class, | ||
81 | + PROP_XSETTINGS_HELPER, | ||
82 | + g_param_spec_object ("xsettings-helper", | ||
83 | + "xsettings-helper", | ||
84 | + "xsettings-helper", | ||
85 | + G_TYPE_OBJECT, | ||
86 | + G_PARAM_CONSTRUCT_ONLY | | ||
87 | + G_PARAM_WRITABLE)); | ||
88 | } | ||
89 | |||
90 | |||
91 | @@ -116,6 +141,15 @@ xfce_pointers_helper_class_init (XfcePointersHelperClass *klass) | ||
92 | static void | ||
93 | xfce_pointers_helper_init (XfcePointersHelper *helper) | ||
94 | { | ||
95 | + /* All initialisation is done at xfce_pointers_helper_constructed */ | ||
96 | +} | ||
97 | + | ||
98 | + | ||
99 | + | ||
100 | +static void | ||
101 | +xfce_pointers_helper_constructed (GObject *object) | ||
102 | +{ | ||
103 | + XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object); | ||
104 | XExtensionVersion *version = NULL; | ||
105 | Display *xdisplay; | ||
106 | #ifdef DEVICE_HOTPLUGGING | ||
107 | @@ -181,6 +215,27 @@ xfce_pointers_helper_init (XfcePointersHelper *helper) | ||
108 | |||
109 | |||
110 | static void | ||
111 | +xfce_pointers_helper_set_property (GObject *object, | ||
112 | + guint prop_id, | ||
113 | + const GValue *value, | ||
114 | + GParamSpec *pspec) | ||
115 | +{ | ||
116 | + XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object); | ||
117 | + | ||
118 | + switch (prop_id) | ||
119 | + { | ||
120 | + case PROP_XSETTINGS_HELPER: | ||
121 | + helper->xsettings_helper = g_value_get_object (value); | ||
122 | + break; | ||
123 | + default: | ||
124 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
125 | + break; | ||
126 | + } | ||
127 | +} | ||
128 | + | ||
129 | + | ||
130 | + | ||
131 | +static void | ||
132 | xfce_pointers_helper_finalize (GObject *object) | ||
133 | { | ||
134 | xfce_pointers_helper_syndaemon_stop (XFCE_POINTERS_HELPER (object)); | ||
135 | -- | ||
136 | 1.7.6.5 | ||
137 | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch new file mode 100644 index 000000000..180ccfd55 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch | |||
@@ -0,0 +1,251 @@ | |||
1 | From 878fe1287a4c73f67dd2b51d1d7c450097aeffa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 20 Dec 2012 16:49:18 +0100 | ||
4 | Subject: [PATCH 4/5] XfceXSettingsHelper gets a property | ||
5 | "touchscreen-pointer" | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | When this property is set, it overrides overrides cursor theme to | ||
11 | "xfce-invisible" and sets /Gtk/TouchscreenMode. | ||
12 | |||
13 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
14 | Upstream-Status: Submitted [1] | ||
15 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
16 | --- | ||
17 | xfsettingsd/xsettings.c | 122 ++++++++++++++++++++++++++++++++++++++++++++- | ||
18 | xfsettingsd/xsettings.xml | 1 + | ||
19 | 2 files changed, 122 insertions(+), 1 deletions(-) | ||
20 | |||
21 | diff --git a/xfsettingsd/xsettings.c b/xfsettingsd/xsettings.c | ||
22 | index 7657465..76bcea1 100644 | ||
23 | --- a/xfsettingsd/xsettings.c | ||
24 | +++ b/xfsettingsd/xsettings.c | ||
25 | @@ -73,6 +73,15 @@ typedef struct _XfceXSettingsNotify XfceXSettingsNotify; | ||
26 | |||
27 | |||
28 | |||
29 | +/* Property identifiers */ | ||
30 | +enum | ||
31 | +{ | ||
32 | + PROP_0, | ||
33 | + PROP_TOUCHSCREEN_POINTER, | ||
34 | +}; | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | static void xfce_xsettings_helper_finalize (GObject *object); | ||
39 | static void xfce_xsettings_helper_fc_free (XfceXSettingsHelper *helper); | ||
40 | static gboolean xfce_xsettings_helper_fc_init (gpointer data); | ||
41 | @@ -86,6 +95,10 @@ static void xfce_xsettings_helper_load (XfceXSettingsHelper *helper) | ||
42 | static void xfce_xsettings_helper_screen_free (XfceXSettingsScreen *screen); | ||
43 | static void xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper); | ||
44 | static void xfce_xsettings_helper_notify (XfceXSettingsHelper *helper); | ||
45 | +static void xfce_xsettings_helper_set_property (GObject *object, | ||
46 | + guint prop_id, | ||
47 | + const GValue *value, | ||
48 | + GParamSpec *pspec); | ||
49 | |||
50 | |||
51 | |||
52 | @@ -120,6 +133,13 @@ struct _XfceXSettingsHelper | ||
53 | GPtrArray *fc_monitors; | ||
54 | guint fc_notify_timeout_id; | ||
55 | guint fc_init_id; | ||
56 | + | ||
57 | + /* keeper for touchscreen cursor theme / last set */ | ||
58 | + GValue *touchscreen_cursor_value; | ||
59 | + GValue *lastset_cursor_value; | ||
60 | + | ||
61 | + /* properties */ | ||
62 | + gboolean touchscreen_pointer; | ||
63 | }; | ||
64 | |||
65 | struct _XfceXSetting | ||
66 | @@ -157,6 +177,16 @@ xfce_xsettings_helper_class_init (XfceXSettingsHelperClass *klass) | ||
67 | |||
68 | gobject_class = G_OBJECT_CLASS (klass); | ||
69 | gobject_class->finalize = xfce_xsettings_helper_finalize; | ||
70 | + gobject_class->set_property = xfce_xsettings_helper_set_property; | ||
71 | + | ||
72 | + g_object_class_install_property (gobject_class, | ||
73 | + PROP_TOUCHSCREEN_POINTER, | ||
74 | + g_param_spec_boolean ("touchscreen-pointer", | ||
75 | + "touchscreen-pointer", | ||
76 | + "touchscreen-pointer", | ||
77 | + FALSE, | ||
78 | + G_PARAM_WRITABLE | | ||
79 | + G_PARAM_STATIC_STRINGS)); | ||
80 | } | ||
81 | |||
82 | |||
83 | @@ -169,6 +199,13 @@ xfce_xsettings_helper_init (XfceXSettingsHelper *helper) | ||
84 | helper->settings = g_hash_table_new_full (g_str_hash, g_str_equal, | ||
85 | g_free, xfce_xsettings_helper_setting_free); | ||
86 | |||
87 | + helper->lastset_cursor_value = g_new0 (GValue, 1); | ||
88 | + g_value_init(helper->lastset_cursor_value, G_TYPE_STRING); | ||
89 | + g_value_set_string (helper->lastset_cursor_value, "default"); | ||
90 | + helper->touchscreen_cursor_value = g_new0 (GValue, 1); | ||
91 | + g_value_init(helper->touchscreen_cursor_value, G_TYPE_STRING); | ||
92 | + g_value_set_string (helper->touchscreen_cursor_value, "xfce-invisible"); | ||
93 | + | ||
94 | xfce_xsettings_helper_load (helper); | ||
95 | |||
96 | g_signal_connect (G_OBJECT (helper->channel), "property-changed", | ||
97 | @@ -202,6 +239,9 @@ xfce_xsettings_helper_finalize (GObject *object) | ||
98 | |||
99 | g_hash_table_destroy (helper->settings); | ||
100 | |||
101 | + g_free (helper->lastset_cursor_value); | ||
102 | + g_free (helper->touchscreen_cursor_value); | ||
103 | + | ||
104 | (*G_OBJECT_CLASS (xfce_xsettings_helper_parent_class)->finalize) (object); | ||
105 | } | ||
106 | |||
107 | @@ -387,6 +427,61 @@ xfce_xsettings_helper_notify_xft_idle (gpointer data) | ||
108 | |||
109 | |||
110 | |||
111 | +static void | ||
112 | +xfce_xsettings_helper_set_property (GObject *object, | ||
113 | + guint prop_id, | ||
114 | + const GValue *value, | ||
115 | + GParamSpec *pspec) | ||
116 | +{ | ||
117 | + gboolean touchscreen_pointer; | ||
118 | + XfceXSetting *setting_theme, *setting_touchscreen; | ||
119 | + XfceXSettingsHelper *helper = XFCE_XSETTINGS_HELPER (object); | ||
120 | + GtkSettings *gtk_settings; | ||
121 | + GValue bool_val = { 0, }; | ||
122 | + | ||
123 | + switch (prop_id) | ||
124 | + { | ||
125 | + case PROP_TOUCHSCREEN_POINTER: | ||
126 | + touchscreen_pointer = g_value_get_boolean (value); | ||
127 | + if (helper->touchscreen_pointer != touchscreen_pointer) | ||
128 | + { | ||
129 | + helper->touchscreen_pointer = touchscreen_pointer; | ||
130 | + /* Update touchscreen-mode */ | ||
131 | + xfconf_channel_set_bool (helper->channel, "/Gtk/TouchscreenMode", touchscreen_pointer); | ||
132 | + /* Update cursor */ | ||
133 | + setting_theme = g_hash_table_lookup (helper->settings, "/Gtk/CursorThemeName"); | ||
134 | + if (G_LIKELY (setting_theme != NULL)) | ||
135 | + { | ||
136 | + /* update the serial */ | ||
137 | + setting_theme->last_change_serial = helper->serial; | ||
138 | + /* update value */ | ||
139 | + g_value_reset (setting_theme->value); | ||
140 | + g_value_copy (touchscreen_pointer ? | ||
141 | + helper->touchscreen_cursor_value : | ||
142 | + helper->lastset_cursor_value, | ||
143 | + setting_theme->value); | ||
144 | + } | ||
145 | + else | ||
146 | + g_critical("Setting not found for /Gtk/CursorThemeName"); | ||
147 | + | ||
148 | + if (G_LIKELY (setting_touchscreen != NULL || setting_theme != NULL)) | ||
149 | + { | ||
150 | + /* schedule xsettings update */ | ||
151 | + if (helper->notify_idle_id == 0) | ||
152 | + helper->notify_idle_id = g_idle_add (xfce_xsettings_helper_notify_idle, helper); | ||
153 | + if (helper->notify_xft_idle_id == 0) | ||
154 | + helper->notify_xft_idle_id = g_idle_add (xfce_xsettings_helper_notify_xft_idle, helper); | ||
155 | + } | ||
156 | + } | ||
157 | + break; | ||
158 | + default: | ||
159 | + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
160 | + break; | ||
161 | + } | ||
162 | +} | ||
163 | + | ||
164 | + | ||
165 | + | ||
166 | static gboolean | ||
167 | xfce_xsettings_helper_prop_valid (const gchar *prop_name, | ||
168 | const GValue *value) | ||
169 | @@ -413,6 +508,28 @@ xfce_xsettings_helper_prop_valid (const gchar *prop_name, | ||
170 | |||
171 | |||
172 | |||
173 | +static void | ||
174 | +xfce_xsettings_helper_check_cursor (const gchar *prop_name, | ||
175 | + GValue *value, | ||
176 | + XfceXSettingsHelper *helper) | ||
177 | +{ | ||
178 | + if (g_strcmp0 (prop_name, "/Gtk/CursorThemeName") == 0) | ||
179 | + { | ||
180 | + /* Keep last cursor theme set */ | ||
181 | + g_value_reset (helper->lastset_cursor_value); | ||
182 | + g_value_copy (value, helper->lastset_cursor_value); | ||
183 | + | ||
184 | + /* invisible replacement required ? */ | ||
185 | + if (helper->touchscreen_pointer) | ||
186 | + { | ||
187 | + g_value_reset (value); | ||
188 | + g_value_copy (helper->touchscreen_cursor_value, value); | ||
189 | + } | ||
190 | + } | ||
191 | +} | ||
192 | + | ||
193 | + | ||
194 | + | ||
195 | static gboolean | ||
196 | xfce_xsettings_helper_prop_load (gchar *prop_name, | ||
197 | GValue *value, | ||
198 | @@ -426,6 +543,7 @@ xfce_xsettings_helper_prop_load (gchar *prop_name, | ||
199 | |||
200 | setting = g_slice_new0 (XfceXSetting); | ||
201 | setting->value = value; | ||
202 | + xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper); | ||
203 | setting->last_change_serial = helper->serial; | ||
204 | |||
205 | xfsettings_dbg_filtered (XFSD_DEBUG_XSETTINGS, "prop \"%s\" loaded (type=%s)", | ||
206 | @@ -462,6 +580,7 @@ xfce_xsettings_helper_prop_changed (XfconfChannel *channel, | ||
207 | * it first */ | ||
208 | g_value_reset (setting->value); | ||
209 | g_value_copy (value, setting->value); | ||
210 | + xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper); | ||
211 | |||
212 | /* update the serial */ | ||
213 | setting->last_change_serial = helper->serial; | ||
214 | @@ -475,6 +594,7 @@ xfce_xsettings_helper_prop_changed (XfconfChannel *channel, | ||
215 | |||
216 | g_value_init (setting->value, G_VALUE_TYPE (value)); | ||
217 | g_value_copy (value, setting->value); | ||
218 | + xfce_xsettings_helper_check_cursor (prop_name, setting->value, helper); | ||
219 | |||
220 | g_hash_table_insert (helper->settings, g_strdup (prop_name), setting); | ||
221 | } | ||
222 | @@ -649,6 +769,7 @@ xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper) | ||
223 | XfceXSetting *setting; | ||
224 | guint i; | ||
225 | GValue bool_val = { 0, }; | ||
226 | + | ||
227 | const gchar *props[][2] = | ||
228 | { | ||
229 | /* { xfconf name}, { xft name } */ | ||
230 | @@ -700,7 +821,6 @@ xfce_xsettings_helper_notify_xft (XfceXSettingsHelper *helper) | ||
231 | PropModeReplace, | ||
232 | (guchar *) resource->str, | ||
233 | resource->len); | ||
234 | - | ||
235 | XCloseDisplay (xdisplay); | ||
236 | |||
237 | if (gdk_error_trap_pop () != 0) | ||
238 | diff --git a/xfsettingsd/xsettings.xml b/xfsettingsd/xsettings.xml | ||
239 | index 0a579d6..baa413c 100644 | ||
240 | --- a/xfsettingsd/xsettings.xml | ||
241 | +++ b/xfsettingsd/xsettings.xml | ||
242 | @@ -41,5 +41,6 @@ | ||
243 | <property name="MenuBarAccel" type="string" value="F10"/> | ||
244 | <property name="CursorThemeName" type="string" value=""/> | ||
245 | <property name="CursorThemeSize" type="int" value="0"/> | ||
246 | + <property name="TouchscreenMode" type="bool" value="false"/> | ||
247 | <property name="IMModule" type="string" value=""/> | ||
248 | </property> | ||
249 | </channel>-- | ||
250 | 1.7.6.5 | ||
251 | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch new file mode 100644 index 000000000..edcb4e1cd --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch | |||
@@ -0,0 +1,582 @@ | |||
1 | From 37f5e33511499d320c3035c5377425004657faa5 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Thu, 20 Dec 2012 16:58:19 +0100 | ||
4 | Subject: [PATCH 5/5] pointers: detect a change of pointer-device used and set | ||
5 | "touchscreen-pointer" as found in xfconf | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | To detect pointer device in use the DevicePresence-, DeviceMotionNotify- and | ||
11 | DeviceButtonPress-events are handled. Tests showed that by repopenning and | ||
12 | closing the pointer devices (e.g when another setting was modified), the events | ||
13 | stopped working. Therefore all pointer devices are opened only once and managed | ||
14 | in a hash table. | ||
15 | |||
16 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
17 | Upstream-Status: Submitted [1] | ||
18 | [1] https://bugzilla.xfce.org/show_bug.cgi?id=9474 | ||
19 | --- | ||
20 | xfsettingsd/pointers.c | 337 +++++++++++++++++++++++++++++++---------------- | ||
21 | 1 files changed, 222 insertions(+), 115 deletions(-) | ||
22 | |||
23 | diff --git a/xfsettingsd/pointers.c b/xfsettingsd/pointers.c | ||
24 | index 62ebc60..32662cc 100644 | ||
25 | --- a/xfsettingsd/pointers.c | ||
26 | +++ b/xfsettingsd/pointers.c | ||
27 | @@ -66,11 +66,9 @@ static void xfce_pointers_helper_channel_property_changed (XfconfCha | ||
28 | const gchar *property_name, | ||
29 | const GValue *value, | ||
30 | XfcePointersHelper *helper); | ||
31 | -#ifdef DEVICE_HOTPLUGGING | ||
32 | static GdkFilterReturn xfce_pointers_helper_event_filter (GdkXEvent *xevent, | ||
33 | GdkEvent *gdk_event, | ||
34 | gpointer user_data); | ||
35 | -#endif | ||
36 | static void xfce_pointers_helper_set_property (GObject *object, | ||
37 | guint prop_id, | ||
38 | const GValue *value, | ||
39 | @@ -96,8 +94,11 @@ struct _XfcePointersHelper | ||
40 | GPid syndaemon_pid; | ||
41 | #endif | ||
42 | |||
43 | + GHashTable *pointer_devices; | ||
44 | + XID last_pointer_active; | ||
45 | + gint device_motion_event_type; | ||
46 | + gint device_button_press_event_type; | ||
47 | #ifdef DEVICE_HOTPLUGGING | ||
48 | - /* device presence event type */ | ||
49 | gint device_presence_event_type; | ||
50 | #endif | ||
51 | }; | ||
52 | @@ -117,6 +118,15 @@ G_DEFINE_TYPE (XfcePointersHelper, xfce_pointers_helper, G_TYPE_OBJECT); | ||
53 | |||
54 | |||
55 | |||
56 | +typedef struct | ||
57 | +{ | ||
58 | + XDevice *device; | ||
59 | + gchar* name; | ||
60 | +} | ||
61 | +XfcePointerDeviceData; | ||
62 | + | ||
63 | + | ||
64 | + | ||
65 | static void | ||
66 | xfce_pointers_helper_class_init (XfcePointersHelperClass *klass) | ||
67 | { | ||
68 | @@ -147,6 +157,18 @@ xfce_pointers_helper_init (XfcePointersHelper *helper) | ||
69 | |||
70 | |||
71 | static void | ||
72 | +xfce_pointers_device_close (gpointer data) | ||
73 | +{ | ||
74 | + XfcePointerDeviceData *device_data = data; | ||
75 | + | ||
76 | + XCloseDevice (GDK_DISPLAY (), device_data->device); | ||
77 | + g_free (device_data->name); | ||
78 | + g_free (device_data); | ||
79 | +} | ||
80 | + | ||
81 | + | ||
82 | + | ||
83 | +static void | ||
84 | xfce_pointers_helper_constructed (GObject *object) | ||
85 | { | ||
86 | XfcePointersHelper *helper = XFCE_POINTERS_HELPER (object); | ||
87 | @@ -185,6 +207,10 @@ xfce_pointers_helper_constructed (GObject *object) | ||
88 | helper->channel = xfconf_channel_get ("pointers"); | ||
89 | |||
90 | /* restore the pointer devices */ | ||
91 | + helper->pointer_devices = g_hash_table_new_full (g_int_hash, | ||
92 | + g_int_equal, | ||
93 | + g_free, | ||
94 | + xfce_pointers_device_close); | ||
95 | xfce_pointers_helper_restore_devices (helper, NULL); | ||
96 | |||
97 | /* monitor the channel */ | ||
98 | @@ -194,21 +220,20 @@ xfce_pointers_helper_constructed (GObject *object) | ||
99 | /* launch syndaemon if required */ | ||
100 | xfce_pointers_helper_syndaemon_check (helper); | ||
101 | |||
102 | -#ifdef DEVICE_HOTPLUGGING | ||
103 | if (G_LIKELY (xdisplay != NULL)) | ||
104 | { | ||
105 | +#ifdef DEVICE_HOTPLUGGING | ||
106 | /* monitor device changes */ | ||
107 | gdk_error_trap_push (); | ||
108 | DevicePresence (xdisplay, helper->device_presence_event_type, event_class); | ||
109 | XSelectExtensionEvent (xdisplay, RootWindow (xdisplay, DefaultScreen (xdisplay)), &event_class, 1); | ||
110 | |||
111 | /* add an event filter */ | ||
112 | - if (gdk_error_trap_pop () == 0) | ||
113 | - gdk_window_add_filter (NULL, xfce_pointers_helper_event_filter, helper); | ||
114 | - else | ||
115 | + if (gdk_error_trap_pop () != 0) | ||
116 | g_warning ("Failed to create device filter"); | ||
117 | - } | ||
118 | #endif | ||
119 | + gdk_window_add_filter (NULL, xfce_pointers_helper_event_filter, helper); | ||
120 | + } | ||
121 | } | ||
122 | } | ||
123 | |||
124 | @@ -238,7 +263,10 @@ xfce_pointers_helper_set_property (GObject *object, | ||
125 | static void | ||
126 | xfce_pointers_helper_finalize (GObject *object) | ||
127 | { | ||
128 | - xfce_pointers_helper_syndaemon_stop (XFCE_POINTERS_HELPER (object)); | ||
129 | + XfcePointersHelper* helper = XFCE_POINTERS_HELPER (object); | ||
130 | + | ||
131 | + xfce_pointers_helper_syndaemon_stop (helper); | ||
132 | + g_hash_table_destroy (helper->pointer_devices); | ||
133 | |||
134 | (*G_OBJECT_CLASS (xfce_pointers_helper_parent_class)->finalize) (object); | ||
135 | } | ||
136 | @@ -267,17 +295,17 @@ static void | ||
137 | xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper) | ||
138 | { | ||
139 | #ifdef DEVICE_PROPERTIES | ||
140 | - Display *xdisplay = GDK_DISPLAY (); | ||
141 | - XDeviceInfo *device_list; | ||
142 | - XDevice *device; | ||
143 | - gint n, ndevices; | ||
144 | - Atom touchpad_type; | ||
145 | - Atom touchpad_off_prop; | ||
146 | - Atom *props; | ||
147 | - gint i, nprops; | ||
148 | - gboolean have_synaptics = FALSE; | ||
149 | - gchar *args[] = { "syndaemon", "-i", "2.0", "-K", "-R", NULL }; | ||
150 | - GError *error = NULL; | ||
151 | + Display *xdisplay = GDK_DISPLAY (); | ||
152 | + XDeviceInfo *device_list; | ||
153 | + XfcePointerDeviceData *device_data; | ||
154 | + gint n, ndevices; | ||
155 | + Atom touchpad_type; | ||
156 | + Atom touchpad_off_prop; | ||
157 | + Atom *props; | ||
158 | + gint i, nprops; | ||
159 | + gboolean have_synaptics = FALSE; | ||
160 | + gchar *args[] = { "syndaemon", "-i", "2.0", "-K", "-R", NULL }; | ||
161 | + GError *error = NULL; | ||
162 | |||
163 | /* only stop a running daemon */ | ||
164 | if (!xfconf_channel_get_bool (helper->channel, "/DisableTouchpadWhileTyping", FALSE)) | ||
165 | @@ -297,17 +325,16 @@ xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper) | ||
166 | if (device_list[n].type != touchpad_type) | ||
167 | continue; | ||
168 | |||
169 | - gdk_error_trap_push (); | ||
170 | - device = XOpenDevice (xdisplay, device_list[n].id); | ||
171 | - if (gdk_error_trap_pop () != 0 || device == NULL) | ||
172 | + device_data = g_hash_table_lookup (helper->pointer_devices, &device_list[n].id); | ||
173 | + if (device_data == NULL) | ||
174 | { | ||
175 | - g_critical ("Unable to open device %s", device_list[n].name); | ||
176 | + g_critical ("xfce_pointers_helper_syndaemon_check: Unable to find device %s / ID %i in hash table", device_list[n].name, device_list[n].id); | ||
177 | break; | ||
178 | } | ||
179 | |||
180 | /* look for the Synaptics Off property */ | ||
181 | gdk_error_trap_push (); | ||
182 | - props = XListDeviceProperties (xdisplay, device, &nprops); | ||
183 | + props = XListDeviceProperties (xdisplay, device_data->device, &nprops); | ||
184 | if (gdk_error_trap_pop () == 0 | ||
185 | && props != NULL) | ||
186 | { | ||
187 | @@ -317,8 +344,6 @@ xfce_pointers_helper_syndaemon_check (XfcePointersHelper *helper) | ||
188 | XFree (props); | ||
189 | } | ||
190 | |||
191 | - XCloseDevice (xdisplay, device); | ||
192 | - | ||
193 | if (have_synaptics) | ||
194 | break; | ||
195 | } | ||
196 | @@ -844,24 +869,56 @@ xfce_pointers_helper_change_properties (gpointer key, | ||
197 | |||
198 | |||
199 | static void | ||
200 | +xfce_pointers_helper_change_current_device (XfcePointersHelper *helper, | ||
201 | + XID *xid) | ||
202 | +{ | ||
203 | + XfcePointerDeviceData *device_data; | ||
204 | + gchar* prop; | ||
205 | + GValue bool_val = { 0, }; | ||
206 | + | ||
207 | + helper->last_pointer_active = *xid; | ||
208 | + device_data = g_hash_table_lookup (helper->pointer_devices, xid); | ||
209 | + if (device_data == NULL) | ||
210 | + { | ||
211 | + g_critical ("Unable to find device ID %i in hash table", *xid); | ||
212 | + return; | ||
213 | + } | ||
214 | + if (G_LIKELY (G_IS_OBJECT (helper->xsettings_helper))) | ||
215 | + { | ||
216 | + prop = g_strconcat ("/", device_data->name, "/TouchscreenPointer", NULL); | ||
217 | + g_value_init (&bool_val, G_TYPE_BOOLEAN); | ||
218 | + g_value_set_boolean (&bool_val, | ||
219 | + xfconf_channel_get_bool (helper->channel, prop, FALSE)); | ||
220 | + g_object_set_property (helper->xsettings_helper, "touchscreen-pointer", &bool_val); | ||
221 | + g_value_unset (&bool_val); | ||
222 | + g_free (prop); | ||
223 | + } | ||
224 | + else | ||
225 | + g_critical ("xsettings_helper was not properly set"); | ||
226 | +} | ||
227 | + | ||
228 | + | ||
229 | +static void | ||
230 | xfce_pointers_helper_restore_devices (XfcePointersHelper *helper, | ||
231 | XID *xid) | ||
232 | { | ||
233 | - Display *xdisplay = GDK_DISPLAY (); | ||
234 | - XDeviceInfo *device_list, *device_info; | ||
235 | - gint n, ndevices; | ||
236 | - XDevice *device; | ||
237 | - gchar *device_name; | ||
238 | - gchar prop[256]; | ||
239 | - gboolean right_handed; | ||
240 | - gboolean reverse_scrolling; | ||
241 | - gint threshold; | ||
242 | - gdouble acceleration; | ||
243 | + Display *xdisplay = GDK_DISPLAY (); | ||
244 | + XDeviceInfo *device_list, *device_info; | ||
245 | + gint n, ndevices; | ||
246 | + XDevice *device; | ||
247 | + XfcePointerDeviceData *device_data; | ||
248 | + gchar *device_name; | ||
249 | + gchar prop[256]; | ||
250 | + gboolean right_handed; | ||
251 | + gboolean reverse_scrolling; | ||
252 | + gint threshold; | ||
253 | + gdouble acceleration; | ||
254 | + XEventClass event_classes[2]; | ||
255 | #ifdef DEVICE_PROPERTIES | ||
256 | - GHashTable *props; | ||
257 | - XfcePointerData pointer_data; | ||
258 | + GHashTable *props; | ||
259 | + XfcePointerData pointer_data; | ||
260 | #endif | ||
261 | - const gchar *mode; | ||
262 | + const gchar *mode; | ||
263 | |||
264 | gdk_error_trap_push (); | ||
265 | device_list = XListInputDevices (xdisplay, &ndevices); | ||
266 | @@ -873,84 +930,107 @@ xfce_pointers_helper_restore_devices (XfcePointersHelper *helper, | ||
267 | |||
268 | for (n = 0; n < ndevices; n++) | ||
269 | { | ||
270 | - /* filter the pointer devices */ | ||
271 | + /* filter the physical pointer devices */ | ||
272 | device_info = &device_list[n]; | ||
273 | if (device_info->use != IsXExtensionPointer | ||
274 | - || device_info->name == NULL) | ||
275 | + || device_info->name == NULL | ||
276 | + || g_str_has_prefix (device_info->name, "Virtual core XTEST")) | ||
277 | continue; | ||
278 | |||
279 | /* filter out the device if one is set */ | ||
280 | if (xid != NULL && device_info->id != *xid) | ||
281 | continue; | ||
282 | |||
283 | - /* open the device */ | ||
284 | - gdk_error_trap_push (); | ||
285 | - device = XOpenDevice (xdisplay, device_info->id); | ||
286 | - if (gdk_error_trap_pop () != 0 || device == NULL) | ||
287 | + device_data = g_hash_table_lookup (helper->pointer_devices, &device_info->id); | ||
288 | + if (device_data == NULL) | ||
289 | { | ||
290 | - g_critical ("Unable to open device %s", device_info->name); | ||
291 | - continue; | ||
292 | - } | ||
293 | + /* open the device and insert to hash */ | ||
294 | + gdk_error_trap_push (); | ||
295 | + device = XOpenDevice (xdisplay, device_info->id); | ||
296 | + if (G_UNLIKELY(gdk_error_trap_pop () != 0 || device == NULL)) | ||
297 | + { | ||
298 | + g_critical ("Unable to open device %s / ID: %i", device_info->name, device_info->id); | ||
299 | + continue; | ||
300 | + } | ||
301 | |||
302 | - /* create a valid xfconf property name for the device */ | ||
303 | - device_name = xfce_pointers_helper_device_xfconf_name (device_info->name); | ||
304 | + /* create a valid xfconf property name for the device */ | ||
305 | + device_name = xfce_pointers_helper_device_xfconf_name (device_info->name); | ||
306 | |||
307 | - /* read buttonmap properties */ | ||
308 | - g_snprintf (prop, sizeof (prop), "/%s/RightHanded", device_name); | ||
309 | - right_handed = xfconf_channel_get_bool (helper->channel, prop, -1); | ||
310 | + /* add device to our list */ | ||
311 | + device_data = g_new (XfcePointerDeviceData, 1); | ||
312 | + device_data->device = device; | ||
313 | + device_data->name = device_name; | ||
314 | + g_hash_table_insert (helper->pointer_devices, g_memdup (&device_info->id, sizeof(device_info->id)), device_data); | ||
315 | |||
316 | - g_snprintf (prop, sizeof (prop), "/%s/ReverseScrolling", device_name); | ||
317 | - reverse_scrolling = xfconf_channel_get_bool (helper->channel, prop, -1); | ||
318 | + /* catch motion event / button-press for new device */ | ||
319 | + gdk_error_trap_push (); | ||
320 | + DeviceMotionNotify (device, helper->device_motion_event_type, event_classes[0]); | ||
321 | + DeviceButtonPress (device, helper->device_button_press_event_type, event_classes[1]); | ||
322 | + XSelectExtensionEvent (xdisplay, RootWindow (xdisplay, DefaultScreen (xdisplay)), event_classes, 2); | ||
323 | + if (G_UNLIKELY (gdk_error_trap_pop () != 0)) | ||
324 | + g_critical ("Unable to register DeviceButtonPress/DeviceMotionNotify for %i", device_info->id); | ||
325 | |||
326 | - if (right_handed != -1 || reverse_scrolling != -1) | ||
327 | - { | ||
328 | - xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay, | ||
329 | + | ||
330 | + /* read buttonmap properties */ | ||
331 | + g_snprintf (prop, sizeof (prop), "/%s/RightHanded", device_name); | ||
332 | + right_handed = xfconf_channel_get_bool (helper->channel, prop, -1); | ||
333 | + | ||
334 | + g_snprintf (prop, sizeof (prop), "/%s/ReverseScrolling", device_name); | ||
335 | + reverse_scrolling = xfconf_channel_get_bool (helper->channel, prop, -1); | ||
336 | + | ||
337 | + if (right_handed != -1 || reverse_scrolling != -1) | ||
338 | + { | ||
339 | + xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay, | ||
340 | right_handed, reverse_scrolling); | ||
341 | - } | ||
342 | + } | ||
343 | |||
344 | - /* read feedback settings */ | ||
345 | - g_snprintf (prop, sizeof (prop), "/%s/Threshold", device_name); | ||
346 | - threshold = xfconf_channel_get_int (helper->channel, prop, -1); | ||
347 | + /* read feedback settings */ | ||
348 | + g_snprintf (prop, sizeof (prop), "/%s/Threshold", device_name); | ||
349 | + threshold = xfconf_channel_get_int (helper->channel, prop, -1); | ||
350 | |||
351 | - g_snprintf (prop, sizeof (prop), "/%s/Acceleration", device_name); | ||
352 | - acceleration = xfconf_channel_get_double (helper->channel, prop, -1.00); | ||
353 | + g_snprintf (prop, sizeof (prop), "/%s/Acceleration", device_name); | ||
354 | + acceleration = xfconf_channel_get_double (helper->channel, prop, -1.00); | ||
355 | |||
356 | - if (threshold != -1 || acceleration != -1.00) | ||
357 | - { | ||
358 | - xfce_pointers_helper_change_feedback (device_info, device, xdisplay, | ||
359 | - threshold, acceleration); | ||
360 | - } | ||
361 | + if (threshold != -1 || acceleration != -1.00) | ||
362 | + { | ||
363 | + xfce_pointers_helper_change_feedback (device_info, device, xdisplay, | ||
364 | + threshold, acceleration); | ||
365 | + } | ||
366 | |||
367 | - /* read mode settings */ | ||
368 | - g_snprintf (prop, sizeof (prop), "/%s/Mode", device_name); | ||
369 | - mode = xfconf_channel_get_string (helper->channel, prop, NULL); | ||
370 | + /* read mode settings */ | ||
371 | + g_snprintf (prop, sizeof (prop), "/%s/Mode", device_name); | ||
372 | + mode = xfconf_channel_get_string (helper->channel, prop, NULL); | ||
373 | |||
374 | - if (mode != NULL) | ||
375 | - xfce_pointers_helper_change_mode (device_info, device, xdisplay, mode); | ||
376 | + if (mode != NULL) | ||
377 | + xfce_pointers_helper_change_mode (device_info, device, xdisplay, mode); | ||
378 | |||
379 | #ifdef DEVICE_PROPERTIES | ||
380 | - /* set device properties */ | ||
381 | - g_snprintf (prop, sizeof (prop), "/%s/Properties", device_name); | ||
382 | - props = xfconf_channel_get_properties (helper->channel, prop); | ||
383 | + /* set device properties */ | ||
384 | + g_snprintf (prop, sizeof (prop), "/%s/Properties", device_name); | ||
385 | + props = xfconf_channel_get_properties (helper->channel, prop); | ||
386 | |||
387 | - if (props != NULL) | ||
388 | - { | ||
389 | - pointer_data.xdisplay = xdisplay; | ||
390 | - pointer_data.device = device; | ||
391 | - pointer_data.device_info = device_info; | ||
392 | - pointer_data.prop_name_len = strlen (prop) + 1; | ||
393 | + if (props != NULL) | ||
394 | + { | ||
395 | + pointer_data.xdisplay = xdisplay; | ||
396 | + pointer_data.device = device; | ||
397 | + pointer_data.device_info = device_info; | ||
398 | + pointer_data.prop_name_len = strlen (prop) + 1; | ||
399 | |||
400 | - g_hash_table_foreach (props, xfce_pointers_helper_change_properties, &pointer_data); | ||
401 | + g_hash_table_foreach (props, xfce_pointers_helper_change_properties, &pointer_data); | ||
402 | |||
403 | - g_hash_table_destroy (props); | ||
404 | - } | ||
405 | + g_hash_table_destroy (props); | ||
406 | + } | ||
407 | #endif | ||
408 | - | ||
409 | - g_free (device_name); | ||
410 | - XCloseDevice (xdisplay, device); | ||
411 | + } | ||
412 | } | ||
413 | - | ||
414 | XFreeDeviceList (device_list); | ||
415 | + if (G_LIKELY (device_data != NULL)) | ||
416 | + { | ||
417 | + if (helper->last_pointer_active != device_data->device->device_id) | ||
418 | + xfce_pointers_helper_change_current_device (helper, &device_data->device->device_id); | ||
419 | + } | ||
420 | + else | ||
421 | + g_critical("no device selected in xfce_pointers_helper_restore_devices"); | ||
422 | } | ||
423 | |||
424 | |||
425 | @@ -961,12 +1041,12 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel, | ||
426 | const GValue *value, | ||
427 | XfcePointersHelper *helper) | ||
428 | { | ||
429 | - Display *xdisplay = GDK_DISPLAY (); | ||
430 | - XDeviceInfo *device_list, *device_info; | ||
431 | - XDevice *device; | ||
432 | - gint n, ndevices; | ||
433 | - gchar **names; | ||
434 | - gchar *device_name; | ||
435 | + Display *xdisplay = GDK_DISPLAY (); | ||
436 | + XDeviceInfo *device_list, *device_info; | ||
437 | + XfcePointerDeviceData *device_data; | ||
438 | + gint n, ndevices; | ||
439 | + gchar **names; | ||
440 | + gchar *device_name; | ||
441 | |||
442 | if (G_UNLIKELY (property_name == NULL)) | ||
443 | return; | ||
444 | @@ -996,63 +1076,72 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel, | ||
445 | /* filter the pointer devices */ | ||
446 | device_info = &device_list[n]; | ||
447 | if (device_info->use != IsXExtensionPointer | ||
448 | - || device_info->name == NULL) | ||
449 | + || device_info->name == NULL | ||
450 | + || g_str_has_prefix (device_info->name, "Virtual core XTEST")) | ||
451 | continue; | ||
452 | |||
453 | /* search the device name */ | ||
454 | device_name = xfce_pointers_helper_device_xfconf_name (device_info->name); | ||
455 | if (strcmp (names[0], device_name) == 0) | ||
456 | { | ||
457 | - /* open the device */ | ||
458 | - gdk_error_trap_push (); | ||
459 | - device = XOpenDevice (xdisplay, device_info->id); | ||
460 | - if (gdk_error_trap_pop () != 0 || device == NULL) | ||
461 | + /* find the device */ | ||
462 | + device_data = g_hash_table_lookup (helper->pointer_devices, &device_info->id); | ||
463 | + if (device_data == NULL) | ||
464 | { | ||
465 | - g_critical ("Unable to open device %s", device_info->name); | ||
466 | + g_critical ("xfce_pointers_helper_channel_property_changed: Unable to find device %s / ID %i in hash table", device_info->name, device_info->id); | ||
467 | continue; | ||
468 | } | ||
469 | |||
470 | /* check the property that requires updating */ | ||
471 | if (strcmp (names[1], "RightHanded") == 0) | ||
472 | { | ||
473 | - xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay, | ||
474 | + xfce_pointers_helper_change_button_mapping (device_info, device_data->device, xdisplay, | ||
475 | g_value_get_boolean (value), -1); | ||
476 | } | ||
477 | else if (strcmp (names[1], "ReverseScrolling") == 0) | ||
478 | { | ||
479 | - xfce_pointers_helper_change_button_mapping (device_info, device, xdisplay, | ||
480 | + xfce_pointers_helper_change_button_mapping (device_info, device_data->device, xdisplay, | ||
481 | -1, g_value_get_boolean (value)); | ||
482 | } | ||
483 | else if (strcmp (names[1], "Threshold") == 0) | ||
484 | { | ||
485 | - xfce_pointers_helper_change_feedback (device_info, device, xdisplay, | ||
486 | + xfce_pointers_helper_change_feedback (device_info, device_data->device, xdisplay, | ||
487 | g_value_get_int (value), -2.00); | ||
488 | } | ||
489 | else if (strcmp (names[1], "Acceleration") == 0) | ||
490 | { | ||
491 | - xfce_pointers_helper_change_feedback (device_info, device, xdisplay, | ||
492 | + xfce_pointers_helper_change_feedback (device_info, device_data->device, xdisplay, | ||
493 | -2, g_value_get_double (value)); | ||
494 | } | ||
495 | #ifdef DEVICE_PROPERTIES | ||
496 | else if (strcmp (names[1], "Properties") == 0) | ||
497 | { | ||
498 | - xfce_pointers_helper_change_property (device_info, device, xdisplay, | ||
499 | + xfce_pointers_helper_change_property (device_info, device_data->device, xdisplay, | ||
500 | names[2], value); | ||
501 | } | ||
502 | #endif | ||
503 | else if (strcmp (names[1], "Mode") == 0) | ||
504 | { | ||
505 | - xfce_pointers_helper_change_mode (device_info, device, xdisplay, | ||
506 | + xfce_pointers_helper_change_mode (device_info, device_data->device, xdisplay, | ||
507 | g_value_get_string (value)); | ||
508 | } | ||
509 | + else if (strcmp (names[1], "TouchscreenPointer") == 0) | ||
510 | + { | ||
511 | + /* only hide if the current device's property was changed */ | ||
512 | + if (device_info->id == helper->last_pointer_active) | ||
513 | + { | ||
514 | + if (G_LIKELY (G_IS_OBJECT (helper->xsettings_helper))) | ||
515 | + g_object_set_property (helper->xsettings_helper, "touchscreen-pointer", value); | ||
516 | + else | ||
517 | + g_critical ("xsettings_helper was not properly set"); | ||
518 | + } | ||
519 | + } | ||
520 | else | ||
521 | { | ||
522 | g_warning ("Unknown property %s set for device %s", | ||
523 | property_name, device_info->name); | ||
524 | } | ||
525 | |||
526 | - XCloseDevice (xdisplay, device); | ||
527 | - | ||
528 | /* stop searching */ | ||
529 | n = ndevices; | ||
530 | } | ||
531 | @@ -1068,26 +1157,44 @@ xfce_pointers_helper_channel_property_changed (XfconfChannel *channel, | ||
532 | |||
533 | |||
534 | |||
535 | -#ifdef DEVICE_HOTPLUGGING | ||
536 | static GdkFilterReturn | ||
537 | xfce_pointers_helper_event_filter (GdkXEvent *xevent, | ||
538 | GdkEvent *gdk_event, | ||
539 | gpointer user_data) | ||
540 | { | ||
541 | + XDevicePresenceNotifyEvent *dpn_event; | ||
542 | XEvent *event = xevent; | ||
543 | - XDevicePresenceNotifyEvent *dpn_event = xevent; | ||
544 | XfcePointersHelper *helper = XFCE_POINTERS_HELPER (user_data); | ||
545 | |||
546 | - if (event->type == helper->device_presence_event_type) | ||
547 | + /* Comparison for device changed is done here redundantly to prevent call | ||
548 | + * on every mouse move. | ||
549 | + */ | ||
550 | + if (event->type == helper->device_motion_event_type | ||
551 | + && helper->last_pointer_active != ((XDeviceMotionEvent*)xevent)->deviceid) | ||
552 | + xfce_pointers_helper_change_current_device (helper, &((XDeviceMotionEvent*)xevent)->deviceid); | ||
553 | + else if (event->type == helper->device_button_press_event_type | ||
554 | + && helper->last_pointer_active != ((XDeviceButtonEvent*)xevent)->deviceid) | ||
555 | + xfce_pointers_helper_change_current_device (helper, &((XDeviceButtonEvent*)xevent)->deviceid); | ||
556 | + | ||
557 | +#ifdef DEVICE_HOTPLUGGING | ||
558 | + /* handle device add/remove */ | ||
559 | + else if (event->type == helper->device_presence_event_type) | ||
560 | { | ||
561 | + dpn_event = xevent; | ||
562 | /* restore device settings */ | ||
563 | if (dpn_event->devchange == DeviceAdded) | ||
564 | xfce_pointers_helper_restore_devices (helper, &dpn_event->deviceid); | ||
565 | + else if(dpn_event->devchange == DeviceRemoved) | ||
566 | + /* we could try to find a remaining pointer to set that as active | ||
567 | + * one but that might not fit and as soon as the user works with | ||
568 | + * another pointer we are changing to correct one. | ||
569 | + */ | ||
570 | + g_hash_table_remove (helper->pointer_devices, &dpn_event->deviceid); | ||
571 | |||
572 | /* check if we need to launch syndaemon */ | ||
573 | xfce_pointers_helper_syndaemon_check (helper); | ||
574 | } | ||
575 | +#endif | ||
576 | |||
577 | return GDK_FILTER_CONTINUE; | ||
578 | } | ||
579 | -#endif | ||
580 | -- | ||
581 | 1.7.6.5 | ||
582 | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible new file mode 100644 index 000000000..ef4d9aadb --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/invisible | |||
Binary files differ | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait new file mode 100644 index 000000000..8b9ac7e20 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/wait | |||
Binary files differ | |||
diff --git a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb index 7075e2a53..9b6205b2d 100644 --- a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.10.0.bb | |||
@@ -3,15 +3,29 @@ SECTION = "x11/wm" | |||
3 | LICENSE = "GPLv2" | 3 | LICENSE = "GPLv2" |
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
5 | DEPENDS = "exo garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libnotify libxcursor libxklavier" | 5 | DEPENDS = "exo garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libnotify libxcursor libxklavier" |
6 | PR = "r1" | 6 | PR = "r2" |
7 | 7 | ||
8 | inherit xfce | 8 | inherit xfce |
9 | 9 | ||
10 | SRC_URI += "file://0001-xsettings.xml-remove-trouble-causing-comment.patch \ | 10 | SRC_URI += "file://0001-xsettings.xml-remove-trouble-causing-comment.patch \ |
11 | file://0002-xsettings.xml-Set-default-themes.patch" | 11 | file://0002-xsettings.xml-Set-default-themes.patch \ |
12 | file://touchscreen/invisible \ | ||
13 | file://touchscreen/wait \ | ||
14 | file://touchscreen/0001-add-cursor-theme-xfce-invisible.patch \ | ||
15 | file://touchscreen/0002-mouse-settings-dialog-add-touchscreen-pointer-option.patch \ | ||
16 | file://touchscreen/0003-XfcePointersHelper-gets-a-pointer-to-XfceXSettingsHe.patch \ | ||
17 | file://touchscreen/0004-XfceXSettingsHelper-gets-a-property-touchscreen-poin.patch \ | ||
18 | file://touchscreen/0005-pointers-detect-a-change-of-pointer-device-used-and-.patch \ | ||
19 | " | ||
12 | SRC_URI[md5sum] = "cc4dd9179ead9046c056431f01a12000" | 20 | SRC_URI[md5sum] = "cc4dd9179ead9046c056431f01a12000" |
13 | SRC_URI[sha256sum] = "0843f09ba9673f1d1b5df8dce4a17b63c183a9ba3be75fb6ef99a67fc8c1f77e" | 21 | SRC_URI[sha256sum] = "0843f09ba9673f1d1b5df8dce4a17b63c183a9ba3be75fb6ef99a67fc8c1f77e" |
14 | 22 | ||
15 | FILES_${PN} += "${libdir}/xfce4" | 23 | FILES_${PN} += "${libdir}/xfce4" |
16 | 24 | ||
25 | do_install_prepend() { | ||
26 | # somehow binary files are not patched correctly by oe-patch - so copy them | ||
27 | cp ${WORKDIR}/touchscreen/invisible ${S}/cursors | ||
28 | cp ${WORKDIR}/touchscreen/wait ${S}/cursors | ||
29 | } | ||
30 | |||
17 | RRECOMMENDS_${PN} += "gnome-icon-theme" | 31 | RRECOMMENDS_${PN} += "gnome-icon-theme" |