mirror of
https://github.com/swaywm/sway.git
synced 2025-11-17 06:59:48 -05:00
Fire up the wlroots backend and run the event loop
This commit is contained in:
parent
6edc32848f
commit
7c448b4081
11 changed files with 160 additions and 904 deletions
|
|
@ -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
|
||||
31
include/sway/server.h
Normal file
31
include/sway/server.h
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue