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
discards 8ae05f55b3a8156270a055f1ac32bef006622e13 (commit)
discards b486387d0e68ea8cec63eb4e2b81a11cb1cdb0bf (commit)
discards a7fbc167175d76db7ebc97ca3028228370b52fa4 (commit)
discards 072b3569111d3f77ca4b1fafbac29d74cddcef21 (commit)
discards a96c5c7f08f4df47a4a74fdd3599da316beb2699 (commit)
discards 99465f87fb2e1454aa239b711a14bcb4f7c9c5c1 (commit)
discards 6c5fc1f6505531f71b7d2c1c4105700b2799279a (commit)
via 7c5277527d95d0bfad43798a6880a6344909af91 (commit)
via 0ddc6371c83aa336ae92a1943329a01c32b43b5e (commit)
via 8a9318863a35732e6a901d2ff0c3dd4332760fe6 (commit)
via 996dd1e35b0bf9055ba4b81c2cddc980cefafbc0 (commit)
via 6386a3bea135d9277a10b2b1302354dc49154bb3 (commit)
via 7689fb86289751dfe343723630ee58830b7c3fa0 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (8ae05f55b3a8156270a055f1ac32bef006622e13)
N -- N -- N (7c5277527d95d0bfad43798a6880a6344909af91)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
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/7c5277527d95d0bfad43798a6880a6344909af91
commit 7c5277527d95d0bfad43798a6880a6344909af91
Author: David Maciejak <[email protected]>
Date: Sat Sep 13 15:55:03 2014 +0800
wmaker: improve windows listing in switchpanel
This patch is updating makeWindowListArray function,
as it crosses the whole window focused list each time
we don't have to bother on checking previous and then next
focused windows, so saving some cycles here.
diff --git a/src/switchpanel.c b/src/switchpanel.c
index 6ced6eb2..da0bac07 100644
--- a/src/switchpanel.c
+++ b/src/switchpanel.c
@@ -358,41 +358,22 @@ static void drawTitle(WSwitchPanel *panel, int idecks,
const char *title)
free(ntitle);
}
-static WMArray *makeWindowListArray(WWindow *curwin, int include_unmapped,
Bool class_only)
+static WMArray *makeWindowListArray(WScreen *scr, int include_unmapped, Bool
class_only)
{
WMArray *windows = WMCreateArray(10);
- int fl;
- WWindow *wwin;
-
- for (fl = 0; fl < 2; fl++) {
- for (wwin = curwin; wwin; wwin = wwin->prev) {
- if (((!fl && canReceiveFocus(wwin) > 0) || (fl &&
canReceiveFocus(wwin) < 0)) &&
- (wwin->flags.mapped || wwin->flags.shaded ||
include_unmapped)) {
- if (class_only)
- if (!sameWindowClass(wwin, curwin))
- continue;
+ WWindow *wwin = scr->focused_window;
- if (!WFLAGP(wwin, skip_switchpanel))
- WMAddToArray(windows, wwin);
- }
- }
- wwin = curwin;
- /* start over from the beginning of the list */
- while (wwin->next)
- wwin = wwin->next;
-
- for (wwin = curwin; wwin && wwin != curwin; wwin = wwin->prev) {
- if (((!fl && canReceiveFocus(wwin) > 0) || (fl &&
canReceiveFocus(wwin) < 0)) &&
- (wwin->flags.mapped || wwin->flags.shaded ||
include_unmapped)) {
- if (class_only)
- if (!sameWindowClass(wwin, curwin))
+ while (wwin) {
+ if ((canReceiveFocus(wwin) != 0) &&
+ (wwin->flags.mapped || wwin->flags.shaded ||
include_unmapped)) {
+ if (class_only)
+ if (!sameWindowClass(scr->focused_window, wwin))
continue;
- if (!WFLAGP(wwin, skip_switchpanel))
+ if (!WFLAGP(wwin, skip_switchpanel))
WMAddToArray(windows, wwin);
- }
}
+ wwin = wwin->prev;
}
-
return windows;
}
@@ -416,7 +397,7 @@ WSwitchPanel *wInitSwitchPanel(WScreen *scr, WWindow
*curwin, Bool class_only)
WMRect rect = wGetRectForHead(scr, wGetHeadForPointerLocation(scr));
panel->scr = scr;
- panel->windows = makeWindowListArray(curwin, wPreferences.swtileImage
!= NULL, class_only);
+ panel->windows = makeWindowListArray(scr, wPreferences.swtileImage !=
NULL, class_only);
count = WMGetArrayItemCount(panel->windows);
if (count)
panel->flags = makeWindowFlagsArray(count);
@@ -623,7 +604,7 @@ WWindow *wSwitchPanelSelectNext(WSwitchPanel *panel, int
back, int ignore_minimi
else
panel->current++;
- panel->current= (count + panel->current) % count;
+ panel->current = (count + panel->current) % count;
wwin = WMGetFromArray(panel->windows, panel->current);
if (!class_only)
http://repo.or.cz/w/wmaker-crm.git/commit/0ddc6371c83aa336ae92a1943329a01c32b43b5e
commit 0ddc6371c83aa336ae92a1943329a01c32b43b5e
Author: Doug Torrance <[email protected]>
Date: Fri Sep 12 10:01:36 2014 -0500
wmaker: Remove dead links from BUGFORM.
diff --git a/BUGFORM b/BUGFORM
index 515c920f..f44dc235 100644
--- a/BUGFORM
+++ b/BUGFORM
@@ -6,11 +6,6 @@
If you find a bug please fill this form and send it to
[email protected] Please, USE THIS FORM!!!
- You can also report a bug in the WWW bug tracker at
-http://bugs.windowmaker.org/projects/wmaker/issues or by sending this report to
[email protected]
-
-
0. Before reporting this bug I already:
[ ] read the NEWS, README and INSTALL files
[ ] read the list of already known bugs in the BUGS file
http://repo.or.cz/w/wmaker-crm.git/commit/8a9318863a35732e6a901d2ff0c3dd4332760fe6
commit 8a9318863a35732e6a901d2ff0c3dd4332760fe6
Author: David Maciejak <[email protected]>
Date: Thu Sep 11 07:38:10 2014 +0700
WPrefs: add new mouse actions configuration
This patch is adding GUI configuration for new mouse actions:
-Previous Workspace
-Next Workspace
-Previous Window
-Next Window
-Switch Windows
diff --git a/WPrefs.app/MouseSettings.c b/WPrefs.app/MouseSettings.c
index 749feeee..0ef5f35c 100644
--- a/WPrefs.app/MouseSettings.c
+++ b/WPrefs.app/MouseSettings.c
@@ -93,9 +93,9 @@ typedef struct _Panel {
static char *modifierNames[8];
-static char *buttonActions[4];
+static char *buttonActions[8];
-static char *wheelActions[2];
+static char *wheelActions[3];
#define DELAY(i) ((i)*75+170)
@@ -192,6 +192,14 @@ static int getButtonAction(const char *str)
return 2;
else if (strcasecmp(str, "SelectWindows") == 0)
return 3;
+ else if (strcasecmp(str, "MoveToPrevWorkspace") == 0)
+ return 4;
+ else if (strcasecmp(str, "MoveToNextWorkspace") == 0)
+ return 5;
+ else if (strcasecmp(str, "MoveToPrevWindow") == 0)
+ return 6;
+ else if (strcasecmp(str, "MoveToNextWindow") == 0)
+ return 7;
else
return -1;
@@ -206,6 +214,8 @@ static int getWheelAction(const char *str)
return 0;
else if (strcasecmp(str, "SwitchWorkspaces") == 0)
return 1;
+ else if (strcasecmp(str, "SwitchWindows") == 0)
+ return 2;
else
return -1;
@@ -805,8 +815,9 @@ static void storeData(_Panel * panel)
char buffer[64];
int i;
char *tmp, *p;
- static char *button[4] = { "None", "OpenApplicationsMenu",
"OpenWindowListMenu", "SelectWindows" };
- static char *wheel[2] = { "None", "SwitchWorkspaces" };
+ static char *button[8] = { "None", "OpenApplicationsMenu",
"OpenWindowListMenu", "SelectWindows",
+ "MoveToPrevWorkspace",
"MoveToNextWorkspace", "MoveToPrevWindow", "MoveToNextWindow" };
+ static char *wheel[3] = { "None", "SwitchWorkspaces", "SwitchWindows" };
WMUserDefaults *udb = WMGetStandardUserDefaults();
if (!WMGetUDBoolForKey(udb, "NoXSetStuff")) {
@@ -878,9 +889,14 @@ Panel *InitMouseSettings(WMWidget *parent)
buttonActions[1] = wstrdup(_("Applications Menu"));
buttonActions[2] = wstrdup(_("Window List Menu"));
buttonActions[3] = wstrdup(_("Select Windows"));
+ buttonActions[4] = wstrdup(_("Previous Workspace"));
+ buttonActions[5] = wstrdup(_("Next Workspace"));
+ buttonActions[6] = wstrdup(_("Previous Window"));
+ buttonActions[7] = wstrdup(_("Next Window"));
wheelActions[0] = wstrdup(_("None"));
wheelActions[1] = wstrdup(_("Switch Workspaces"));
+ wheelActions[2] = wstrdup(_("Switch Windows"));
panel = wmalloc(sizeof(_Panel));
http://repo.or.cz/w/wmaker-crm.git/commit/996dd1e35b0bf9055ba4b81c2cddc980cefafbc0
commit 996dd1e35b0bf9055ba4b81c2cddc980cefafbc0
Author: David Maciejak <[email protected]>
Date: Thu Sep 11 07:19:12 2014 +0700
wmaker: add new button and wheel mouse actions
This patch is adding atomic mouse actions to mouse buttons to:
-focus on previous or next window
-move to previous or next workspace
and adding wheel action to
-switch between windows
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 5d850dbe..53d2eafb 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -206,6 +206,11 @@ typedef enum {
#define WA_OPEN_APPMENU 2
#define WA_OPEN_WINLISTMENU 3
#define WA_SWITCH_WORKSPACES 4
+#define WA_MOVE_PREVWORKSPACE 5
+#define WA_MOVE_NEXTWORKSPACE 6
+#define WA_SWITCH_WINDOWS 7
+#define WA_MOVE_PREVWINDOW 8
+#define WA_MOVE_NEXTWINDOW 9
/* workspace display position */
#define WD_NONE 0
diff --git a/src/defaults.c b/src/defaults.c
index df7e9191..72c8b6f3 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -240,12 +240,17 @@ static WOptionEnumeration seMouseButtonActions[] = {
{"SelectWindows", WA_SELECT_WINDOWS, 0},
{"OpenApplicationsMenu", WA_OPEN_APPMENU, 0},
{"OpenWindowListMenu", WA_OPEN_WINLISTMENU, 0},
+ {"MoveToPrevWorkspace", WA_MOVE_PREVWORKSPACE, 0},
+ {"MoveToNextWorkspace", WA_MOVE_NEXTWORKSPACE, 0},
+ {"MoveToPrevWindow", WA_MOVE_PREVWINDOW, 0},
+ {"MoveToNextWindow", WA_MOVE_NEXTWINDOW, 0},
{NULL, 0, 0}
};
static WOptionEnumeration seMouseWheelActions[] = {
{"None", WA_NONE, 0},
{"SwitchWorkspaces", WA_SWITCH_WORKSPACES, 0},
+ {"SwitchWindows", WA_SWITCH_WINDOWS, 0},
{NULL, 0, 0}
};
diff --git a/src/event.c b/src/event.c
index 0ec1b770..55df69ba 100644
--- a/src/event.c
+++ b/src/event.c
@@ -702,8 +702,35 @@ static void handleExpose(XEvent * event)
}
}
-static void executeButtonAction(WScreen * scr, XEvent * event, int action)
+static void executeWheelAction(WScreen *scr, XEvent *event, int action)
{
+ WWindow *wwin;
+ Bool next_direction = True;
+
+ if (event->xbutton.button == Button5 || event->xbutton.button ==
Button6)
+ next_direction = False;
+
+ switch (action) {
+ case WA_SWITCH_WORKSPACES:
+ if (next_direction)
+ wWorkspaceRelativeChange(scr, 1);
+ else
+ wWorkspaceRelativeChange(scr, -1);
+ break;
+ case WA_SWITCH_WINDOWS:
+ wwin = scr->focused_window;
+ if (next_direction)
+ wWindowFocusNext(wwin, True);
+ else
+ wWindowFocusPrev(wwin, True);
+ break;
+ }
+}
+
+static void executeButtonAction(WScreen *scr, XEvent *event, int action)
+{
+ WWindow *wwin;
+
switch (action) {
case WA_SELECT_WINDOWS:
wUnselectWindows(scr);
@@ -728,7 +755,19 @@ static void executeButtonAction(WScreen * scr, XEvent *
event, int action)
event->xbutton.window =
scr->switch_menu->frame->core->window;
}
break;
- default:
+ case WA_MOVE_PREVWORKSPACE:
+ wWorkspaceRelativeChange(scr, -1);
+ break;
+ case WA_MOVE_NEXTWORKSPACE:
+ wWorkspaceRelativeChange(scr, 1);
+ break;
+ case WA_MOVE_PREVWINDOW:
+ wwin = scr->focused_window;
+ wWindowFocusPrev(wwin, True);
+ break;
+ case WA_MOVE_NEXTWINDOW:
+ wwin = scr->focused_window;
+ wWindowFocusNext(wwin, True);
break;
}
}
@@ -757,13 +796,13 @@ static void handleButtonPress(XEvent * event)
}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);
+ executeWheelAction(scr, event,
wPreferences.mouse_wheel_scroll);
} else if (event->xbutton.button == Button5 &&
wPreferences.mouse_wheel_scroll != WA_NONE) {
- wWorkspaceRelativeChange(scr, -1);
+ executeWheelAction(scr, event,
wPreferences.mouse_wheel_scroll);
} else if (event->xbutton.button == Button6 &&
wPreferences.mouse_wheel_tilt != WA_NONE) {
- wWorkspaceRelativeChange(scr, -1);
+ executeWheelAction(scr, event,
wPreferences.mouse_wheel_tilt);
} else if (event->xbutton.button == Button7 &&
wPreferences.mouse_wheel_tilt != WA_NONE) {
- wWorkspaceRelativeChange(scr, 1);
+ executeWheelAction(scr, event,
wPreferences.mouse_wheel_tilt);
}
}
http://repo.or.cz/w/wmaker-crm.git/commit/6386a3bea135d9277a10b2b1302354dc49154bb3
commit 6386a3bea135d9277a10b2b1302354dc49154bb3
Author: David Maciejak <[email protected]>
Date: Thu Sep 11 07:15:53 2014 +0700
wmaker: use defined wWindowSingleFocus() function
This patch is cleaning focuswindow() local function to call
wWindowSingleFocus() global function.
diff --git a/src/switchmenu.c b/src/switchmenu.c
index db7a40e2..ae37dd2a 100644
--- a/src/switchmenu.c
+++ b/src/switchmenu.c
@@ -62,26 +62,12 @@ static void wsobserver(void *self, WMNotification * notif);
static void focusWindow(WMenu * menu, WMenuEntry * entry)
{
WWindow *wwin;
- WScreen *scr;
- int x, y, move = 0;
/* Parameter not used, but tell the compiler that it is ok */
(void) menu;
wwin = (WWindow *) entry->clientdata;
- scr = wwin->screen_ptr;
-
- wMakeWindowVisible(wwin);
-
- x = wwin->frame_x;
- y = wwin->frame_y;
-
- /* bring window back to visible area */
- move = wScreenBringInside(scr, &x, &y, wwin->frame->core->width,
wwin->frame->core->height);
-
- if (move) {
- wWindowConfigure(wwin, x, y, wwin->client.width,
wwin->client.height);
- }
+ wWindowSingleFocus(wwin);
}
void InitializeSwitchMenu(void)
http://repo.or.cz/w/wmaker-crm.git/commit/7689fb86289751dfe343723630ee58830b7c3fa0
commit 7689fb86289751dfe343723630ee58830b7c3fa0
Author: David Maciejak <[email protected]>
Date: Thu Sep 11 07:12:53 2014 +0700
wmaker: add next and previous window focus functions
This patch is adding a wWindowFocusPrev() and wWindowFocusNext() functions.
And copying switchmenu.c focusWindow() as wWindowSingleFocus().
diff --git a/src/window.c b/src/window.c
index a33747b8..82d41efe 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1629,6 +1629,61 @@ void wWindowUnmap(WWindow *wwin)
XUnmapWindow(dpy, wwin->frame->core->window);
}
+void wWindowSingleFocus(WWindow *wwin)
+{
+ WScreen *scr;
+ int x, y, move = 0;
+
+ if (!wwin)
+ return;
+
+ scr = wwin->screen_ptr;
+ wMakeWindowVisible(wwin);
+
+ x = wwin->frame_x;
+ y = wwin->frame_y;
+
+ /* bring window back to visible area */
+ move = wScreenBringInside(scr, &x, &y, wwin->frame->core->width,
wwin->frame->core->height);
+
+ if (move) {
+ wWindowConfigure(wwin, x, y, wwin->client.width,
wwin->client.height);
+ }
+}
+
+void wWindowFocusPrev(WWindow *wwin, Bool inSameWorkspace)
+{
+ WWindow *tmp;
+
+ if (!wwin || !wwin->prev)
+ return;
+
+ tmp = wwin;
+ while (tmp->prev)
+ tmp = tmp->prev;
+
+ if (inSameWorkspace)
+ while (tmp && (tmp->frame->workspace != wwin->frame->workspace))
+ tmp = tmp->next;
+
+ wWindowSingleFocus(tmp);
+}
+
+void wWindowFocusNext(WWindow *wwin, Bool inSameWorkspace)
+{
+ WWindow *tmp;
+
+ if (!wwin || !wwin->prev)
+ return;
+
+ tmp = wwin->prev;
+ if (inSameWorkspace)
+ while (tmp && (tmp->frame->workspace != wwin->frame->workspace))
+ tmp = tmp->prev;
+
+ wWindowSingleFocus(tmp);
+}
+
void wWindowFocus(WWindow *wwin, WWindow *owin)
{
WWindow *nowner;
diff --git a/src/window.h b/src/window.h
index ad6d5327..1a4de2cb 100644
--- a/src/window.h
+++ b/src/window.h
@@ -339,6 +339,9 @@ WWindow *wManageWindow(WScreen *scr, Window window);
void wUnmanageWindow(WWindow *wwin, Bool restore, Bool destroyed);
+void wWindowSingleFocus(WWindow *wwin);
+void wWindowFocusPrev(WWindow *wwin, Bool inSameWorkspace);
+void wWindowFocusNext(WWindow *wwin, Bool inSameWorkspace);
void wWindowFocus(WWindow *wwin, WWindow *owin);
void wWindowUnfocus(WWindow *wwin);
-----------------------------------------------------------------------
Summary of changes:
src/actions.c | 28 ++++++++--------------------
1 files changed, 8 insertions(+), 20 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].