From bce956523f56b88ec04c074cd55041c5b9a81c90 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Tue, 3 May 2011 11:00:28 +0200 Subject: winwidget_resize: Only use netwm-fullscreen patch for fullscreen windows --- src/winwidget.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/winwidget.c b/src/winwidget.c index ab5478d..b82b375 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -758,6 +758,10 @@ void winwidget_move(winwidget winwid, int x, int y) void winwidget_resize(winwidget winwid, int w, int h) { + Window ignored_window; + XWindowAttributes attributes; + int tc_x, tc_y; + if (opt.geom_flags) { winwid->had_resize = 1; return; @@ -769,7 +773,18 @@ void winwidget_resize(winwidget winwid, int w, int h) winwid->w = (w > scr->width) ? scr->width : w; winwid->h = (h > scr->height) ? scr->height : h; } - XResizeWindow(disp, winwid->win, winwid->w, winwid->h); + if (winwid->fullscreen) { + XGetWindowAttributes(disp, winwid->win, &attributes); + XTranslateCoordinates(disp, winwid->win, attributes.root, + -attributes.border_width - + attributes.x, + -attributes.border_width - attributes.y, &tc_x, &tc_y, &ignored_window); + winwid->x = tc_x; + winwid->y = tc_y; + XMoveResizeWindow(disp, winwid->win, tc_x, tc_y, winwid->w, winwid->h); + } else + XResizeWindow(disp, winwid->win, winwid->w, winwid->h); + winwid->had_resize = 1; XFlush(disp); -- cgit v1.2.3