From ca54fabed8e0f531b9a22691d8db1c323475107a Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 26 Jun 2019 18:49:13 +0200 Subject: Window.c: add some comments about fullscreen handling --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Window.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index 78a5081f0..ec62bdd9d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -831,6 +831,11 @@ void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn) } w = nxagentDefaultWindows[pScreen -> myNum]; + + /* + * override_redirect makes the window manager ignore the window and + * not add decorations, see ICCCM) + */ attributes.override_redirect = switchOn; valuemask = CWOverrideRedirect; XUnmapWindow(nxagentDisplay, w); @@ -1003,6 +1008,13 @@ void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn) } } + /* + * FIXME: These are 0 most of the time nowadays. The effect is, + * that the window is moving a bit to right/bottom every time + * fullscreen mode is left. To fix this query the frame extents + * from the window manager via _NET_REQUEST_FRAME_EXTENTS + */ + if (nxagentOption(WMBorderWidth) > 0 && nxagentOption(WMTitleHeight) > 0) { nxagentChangeOption(X, nxagentOption(SavedX) - nxagentOption(WMBorderWidth)); -- cgit v1.2.3 From c190fd1871d00168e2db6df9b91e8bc1ef69fbf5 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 26 Jun 2019 18:49:36 +0200 Subject: Window.c: rearrange code regarding window decorations sizes --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Window.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index ec62bdd9d..3e27ae566 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -1015,14 +1015,21 @@ void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn) * from the window manager via _NET_REQUEST_FRAME_EXTENTS */ - if (nxagentOption(WMBorderWidth) > 0 && nxagentOption(WMTitleHeight) > 0) + if (nxagentOption(WMBorderWidth) > 0) { nxagentChangeOption(X, nxagentOption(SavedX) - nxagentOption(WMBorderWidth)); - nxagentChangeOption(Y, nxagentOption(SavedY) - nxagentOption(WMTitleHeight)); } else { nxagentChangeOption(X, nxagentOption(SavedX)); + } + + if (nxagentOption(WMTitleHeight) > 0) + { + nxagentChangeOption(Y, nxagentOption(SavedY) - nxagentOption(WMTitleHeight)); + } + else + { nxagentChangeOption(Y, nxagentOption(SavedY)); } -- cgit v1.2.3 From d487d5879d10211c5aa536b84073cdf9c64c2fed Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Thu, 27 Jun 2019 20:15:15 +0200 Subject: Consistently use None instead of 0 for nxagentIconWindow everywhere --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Window.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index 3e27ae566..0e5def294 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -2654,7 +2654,7 @@ void nxagentMapDefaultWindows(void) * Map the icon window. */ - if (nxagentIconWindow != 0) + if (nxagentIconWindow != None) { #ifdef TEST fprintf(stderr, "nxagentMapDefaultWindows: Mapping icon window id [%ld].\n", -- cgit v1.2.3