Commit 2f1a499e9cf4b20ffb8af7e8bf3b41466659ef34 Parent: ef78040a4e031d7806aa7e791e8750160b6f1e5f Author: mcol <mcol@posteo.net> Date: 2020-11-08 17:55:50 +0000 Committer: mcol <mcol@posteo.net> Committed: 2020-11-08 17:55:50 +0000 move desk-related code into dedicated files
src/shell.h Modified
@@ -12,10 +12,6 @@ void on_request_move(struct wl_listener *listener, void *data); void on_request_resize(struct wl_listener *listener, void *data); void on_new_xdg_surface(struct wl_listener *listener, void *data); -void add_desk(struct server *server); -void remove_desk(struct desk *desk); -void next_desk(struct server *server); -void prev_desk(struct server *server); void set_up_shell(struct server *server); #endif
src/shell.c Modified
@@ -128,48 +128,6 @@ } -static int num_desks = 0; - - -void add_desk(struct server *server) { - struct desk *desk = calloc(1, sizeof(struct desk)); - wl_list_insert(server->desks.prev, &desk->link); - desk->server = server; - wl_list_init(&desk->views); - assign_colour("#5D479D", desk->background); - desk->index = num_desks; - num_desks++; -} - - -void remove_desk(struct desk *desk) { - wl_list_remove(&desk->link); - free(desk); -} - - -void next_desk(struct server *server) { - struct desk *desk; - if (server->current_desk->index + 1 == num_desks) { - desk = wl_container_of(server->desks.next, desk, link); - } else { - desk = wl_container_of(server->current_desk->link.next, desk, link); - } - server->current_desk = desk; -} - - -void prev_desk(struct server *server) { - struct desk *desk; - if (server->current_desk->index == 0) { - desk = wl_container_of(server->desks.prev, desk, link); - } else { - desk = wl_container_of(server->current_desk->link.prev, desk, link); - } - server->current_desk = desk; -} - - void set_up_shell(struct server *server) { server->shell = wlr_xdg_shell_create(server->display); server->new_xdg_surface_listener.notify = on_new_xdg_surface;
src/input.c Modified
@@ -3,6 +3,7 @@ #include <wlr/types/wlr_data_device.h> #include <wlr/types/wlr_xcursor_manager.h> +#include "desk.h" #include "input.h" #include "shell.h" #include "types.h"
src/desk.h Added
@@ -0,0 +1,11 @@ +#ifndef DESKWM_DESK_H +#define DESKWM_DESK_H + +#include "types.h" + +void add_desk(struct server *server); +void remove_desk(struct desk *desk); +void next_desk(struct server *server); +void prev_desk(struct server *server); + +#endif
src/desk.c Added
@@ -0,0 +1,44 @@ +#include "config.h" +#include "desk.h" +#include "types.h" + +static int num_desks = 0; + + +void add_desk(struct server *server) { + struct desk *desk = calloc(1, sizeof(struct desk)); + wl_list_insert(server->desks.prev, &desk->link); + desk->server = server; + wl_list_init(&desk->views); + assign_colour("#5D479D", desk->background); + desk->index = num_desks; + num_desks++; +} + + +void remove_desk(struct desk *desk) { + wl_list_remove(&desk->link); + free(desk); +} + + +void next_desk(struct server *server) { + struct desk *desk; + if (server->current_desk->index + 1 == num_desks) { + desk = wl_container_of(server->desks.next, desk, link); + } else { + desk = wl_container_of(server->current_desk->link.next, desk, link); + } + server->current_desk = desk; +} + + +void prev_desk(struct server *server) { + struct desk *desk; + if (server->current_desk->index == 0) { + desk = wl_container_of(server->desks.prev, desk, link); + } else { + desk = wl_container_of(server->current_desk->link.prev, desk, link); + } + server->current_desk = desk; +}
src/config.c Modified
@@ -5,7 +5,7 @@ #include <unistd.h> #include "config.h" -#include "shell.h" +#include "desk.h" #include "types.h"