weston/desktop-shell
Jasper St. Pierre ccf48fb4f9 shell: Replace set_margin with set_window_geometry
Currently, there is a fun flicker when toggling maximization or
fullscreen on a window in mutter or more sophisicated compositors
and WMs.

What happens is that the client want so go maximized, so we
calculate the size that we want the window to resize to (640x480),
and then add on its margins to find the buffer size (+10 = 660x500),
and then send out a configure event for that size. The client
renders to that size, realizes that it's maximized, and then
says "oh hey, my margins are actually 0 now!", and so the compositor
has to send out another configure event.

In order to fix this, make the the configure request correspond to
the window geometry we'd like the window to be at. At the same time,
replace set_margin with set_window_geometry, where we specify a rect
rather than a border around the window.
2014-07-17 13:59:01 -07:00
..
exposay.c exposay: fix crash when navigating with the keyboard 2014-06-18 17:14:40 -07:00
input-panel.c shell: display the input panel on the active output 2014-04-21 14:34:15 -07:00
shell.c shell: Replace set_margin with set_window_geometry 2014-07-17 13:59:01 -07:00
shell.h desktop-shell: Properly handle seat hotplugging 2014-04-29 16:49:59 -07:00