From e25d9c5f55d05904027dd521d522e3158ca9d8a4 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Wed, 26 May 2010 23:11:42 +0200 Subject: [PATCH] Bugfix: Update _NET_WM_STATE when clients request changes via ClientMessage This fixes problems with Chromium fullscreen mode --- src/client.c | 7 +++++++ 1 file changed, 7 insertions(+) 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); }