From: Michael Stapelberg Date: Wed, 26 May 2010 21:11:42 +0000 (+0200) Subject: Bugfix: Update _NET_WM_STATE when clients request changes via ClientMessage X-Git-Tag: 3.e-bf1~9 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e25d9c5f55d05904027dd521d522e3158ca9d8a4;p=i3%2Fi3 Bugfix: Update _NET_WM_STATE when clients request changes via ClientMessage This fixes problems with Chromium fullscreen mode --- diff --git a/src/client.c b/src/client.c index 9c136ca6..e2868faf 100644 --- a/src/client.c +++ b/src/client.c @@ -228,6 +228,10 @@ void client_enter_fullscreen(xcb_connection_t *conn, Client *client, bool global uint32_t values[] = { XCB_STACK_MODE_ABOVE }; xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_STACK_MODE, values); + /* Update _NET_WM_STATE */ + values[0] = atoms[_NET_WM_STATE_FULLSCREEN]; + xcb_change_property(conn, XCB_PROP_MODE_REPLACE, client->child, atoms[_NET_WM_STATE], ATOM, 32, 1, values); + fake_configure_notify(conn, r, client->child); xcb_flush(conn); @@ -262,6 +266,9 @@ void client_leave_fullscreen(xcb_connection_t *conn, Client *client) { render_layout(conn); } + /* Update _NET_WM_STATE */ + xcb_change_property(conn, XCB_PROP_MODE_REPLACE, client->child, atoms[_NET_WM_STATE], ATOM, 32, 0, NULL); + xcb_flush(conn); }