From 14e9c34ecc399d7b96151f79f1775c8cb5d67a86 Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Thu, 31 Mar 2022 06:41:32 +0200 Subject: [PATCH] Improve starting in fullscreen mode Instead of effectively first mapping the window at regular size and then fullscreening it, tell the WM to map the window at fullscreen size by setting _NET_WM_STATE_FULLSCREEN before mapping the window. --- window.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/window.c b/window.c index 3c55133..b4b9c41 100644 --- a/window.c +++ b/window.c @@ -309,6 +309,12 @@ void win_open(win_t *win) hints.initial_state = NormalState; XSetWMHints(win->env.dpy, win->xwin, &hints); + if (options->fullscreen) { + XChangeProperty(e->dpy, win->xwin, atoms[ATOM__NET_WM_STATE], + XA_ATOM, 32, PropModeReplace, + (unsigned char *) &atoms[ATOM__NET_WM_STATE_FULLSCREEN], 1); + } + win->h -= win->bar.h; win->buf.w = e->scrw; @@ -320,9 +326,6 @@ void win_open(win_t *win) XSetWindowBackgroundPixmap(e->dpy, win->xwin, win->buf.pm); XMapWindow(e->dpy, win->xwin); XFlush(e->dpy); - - if (options->fullscreen) - win_toggle_fullscreen(win); } CLEANUP void win_close(win_t *win)