diff options
Diffstat (limited to 'sys/cmd/dway/dway.h')
-rw-r--r-- | sys/cmd/dway/dway.h | 41 |
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); |