aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/dway/dway.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cmd/dway/dway.h')
-rw-r--r--sys/cmd/dway/dway.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/sys/cmd/dway/dway.h b/sys/cmd/dway/dway.h
index 838e035..ad2dfb3 100644
--- a/sys/cmd/dway/dway.h
+++ b/sys/cmd/dway/dway.h
@@ -53,6 +53,7 @@ typedef struct Monitor Monitor;
typedef struct Layout Layout;
typedef struct Client Client;
typedef struct Deco Deco;
+typedef struct Layer Layer;
typedef struct Payload Payload;
typedef struct Rule Rule;
@@ -93,7 +94,6 @@ struct Mouse
} ev;
};
-
struct Key
{
uint32 mod;
@@ -112,6 +112,24 @@ struct Keyboard
} ev;
};
+struct Layer
+{
+ struct wl_list link;
+ struct wlr_layer_surface_v1 *surf;
+
+ struct {
+ struct wl_listener map;
+ struct wl_listener unmap;
+ struct wl_listener free;
+ struct wl_listener commit;
+ struct wl_listener kill;
+ /* struct wl_listener popup; */
+ } ev;
+
+ struct wlr_box dim;
+ enum zwlr_layer_shell_v1_layer z;
+};
+
struct Monitor
{
struct wl_list link;
@@ -121,9 +139,14 @@ struct Monitor
struct wl_listener free;
} ev;
struct {
+ struct wl_signal kill;
+ } sig;
+ struct {
struct wlr_box all;
struct wlr_box win;
} area;
+
+ Layer layers[4];
const Layout *lt[2];
uint seltags;
uint sellt;
@@ -233,6 +256,11 @@ static void ev·freedecoration(struct wl_listener *ev, void *arg);
static void ev·modedecoration(struct wl_listener *ev, void *arg);
static void ev·newlayershell(struct wl_listener *ev, void *arg);
+static void ev·freelayershell(struct wl_listener *ev, void *arg);
+static void ev·maplayershell(struct wl_listener *ev, void *arg);
+static void ev·unmaplayershell(struct wl_listener *ev, void *arg);
+static void ev·commitlayershell(struct wl_listener *ev, void *arg);
+static void ev·killlayershell(struct wl_listener *ev, void *arg);
static void ev·setcursor(struct wl_listener *ev, void *arg);
static void ev·setsel(struct wl_listener *ev, void *arg);