1
0
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:
kojima
2001-01-06 17:05:50 +00:00
parent 1ac8c2a6ce
commit 0b9cfd7c8e
5 changed files with 18 additions and 11 deletions

View File

@@ -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
View File

@@ -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

View File

@@ -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;
}

View File

@@ -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 */

View File

@@ -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 {