Skip to content

Commit 19fdb3f

Browse files
committed
Mouse: include a toggle to enable or disable middlemouse paste
Defaults to ON so as not to change expected behavior until user changes it.
1 parent d5c8249 commit 19fdb3f

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

‎capplets/mouse/mate-mouse-properties.c‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ enum
5151
};
5252

5353
#define MOUSE_SCHEMA "org.mate.peripherals-mouse"
54+
#define INTERFACE_SCHEMA "org.mate.interface"
5455
#define DOUBLE_CLICK_KEY "double-click"
5556

5657
#define TOUCHPAD_SCHEMA "org.mate.peripherals-touchpad"
@@ -61,6 +62,7 @@ enum
6162
static gint double_click_state = DOUBLE_CLICK_TEST_OFF;
6263

6364
static GSettings *mouse_settings = NULL;
65+
static GSettings *interface_settings = NULL;
6466
static GSettings *touchpad_settings = NULL;
6567

6668
/* Double Click handling */
@@ -273,6 +275,11 @@ setup_dialog (GtkBuilder *dialog)
273275
g_settings_bind (mouse_settings, "middle-button-enabled", WID ("middle_button_emulation_toggle"),
274276
"active", G_SETTINGS_BIND_DEFAULT);
275277

278+
/* Middle Button Paste */
279+
g_settings_bind (interface_settings, "gtk-enable-primary-paste", WID ("middle_button_paste_toggle"),
280+
"active", G_SETTINGS_BIND_DEFAULT);
281+
282+
276283
/* Double-click time */
277284
g_settings_bind (mouse_settings, DOUBLE_CLICK_KEY,
278285
gtk_range_get_adjustment (GTK_RANGE (WID ("delay_scale"))), "value",
@@ -432,6 +439,7 @@ main (int argc, char **argv)
432439
activate_settings_daemon ();
433440

434441
mouse_settings = g_settings_new (MOUSE_SCHEMA);
442+
interface_settings = g_settings_new (INTERFACE_SCHEMA);
435443
touchpad_settings = g_settings_new (TOUCHPAD_SCHEMA);
436444

437445
dialog = create_dialog ();
@@ -471,6 +479,7 @@ main (int argc, char **argv)
471479
}
472480

473481
g_object_unref (mouse_settings);
482+
g_object_unref (interface_settings);
474483
g_object_unref (touchpad_settings);
475484

476485
return 0;

‎capplets/mouse/mate-mouse-properties.ui‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,32 @@
287287
<property name="position">2</property>
288288
</packing>
289289
</child>
290+
<child>
291+
<object class="GtkAlignment" id="alignment20">
292+
<property name="visible">True</property>
293+
<property name="can_focus">False</property>
294+
<property name="top_padding">6</property>
295+
<property name="left_padding">12</property>
296+
<child>
297+
<object class="GtkCheckButton" id="middle_button_paste_toggle">
298+
<property name="label" translatable="yes">Enable middlemouse paste</property>
299+
<property name="visible">True</property>
300+
<property name="can_focus">True</property>
301+
<property name="receives_default">False</property>
302+
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
303+
<property name="halign">start</property>
304+
<property name="use_underline">True</property>
305+
<property name="active">True</property>
306+
<property name="draw_indicator">True</property>
307+
</object>
308+
</child>
309+
</object>
310+
<packing>
311+
<property name="expand">False</property>
312+
<property name="fill">True</property>
313+
<property name="position">3</property>
314+
</packing>
315+
</child>
290316
</object>
291317
<packing>
292318
<property name="expand">False</property>

0 commit comments

Comments
 (0)