From ce05175372a9ddca1a225db0765ace1127a39293 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 12 Nov 2021 09:22:01 -0800 Subject: chore: simplified organizational structure --- sys/cmd/wm/layer.c | 107 ----------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 sys/cmd/wm/layer.c (limited to 'sys/cmd/wm/layer.c') diff --git a/sys/cmd/wm/layer.c b/sys/cmd/wm/layer.c deleted file mode 100644 index bfac744..0000000 --- a/sys/cmd/wm/layer.c +++ /dev/null @@ -1,107 +0,0 @@ -#include "wm.h" - -static -void -map(struct wl_listener *l, void *data) -{ - Layer *layer = wl_container_of(l, layer, event.map); - wlr_surface_send_enter(layer->surface->surface, layer->surface->output); - notify_move(0); -} - -static -void -finalize(Layer *layer) -{ - layer->surface->mapped = 0; - if (layer->surface->surface == server.input.seat->keyboard_state.focused_surface) - focus(selected_client(), 1); - notify_move(0); -} - -static -void -unmap(struct wl_listener *l, void *data) -{ - Layer *layer = wl_container_of(l, layer, event.unmap); - finalize(layer); -} - -static -void -destroy(struct wl_listener *l, void *data) -{ - Monitor *monitor; - Layer *layer = wl_container_of(l, layer, event.destroy); - - if (layer->surface->mapped) - finalize(layer); - - wl_list_remove(&layer->link); - wl_list_remove(&layer->event.destroy.link); - wl_list_remove(&layer->event.map.link); - wl_list_remove(&layer->event.unmap.link); - wl_list_remove(&layer->event.commit.link); - - if(layer->surface->output) { - monitor = layer->surface->output->data; - if(monitor) - stratify(monitor); - layer->surface->output = nil; - } - free(layer); -} - -static -void -commit(struct wl_listener *l, void *data) -{ - Monitor *monitor; - Layer *layer = wl_container_of(l, layer, event.commit); - struct wlr_layer_surface_v1 *surface = layer->surface; - struct wlr_output *output = surface->output; - - if(!output) - return; - - monitor = output->data; - stratify(monitor); - - if (layer->type != surface->current.layer) { - wl_list_remove(&layer->link); - wl_list_insert(&monitor->layer[surface->current.layer], &layer->link); - layer->type = surface->current.layer; - } -} - -void -make_layer_surface(struct wl_listener *l, void *data) -{ - Layer *layer; - Monitor *monitor; - struct wlr_layer_surface_v1_state state; - struct wlr_layer_surface_v1 *surface = data; - - if(!surface->output) - surface->output = server.monitor.selected->output; - - layer = surface->data = calloc(1, sizeof(*layer)); - layer->surface = surface; - - layer->event.map.notify = map; - wl_signal_add(&surface->events.map, &layer->event.map); - layer->event.unmap.notify = unmap; - wl_signal_add(&surface->events.unmap, &layer->event.unmap); - layer->event.destroy.notify = destroy; - wl_signal_add(&surface->events.destroy, &layer->event.destroy); - layer->event.commit.notify = commit; - wl_signal_add(&surface->surface->events.commit, &layer->event.commit); - - monitor = surface->output->data; - wl_list_insert(&monitor->layer[surface->client_pending.layer], &layer->link); - - state = surface->current; - surface->current = surface->client_pending; - stratify(monitor); - surface->current = state; -} -- cgit v1.2.1