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 4222204abc2118cafcc9c3e048f03235422c0e9f (commit)
via 25d083a85fe6182b598dc75bd0b74b66613b4853 (commit)
via bb48c355223d33fd2237b5e6c5c15b9aab3ce876 (commit)
via 42a4d95e5b17bc6f77289b911572a8148b0bc31a (commit)
via 309d5c0d1a8a136fd163fcc50a08933e22e9b2a4 (commit)
via 53d31c7bbd7e97129b0d96d48c85e161c2d1b087 (commit)
from 066de301df2f07c614b77e7a2bbadd9ff1342e46 (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/4222204abc2118cafcc9c3e048f03235422c0e9f
commit 4222204abc2118cafcc9c3e048f03235422c0e9f
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:19 2013 +0100
Workspace clip creation in two steps
This patch assigns always the clip to NULL and only if the clip is
needed is created.
This patch mainly is more clear/clean.
diff --git a/src/workspace.c b/src/workspace.c
index 3734b49..491452b 100644
--- a/src/workspace.c
+++ b/src/workspace.c
@@ -88,16 +88,15 @@ int wWorkspaceNew(WScreen *scr)
wspace = wmalloc(sizeof(WWorkspace));
wspace->name = NULL;
+ wspace->clip = NULL;
if (!wspace->name) {
wspace->name = wmalloc(strlen(_("Workspace %i")) + 8);
sprintf(wspace->name, _("Workspace %i"),
scr->workspace_count);
}
- if (!wPreferences.flags.noclip) {
+ if (!wPreferences.flags.noclip)
wspace->clip = wDockCreate(scr, WM_CLIP);
- } else
- wspace->clip = NULL;
list = wmalloc(sizeof(WWorkspace *) * scr->workspace_count);
http://repo.or.cz/w/wmaker-crm.git/commit/25d083a85fe6182b598dc75bd0b74b66613b4853
commit 25d083a85fe6182b598dc75bd0b74b66613b4853
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:18 2013 +0100
Removed extra XClearWindow call
The function XClearWindow() is called twice, we can remove one.
See the asterisks (**):
Before the call to wIconPaint():
-----------------8<--------------------------
+++ b/src/icon.c
@@ -621,7 +621,6 @@ void update_icon_pixmap(WIcon *icon)
XSetWindowBackgroundPixmap(dpy, icon->core->window,
icon->pixmap);
/* Paint it */
** XClearWindow(dpy, icon->core->window);
wIconPaint(icon);
}
-----------------8<--------------------------
First call in wIconPaint() function:
-----------------8<--------------------------
void wIconPaint(WIcon *icon)
{
WScreen *scr = icon->core->screen_ptr;
int x, l, w;
char *tmp;
** XClearWindow(dpy, icon->core->window);
-----------------8<--------------------------
diff --git a/src/icon.c b/src/icon.c
index 62f618a..2c9b27d 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -621,7 +621,6 @@ void update_icon_pixmap(WIcon *icon)
XSetWindowBackgroundPixmap(dpy, icon->core->window,
icon->pixmap);
/* Paint it */
- XClearWindow(dpy, icon->core->window);
wIconPaint(icon);
}
http://repo.or.cz/w/wmaker-crm.git/commit/bb48c355223d33fd2237b5e6c5c15b9aab3ce876
commit bb48c355223d33fd2237b5e6c5c15b9aab3ce876
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:17 2013 +0100
Window attributes moved to wCoreCreateTopLevel
The function wCoreCreateTopLevel() is used in two files (icon.c and
framewin.c), but after create the window, some attributes are changed.
This patch moves the change inside the wCoreCreateTopLevel(), avoiding to
call XChangeWindowAttributes() after the window creation. Now the window
is created in only one step, with all the final attributes.
Some details:
- The function wCoreCreateTopLevel() has now one argument more, the
border pixel color. This attribute was used always as the screen
frame_border_pixel, but in icon.c the attribute is changed to
white_pixel. Now the function wCoreCreateTopLevel() receives the
value frame_border_pixel in framewin.c and scr->white_pixel in
icon.c, as argument.
- The vmask and attribs variables and the call to XChangeWindowAttributes()
are removed in framewin.c and icon.c. The values CWSaveUnder for vmask and
attribs.save_under = True are used if wPreferences.use_saveunders is True.
- CWBorderPixel is not needed in icon.c, because was previously set in
wcore.c!
diff --git a/src/framewin.c b/src/framewin.c
index b7a6e97..67cda92 100644
--- a/src/framewin.c
+++ b/src/framewin.c
@@ -113,15 +113,7 @@ WFrameWindow *wFrameWindowCreate(WScreen * scr, int
wlevel, int x, int y,
allocFrameBorderPixel(fwin->colormap, FRAME_SELECTED_BORDER_COLOR,
&fwin->selected_border_pixel);
fwin->core = wCoreCreateTopLevel(scr, x, y, width, height, (flags &
WFF_BORDER)
- ? FRAME_BORDER_WIDTH : 0, fwin->depth,
fwin->visual, fwin->colormap);
- if (wPreferences.use_saveunders) {
- unsigned long vmask;
- XSetWindowAttributes attribs;
-
- vmask = CWSaveUnder;
- attribs.save_under = True;
- XChangeWindowAttributes(dpy, fwin->core->window, vmask,
&attribs);
- }
+ ? FRAME_BORDER_WIDTH : 0, fwin->depth,
fwin->visual, fwin->colormap, scr->frame_border_pixel);
/* setup stacking information */
fwin->core->stacking = wmalloc(sizeof(WStacking));
diff --git a/src/icon.c b/src/icon.c
index e88ec30..62f618a 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -168,8 +168,6 @@ WIcon *icon_create_for_dock(WScreen *scr, char *command,
char *wm_instance, char
static WIcon *icon_create_core(WScreen *scr, int coord_x, int coord_y)
{
WIcon *icon;
- unsigned long vmask = 0;
- XSetWindowAttributes attribs;
icon = wmalloc(sizeof(WIcon));
icon->core = wCoreCreateTopLevel(scr,
@@ -177,18 +175,8 @@ static WIcon *icon_create_core(WScreen *scr, int coord_x,
int coord_y)
coord_y,
wPreferences.icon_size,
wPreferences.icon_size,
- 0, scr->w_depth, scr->w_visual,
scr->w_colormap);
-
- if (wPreferences.use_saveunders) {
- vmask = CWSaveUnder;
- attribs.save_under = True;
- }
-
- /* a white border for selecting it */
- vmask |= CWBorderPixel;
- attribs.border_pixel = scr->white_pixel;
-
- XChangeWindowAttributes(dpy, icon->core->window, vmask, &attribs);
+ 0, scr->w_depth, scr->w_visual,
scr->w_colormap,
+ scr->white_pixel);
/* will be overriden if this is a application icon */
icon->core->descriptor.handle_mousedown = miniwindowMouseDown;
diff --git a/src/wcore.c b/src/wcore.c
index 1abe842..a2aff96 100644
--- a/src/wcore.c
+++ b/src/wcore.c
@@ -43,7 +43,7 @@ extern XContext wWinContext;
* Returns:
* The created window.
*--------------------------------------------------------------------- */
-WCoreWindow *wCoreCreateTopLevel(WScreen *screen, int x, int y, int width, int
height, int bwidth, int depth, Visual *visual, Colormap colormap)
+WCoreWindow *wCoreCreateTopLevel(WScreen *screen, int x, int y, int width, int
height, int bwidth, int depth, Visual *visual, Colormap colormap, WMPixel
border_pixel)
{
WCoreWindow *core;
int vmask;
@@ -56,13 +56,18 @@ WCoreWindow *wCoreCreateTopLevel(WScreen *screen, int x,
int y, int width, int h
attribs.cursor = wCursor[WCUR_DEFAULT];
attribs.background_pixmap = None;
attribs.background_pixel = screen->black_pixel;
- attribs.border_pixel = screen->frame_border_pixel;
+ attribs.border_pixel = border_pixel;
attribs.event_mask = SubstructureRedirectMask | ButtonPressMask |
ButtonReleaseMask | ButtonMotionMask |
ExposureMask | EnterWindowMask | LeaveWindowMask;
attribs.colormap = colormap;
+ if (wPreferences.use_saveunders) {
+ vmask |= CWSaveUnder;
+ attribs.save_under = True;
+ }
+
core->window = XCreateWindow(dpy, screen->root_win, x, y, width, height,
bwidth, depth, CopyFromParent, visual,
vmask, &attribs);
core->width = width;
diff --git a/src/wcore.h b/src/wcore.h
index 4e626cc..6065c5f 100644
--- a/src/wcore.h
+++ b/src/wcore.h
@@ -43,7 +43,8 @@ typedef struct _WCoreWindow {
WCoreWindow *wCoreCreateTopLevel(WScreen *screen, int x, int y, int width,
int height, int bwidth,
- int depth, Visual *visual, Colormap colormap);
+ int depth, Visual *visual, Colormap colormap,
+ WMPixel border_pixel);
WCoreWindow *wCoreCreate(WCoreWindow *parent, int x, int y,
int width, int height);
http://repo.or.cz/w/wmaker-crm.git/commit/42a4d95e5b17bc6f77289b911572a8148b0bc31a
commit 42a4d95e5b17bc6f77289b911572a8148b0bc31a
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:16 2013 +0100
Removed unused dock types
The dock types NORMAL_DOCK and EXTENDED_DOCK are never used
so can be removed.
kix@debian:~/src/wmaker/git/wmaker-crm-base$ rgrep NORMAL_DOCK *
src/dock.h:#define NORMAL_DOCK WM_DOCK
kix@debian:~/src/wmaker/git/wmaker-crm-base$ rgrep EXTENDED_DOCK *
src/dock.h:#define EXTENDED_DOCK WM_CLIP
kix@debian:~/src/wmaker/git/wmaker-crm-base$
diff --git a/src/dock.h b/src/dock.h
index 08ae8de..47d963d 100644
--- a/src/dock.h
+++ b/src/dock.h
@@ -39,8 +39,6 @@ typedef struct WDock {
#define WM_DOCK 0
#define WM_CLIP 1
-#define NORMAL_DOCK WM_DOCK
-#define EXTENDED_DOCK WM_CLIP
int type;
WMagicNumber auto_expand_magic;
http://repo.or.cz/w/wmaker-crm.git/commit/309d5c0d1a8a136fd163fcc50a08933e22e9b2a4
commit 309d5c0d1a8a136fd163fcc50a08933e22e9b2a4
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:15 2013 +0100
Cosmetic code changes in workspace
Added some blank lines, removed commented code and removed some
spaces on function prototypes/definitions.
diff --git a/src/workspace.c b/src/workspace.c
index 7b62798..3734b49 100644
--- a/src/workspace.c
+++ b/src/workspace.c
@@ -78,7 +78,7 @@ void wWorkspaceMake(WScreen * scr, int count)
}
}
-int wWorkspaceNew(WScreen * scr)
+int wWorkspaceNew(WScreen *scr)
{
WWorkspace *wspace, **list;
int i;
@@ -101,12 +101,13 @@ int wWorkspaceNew(WScreen * scr)
list = wmalloc(sizeof(WWorkspace *) * scr->workspace_count);
- for (i = 0; i < scr->workspace_count - 1; i++) {
+ for (i = 0; i < scr->workspace_count - 1; i++)
list[i] = scr->workspaces[i];
- }
+
list[i] = wspace;
if (scr->workspaces)
wfree(scr->workspaces);
+
scr->workspaces = list;
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
@@ -625,24 +626,15 @@ static void deleteWSCommand(WMenu * menu, WMenuEntry *
entry)
wWorkspaceDelete(menu->frame->screen_ptr,
menu->frame->screen_ptr->workspace_count - 1);
}
-static void newWSCommand(WMenu * menu, WMenuEntry * foo)
+static void newWSCommand(WMenu *menu, WMenuEntry *foo)
{
int ws;
ws = wWorkspaceNew(menu->frame->screen_ptr);
+
/* autochange workspace */
if (ws >= 0)
wWorkspaceChange(menu->frame->screen_ptr, ws);
-
- /*
- if (ws<9) {
- int kcode;
- if (wKeyBindings[WKBD_WORKSPACE1+ws]) {
- kcode = wKeyBindings[WKBD_WORKSPACE1+ws]->keycode;
- entry->rtext =
- wstrdup(XKeysymToString(XKeycodeToKeysym(dpy, kcode, 0)));
- }
- } */
}
void wWorkspaceRename(WScreen * scr, int workspace, char *name)
@@ -801,7 +793,7 @@ void wWorkspaceSaveState(WScreen * scr, WMPropList *
old_state)
WMReleasePropList(parr);
}
-void wWorkspaceRestoreState(WScreen * scr)
+void wWorkspaceRestoreState(WScreen *scr)
{
WMPropList *parr, *pstr, *wks_state, *clip_state;
int i, j;
@@ -822,20 +814,25 @@ void wWorkspaceRestoreState(WScreen * scr)
pstr = WMGetFromPLDictionary(wks_state, dName);
else
pstr = wks_state;
+
if (i >= scr->workspace_count)
wWorkspaceNew(scr);
+
if (scr->workspace_menu) {
wfree(scr->workspace_menu->entries[i + 2]->text);
scr->workspace_menu->entries[i + 2]->text =
wstrdup(WMGetFromPLString(pstr));
scr->workspace_menu->flags.realized = 0;
}
+
wfree(scr->workspaces[i]->name);
scr->workspaces[i]->name = wstrdup(WMGetFromPLString(pstr));
if (!wPreferences.flags.noclip) {
int added_omnipresent_icons = 0;
+
clip_state = WMGetFromPLDictionary(wks_state, dClip);
if (scr->workspaces[i]->clip)
wDockDestroy(scr->workspaces[i]->clip);
+
scr->workspaces[i]->clip = wDockRestoreState(scr,
clip_state, WM_CLIP);
if (i > 0)
wDockHideIcons(scr->workspaces[i]->clip);
http://repo.or.cz/w/wmaker-crm.git/commit/53d31c7bbd7e97129b0d96d48c85e161c2d1b087
commit 53d31c7bbd7e97129b0d96d48c85e161c2d1b087
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Wed Mar 20 04:02:14 2013 +0100
Removed dead code in wSessionRestoreState
The function wSessionRestoreState() calls execCommand()
with the argument "host", but this argument is never used,
so we can remove the argument and the code to make that
argument, dead code at wSessionRestoreState.
diff --git a/src/session.c b/src/session.c
index 703b5fa..4fd11f8 100644
--- a/src/session.c
+++ b/src/session.c
@@ -328,7 +328,7 @@ void wSessionClearState(WScreen * scr)
WMRemoveFromPLDictionary(scr->session_state, sWorkspace);
}
-static pid_t execCommand(WScreen * scr, char *command, char *host)
+static pid_t execCommand(WScreen *scr, char *command)
{
pid_t pid;
char **argv;
@@ -411,10 +411,10 @@ static WSavedState *getWindowState(WScreen * scr,
WMPropList * win_state)
#define SAME(x, y) (((x) && (y) && !strcmp((x), (y))) || (!(x) && !(y)))
-void wSessionRestoreState(WScreen * scr)
+void wSessionRestoreState(WScreen *scr)
{
WSavedState *state;
- char *instance, *class, *command, *host;
+ char *instance, *class, *command;
WMPropList *win_info, *apps, *cmd, *value;
pid_t pid;
int i, count;
@@ -454,12 +454,6 @@ void wSessionRestoreState(WScreen * scr)
if (!instance && !class)
continue;
- value = WMGetFromPLDictionary(win_info, sHost);
- if (value && WMIsPLString(value))
- host = WMGetFromPLString(value);
- else
- host = NULL;
-
state = getWindowState(scr, win_info);
dock = NULL;
@@ -499,7 +493,7 @@ void wSessionRestoreState(WScreen * scr)
if (found) {
wDockLaunchWithState(dock, btn, state);
- } else if ((pid = execCommand(scr, command, host)) > 0) {
+ } else if ((pid = execCommand(scr, command)) > 0) {
wWindowAddSavedState(instance, class, command, pid,
state);
} else {
wfree(state);
-----------------------------------------------------------------------
Summary of changes:
src/dock.h | 2 --
src/framewin.c | 10 +---------
src/icon.c | 17 ++---------------
src/session.c | 14 ++++----------
src/wcore.c | 9 +++++++--
src/wcore.h | 3 ++-
src/workspace.c | 32 ++++++++++++++------------------
7 files changed, 30 insertions(+), 57 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].