swayfx/include/sway/xdg_decoration.h
Ryan Dwyer 21ff87d72b 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.
2018-09-27 22:51:37 +10:00

20 lines
410 B
C

#ifndef _SWAY_XDG_DECORATION_H
#define _SWAY_XDG_DECORATION_H
#include <wlr/types/wlr_xdg_decoration_v1.h>
struct sway_xdg_decoration {
struct wlr_xdg_toplevel_decoration_v1 *wlr_xdg_decoration;
struct wl_list link;
struct sway_view *view;
struct wl_listener destroy;
struct wl_listener request_mode;
};
struct sway_xdg_decoration *xdg_decoration_from_surface(
struct wlr_surface *surface);
#endif