From 8f224149f176fb8de90a82b44f4dd1c6a1b89a4f Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Mon, 4 Oct 2021 10:02:50 -0700 Subject: feat(wm): tiling prototype working --- sys/cmd/wm/wm.h | 55 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) (limited to 'sys/cmd/wm/wm.h') diff --git a/sys/cmd/wm/wm.h b/sys/cmd/wm/wm.h index cd51e29..f6ff752 100644 --- a/sys/cmd/wm/wm.h +++ b/sys/cmd/wm/wm.h @@ -217,10 +217,11 @@ struct Server uint32 resize; struct { - struct wlr_output_layout *layout; - struct wl_list list; - struct wlr_box geometry; - Monitor *selected; + struct wlr_output_layout *layout; + struct wl_list list; + struct wlr_box geometry; + struct wlr_output_manager_v1 *manager; + Monitor *selected; } monitor; struct { @@ -240,7 +241,9 @@ struct Server struct wl_listener make_xdg_surface; struct wl_listener make_layer_surface; - struct wl_listener layout_change; + struct wl_listener monitor_test; + struct wl_listener monitor_apply; + struct wl_listener monitor_change; struct wl_listener cursor_move; struct wl_listener cursor_move_abs; @@ -259,41 +262,49 @@ extern struct Server server; // functions /* util.c */ -void scale_box(struct wlr_box *, float); +void scale_box(struct wlr_box *, float); -/* output.c */ -void make_monitor(struct wl_listener *, void *); -void layout_change(struct wl_listener *, void *); +/* render.c */ +void render_monitor(struct wl_listener *, void *); /* xdg.c */ -void make_xdg_surface(struct wl_listener *, void *); +void make_xdg_surface(struct wl_listener *, void *); /* input.c */ -void make_input(struct wl_listener *, void *); +void make_input(struct wl_listener *, void *); -void cursor_axis(struct wl_listener *, void *); -void cursor_frame(struct wl_listener *, void *); -void cursor_button(struct wl_listener *, void *); -void cursor_move(struct wl_listener *, void *); -void cursor_move_abs(struct wl_listener *, void *); +void cursor_axis(struct wl_listener *, void *); +void cursor_frame(struct wl_listener *, void *); +void cursor_button(struct wl_listener *, void *); +void cursor_move(struct wl_listener *, void *); +void cursor_move_abs(struct wl_listener *, void *); -void request_cursor(struct wl_listener *, void *); -void request_set_selection(struct wl_listener *, void *); +void request_cursor(struct wl_listener *, void *); +void request_set_selection(struct wl_listener *, void *); /* client.c */ -void focus(Client *, struct wlr_surface *, int lift); +void rules(Client *); +void focus(Client *, int lift); void resize(Client *, int x, int y, int w, int h, int interact); +void attach(Client *, Monitor *, uint tags); + Client* client_at(double, double, struct wlr_surface **, double *, double *); int client_has(Client *, double, double, struct wlr_surface **, double *, double *); -/* XXX: deprecate */ -void setinteractive(Client *client, int mode, uint32 edges); +void setinteractive(Client *client, int mode, uint32 edges); // XXX: deprecate /* monitor.c */ void tile(Monitor *); void arrange(Monitor *); -Client * focused_client(Monitor *); +Client *focused_client(Monitor *); +Monitor *monitor_at(double x, double y); + +void monitor_test(struct wl_listener *, void *); +void monitor_apply(struct wl_listener *, void *); +void monitor_change(struct wl_listener *, void *); +void free_monitor(struct wl_listener *, void *); +void make_monitor(struct wl_listener *, void *); #define CONFIG(a,b,...) extern a cfg·##b #include "config.h" -- cgit v1.2.1