aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/extensions.h56
-rw-r--r--include/sway/server.h31
2 files changed, 31 insertions, 56 deletions
diff --git a/include/sway/extensions.h b/include/sway/extensions.h
deleted file mode 100644
index 5212eb3a..00000000
--- a/include/sway/extensions.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef _SWAY_EXTENSIONS_H
-#define _SWAY_EXTENSIONS_H
-
-#include <wayland-server.h>
-#include <wlc/wlc-wayland.h>
-#include "wayland-desktop-shell-server-protocol.h"
-#include "list.h"
-
-struct background_config {
- wlc_handle output;
- wlc_resource surface;
- // we need the wl_resource of the surface in the destructor
- struct wl_resource *wl_surface_res;
- struct wl_client *client;
- wlc_handle handle;
-};
-
-struct panel_config {
- // wayland resource used in callbacks, is used to track this panel
- struct wl_resource *wl_resource;
- wlc_handle output;
- wlc_resource surface;
- // we need the wl_resource of the surface in the destructor
- struct wl_resource *wl_surface_res;
- enum desktop_shell_panel_position panel_position;
- // used to determine if client is a panel
- struct wl_client *client;
- // wlc handle for this panel's surface, not set until panel is created
- wlc_handle handle;
-};
-
-struct desktop_shell_state {
- list_t *backgrounds;
- list_t *panels;
- list_t *lock_surfaces;
- bool is_locked;
-};
-
-struct swaylock_state {
- bool active;
- wlc_handle output;
- wlc_resource surface;
-};
-
-struct decoration_state {
- list_t *csd_resources;
-};
-
-extern struct desktop_shell_state desktop_shell;
-extern struct decoration_state decoration_state;
-
-void register_extensions(void);
-
-void server_decoration_enable_csd(wlc_handle handle);
-
-#endif
diff --git a/include/sway/server.h b/include/sway/server.h
new file mode 100644
index 00000000..471a0270
--- /dev/null
+++ b/include/sway/server.h
@@ -0,0 +1,31 @@
+#ifndef _SWAY_SERVER_H
+#define _SWAY_SERVER_H
+#include <stdbool.h>
+#include <wayland-server.h>
+#include <wlr/backend.h>
+#include <wlr/backend/session.h>
+#include <wlr/types/wlr_data_device_manager.h>
+#include <wlr/render.h>
+// TODO WLR: make Xwayland optional
+#include <wlr/xwayland.h>
+
+struct sway_server {
+ // TODO WLR
+ //struct roots_desktop *desktop;
+ //struct roots_input *input;
+
+ struct wl_display *wl_display;
+ struct wl_event_loop *wl_event_loop;
+
+ struct wlr_backend *backend;
+ struct wlr_renderer *renderer;
+
+ struct wlr_data_device_manager *data_device_manager;
+};
+
+bool server_init(struct sway_server *server);
+void server_fini(struct sway_server *server);
+
+struct sway_server server;
+
+#endif