mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-18 12:00:31 +01:00
applied hadess patch for gnome panel
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
Changes since version 0.63.0:
|
||||
.............................
|
||||
- fixed compile prob with SGI compiler
|
||||
- decreased nice() value in wmsetbg
|
||||
- applied gnome panel not-covering patch from (Bastien Nocera <hadess@hadess.net>)
|
||||
|
||||
Changes since version 0.62.1:
|
||||
.............................
|
||||
|
||||
7
README
7
README
@@ -90,8 +90,15 @@ including platform specific packages of Window Maker.
|
||||
|
||||
* ChangeLog: what changed from the previous version?
|
||||
|
||||
|
||||
* BUGS: list of known bugs
|
||||
|
||||
*** Tutorial
|
||||
|
||||
There's a tutorial maintained by Georges Tarbouriech at:
|
||||
|
||||
http://www.linuxfocus.org/~georges.t/
|
||||
|
||||
|
||||
*** User Guide
|
||||
|
||||
|
||||
14
src/gnome.c
14
src/gnome.c
@@ -61,9 +61,7 @@
|
||||
#define WIN_HINTS_SKIP_TASKBAR (1<<2) /*do not show on taskbar*/
|
||||
#define WIN_HINTS_GROUP_TRANSIENT (1<<3) /*Reserved - definition is unclear*/
|
||||
#define WIN_HINTS_FOCUS_ON_CLICK (1<<4) /*app only accepts focus if clicked*/
|
||||
#ifdef HADESS_PATCH /* hadess patch but still has problem said him */
|
||||
#define WIN_HINTS_DO_NOT_COVER (1<<5) /* attempt to not cover this window */
|
||||
#endif
|
||||
|
||||
|
||||
#define WIN_STATE_STICKY (1<<0) /*everyone knows sticky*/
|
||||
@@ -316,22 +314,24 @@ wGNOMECheckClientHints(WWindow *wwin, int *layer, int *workspace)
|
||||
wwin->client_flags.skip_window_list = 1;
|
||||
}
|
||||
|
||||
#ifdef HADESS_PATCH /* hadess patch but still has problem said him */
|
||||
/* client reserved area, for the panel */
|
||||
if (flags & (WIN_HINTS_DO_NOT_COVER)) {
|
||||
XWindowAttributes wattribs;
|
||||
WReservedArea *area;
|
||||
|
||||
area = malloc(sizeof(WReservedArea));
|
||||
if (!area) {
|
||||
wwarning(_("out of memory while updating GNOME hints"));
|
||||
} else {
|
||||
XWindowAttributes wattribs;
|
||||
|
||||
XGetWindowAttributes(dpy, wwin->client_win, &wattribs);
|
||||
wClientGetNormalHints(wwin, &wattribs, False, &area->area.x1, &area->area.y1, &area->area.x2, &area->area.y2);
|
||||
wClientGetNormalHints(wwin, &wattribs, False,
|
||||
&area->area.x1, &area->area.y1,
|
||||
&area->area.x2, &area->area.y2);
|
||||
area->area.x2 = area->area.x2 + area->area.x1;
|
||||
area->area.y2 = area->area.y2 + area->area.y1;
|
||||
|
||||
area->window = wwin->client_win;
|
||||
printf("area x:%d y:%d w:%d h:%d\n %s.%s\n", area->area.x1, area->area.y1, area->area.x2, area->area.y2, wwin->wm_class, wwin->wm_instance);
|
||||
}
|
||||
area->next = wwin->screen_ptr->reservedAreas;
|
||||
wwin->screen_ptr->reservedAreas = area;
|
||||
@@ -339,8 +339,6 @@ wGNOMECheckClientHints(WWindow *wwin, int *layer, int *workspace)
|
||||
wScreenUpdateUsableArea(wwin->screen_ptr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
hasHints = True;
|
||||
}
|
||||
|
||||
|
||||
@@ -939,7 +939,7 @@ wScreenUpdateUsableArea(WScreen *scr)
|
||||
lw = area->area.x1;
|
||||
rw = scr->scr_width - area->area.x2;
|
||||
|
||||
if (WMIN(th, bh) < WMIN(lw, rw)) {
|
||||
if (WMIN(th, bh) <= WMIN(lw, rw)) {
|
||||
/* horizontal */
|
||||
if (th < bh) {
|
||||
/* on top */
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
#include <proplist.h>
|
||||
|
||||
#define PROG_VERSION "wmsetbg (Window Maker) 2.6"
|
||||
#define PROG_VERSION "wmsetbg (Window Maker) 2.7"
|
||||
|
||||
|
||||
#define WORKSPACE_COUNT (MAX_WORKSPACES+1)
|
||||
@@ -1444,7 +1444,7 @@ main(int argc, char **argv)
|
||||
|
||||
if (helperMode) {
|
||||
/* lower priority, so that it wont use all the CPU */
|
||||
nice(1000);
|
||||
nice(15);
|
||||
|
||||
helperLoop(rc);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user