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.h41
1 files changed, 35 insertions, 6 deletions
diff --git a/sys/cmd/dway/dway.h b/sys/cmd/dway/dway.h
index 4fce74b..838e035 100644
--- a/sys/cmd/dway/dway.h
+++ b/sys/cmd/dway/dway.h
@@ -10,9 +10,15 @@
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_cursor.h>
+#include <wlr/types/wlr_data_control_v1.h>
#include <wlr/types/wlr_data_device.h>
+#include <wlr/types/wlr_export_dmabuf_v1.h>
+#include <wlr/types/wlr_gamma_control_v1.h>
+#include <wlr/types/wlr_gtk_primary_selection.h>
+#include <wlr/types/wlr_idle.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_keyboard.h>
+#include <wlr/types/wlr_layer_shell_v1.h>
#include <wlr/types/wlr_matrix.h>
#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_output_layout.h>
@@ -21,14 +27,19 @@
#include <wlr/types/wlr_primary_selection_v1.h>
#include <wlr/types/wlr_screencopy_v1.h>
#include <wlr/types/wlr_seat.h>
+#include <wlr/types/wlr_server_decoration.h>
#include <wlr/types/wlr_xcursor_manager.h>
+#include <wlr/types/wlr_xdg_decoration_v1.h>
#include <wlr/types/wlr_xdg_shell.h>
#include <wlr/types/wlr_xdg_output_v1.h>
#include <wlr/util/log.h>
-#include "xdg-shell-protocol.h"
-#include <xkbcommon/xkbcommon.h>
+#include "xdg-shell.h"
+#include "wlr-layer-shell.h"
+#include <signal.h>
+#include <wait.h>
+#include <xkbcommon/xkbcommon.h>
#include <linux/input-event-codes.h>
/* main types */
@@ -41,6 +52,7 @@ typedef struct Keyboard Keyboard;
typedef struct Monitor Monitor;
typedef struct Layout Layout;
typedef struct Client Client;
+typedef struct Deco Deco;
typedef struct Payload Payload;
typedef struct Rule Rule;
@@ -151,18 +163,29 @@ struct Client
struct wl_list tiles;
struct wl_list stack;
struct wl_list focus;
- } pos;
+ } link;
struct {
struct wl_listener map;
struct wl_listener unmap;
struct wl_listener free;
} ev;
- int bw;
- uint tags;
- int floating;
+ int bw;
+ uint tags;
+ int floating;
Monitor *m;
};
+struct Deco
+{
+ struct wl_list link;
+ struct wlr_server_decoration *wlr;
+
+ struct {
+ struct wl_listener free;
+ struct wl_listener mode;
+ } ev;
+};
+
struct Payload
{
struct wlr_output *dev;
@@ -205,6 +228,12 @@ static void ev·mapclient(struct wl_listener *ev, void *arg);
static void ev·unmapclient(struct wl_listener *ev, void *arg);
static void ev·freeclient(struct wl_listener *ev, void *arg);
+static void ev·newdecoration(struct wl_listener *ev, void *arg);
+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·setcursor(struct wl_listener *ev, void *arg);
static void ev·setsel(struct wl_listener *ev, void *arg);
static void ev·setpsel(struct wl_listener *ev, void *arg);