summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwl.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/dwl.c b/dwl.c
index c829351..082c9a4 100644
--- a/dwl.c
+++ b/dwl.c
@@ -304,7 +304,7 @@ buttonpress(struct wl_listener *listener, void *data)
void
createkeyboard(struct wlr_input_device *device)
{
- Keyboard *kb = calloc(1, sizeof(*kb));
+ Keyboard *kb = device->data = calloc(1, sizeof(*kb));
kb->device = device;
/* Prepare an XKB keymap and assign it to the keyboard. */
@@ -350,7 +350,7 @@ createmon(struct wl_listener *listener, void *data)
}
/* Allocates and configures monitor state using configured rules */
- Monitor *m = calloc(1, sizeof(*m));
+ Monitor *m = wlr_output->data = calloc(1, sizeof(*m));
m->wlr_output = wlr_output;
m->tagset[0] = m->tagset[1] = 1;
int i;
@@ -393,7 +393,7 @@ createnotify(struct wl_listener *listener, void *data)
return;
/* Allocate a Client for this surface */
- Client *c = calloc(1, sizeof(*c));
+ Client *c = xdg_surface->data = calloc(1, sizeof(*c));
c->xdg_surface = xdg_surface;
c->bw = borderpx;
struct wlr_box geom;
@@ -1375,11 +1375,7 @@ Monitor *
xytomon(double x, double y)
{
struct wlr_output *o = wlr_output_layout_output_at(output_layout, x, y);
- Monitor *m;
- wl_list_for_each(m, &mons, link)
- if (m->wlr_output == o)
- return m;
- return NULL;
+ return o ? o->data : NULL;
}
int