From: Michael Stapelberg Date: Wed, 26 May 2010 21:21:37 +0000 (+0200) Subject: Update _NET_WM_STATE after fullscreen state changes X-Git-Tag: tree-pr1~212 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a45dc6b3ad5863a67b84094f61e22e59ec5b5693;p=i3%2Fi3 Update _NET_WM_STATE after fullscreen state changes --- diff --git a/src/con.c b/src/con.c index 83e89631..36070849 100644 --- a/src/con.c +++ b/src/con.c @@ -289,4 +289,19 @@ void con_toggle_fullscreen(Con *con) { con->fullscreen_mode = CF_NONE; } LOG("mode now: %d\n", con->fullscreen_mode); + + /* update _NET_WM_STATE if this container has a window */ + /* TODO: when a window is assigned to a container which is already + * fullscreened, this state needs to be pushed to the client, too */ + if (con->window == NULL) + return; + + uint32_t values[1]; + unsigned int num = 0; + + if (con->fullscreen_mode != CF_NONE) + values[num++] = atoms[_NET_WM_STATE_FULLSCREEN]; + + xcb_change_property(conn, XCB_PROP_MODE_REPLACE, con->window->id, + atoms[_NET_WM_STATE], ATOM, 32, num, values); }