This patch is allowing to enable or disable the 'disable mouse actions' from the WPrefs app without requiring to restart the session.
---
src/defaults.c | 4 ++--
src/event.c | 2 +-
src/screen.c | 5 -----
3 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/src/defaults.c b/src/defaults.c
index 2b938a3..df7e919 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -324,8 +324,6 @@ WDefaultEntry staticOptionList[] = {
&wPreferences.icon_size, getInt, NULL, NULL, NULL},
{"ModifierKey", "Mod1", NULL,
&wPreferences.modifier_mask, getModMask, NULL, NULL, NULL},
- {"DisableWSMouseActions", "NO", NULL,
- &wPreferences.disable_root_mouse, getBool, NULL, NULL, NULL},
{"FocusMode", "manual", seFocusModes, /* have a problem when switching from */
&wPreferences.focus_mode, getEnum, NULL, NULL, NULL}, /* manual
to sloppy without restart */
{"NewStyle", "new", seTitlebarModes,
@@ -353,6 +351,8 @@ WDefaultEntry optionList[] = {
&wPreferences.icon_yard, getEnum, setIconPosition, NULL, NULL},
{"IconificationStyle", "Zoom", seIconificationStyles,
&wPreferences.iconification_style, getEnum, NULL, NULL, NULL},
+ {"DisableWSMouseActions", "NO", NULL,
+ &wPreferences.disable_root_mouse, getBool, NULL, NULL, NULL},
{"MouseLeftButtonAction", "SelectWindows", seMouseButtonActions,
&wPreferences.mouse_button1, getEnum, NULL, NULL, NULL},
{"MouseMiddleButtonAction", "OpenWindowListMenu", seMouseButtonActions,
diff --git a/src/event.c b/src/event.c
index 9e41dc9..0ec1b77 100644
--- a/src/event.c
+++ b/src/event.c
@@ -745,7 +745,7 @@ static void handleButtonPress(XEvent * event)
wBalloonHide(scr);
#endif
- if (event->xbutton.window == scr->root_win) {
+ if (!wPreferences.disable_root_mouse && event->xbutton.window ==
scr->root_win) {
if (event->xbutton.button == Button1 && wPreferences.mouse_button1
!= WA_NONE) {
executeButtonAction(scr, event, wPreferences.mouse_button1);
} else if (event->xbutton.button == Button2 &&
wPreferences.mouse_button2 != WA_NONE) {
diff --git a/src/screen.c b/src/screen.c
index 250f996..da578c2 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -524,11 +524,6 @@ WScreen *wScreenInit(int screen_number)
oldHandler = XSetErrorHandler(alreadyRunningError);
event_mask = EVENT_MASK;
-
- if (wPreferences.disable_root_mouse) {
- event_mask &= ~(ButtonPressMask | ButtonReleaseMask);
- }
-
XSelectInput(dpy, scr->root_win, event_mask);
0001-wmaker-make-disable-mouse-actions-a-live-set.patch
Description: Binary data
