aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/wm/wm.h
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-10-04 10:02:50 -0700
committerNicholas Noll <nbnoll@eml.cc>2021-10-04 10:02:50 -0700
commit8f224149f176fb8de90a82b44f4dd1c6a1b89a4f (patch)
tree3f1c8ad87b6454e3d81ea732d8d9cba61b75841d /sys/cmd/wm/wm.h
parentd69354eedb0b25767293b7aac9ab32def01005f3 (diff)
feat(wm): tiling prototype working
Diffstat (limited to 'sys/cmd/wm/wm.h')
-rw-r--r--sys/cmd/wm/wm.h55
1 files changed, 33 insertions, 22 deletions
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"