Bugfix: Don’t raise clients in fullscreen mode, send correct position to clients in fullscreen mode (Thanks ch3ka, mist)
This fixes #38 which only happened for clients which actively tried to reconfigure themselves.
This commit is contained in:
parent
30b5b80b17
commit
89076ea7cf
|
@ -590,6 +590,16 @@ int handle_configure_request(void *prophs, xcb_connection_t *conn, xcb_configure
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (client->fullscreen) {
|
||||
LOG("Client is in fullscreen mode\n");
|
||||
|
||||
Rect child_rect = client->container->workspace->rect;
|
||||
child_rect.x = child_rect.y = 0;
|
||||
fake_configure_notify(conn, child_rect, client->child);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
fake_absolute_configure_notify(conn, client);
|
||||
|
||||
return 1;
|
||||
|
|
|
@ -297,7 +297,7 @@ void set_focus(xcb_connection_t *conn, Client *client, bool set_anyways) {
|
|||
Client *last_focused = get_last_focused_client(conn, client->container, NULL);
|
||||
|
||||
/* In stacking containers, raise the client in respect to the one which was focused before */
|
||||
if (client->container->mode == MODE_STACK) {
|
||||
if (client->container->mode == MODE_STACK && client->container->workspace->fullscreen_client == NULL) {
|
||||
/* We need to get the client again, this time excluding the current client, because
|
||||
* we might have just gone into stacking mode and need to raise */
|
||||
Client *last_focused = get_last_focused_client(conn, client->container, client);
|
||||
|
|
Loading…
Reference in New Issue