diff --git a/clients/window.c b/clients/window.c
index a833446..6e92e76 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -183,7 +183,6 @@
 
 struct menu {
 	struct window *window;
-	struct widget *widget;
 	const char **entries;
 	uint32_t time;
 	int current;
@@ -2197,14 +2196,14 @@
 }
 
 static int
-menu_set_item(struct widget *widget, struct menu *menu, int sy)
+menu_set_item(struct menu *menu, int sy)
 {
 	int next;
 
 	next = (sy - 8) / 20;
 	if (menu->current != next) {
 		menu->current = next;
-		widget_schedule_redraw(widget);
+		widget_schedule_redraw(menu->window->widget);
 	}
 
 	return POINTER_LEFT_PTR;
@@ -2215,9 +2214,10 @@
 		    struct input *input, uint32_t time,
 		    int32_t x, int32_t y, void *data)
 {
-	struct menu *menu = data;
+	struct window *window = data;
+	struct menu *menu = window_get_user_data(window);
 
-	return menu_set_item(menu->widget, menu, y);
+	return menu_set_item(menu, y);
 }
 
 static void
@@ -2225,13 +2225,19 @@
 		   struct input *input, uint32_t time,
 		   int32_t x, int32_t y, void *data)
 {
-	menu_set_item(widget, data, y);
+	struct window *window = data;
+	struct menu *menu = window_get_user_data(window);
+
+	menu_set_item(menu, y);
 }
 
 static void
 menu_leave_handler(struct widget *widget, struct input *input, void *data)
 {
-	menu_set_item(widget, data, -200);
+	struct window *window = data;
+	struct menu *menu = window_get_user_data(window);
+
+	menu_set_item(menu, -200);
 }
 
 static void
@@ -2262,7 +2268,6 @@
 	height = menu->count * 20 + margin * 2;
 	window_set_child_size(window, width, height);
 	window_create_surface(window);
-	widget_set_allocation(menu->widget, 0, 0, width, height);
 
 	cr = cairo_create(window->cairo_surface);
 	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
@@ -2332,10 +2337,9 @@
 	window_set_redraw_handler(window, menu_redraw_handler);
 	window_set_user_data(window, menu);
 
-	menu->widget = window_add_widget(window, menu);
-	widget_set_enter_handler(menu->widget, menu_enter_handler);
-	widget_set_leave_handler(menu->widget, menu_leave_handler);
-	widget_set_motion_handler(menu->widget, menu_motion_handler);
+	widget_set_enter_handler(window->widget, menu_enter_handler);
+	widget_set_leave_handler(window->widget, menu_leave_handler);
+	widget_set_motion_handler(window->widget, menu_motion_handler);
 
 	return window;
 }
