mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-03 07:15:29 -04:00
csd: position CSD sub-surfaces *outside* the main window
For now, this behavior is controlled with an ifdef. At least kwin seems very buggy when the decorations are positioned like this (but normally you'd use server-side decorations with kwin anyway). This commit also changes 'use_csd' to be a tri-state variable; when instantiating a window it is set to 'unknown'. If there's no decoration manager available (e.g. weston), we immediately set it to 'yes' (use CSDs). Otherwise, we wait for the decoration manager callback to indicate whether we should use CSDs or not.
This commit is contained in:
parent
45ba9f9c8f
commit
2f587f6f3d
4 changed files with 91 additions and 57 deletions
|
|
@ -82,6 +82,7 @@ struct wl_primary {
|
|||
uint32_t serial;
|
||||
};
|
||||
|
||||
#define FOOT_CSD_OUTSIDE 1
|
||||
extern const int csd_border_size;
|
||||
extern const int csd_title_size;
|
||||
|
||||
|
|
@ -94,7 +95,7 @@ struct wl_window {
|
|||
|
||||
struct zxdg_toplevel_decoration_v1 *xdg_toplevel_decoration;
|
||||
|
||||
bool use_csd;
|
||||
enum {CSD_UNKNOWN, CSD_NO, CSD_YES } use_csd;
|
||||
|
||||
struct {
|
||||
struct wl_surface *surface[5];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue