This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project wmaker-crm.git.
The branch, next has been updated
via 51b342fee54569204ce5f039e9ef34615e703014 (commit)
via 2406256d482ed72cee25fa35b5c65dc659ff9bca (commit)
from 1e06e1e29bb47dbffc31910d45f01e7d55ea3b39 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/wmaker-crm.git/commit/51b342fee54569204ce5f039e9ef34615e703014
commit 51b342fee54569204ce5f039e9ef34615e703014
Author: David Maciejak <[email protected]>
Date: Wed Aug 27 16:19:45 2014 +0700
WPrefs: add new mouse buttons configuration support
This patch is updating the mouse button configuration panel
to be able to set action to the new mouse buttons supported.
diff --git a/WPrefs.app/MouseSettings.c b/WPrefs.app/MouseSettings.c
index 741bf97b..749feeee 100644
--- a/WPrefs.app/MouseSettings.c
+++ b/WPrefs.app/MouseSettings.c
@@ -60,11 +60,17 @@ typedef struct _Panel {
WMLabel *button1L;
WMLabel *button2L;
WMLabel *button3L;
+ WMLabel *button8L;
+ WMLabel *button9L;
WMLabel *wheelL;
+ WMLabel *wheelTiltL;
WMPopUpButton *button1P;
WMPopUpButton *button2P;
WMPopUpButton *button3P;
+ WMPopUpButton *button8P;
+ WMPopUpButton *button9P;
WMPopUpButton *wheelP;
+ WMPopUpButton *wheelTiltP;
WMButton *disaB;
@@ -259,6 +265,30 @@ static void showData(_Panel * panel)
}
WMSetPopUpButtonSelectedItem(panel->button3P, c);
+ str = GetStringForKey("MouseBackwardButtonAction");
+ i = getButtonAction(str);
+ if (i < 0) {
+ b = 0;
+ if (i == -1) {
+ wwarning(_("bad value %s for option %s"), str,
"MouseBackwardButtonAction");
+ }
+ } else {
+ b = i;
+ }
+ WMSetPopUpButtonSelectedItem(panel->button8P, b);
+
+ str = GetStringForKey("MouseForwardButtonAction");
+ i = getButtonAction(str);
+ if (i < 0) {
+ b = 0;
+ if (i == -1) {
+ wwarning(_("bad value %s for option %s"), str,
"MouseForwardButtonAction");
+ }
+ } else {
+ b = i;
+ }
+ WMSetPopUpButtonSelectedItem(panel->button9P, b);
+
str = GetStringForKey("MouseWheelAction");
i = getWheelAction(str);
if (i < 0) {
@@ -271,6 +301,18 @@ static void showData(_Panel * panel)
}
WMSetPopUpButtonSelectedItem(panel->wheelP, w);
+ str = GetStringForKey("MouseWheelTiltAction");
+ i = getWheelAction(str);
+ if (i < 0) {
+ w = 0;
+ if (i == -1) {
+ wwarning(_("bad value %s for option %s"), str,
"MouseWheelTiltAction");
+ }
+ } else {
+ w = i;
+ }
+ WMSetPopUpButtonSelectedItem(panel->wheelTiltP, w);
+
WMSetButtonSelected(panel->disaB,
GetBoolForKey("DisableWSMouseActions"));
/**/ getMouseParameters(dpy, &accel, &a);
@@ -436,7 +478,7 @@ static void createPanel(Panel * p)
/**************** Mouse Speed ****************/
panel->speedF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->speedF, 225, 100);
+ WMResizeWidget(panel->speedF, 225, 90);
WMMoveWidget(panel->speedF, 15, 5);
WMSetFrameTitle(panel->speedF, _("Mouse Speed"));
@@ -466,33 +508,50 @@ static void createPanel(Panel * p)
panel->acceL = WMCreateLabel(panel->speedF);
WMResizeWidget(panel->acceL, 50, 16);
- WMMoveWidget(panel->acceL, 10, 67);
+ WMMoveWidget(panel->acceL, 10, 65);
WMSetLabelTextAlignment(panel->acceL, WARight);
WMSetLabelText(panel->acceL, _("Accel.:"));
panel->acceT = WMCreateTextField(panel->speedF);
WMResizeWidget(panel->acceT, 40, 20);
- WMMoveWidget(panel->acceT, 60, 65);
+ WMMoveWidget(panel->acceT, 60, 63);
WMAddNotificationObserver(returnPressed, panel,
WMTextDidEndEditingNotification, panel->acceT);
panel->threL = WMCreateLabel(panel->speedF);
WMResizeWidget(panel->threL, 80, 16);
- WMMoveWidget(panel->threL, 100, 67);
+ WMMoveWidget(panel->threL, 100, 65);
WMSetLabelTextAlignment(panel->threL, WARight);
WMSetLabelText(panel->threL, _("Threshold:"));
panel->threT = WMCreateTextField(panel->speedF);
WMResizeWidget(panel->threT, 30, 20);
- WMMoveWidget(panel->threT, 180, 65);
+ WMMoveWidget(panel->threT, 180, 63);
WMAddNotificationObserver(returnPressed, panel,
WMTextDidEndEditingNotification, panel->threT);
WMMapSubwidgets(panel->speedF);
- /***************** Doubleclick Delay ****************/
+ /* ************** Grab Modifier **************** */
+ panel->grabF = WMCreateFrame(panel->box);
+ WMResizeWidget(panel->grabF, 225, 45);
+ WMMoveWidget(panel->grabF, 15, 95);
+ WMSetFrameTitle(panel->grabF, _("Mouse Grab Modifier"));
+
+ WMSetBalloonTextForView(_("Keyboard modifier to use for actions thatn"
+ "involve dragging windows with the mouse,n"
+ "clicking inside the window."),
WMWidgetView(panel->grabF));
+
+ panel->grabP = WMCreatePopUpButton(panel->grabF);
+ WMResizeWidget(panel->grabP, 160, 20);
+ WMMoveWidget(panel->grabP, 50, 18);
+
+ fillModifierPopUp(panel->grabP);
+ WMMapSubwidgets(panel->grabF);
+
+ /***************** Doubleclick Delay ****************/
panel->ddelaF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->ddelaF, 225, 105);
- WMMoveWidget(panel->ddelaF, 15, 115);
+ WMResizeWidget(panel->ddelaF, 225, 87);
+ WMMoveWidget(panel->ddelaF, 15, 140);
WMSetFrameTitle(panel->ddelaF, _("Double-Click Delay"));
buf1 = wmalloc(strlen(DELAY_ICON) + 2);
@@ -501,7 +560,7 @@ static void createPanel(Panel * p)
for (i = 0; i < 5; i++) {
panel->ddelaB[i] = WMCreateCustomButton(panel->ddelaF,
WBBStateChangeMask);
WMResizeWidget(panel->ddelaB[i], 25, 25);
- WMMoveWidget(panel->ddelaB[i], 20 + (40 * i), 25);
+ WMMoveWidget(panel->ddelaB[i], 20 + (40 * i), 20);
WMSetButtonBordered(panel->ddelaB[i], False);
WMSetButtonImagePosition(panel->ddelaB[i], WIPImageOnly);
WMSetButtonAction(panel->ddelaB[i], doubleClick, panel);
@@ -538,15 +597,15 @@ static void createPanel(Panel * p)
panel->tester = CreateDoubleTest(panel->ddelaF, _("Test"));
WMResizeWidget(panel->tester, 84, 29);
- WMMoveWidget(panel->tester, 25, 60);
+ WMMoveWidget(panel->tester, 25, 52);
panel->ddelaT = WMCreateTextField(panel->ddelaF);
WMResizeWidget(panel->ddelaT, 40, 20);
- WMMoveWidget(panel->ddelaT, 130, 65);
+ WMMoveWidget(panel->ddelaT, 130, 57);
panel->ddelaL = WMCreateLabel(panel->ddelaF);
WMResizeWidget(panel->ddelaL, 40, 16);
- WMMoveWidget(panel->ddelaL, 175, 70);
+ WMMoveWidget(panel->ddelaL, 175, 63);
{
WMFont *font;
WMColor *color;
@@ -563,86 +622,102 @@ static void createPanel(Panel * p)
WMMapSubwidgets(panel->ddelaF);
/* ************** Workspace Action Buttons **************** */
+
panel->menuF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->menuF, 260, 160);
+ WMResizeWidget(panel->menuF, 260, 222);
WMMoveWidget(panel->menuF, 250, 5);
WMSetFrameTitle(panel->menuF, _("Workspace Mouse Actions"));
panel->disaB = WMCreateSwitchButton(panel->menuF);
WMResizeWidget(panel->disaB, 205, 18);
- WMMoveWidget(panel->disaB, 10, 18);
+ WMMoveWidget(panel->disaB, 10, 15);
WMSetButtonText(panel->disaB, _("Disable mouse actions"));
panel->button1L = WMCreateLabel(panel->menuF);
WMResizeWidget(panel->button1L, 107, 20);
- WMMoveWidget(panel->button1L, 5, 45);
+ WMMoveWidget(panel->button1L, 5, 40);
WMSetLabelTextAlignment(panel->button1L, WARight);
WMSetLabelText(panel->button1L, _("Left Button"));
panel->button1P = WMCreatePopUpButton(panel->menuF);
WMResizeWidget(panel->button1P, 135, 20);
- WMMoveWidget(panel->button1P, 115, 45);
+ WMMoveWidget(panel->button1P, 115, 40);
panel->button2L = WMCreateLabel(panel->menuF);
WMResizeWidget(panel->button2L, 107, 20);
- WMMoveWidget(panel->button2L, 5, 73);
+ WMMoveWidget(panel->button2L, 5, 65);
WMSetLabelTextAlignment(panel->button2L, WARight);
WMSetLabelText(panel->button2L, _("Middle Button"));
panel->button2P = WMCreatePopUpButton(panel->menuF);
WMResizeWidget(panel->button2P, 135, 20);
- WMMoveWidget(panel->button2P, 115, 73);
+ WMMoveWidget(panel->button2P, 115, 65);
panel->button3L = WMCreateLabel(panel->menuF);
WMResizeWidget(panel->button3L, 107, 20);
- WMMoveWidget(panel->button3L, 5, 101);
+ WMMoveWidget(panel->button3L, 5, 90);
WMSetLabelTextAlignment(panel->button3L, WARight);
WMSetLabelText(panel->button3L, _("Right Button"));
panel->button3P = WMCreatePopUpButton(panel->menuF);
WMResizeWidget(panel->button3P, 135, 20);
- WMMoveWidget(panel->button3P, 115, 101);
+ WMMoveWidget(panel->button3P, 115, 90);
+
+ panel->button8L = WMCreateLabel(panel->menuF);
+ WMResizeWidget(panel->button8L, 107, 20);
+ WMMoveWidget(panel->button8L, 5, 115);
+ WMSetLabelTextAlignment(panel->button8L, WARight);
+ WMSetLabelText(panel->button8L, _("Back Button"));
+
+ panel->button8P = WMCreatePopUpButton(panel->menuF);
+ WMResizeWidget(panel->button8P, 135, 20);
+ WMMoveWidget(panel->button8P, 115, 115);
+
+ panel->button9L = WMCreateLabel(panel->menuF);
+ WMResizeWidget(panel->button9L, 107, 20);
+ WMMoveWidget(panel->button9L, 5, 140);
+ WMSetLabelTextAlignment(panel->button9L, WARight);
+ WMSetLabelText(panel->button9L, _("Forward Button"));
+
+ panel->button9P = WMCreatePopUpButton(panel->menuF);
+ WMResizeWidget(panel->button9P, 135, 20);
+ WMMoveWidget(panel->button9P, 115, 140);
panel->wheelL = WMCreateLabel(panel->menuF);
WMResizeWidget(panel->wheelL, 107, 20);
- WMMoveWidget(panel->wheelL, 5, 129);
+ WMMoveWidget(panel->wheelL, 5, 165);
WMSetLabelTextAlignment(panel->wheelL, WARight);
WMSetLabelText(panel->wheelL, _("Mouse Wheel"));
panel->wheelP = WMCreatePopUpButton(panel->menuF);
WMResizeWidget(panel->wheelP, 135, 20);
- WMMoveWidget(panel->wheelP, 115, 129);
+ WMMoveWidget(panel->wheelP, 115, 165);
+
+ panel->wheelTiltL = WMCreateLabel(panel->menuF);
+ WMResizeWidget(panel->wheelTiltL, 107, 20);
+ WMMoveWidget(panel->wheelTiltL, 5, 190);
+ WMSetLabelTextAlignment(panel->wheelTiltL, WARight);
+ WMSetLabelText(panel->wheelTiltL, _("Mouse Wheel Tilt"));
+
+ panel->wheelTiltP = WMCreatePopUpButton(panel->menuF);
+ WMResizeWidget(panel->wheelTiltP, 135, 20);
+ WMMoveWidget(panel->wheelTiltP, 115, 190);
for (i = 0; i < wlengthof(buttonActions); i++) {
WMAddPopUpButtonItem(panel->button1P, buttonActions[i]);
WMAddPopUpButtonItem(panel->button2P, buttonActions[i]);
WMAddPopUpButtonItem(panel->button3P, buttonActions[i]);
+ WMAddPopUpButtonItem(panel->button8P, buttonActions[i]);
+ WMAddPopUpButtonItem(panel->button9P, buttonActions[i]);
}
for (i = 0; i < wlengthof(wheelActions); i++) {
WMAddPopUpButtonItem(panel->wheelP, wheelActions[i]);
+ WMAddPopUpButtonItem(panel->wheelTiltP, wheelActions[i]);
}
WMMapSubwidgets(panel->menuF);
- /* ************** Grab Modifier **************** */
- panel->grabF = WMCreateFrame(panel->box);
- WMResizeWidget(panel->grabF, 260, 50);
- WMMoveWidget(panel->grabF, 250, 170);
- WMSetFrameTitle(panel->grabF, _("Mouse Grab Modifier"));
-
- WMSetBalloonTextForView(_("Keyboard modifier to use for actions thatn"
- "involve dragging windows with the mouse,n"
- "clicking inside the window."),
WMWidgetView(panel->grabF));
-
- panel->grabP = WMCreatePopUpButton(panel->grabF);
- WMResizeWidget(panel->grabP, 160, 20);
- WMMoveWidget(panel->grabP, 50, 20);
-
- fillModifierPopUp(panel->grabP);
-
- WMMapSubwidgets(panel->grabF);
-
WMRealizeWidget(panel->box);
WMMapSubwidgets(panel->box);
@@ -763,9 +838,18 @@ static void storeData(_Panel * panel)
i = WMGetPopUpButtonSelectedItem(panel->button3P);
SetStringForKey(button[i], "MouseRightButtonAction");
+ i = WMGetPopUpButtonSelectedItem(panel->button8P);
+ SetStringForKey(button[i], "MouseBackwardButtonAction");
+
+ i = WMGetPopUpButtonSelectedItem(panel->button9P);
+ SetStringForKey(button[i], "MouseForwardButtonAction");
+
i = WMGetPopUpButtonSelectedItem(panel->wheelP);
SetStringForKey(wheel[i], "MouseWheelAction");
+ i = WMGetPopUpButtonSelectedItem(panel->wheelTiltP);
+ SetStringForKey(wheel[i], "MouseWheelTiltAction");
+
tmp = WMGetPopUpButtonItem(panel->grabP,
WMGetPopUpButtonSelectedItem(panel->grabP));
tmp = wstrdup(tmp);
p = strchr(tmp, ' ');
http://repo.or.cz/w/wmaker-crm.git/commit/2406256d482ed72cee25fa35b5c65dc659ff9bca
commit 2406256d482ed72cee25fa35b5c65dc659ff9bca
Author: David Maciejak <[email protected]>
Date: Wed Aug 27 16:17:10 2014 +0700
wmaker: add support for more mouse buttons
This patch is adding support for back/forward mouse buttons
and the left/right wheel tilt buttons.
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 9689cba6..5d850dbe 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -2,6 +2,7 @@
* Window Maker window manager
*
* Copyright (c) 1997-2003 Alfredo K. Kojima
+ * Copyright (c) 2014 Window Maker Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -388,7 +389,10 @@ extern struct WPreferences {
signed char mouse_button1; /* action for left mouse button */
signed char mouse_button2; /* action for middle mouse button */
signed char mouse_button3; /* action for right mouse button */
- signed char mouse_wheel; /* action for mouse wheel */
+ signed char mouse_button8; /* action for 4th button aka backward
mouse button */
+ signed char mouse_button9; /* action for 5th button aka forward
mouse button */
+ signed char mouse_wheel_scroll; /* action for mouse wheel scroll */
+ signed char mouse_wheel_tilt; /* action for mouse wheel tilt */
/* balloon text */
char window_balloon;
diff --git a/src/defaults.c b/src/defaults.c
index 332c0eb3..2b938a31 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -359,8 +359,14 @@ WDefaultEntry optionList[] = {
&wPreferences.mouse_button2, getEnum, NULL, NULL, NULL},
{"MouseRightButtonAction", "OpenApplicationsMenu", seMouseButtonActions,
&wPreferences.mouse_button3, getEnum, NULL, NULL, NULL},
+ {"MouseBackwardButtonAction", "None", seMouseButtonActions,
+ &wPreferences.mouse_button8, getEnum, NULL, NULL, NULL},
+ {"MouseForwardButtonAction", "None", seMouseButtonActions,
+ &wPreferences.mouse_button9, getEnum, NULL, NULL, NULL},
{"MouseWheelAction", "None", seMouseWheelActions,
- &wPreferences.mouse_wheel, getEnum, NULL, NULL, NULL},
+ &wPreferences.mouse_wheel_scroll, getEnum, NULL, NULL, NULL},
+ {"MouseWheelTiltAction", "None", seMouseWheelActions,
+ &wPreferences.mouse_wheel_tilt, getEnum, NULL, NULL, NULL},
{"PixmapPath", DEF_PIXMAP_PATHS, NULL,
&wPreferences.pixmap_path, getPathList, NULL, NULL, NULL},
{"IconPath", DEF_ICON_PATHS, NULL,
diff --git a/src/event.c b/src/event.c
index 9757dadc..9e41dc90 100644
--- a/src/event.c
+++ b/src/event.c
@@ -3,6 +3,7 @@
* Window Maker window manager
*
* Copyright (c) 1997-2003 Alfredo K. Kojima
+ * Copyright (c) 2014 Window Maker Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -751,10 +752,18 @@ static void handleButtonPress(XEvent * event)
executeButtonAction(scr, event,
wPreferences.mouse_button2);
} else if (event->xbutton.button == Button3 &&
wPreferences.mouse_button3 != WA_NONE) {
executeButtonAction(scr, event,
wPreferences.mouse_button3);
- } else if (event->xbutton.button == Button4 &&
wPreferences.mouse_wheel != WA_NONE) {
+ } else if (event->xbutton.button == Button8 &&
wPreferences.mouse_button8 != WA_NONE) {
+ executeButtonAction(scr, event,
wPreferences.mouse_button8);
+ }else if (event->xbutton.button == Button9 &&
wPreferences.mouse_button9 != WA_NONE) {
+ executeButtonAction(scr, event,
wPreferences.mouse_button9);
+ } else if (event->xbutton.button == Button4 &&
wPreferences.mouse_wheel_scroll != WA_NONE) {
wWorkspaceRelativeChange(scr, 1);
- } else if (event->xbutton.button == Button5 &&
wPreferences.mouse_wheel != WA_NONE) {
+ } else if (event->xbutton.button == Button5 &&
wPreferences.mouse_wheel_scroll != WA_NONE) {
wWorkspaceRelativeChange(scr, -1);
+ } else if (event->xbutton.button == Button6 &&
wPreferences.mouse_wheel_tilt != WA_NONE) {
+ wWorkspaceRelativeChange(scr, -1);
+ } else if (event->xbutton.button == Button7 &&
wPreferences.mouse_wheel_tilt != WA_NONE) {
+ wWorkspaceRelativeChange(scr, 1);
}
}
diff --git a/src/keybind.h b/src/keybind.h
index 37ace186..11f02111 100644
--- a/src/keybind.h
+++ b/src/keybind.h
@@ -2,6 +2,7 @@
* Window Maker window manager
*
* Copyright (c) 1997-2003 Alfredo K. Kojima
+ * Copyright (c) 2014 Window Maker Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,6 +22,23 @@
#ifndef WMKEYBIND_H
#define WMKEYBIND_H
+/* <X11/X.h> doesn't define these, even though XFree supports them */
+#ifndef Button6
+#define Button6 6
+#endif
+
+#ifndef Button7
+#define Button7 7
+#endif
+
+#ifndef Button8
+#define Button8 8
+#endif
+
+#ifndef Button9
+#define Button9 9
+#endif
+
enum {
/* anywhere */
WKBD_ROOTMENU,
-----------------------------------------------------------------------
Summary of changes:
WPrefs.app/MouseSettings.c | 164 +++++++++++++++++++++++++++++++++-----------
src/WindowMaker.h | 6 ++-
src/defaults.c | 8 ++-
src/event.c | 13 +++-
src/keybind.h | 18 +++++
5 files changed, 165 insertions(+), 44 deletions(-)
repo.or.cz automatic notification. Contact project admin [email protected]
if you want to unsubscribe, or site admin [email protected] if you receive
no reply.
--
wmaker-crm.git ("The Window Maker window manager")
--
To unsubscribe, send mail to [email protected].