Improve CSD logic

This does the following:

* Removes the xdg-decoration surface_commit listener. I was under the
impression the client could ignore the server's preference and set
whatever decoration they like using this protocol, but I don't think
that's right.
* Adds a listener for the xdg-decoration request_mode signal. The
protocol states that the server should respond to this with its
preference. We'll always respond with SSD here.
* Makes it so tiled views which use CSD will still have sway decorations
rendered. To do this, using_csd had to be added back to the view struct,
and the border is changed when floating or unfloating a view.
This commit is contained in:
Ryan Dwyer 2018-09-27 22:44:57 +10:00
parent 6d0442c0c2
commit 21ff87d72b
6 changed files with 72 additions and 30 deletions

View file

@ -10,7 +10,7 @@ struct sway_xdg_decoration {
struct sway_view *view;
struct wl_listener destroy;
struct wl_listener surface_commit;
struct wl_listener request_mode;
};
struct sway_xdg_decoration *xdg_decoration_from_surface(