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 f5d845cfadeedce4a848189de01a6c4c95cd7db7 (commit)
via d6db53af0bc62236b51d62091661c4f9446890eb (commit)
via fd07a6bb367a313a6bdf9d8954cb3f6c904a8104 (commit)
via 347d6f9fdac2d887a59517735e4fe933e2156028 (commit)
from 81eefca4ef70414d73048300058e5007f402dd7f (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/f5d845cfadeedce4a848189de01a6c4c95cd7db7
commit f5d845cfadeedce4a848189de01a6c4c95cd7db7
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Tue Jul 3 11:47:15 2012 +0200
Remove unused argument from wDefaultFillAttributes()
The function wDefaultFillAttributes() doesn't use the argument WScreen,
so it can be removed.
diff --git a/src/application.c b/src/application.c
index 4e34f35..7c52fa0 100644
--- a/src/application.c
+++ b/src/application.c
@@ -59,8 +59,8 @@ static WWindow *makeMainWindow(WScreen * scr, Window window)
PropGetWMClass(window, &wwin->wm_class, &wwin->wm_instance);
- wDefaultFillAttributes(scr, wwin->wm_instance, wwin->wm_class,
- &wwin->user_flags, &wwin->defined_user_flags,
True);
+ wDefaultFillAttributes(wwin->wm_instance, wwin->wm_class,
&wwin->user_flags,
+ &wwin->defined_user_flags, True);
XSelectInput(dpy, window, attr.your_event_mask | PropertyChangeMask |
StructureNotifyMask);
return wwin;
diff --git a/src/defaults.h b/src/defaults.h
index 199abb7..9b5ea95 100644
--- a/src/defaults.h
+++ b/src/defaults.h
@@ -37,7 +37,7 @@ void wDefaultUpdateIcons(WScreen *scr);
void wReadStaticDefaults(WMPropList *dict);
void wDefaultsCheckDomains(void *arg);
void wSaveDefaults(WScreen *scr);
-void wDefaultFillAttributes(WScreen *scr, char *instance, char *class,
+void wDefaultFillAttributes(char *instance, char *class,
WWindowAttributes *attr, WWindowAttributes *mask,
Bool useGlobalDefault);
diff --git a/src/dock.c b/src/dock.c
index 05824d4..0db0fe5 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -804,7 +804,7 @@ static void launchDockedApplication(WAppIcon *btn, Bool
withSelection)
if (btn->wm_instance || btn->wm_class) {
WWindowAttributes attr;
memset(&attr, 0, sizeof(WWindowAttributes));
- wDefaultFillAttributes(scr, btn->wm_instance,
btn->wm_class, &attr, NULL, True);
+ wDefaultFillAttributes(btn->wm_instance, btn->wm_class,
&attr, NULL, True);
if (!attr.no_appicon && !btn->buggy_app)
btn->launching = 1;
@@ -1840,8 +1840,7 @@ int wDockReceiveDNDDrop(WScreen *scr, XEvent *event)
if (btn->wm_instance || btn->wm_class) {
WWindowAttributes attr;
memset(&attr, 0, sizeof(WWindowAttributes));
- wDefaultFillAttributes(btn->icon->core->screen_ptr,
- btn->wm_instance, btn->wm_class,
&attr, NULL, True);
+ wDefaultFillAttributes(btn->wm_instance, btn->wm_class,
&attr, NULL, True);
if (!attr.no_appicon)
btn->launching = 1;
diff --git a/src/wdefaults.c b/src/wdefaults.c
index 2169a2f..a34d86e 100644
--- a/src/wdefaults.c
+++ b/src/wdefaults.c
@@ -199,9 +199,9 @@ static WMPropList *get_value_from_instanceclass(char *value)
*
*----------------------------------------------------------------------
*/
-void
-wDefaultFillAttributes(WScreen * scr, char *instance, char *class,
- WWindowAttributes * attr, WWindowAttributes * mask, Bool
useGlobalDefault)
+void wDefaultFillAttributes(char *instance, char *class,
+ WWindowAttributes *attr, WWindowAttributes *mask,
+ Bool useGlobalDefault)
{
WMPropList *value, *dw, *dc, *dn, *da;
char *buffer;
diff --git a/src/window.c b/src/window.c
index 4de0aac..50962f7 100644
--- a/src/window.c
+++ b/src/window.c
@@ -302,7 +302,7 @@ void wWindowSetupInitialAttributes(WWindow *wwin, int
*level, int *workspace)
WScreen *scr = wwin->screen_ptr;
/* sets global default stuff */
- wDefaultFillAttributes(scr, wwin->wm_instance, wwin->wm_class,
&wwin->client_flags, NULL, True);
+ wDefaultFillAttributes(wwin->wm_instance, wwin->wm_class,
&wwin->client_flags, NULL, True);
/*
* Decoration setting is done in this precedence (lower to higher)
* - use global default in the resource database
@@ -393,8 +393,8 @@ void wWindowSetupInitialAttributes(WWindow *wwin, int
*level, int *workspace)
* Set attributes specified only for that window/class.
* This might do duplicate work with the 1st wDefaultFillAttributes().
*/
- wDefaultFillAttributes(scr, wwin->wm_instance, wwin->wm_class,
- &wwin->user_flags, &wwin->defined_user_flags,
False);
+ wDefaultFillAttributes(wwin->wm_instance, wwin->wm_class,
&wwin->user_flags,
+ &wwin->defined_user_flags, False);
/*
* Sanity checks for attributes that depend on other attributes
*/
http://repo.or.cz/w/wmaker-crm.git/commit/d6db53af0bc62236b51d62091661c4f9446890eb
commit d6db53af0bc62236b51d62091661c4f9446890eb
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Tue Jul 3 11:42:39 2012 +0200
Remove unused argument from wDefaultGetIconFile()
The function wDefaultGetIconFile() doesn't use the argument WScreen,
so it can be removed.
diff --git a/src/appicon.c b/src/appicon.c
index 9cf0b14..25f88ce 100644
--- a/src/appicon.c
+++ b/src/appicon.c
@@ -127,10 +127,10 @@ WAppIcon *wAppIconCreateForDock(WScreen * scr, char
*command, char *wm_instance,
if (wm_instance)
dicon->wm_instance = wstrdup(wm_instance);
- path = wDefaultGetIconFile(scr, wm_instance, wm_class, True);
+ path = wDefaultGetIconFile(wm_instance, wm_class, True);
if (!path && command) {
wApplicationExtractDirPackIcon(scr, command, wm_instance,
wm_class);
- path = wDefaultGetIconFile(scr, wm_instance, wm_class, False);
+ path = wDefaultGetIconFile(wm_instance, wm_class, False);
}
if (path)
diff --git a/src/defaults.c b/src/defaults.c
index e512a8b..c6fc2c3 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -1125,7 +1125,7 @@ void wDefaultUpdateIcons(WScreen * scr)
char *file;
while (aicon) {
- file = wDefaultGetIconFile(scr, aicon->wm_instance,
aicon->wm_class, False);
+ file = wDefaultGetIconFile(aicon->wm_instance, aicon->wm_class,
False);
if ((file && aicon->icon->file && strcmp(file,
aicon->icon->file) != 0)
|| (file && !aicon->icon->file)) {
wIconChangeImageFile(aicon->icon, file);
@@ -1139,7 +1139,7 @@ void wDefaultUpdateIcons(WScreen * scr)
while (wwin) {
if (wwin->icon && wwin->flags.miniaturized) {
- file = wDefaultGetIconFile(scr, wwin->wm_instance,
wwin->wm_class, False);
+ file = wDefaultGetIconFile(wwin->wm_instance,
wwin->wm_class, False);
if ((file && wwin->icon->file && strcmp(file,
wwin->icon->file) != 0)
|| (file && !wwin->icon->file)) {
wIconChangeImageFile(wwin->icon, file);
diff --git a/src/defaults.h b/src/defaults.h
index 95ddff2..199abb7 100644
--- a/src/defaults.h
+++ b/src/defaults.h
@@ -41,9 +41,7 @@ void wDefaultFillAttributes(WScreen *scr, char *instance,
char *class,
WWindowAttributes *attr, WWindowAttributes *mask,
Bool useGlobalDefault);
-
-char * wDefaultGetIconFile(WScreen *scr, char *instance, char *class,
- Bool noDefault);
+char *wDefaultGetIconFile(char *instance, char *class, Bool noDefault);
RImage * wDefaultGetImage(WScreen *scr, char *winstance, char *wclass, int
max_size);
diff --git a/src/dockedapp.c b/src/dockedapp.c
index 02c9a22..cd059c2 100644
--- a/src/dockedapp.c
+++ b/src/dockedapp.c
@@ -320,7 +320,7 @@ void ShowDockAppSettingsPanel(WAppIcon * aicon)
panel->iconField = WMCreateTextField(panel->iconFrame);
WMResizeWidget(panel->iconField, 176, 20);
WMMoveWidget(panel->iconField, 10, 20);
- WMSetTextFieldText(panel->iconField, wDefaultGetIconFile(scr,
aicon->wm_instance, aicon->wm_class, True));
+ WMSetTextFieldText(panel->iconField,
wDefaultGetIconFile(aicon->wm_instance, aicon->wm_class, True));
panel->browseBtn = WMCreateCommandButton(panel->iconFrame);
WMResizeWidget(panel->browseBtn, 70, 24);
diff --git a/src/icon.c b/src/icon.c
index fd9bb11..6537ece 100644
--- a/src/icon.c
+++ b/src/icon.c
@@ -127,7 +127,7 @@ WIcon *wIconCreate(WWindow * wwin)
#endif
icon->file_image = wDefaultGetImage(scr, wwin->wm_instance,
wwin->wm_class, wPreferences.icon_size);
- file = wDefaultGetIconFile(scr, wwin->wm_instance, wwin->wm_class,
False);
+ file = wDefaultGetIconFile(wwin->wm_instance, wwin->wm_class, False);
if (file)
icon->file = wstrdup(file);
@@ -617,7 +617,7 @@ void get_pixmap_icon_from_user_icon(WScreen *scr, WIcon *
icon)
} else {
/* make default icons */
if (!scr->def_icon_pixmap) {
- file = wDefaultGetIconFile(scr, NULL, NULL, False);
+ file = wDefaultGetIconFile(NULL, NULL, False);
if (file) {
path = FindImage(wPreferences.icon_path, file);
if (path) {
diff --git a/src/switchpanel.c b/src/switchpanel.c
index 8e9e9f6..80b30a3 100644
--- a/src/switchpanel.c
+++ b/src/switchpanel.c
@@ -182,7 +182,7 @@ static void addIconForWindow(WSwitchPanel * panel, WMWidget
* parent, WWindow *
image = wDefaultGetImage(panel->scr, wwin->wm_instance,
wwin->wm_class, ICON_TILE_SIZE);
if (!image && !panel->defIcon) {
- char *file = wDefaultGetIconFile(panel->scr, NULL, NULL, False);
+ char *file = wDefaultGetIconFile(NULL, NULL, False);
if (file) {
char *path = FindImage(wPreferences.icon_path, file);
if (path) {
diff --git a/src/wdefaults.c b/src/wdefaults.c
index 7170b3d..2169a2f 100644
--- a/src/wdefaults.c
+++ b/src/wdefaults.c
@@ -381,7 +381,7 @@ RImage *wDefaultGetImage(WScreen * scr, char *winstance,
char *wclass, int max_s
RImage *image;
/* Get the file name of the image, using instance and class */
- file_name = wDefaultGetIconFile(scr, winstance, wclass, False);
+ file_name = wDefaultGetIconFile(winstance, wclass, False);
if (!file_name)
return NULL;
@@ -433,7 +433,7 @@ int wDefaultGetStartWorkspace(WScreen * scr, char
*instance, char *class)
}
/* Get the name of the Icon File. If noDefault is False, then, default value
included */
-char *wDefaultGetIconFile(WScreen *scr, char *instance, char *class, Bool
noDefault)
+char *wDefaultGetIconFile(char *instance, char *class, Bool noDefault)
{
WMPropList *value;
char *tmp;
diff --git a/src/winspector.c b/src/winspector.c
index 3a75af2..b671087 100644
--- a/src/winspector.c
+++ b/src/winspector.c
@@ -323,7 +323,7 @@ static int showIconFor(WMScreen *scrPtr, InspectorPanel
*panel, char *wm_instanc
file = NULL;
}
} else {
- db_icon = wDefaultGetIconFile(panel->inspected->screen_ptr,
wm_instance, wm_class, False);
+ db_icon = wDefaultGetIconFile(wm_instance, wm_class, False);
if (db_icon != NULL)
file = wstrdup(db_icon);
}
http://repo.or.cz/w/wmaker-crm.git/commit/fd07a6bb367a313a6bdf9d8954cb3f6c904a8104
commit fd07a6bb367a313a6bdf9d8954cb3f6c904a8104
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Tue Jul 3 11:37:56 2012 +0200
Remove unused argument from init_wdefaults()
The function init_wdefaults() doesn't use the argument WScreen,
so it can be removed.
diff --git a/src/wdefaults.c b/src/wdefaults.c
index 8d1ef54..7170b3d 100644
--- a/src/wdefaults.c
+++ b/src/wdefaults.c
@@ -89,7 +89,7 @@ static WMPropList *AIcon;
static WMPropList *AnyWindow;
static WMPropList *No;
-static void init_wdefaults(WScreen * scr)
+static void init_wdefaults(void)
{
AIcon = WMCreatePLString("Icon");
@@ -209,7 +209,7 @@ wDefaultFillAttributes(WScreen * scr, char *instance, char
*class,
dw = dc = dn = da = NULL;
if (!ANoTitlebar)
- init_wdefaults(scr);
+ init_wdefaults();
if (class && instance) {
buffer = StrConcatDot(instance, class);
@@ -411,7 +411,7 @@ int wDefaultGetStartWorkspace(WScreen * scr, char
*instance, char *class)
char *tmp;
if (!ANoTitlebar)
- init_wdefaults(scr);
+ init_wdefaults();
if (!WDWindowAttributes->dictionary)
return -1;
@@ -439,7 +439,7 @@ char *wDefaultGetIconFile(WScreen *scr, char *instance,
char *class, Bool noDefa
char *tmp;
if (!ANoTitlebar)
- init_wdefaults(scr);
+ init_wdefaults();
if (!WDWindowAttributes->dictionary)
return NULL;
http://repo.or.cz/w/wmaker-crm.git/commit/347d6f9fdac2d887a59517735e4fe933e2156028
commit 347d6f9fdac2d887a59517735e4fe933e2156028
Author: Iain Patterson <[email protected]>
Date: Wed Jul 4 08:31:39 2012 +0100
Support _NET_FRAME_EXTENTS.
This patch adds support for the _NET_FRAME_EXTENTS property as
described in the EWMH spec. With it I was able to use the compton
compositing manager to draw fully opaque windows with semi-transparent
titlebars and resizebars.
Set the _NET_FRAME_EXTENTS property based on border widths and
titlebar/resizebar heights.
The EWMH spec says:
"_NET_FRAME_EXTENTS, left, right, top, bottom, CARDINAL[4]/32
The Window Manager MUST set _NET_FRAME_EXTENTS to the extents of the
window's frame. left, right, top and bottom are widths of the
respective borders added by the Window Manager."
diff --git a/src/window.c b/src/window.c
index d6c697e..4de0aac 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2039,6 +2039,9 @@ void wWindowConfigure(WWindow *wwin, int req_x, int
req_y, int req_width, int re
if (synth_notify)
wWindowSynthConfigureNotify(wwin);
+
+ wNETFrameExtents(wwin);
+
XFlush(dpy);
}
diff --git a/src/wmspec.c b/src/wmspec.c
index ae870ea..494f55b 100644
--- a/src/wmspec.c
+++ b/src/wmspec.c
@@ -120,6 +120,8 @@ static Atom net_wm_icon;
static Atom net_wm_pid; /* TODO */
static Atom net_wm_handled_icons; /* FIXME: see net_wm_icon_geometry */
+static Atom net_frame_extents;
+
/* Window Manager Protocols */
static Atom net_wm_ping; /* TODO */
@@ -193,6 +195,8 @@ static atomitem_t atomNames[] = {
{"_NET_WM_PID", &net_wm_pid},
{"_NET_WM_HANDLED_ICONS", &net_wm_handled_icons},
+ {"_NET_FRAME_EXTENTS", &net_frame_extents},
+
{"_NET_WM_PING", &net_wm_ping},
{"UTF8_STRING", &utf8_string},
@@ -294,6 +298,8 @@ static void setSupportedHints(WScreen * scr)
atom[i++] = net_wm_icon;
atom[i++] = net_wm_handled_icons;
+ atom[i++] = net_frame_extents;
+
atom[i++] = net_wm_name;
atom[i++] = net_wm_icon_name;
@@ -1605,3 +1611,26 @@ static void wsobserver(void *self, WMNotification *
notif)
updateWorkspaceNames(scr);
}
}
+
+void wNETFrameExtents(WWindow *wwin)
+{
+ long extents[4] = { 0, 0, 0, 0 };
+
+ /* The extents array describes dimensions which are not
+ * part of the client window. In our case that means
+ * widths of the border and heights of the titlebar and resizebar.
+ *
+ * Index 0 = left
+ * 1 = right
+ * 2 = top
+ * 3 = bottom
+ */
+ if (!wwin->client_flags.no_border)
+ extents[0] = extents[1] = FRAME_BORDER_WIDTH;
+ if (wwin->frame->titlebar)
+ extents[2] = wwin->frame->titlebar->height;
+ if (wwin->frame->resizebar)
+ extents[3] = wwin->frame->resizebar->height;
+
+ XChangeProperty(dpy, wwin->client_win, net_frame_extents, XA_CARDINAL,
32, PropModeReplace, (unsigned char *) extents, 4);
+}
diff --git a/src/wmspec.h b/src/wmspec.h
index 71f8ee0..47c4c76 100644
--- a/src/wmspec.h
+++ b/src/wmspec.h
@@ -44,4 +44,5 @@ int wNETWMGetPidForWindow(Window window);
int wNETWMGetCurrentDesktopFromHint(WScreen *scr);
char *wNETWMGetIconName(Window window);
char *wNETWMGetWindowName(Window window);
+void wNETFrameExtents(WWindow *wwin);
#endif
-----------------------------------------------------------------------
Summary of changes:
src/appicon.c | 4 ++--
src/application.c | 4 ++--
src/defaults.c | 4 ++--
src/defaults.h | 6 ++----
src/dock.c | 5 ++---
src/dockedapp.c | 2 +-
src/icon.c | 4 ++--
src/switchpanel.c | 2 +-
src/wdefaults.c | 18 +++++++++---------
src/window.c | 9 ++++++---
src/winspector.c | 2 +-
src/wmspec.c | 29 +++++++++++++++++++++++++++++
src/wmspec.h | 1 +
13 files changed, 60 insertions(+), 30 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].