/* Don't steal focus from globally active clients.
I stole this idea from KWin. It seems nice.
*/
- if (!focus_client->can_focus && focus_client->focus_notify)
+ if (!(focus_client->can_focus || focus_client->focus_notify))
activate = FALSE;
}
client_try_configure(self, anchor, &x, &y, &w, &h,
&logicalw, &logicalh, user);
- /* set the logical size */
- SIZE_SET(self->logical_size, logicalw, logicalh);
+ /* set the logical size if things changed */
+ if (!(w == self->area.width && h == self->area.height))
+ SIZE_SET(self->logical_size, logicalw, logicalh);
/* figure out if we moved or resized or what */
moved = x != self->area.x || y != self->area.y;