From 1a754844bbab1576c12063389c84072194f043c5 Mon Sep 17 00:00:00 2001 From: id Date: Tue, 28 Nov 2000 01:20:52 +0000 Subject: [PATCH] gnome panel patch code and pass full text to the plugin --- src/framewin.c | 2 +- src/gnome.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/framewin.c b/src/framewin.c index 233ec9f6..1601c7f3 100644 --- a/src/framewin.c +++ b/src/framewin.c @@ -1088,7 +1088,7 @@ wFrameWindowPaint(WFrameWindow *fwin) + fwin->drawstring_proc_offset]->arg, fwin->titlebar->window, *fwin->title_gc, *fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, - fwin->titlebar->width, fwin->top_width, title, titlelen); + fwin->titlebar->width, fwin->top_width, fwin->title, titlelen); } else { WMDrawString(scr->wmscreen, fwin->titlebar->window, *fwin->title_gc, *fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, diff --git a/src/gnome.c b/src/gnome.c index 8547e037..e469ad34 100644 --- a/src/gnome.c +++ b/src/gnome.c @@ -61,6 +61,9 @@ #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*/ +#if 0 /* 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*/ @@ -312,6 +315,32 @@ wGNOMECheckClientHints(WWindow *wwin, int *layer, int *workspace) if (flags & (WIN_HINTS_SKIP_FOCUS|WIN_HINTS_SKIP_WINLIST)) { wwin->client_flags.skip_window_list = 1; } + +#if 0 /* hadess patch but still has problem said him */ + 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 { + XGetWindowAttributes(dpy, wwin->client_win, &wattribs); + 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; + + wScreenUpdateUsableArea(wwin->screen_ptr); + } + +#endif + hasHints = True; } -- 2.11.4.GIT