Bugfix: Update _NET_WM_STATE when clients request changes via ClientMessage

This fixes problems with Chromium fullscreen mode
This commit is contained in:
Michael Stapelberg 2010-05-26 23:11:42 +02:00
parent e68aa1f414
commit e25d9c5f55
1 changed files with 7 additions and 0 deletions

View File

@ -228,6 +228,10 @@ void client_enter_fullscreen(xcb_connection_t *conn, Client *client, bool global
uint32_t values[] = { XCB_STACK_MODE_ABOVE }; uint32_t values[] = { XCB_STACK_MODE_ABOVE };
xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_STACK_MODE, values); 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); fake_configure_notify(conn, r, client->child);
xcb_flush(conn); xcb_flush(conn);
@ -262,6 +266,9 @@ void client_leave_fullscreen(xcb_connection_t *conn, Client *client) {
render_layout(conn); 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); xcb_flush(conn);
} }