aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-08-09 08:34:59 +0900
committerDrew DeVault <sir@cmpwn.com>2019-08-09 08:34:59 +0900
commit58b2584863201f32d1a4770a1d5cde5e57b300c6 (patch)
tree5e24e6cbb4078eff9c0d1aaeadd24134edea2b90 /include
parent913cac18359d7962e74892771bf6bd3ecf54a4a1 (diff)
Remove rootston
Diffstat (limited to 'include')
-rw-r--r--include/rootston/bindings.h9
-rw-r--r--include/rootston/config.h133
-rw-r--r--include/rootston/cursor.h114
-rw-r--r--include/rootston/desktop.h106
-rw-r--r--include/rootston/ini.h93
-rw-r--r--include/rootston/input.h37
-rw-r--r--include/rootston/keyboard.h34
-rw-r--r--include/rootston/layers.h35
-rw-r--r--include/rootston/output.h88
-rw-r--r--include/rootston/seat.h183
-rw-r--r--include/rootston/server.h37
-rw-r--r--include/rootston/switch.h18
-rw-r--r--include/rootston/text_input.h63
-rw-r--r--include/rootston/view.h257
-rw-r--r--include/rootston/virtual_keyboard.h7
-rw-r--r--include/rootston/xcursor.h12
16 files changed, 0 insertions, 1226 deletions
diff --git a/include/rootston/bindings.h b/include/rootston/bindings.h
deleted file mode 100644
index db38130b..00000000
--- a/include/rootston/bindings.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef ROOTSTON_BINDINGS_H
-#define ROOTSTON_BINDINGS_H
-
-#include "rootston/seat.h"
-#include "rootston/input.h"
-
-void execute_binding_command(struct roots_seat *seat, struct roots_input *input, const char *command);
-
-#endif //ROOTSTON_BINDINGS_H
diff --git a/include/rootston/config.h b/include/rootston/config.h
deleted file mode 100644
index f8132269..00000000
--- a/include/rootston/config.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef ROOTSTON_CONFIG_H
-#define ROOTSTON_CONFIG_H
-
-#include <xf86drmMode.h>
-#include <wlr/types/wlr_input_device.h>
-#include <wlr/types/wlr_switch.h>
-#include <wlr/types/wlr_output_layout.h>
-
-#define ROOTS_CONFIG_DEFAULT_SEAT_NAME "seat0"
-
-struct roots_output_mode_config {
- drmModeModeInfo info;
- struct wl_list link;
-};
-
-struct roots_output_config {
- char *name;
- bool enable;
- enum wl_output_transform transform;
- int x, y;
- float scale;
- struct wl_list link;
- struct {
- int width, height;
- float refresh_rate;
- } mode;
- struct wl_list modes;
-};
-
-struct roots_device_config {
- char *name;
- char *seat;
- char *mapped_output;
- bool tap_enabled;
- struct wlr_box *mapped_box;
- struct wl_list link;
-};
-
-struct roots_binding_config {
- uint32_t modifiers;
- xkb_keysym_t *keysyms;
- size_t keysyms_len;
- char *command;
- struct wl_list link;
-};
-
-struct roots_keyboard_config {
- char *name;
- char *seat;
- uint32_t meta_key;
- char *rules;
- char *model;
- char *layout;
- char *variant;
- char *options;
- int repeat_rate, repeat_delay;
- struct wl_list link;
-};
-
-struct roots_cursor_config {
- char *seat;
- char *mapped_output;
- struct wlr_box *mapped_box;
- char *theme;
- char *default_image;
- struct wl_list link;
-};
-
-struct roots_switch_config {
- char *name;
- enum wlr_switch_type switch_type;
- enum wlr_switch_state switch_state;
- char *command;
- struct wl_list link;
-};
-
-struct roots_config {
- bool xwayland;
- bool xwayland_lazy;
-
- struct wl_list outputs;
- struct wl_list devices;
- struct wl_list bindings;
- struct wl_list keyboards;
- struct wl_list cursors;
- struct wl_list switches;
-
- char *config_path;
- char *startup_cmd;
- bool debug_damage_tracking;
-};
-
-/**
- * Create a roots config from the given command line arguments. Command line
- * arguments can specify the location of the config file. If it is not
- * specified, the default location will be used.
- */
-struct roots_config *roots_config_create_from_args(int argc, char *argv[]);
-
-/**
- * Destroy the config and free its resources.
- */
-void roots_config_destroy(struct roots_config *config);
-
-/**
- * Get configuration for the output. If the output is not configured, returns
- * NULL.
- */
-struct roots_output_config *roots_config_get_output(struct roots_config *config,
- struct wlr_output *output);
-
-/**
- * Get configuration for the device. If the device is not configured, returns
- * NULL.
- */
-struct roots_device_config *roots_config_get_device(struct roots_config *config,
- struct wlr_input_device *device);
-
-/**
- * Get configuration for the keyboard. If the keyboard is not configured,
- * returns NULL. A NULL device returns the default config for keyboards.
- */
-struct roots_keyboard_config *roots_config_get_keyboard(
- struct roots_config *config, struct wlr_input_device *device);
-
-/**
- * Get configuration for the cursor. If the cursor is not configured, returns
- * NULL. A NULL seat_name returns the default config for cursors.
- */
-struct roots_cursor_config *roots_config_get_cursor(struct roots_config *config,
- const char *seat_name);
-
-#endif
diff --git a/include/rootston/cursor.h b/include/rootston/cursor.h
deleted file mode 100644
index 0d6b6014..00000000
--- a/include/rootston/cursor.h
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef ROOTSTON_CURSOR_H
-#define ROOTSTON_CURSOR_H
-
-#include <wlr/types/wlr_pointer_constraints_v1.h>
-#include "rootston/seat.h"
-
-enum roots_cursor_mode {
- ROOTS_CURSOR_PASSTHROUGH = 0,
- ROOTS_CURSOR_MOVE = 1,
- ROOTS_CURSOR_RESIZE = 2,
- ROOTS_CURSOR_ROTATE = 3,
-};
-
-struct roots_cursor {
- struct roots_seat *seat;
- struct wlr_cursor *cursor;
-
- struct wlr_pointer_constraint_v1 *active_constraint;
- pixman_region32_t confine; // invalid if active_constraint == NULL
-
- const char *default_xcursor;
-
- enum roots_cursor_mode mode;
-
- // state from input (review if this is necessary)
- struct wlr_xcursor_manager *xcursor_manager;
- struct wlr_seat *wl_seat;
- struct wl_client *cursor_client;
- int offs_x, offs_y;
- int view_x, view_y, view_width, view_height;
- float view_rotation;
- uint32_t resize_edges;
-
- struct roots_seat_view *pointer_view;
- struct wlr_surface *wlr_surface;
-
- struct wl_listener motion;
- struct wl_listener motion_absolute;
- struct wl_listener button;
- struct wl_listener axis;
- struct wl_listener frame;
- struct wl_listener swipe_begin;
- struct wl_listener swipe_update;
- struct wl_listener swipe_end;
- struct wl_listener pinch_begin;
- struct wl_listener pinch_update;
- struct wl_listener pinch_end;
-
- struct wl_listener touch_down;
- struct wl_listener touch_up;
- struct wl_listener touch_motion;
-
- struct wl_listener tool_axis;
- struct wl_listener tool_tip;
- struct wl_listener tool_proximity;
- struct wl_listener tool_button;
-
- struct wl_listener request_set_cursor;
-
- struct wl_listener focus_change;
-
- struct wl_listener constraint_commit;
-};
-
-struct roots_cursor *roots_cursor_create(struct roots_seat *seat);
-
-void roots_cursor_destroy(struct roots_cursor *cursor);
-
-void roots_cursor_handle_motion(struct roots_cursor *cursor,
- struct wlr_event_pointer_motion *event);
-
-void roots_cursor_handle_motion_absolute(struct roots_cursor *cursor,
- struct wlr_event_pointer_motion_absolute *event);
-
-void roots_cursor_handle_button(struct roots_cursor *cursor,
- struct wlr_event_pointer_button *event);
-
-void roots_cursor_handle_axis(struct roots_cursor *cursor,
- struct wlr_event_pointer_axis *event);
-
-void roots_cursor_handle_frame(struct roots_cursor *cursor);
-
-void roots_cursor_handle_touch_down(struct roots_cursor *cursor,
- struct wlr_event_touch_down *event);
-
-void roots_cursor_handle_touch_up(struct roots_cursor *cursor,
- struct wlr_event_touch_up *event);
-
-void roots_cursor_handle_touch_motion(struct roots_cursor *cursor,
- struct wlr_event_touch_motion *event);
-
-void roots_cursor_handle_tool_axis(struct roots_cursor *cursor,
- struct wlr_event_tablet_tool_axis *event);
-
-void roots_cursor_handle_tool_tip(struct roots_cursor *cursor,
- struct wlr_event_tablet_tool_tip *event);
-
-void roots_cursor_handle_request_set_cursor(struct roots_cursor *cursor,
- struct wlr_seat_pointer_request_set_cursor_event *event);
-
-void roots_cursor_handle_focus_change(struct roots_cursor *cursor,
- struct wlr_seat_pointer_focus_change_event *event);
-
-void roots_cursor_handle_constraint_commit(struct roots_cursor *cursor);
-
-void roots_cursor_update_position(struct roots_cursor *cursor,
- uint32_t time);
-
-void roots_cursor_update_focus(struct roots_cursor *cursor);
-
-void roots_cursor_constrain(struct roots_cursor *cursor,
- struct wlr_pointer_constraint_v1 *constraint, double sx, double sy);
-
-#endif
diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h
deleted file mode 100644
index d3d6ec18..00000000
--- a/include/rootston/desktop.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef ROOTSTON_DESKTOP_H
-#define ROOTSTON_DESKTOP_H
-#include <time.h>
-#include <wayland-server-core.h>
-#include <wlr/config.h>
-#include <wlr/types/wlr_compositor.h>
-#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
-#include <wlr/types/wlr_gamma_control_v1.h>
-#include <wlr/types/wlr_gtk_primary_selection.h>
-#include <wlr/types/wlr_idle_inhibit_v1.h>
-#include <wlr/types/wlr_idle.h>
-#include <wlr/types/wlr_input_inhibitor.h>
-#include <wlr/types/wlr_input_method_v2.h>
-#include <wlr/types/wlr_layer_shell_v1.h>
-#include <wlr/types/wlr_list.h>
-#include <wlr/types/wlr_output_layout.h>
-#include <wlr/types/wlr_output_management_v1.h>
-#include <wlr/types/wlr_output.h>
-#include <wlr/types/wlr_pointer_gestures_v1.h>
-#include <wlr/types/wlr_presentation_time.h>
-#include <wlr/types/wlr_relative_pointer_v1.h>
-#include <wlr/types/wlr_screencopy_v1.h>
-#include <wlr/types/wlr_text_input_v3.h>
-#include <wlr/types/wlr_virtual_keyboard_v1.h>
-#include <wlr/types/wlr_xcursor_manager.h>
-#include <wlr/types/wlr_xdg_decoration_v1.h>
-#include <wlr/types/wlr_xdg_shell_v6.h>
-#include <wlr/types/wlr_xdg_shell.h>
-#include "rootston/config.h"
-#include "rootston/output.h"
-#include "rootston/view.h"
-
-struct roots_desktop {
- struct wl_list views; // roots_view::link
-
- struct wl_list outputs; // roots_output::link
- struct timespec last_frame;
-
- struct roots_server *server;
- struct roots_config *config;
-
- struct wlr_output_layout *layout;
- struct wlr_xcursor_manager *xcursor_manager;
-
- struct wlr_compositor *compositor;
- struct wlr_xdg_shell_v6 *xdg_shell_v6;
- struct wlr_xdg_shell *xdg_shell;
- struct wlr_gamma_control_manager_v1 *gamma_control_manager_v1;
- struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1;
- struct wlr_server_decoration_manager *server_decoration_manager;
- struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager;
- struct wlr_gtk_primary_selection_device_manager *primary_selection_device_manager;
- struct wlr_idle *idle;
- struct wlr_idle_inhibit_manager_v1 *idle_inhibit;
- struct wlr_input_inhibit_manager *input_inhibit;
- struct wlr_layer_shell_v1 *layer_shell;
- struct wlr_input_method_manager_v2 *input_method;
- struct wlr_text_input_manager_v3 *text_input;
- struct wlr_virtual_keyboard_manager_v1 *virtual_keyboard;
- struct wlr_screencopy_manager_v1 *screencopy;
- struct wlr_tablet_manager_v2 *tablet_v2;
- struct wlr_pointer_constraints_v1 *pointer_constraints;
- struct wlr_presentation *presentation;
- struct wlr_foreign_toplevel_manager_v1 *foreign_toplevel_manager_v1;
- struct wlr_relative_pointer_manager_v1 *relative_pointer_manager;
- struct wlr_pointer_gestures_v1 *pointer_gestures;
- struct wlr_output_manager_v1 *output_manager_v1;
-
- struct wl_listener new_output;
- struct wl_listener layout_change;
- struct wl_listener xdg_shell_v6_surface;
- struct wl_listener xdg_shell_surface;
- struct wl_listener layer_shell_surface;
- struct wl_listener xdg_toplevel_decoration;
- struct wl_listener input_inhibit_activate;
- struct wl_listener input_inhibit_deactivate;
- struct wl_listener virtual_keyboard_new;
- struct wl_listener pointer_constraint;
- struct wl_listener output_manager_apply;
- struct wl_listener output_manager_test;
-
-#if WLR_HAS_XWAYLAND
- struct wlr_xwayland *xwayland;
- struct wl_listener xwayland_surface;
-#endif
-};
-
-struct roots_server;
-
-struct roots_desktop *desktop_create(struct roots_server *server,
- struct roots_config *config);
-void desktop_destroy(struct roots_desktop *desktop);
-struct roots_output *desktop_output_from_wlr_output(
- struct roots_desktop *desktop, struct wlr_output *output);
-
-struct wlr_surface *desktop_surface_at(struct roots_desktop *desktop,
- double lx, double ly, double *sx, double *sy,
- struct roots_view **view);
-
-void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
-void handle_xdg_shell_surface(struct wl_listener *listener, void *data);
-void handle_xdg_toplevel_decoration(struct wl_listener *listener, void *data);
-void handle_layer_shell_surface(struct wl_listener *listener, void *data);
-void handle_xwayland_surface(struct wl_listener *listener, void *data);
-
-#endif
diff --git a/include/rootston/ini.h b/include/rootston/ini.h
deleted file mode 100644
index 2804255b..00000000
--- a/include/rootston/ini.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* inih -- simple .INI file parser
-
-inih is released under the New BSD license (see LICENSE.txt). Go to the project
-home page for more info:
-
-https://github.com/benhoyt/inih
-
-*/
-
-#ifndef __INI_H__
-#define __INI_H__
-
-/* Make this header file easier to include in C++ code */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdio.h>
-
-/* Typedef for prototype of handler function. */
-typedef int (*ini_handler)(void* user, const char* section,
- const char* name, const char* value);
-
-/* Typedef for prototype of fgets-style reader function. */
-typedef char* (*ini_reader)(char* str, int num, void* stream);
-
-/* Parse given INI-style file. May have [section]s, name=value pairs
- (whitespace stripped), and comments starting with ';' (semicolon). Section
- is "" if name=value pair parsed before any section heading. name:value
- pairs are also supported as a concession to Python's configparser.
-
- For each name=value pair parsed, call handler function with given user
- pointer as well as section, name, and value (data only valid for duration
- of handler call). Handler should return nonzero on success, zero on error.
-
- Returns 0 on success, line number of first error on parse error (doesn't
- stop on first error), -1 on file open error, or -2 on memory allocation
- error (only when INI_USE_STACK is zero).
-*/
-int ini_parse(const char* filename, ini_handler handler, void* user);
-
-/* Same as ini_parse(), but takes a FILE* instead of filename. This doesn't
- close the file when it's finished -- the caller must do that. */
-int ini_parse_file(FILE* file, ini_handler handler, void* user);
-
-/* Same as ini_parse(), but takes an ini_reader function pointer instead of
- filename. Used for implementing custom or string-based I/O. */
-int ini_parse_stream(ini_reader reader, void* stream, ini_handler handler,
- void* user);
-
-/* Nonzero to allow multi-line value parsing, in the style of Python's
- configparser. If allowed, ini_parse() will call the handler with the same
- name for each subsequent line parsed. */
-#ifndef INI_ALLOW_MULTILINE
-#define INI_ALLOW_MULTILINE 1
-#endif
-
-/* Nonzero to allow a UTF-8 BOM sequence (0xEF 0xBB 0xBF) at the start of
- the file. See http://code.google.com/p/inih/issues/detail?id=21 */
-#ifndef INI_ALLOW_BOM
-#define INI_ALLOW_BOM 1
-#endif
-
-/* Nonzero to allow inline comments (with valid inline comment characters
- specified by INI_INLINE_COMMENT_PREFIXES). Set to 0 to turn off and match
- Python 3.2+ configparser behaviour. */
-#ifndef INI_ALLOW_INLINE_COMMENTS
-#define INI_ALLOW_INLINE_COMMENTS 1
-#endif
-#ifndef INI_INLINE_COMMENT_PREFIXES
-#define INI_INLINE_COMMENT_PREFIXES ";"
-#endif
-
-/* Nonzero to use stack, zero to use heap (malloc/free). */
-#ifndef INI_USE_STACK
-#define INI_USE_STACK 1
-#endif
-
-/* Stop parsing on first error (default is to keep parsing). */
-#ifndef INI_STOP_ON_FIRST_ERROR
-#define INI_STOP_ON_FIRST_ERROR 0
-#endif
-
-/* Maximum line length for any line in INI file. */
-#ifndef INI_MAX_LINE
-#define INI_MAX_LINE 2000
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __INI_H__ */
diff --git a/include/rootston/input.h b/include/rootston/input.h
deleted file mode 100644
index a799db59..00000000
--- a/include/rootston/input.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef ROOTSTON_INPUT_H
-#define ROOTSTON_INPUT_H
-
-#include <wayland-server-core.h>
-#include <wlr/types/wlr_cursor.h>
-#include <wlr/types/wlr_input_device.h>
-#include <wlr/types/wlr_seat.h>
-#include "rootston/config.h"
-#include "rootston/cursor.h"
-#include "rootston/server.h"
-#include "rootston/view.h"
-
-struct roots_input {
- struct roots_config *config;
- struct roots_server *server;
-
- struct wl_listener new_input;
-
- struct wl_list seats; // roots_seat::link
-};
-
-struct roots_input *input_create(struct roots_server *server,
- struct roots_config *config);
-void input_destroy(struct roots_input *input);
-
-struct roots_seat *input_seat_from_wlr_seat(struct roots_input *input,
- struct wlr_seat *seat);
-
-bool input_view_has_focus(struct roots_input *input, struct roots_view *view);
-
-struct roots_seat *input_get_seat(struct roots_input *input, char *name);
-
-struct roots_seat *input_last_active_seat(struct roots_input *input);
-
-void input_update_cursor_focus(struct roots_input *input);
-
-#endif
diff --git a/include/rootston/keyboard.h b/include/rootston/keyboard.h
deleted file mode 100644
index 0140389a..00000000
--- a/include/rootston/keyboard.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef ROOTSTON_KEYBOARD_H
-#define ROOTSTON_KEYBOARD_H
-
-#include <xkbcommon/xkbcommon.h>
-#include "rootston/input.h"
-
-#define ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP 32
-
-struct roots_keyboard {
- struct roots_input *input;
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct roots_keyboard_config *config;
- struct wl_list link;
-
- struct wl_listener device_destroy;
- struct wl_listener keyboard_key;
- struct wl_listener keyboard_modifiers;
-
- xkb_keysym_t pressed_keysyms_translated[ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP];
- xkb_keysym_t pressed_keysyms_raw[ROOTS_KEYBOARD_PRESSED_KEYSYMS_CAP];
-};
-
-struct roots_keyboard *roots_keyboard_create(struct wlr_input_device *device,
- struct roots_input *input);
-
-void roots_keyboard_destroy(struct roots_keyboard *keyboard);
-
-void roots_keyboard_handle_key(struct roots_keyboard *keyboard,
- struct wlr_event_keyboard_key *event);
-
-void roots_keyboard_handle_modifiers(struct roots_keyboard *r_keyboard);
-
-#endif
diff --git a/include/rootston/layers.h b/include/rootston/layers.h
deleted file mode 100644
index 0dacf20f..00000000
--- a/include/rootston/layers.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef ROOTSTON_LAYERS_H
-#define ROOTSTON_LAYERS_H
-#include <stdbool.h>
-#include <wlr/types/wlr_box.h>
-#include <wlr/types/wlr_surface.h>
-#include <wlr/types/wlr_layer_shell_v1.h>
-
-struct roots_layer_surface {
- struct wlr_layer_surface_v1 *layer_surface;
- struct wl_list link;
-
- struct wl_listener destroy;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener surface_commit;
- struct wl_listener output_destroy;
- struct wl_listener new_popup;
-
- bool configured;
- struct wlr_box geo;
-};
-
-struct roots_layer_popup {
- struct roots_layer_surface *parent;
- struct wlr_xdg_popup *wlr_popup;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener destroy;
- struct wl_listener commit;
-};
-
-struct roots_output;
-void arrange_layers(struct roots_output *output);
-
-#endif
diff --git a/include/rootston/output.h b/include/rootston/output.h
deleted file mode 100644
index 257d9367..00000000
--- a/include/rootston/output.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef ROOTSTON_OUTPUT_H
-#define ROOTSTON_OUTPUT_H
-#include <pixman.h>
-#include <time.h>
-#include <wayland-server-core.h>
-#include <wlr/types/wlr_box.h>
-#include <wlr/types/wlr_output_damage.h>
-
-struct roots_desktop;
-
-struct roots_output {
- struct roots_desktop *desktop;
- struct wlr_output *wlr_output;
- struct wl_list link; // roots_desktop:outputs
-
- struct roots_view *fullscreen_view;
- struct wl_list layers[4]; // layer_surface::link
-
- struct timespec last_frame;
- struct wlr_output_damage *damage;
-
- struct wlr_box usable_area;
-
- struct wl_listener destroy;
- struct wl_listener enable;
- struct wl_listener mode;
- struct wl_listener transform;
- struct wl_listener present;
- struct wl_listener damage_frame;
- struct wl_listener damage_destroy;
-};
-
-typedef void (*roots_surface_iterator_func_t)(struct roots_output *output,
- struct wlr_surface *surface, struct wlr_box *box, float rotation,
- void *user_data);
-
-void rotate_child_position(double *sx, double *sy, double sw, double sh,
- double pw, double ph, float rotation);
-
-struct roots_input;
-
-void output_surface_for_each_surface(struct roots_output *output,
- struct wlr_surface *surface, double ox, double oy,
- roots_surface_iterator_func_t iterator, void *user_data);
-void output_view_for_each_surface(struct roots_output *output,
- struct roots_view *view, roots_surface_iterator_func_t iterator,
- void *user_data);
-void output_drag_icons_for_each_surface(struct roots_output *output,
- struct roots_input *input, roots_surface_iterator_func_t iterator,
- void *user_data);
-void output_layer_for_each_surface(struct roots_output *output,
- struct wl_list *layer_surfaces, roots_surface_iterator_func_t iterator,
- void *user_data);
-#if WLR_HAS_XWAYLAND
-struct wlr_xwayland_surface;
-void output_xwayland_children_for_each_surface(
- struct roots_output *output, struct wlr_xwayland_surface *surface,
- roots_surface_iterator_func_t iterator, void *user_data);
-#endif
-void output_for_each_surface(struct roots_output *output,
- roots_surface_iterator_func_t iterator, void *user_data);
-
-void handle_new_output(struct wl_listener *listener, void *data);
-void handle_output_manager_apply(struct wl_listener *listener, void *data);
-void handle_output_manager_test(struct wl_listener *listener, void *data);
-
-struct roots_view;
-struct roots_drag_icon;
-
-void output_damage_whole(struct roots_output *output);
-void output_damage_whole_view(struct roots_output *output,
- struct roots_view *view);
-void output_damage_from_view(struct roots_output *output,
- struct roots_view *view);
-void output_damage_whole_drag_icon(struct roots_output *output,
- struct roots_drag_icon *icon);
-void output_damage_from_local_surface(struct roots_output *output,
- struct wlr_surface *surface, double ox, double oy);
-void output_damage_whole_local_surface(struct roots_output *output,
- struct wlr_surface *surface, double ox, double oy);
-
-void output_render(struct roots_output *output);
-
-void scale_box(struct wlr_box *box, float scale);
-void get_decoration_box(struct roots_view *view,
- struct roots_output *output, struct wlr_box *box);
-
-#endif
diff --git a/include/rootston/seat.h b/include/rootston/seat.h
deleted file mode 100644
index fa3a83dd..00000000
--- a/include/rootston/seat.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef ROOTSTON_SEAT_H
-#define ROOTSTON_SEAT_H
-
-#include <wayland-server-core.h>
-#include "rootston/input.h"
-#include "rootston/keyboard.h"
-#include "rootston/layers.h"
-#include "rootston/switch.h"
-#include "rootston/text_input.h"
-
-struct roots_seat {
- struct roots_input *input;
- struct wlr_seat *seat;
- struct roots_cursor *cursor;
- struct wl_list link; // roots_input::seats
-
- // coordinates of the first touch point if it exists
- int32_t touch_id;
- double touch_x, touch_y;
-
- // If the focused layer is set, views cannot receive keyboard focus
- struct wlr_layer_surface_v1 *focused_layer;
-
- struct roots_input_method_relay im_relay;
-
- // If non-null, only this client can receive input events
- struct wl_client *exclusive_client;
-
- struct wl_list views; // roots_seat_view::link
- bool has_focus;
-
- struct roots_drag_icon *drag_icon; // can be NULL
-
- struct wl_list keyboards;
- struct wl_list pointers;
- struct wl_list switches;
- struct wl_list touch;
- struct wl_list tablets;
- struct wl_list tablet_pads;
-
- struct wl_listener request_set_selection;
- struct wl_listener request_set_primary_selection;
- struct wl_listener request_start_drag;
- struct wl_listener start_drag;
- struct wl_listener destroy;
-};
-
-struct roots_seat_view {
- struct roots_seat *seat;
- struct roots_view *view;
-
- bool has_button_grab;
- double grab_sx;
- double grab_sy;
-
- struct wl_list link; // roots_seat::views
-
- struct wl_listener view_unmap;
- struct wl_listener view_destroy;
-};
-
-struct roots_drag_icon {
- struct roots_seat *seat;
- struct wlr_drag_icon *wlr_drag_icon;
-
- double x, y;
-
- struct wl_listener surface_commit;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener destroy;
-};
-
-struct roots_pointer {
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct wl_listener device_destroy;
- struct wl_list link;
-};
-
-struct roots_touch {
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct wl_listener device_destroy;
- struct wl_list link;
-};
-
-struct roots_tablet {
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct wlr_tablet_v2_tablet *tablet_v2;
-
- struct wl_listener device_destroy;
- struct wl_listener axis;
- struct wl_listener proximity;
- struct wl_listener tip;
- struct wl_listener button;
- struct wl_list link;
-};
-
-struct roots_tablet_pad {
- struct wl_list link;
- struct wlr_tablet_v2_tablet_pad *tablet_v2_pad;
-
- struct roots_seat *seat;
- struct wlr_input_device *device;
-
- struct wl_listener device_destroy;
- struct wl_listener attach;
- struct wl_listener button;
- struct wl_listener ring;
- struct wl_listener strip;
-
- struct roots_tablet *tablet;
- struct wl_listener tablet_destroy;
-};
-
-struct roots_tablet_tool {
- struct wl_list link;
- struct wl_list tool_link;
- struct wlr_tablet_v2_tablet_tool *tablet_v2_tool;
-
- struct roots_seat *seat;
- double tilt_x, tilt_y;
-
- struct wl_listener set_cursor;
- struct wl_listener tool_destroy;
-
- struct roots_tablet *current_tablet;
- struct wl_listener tablet_destroy;
-};
-
-struct roots_pointer_constraint {
- struct wlr_pointer_constraint_v1 *constraint;
-
- struct wl_listener destroy;
-};
-
-struct roots_seat *roots_seat_create(struct roots_input *input, char *name);
-
-void roots_seat_destroy(struct roots_seat *seat);
-
-void roots_seat_add_device(struct roots_seat *seat,
- struct wlr_input_device *device);
-
-void roots_seat_configure_cursor(struct roots_seat *seat);
-
-void roots_seat_configure_xcursor(struct roots_seat *seat);
-
-bool roots_seat_has_meta_pressed(struct roots_seat *seat);
-
-struct roots_view *roots_seat_get_focus(struct roots_seat *seat);
-
-void roots_seat_set_focus(struct roots_seat *seat, struct roots_view *view);
-
-void roots_seat_set_focus_layer(struct roots_seat *seat,
- struct wlr_layer_surface_v1 *layer);
-
-void roots_seat_cycle_focus(struct roots_seat *seat);
-
-void roots_seat_begin_move(struct roots_seat *seat, struct roots_view *view);
-
-void roots_seat_begin_resize(struct roots_seat *seat, struct roots_view *view,
- uint32_t edges);
-
-void roots_seat_begin_rotate(struct roots_seat *seat, struct roots_view *view);
-
-void roots_seat_end_compositor_grab(struct roots_seat *seat);
-
-struct roots_seat_view *roots_seat_view_from_view( struct roots_seat *seat,
- struct roots_view *view);
-
-void roots_drag_icon_update_position(struct roots_drag_icon *icon);
-
-void roots_drag_icon_damage_whole(struct roots_drag_icon *icon);
-
-void roots_seat_set_exclusive_client(struct roots_seat *seat,
- struct wl_client *client);
-
-bool roots_seat_allow_input(struct roots_seat *seat,
- struct wl_resource *resource);
-
-#endif
diff --git a/include/rootston/server.h b/include/rootston/server.h
deleted file mode 100644
index f48549f2..00000000
--- a/include/rootston/server.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _ROOTSTON_SERVER_H
-#define _ROOTSTON_SERVER_H
-
-#include <wayland-server-core.h>
-#include <wlr/backend.h>
-#include <wlr/backend/session.h>
-#include <wlr/config.h>
-#include <wlr/render/wlr_renderer.h>
-#include <wlr/types/wlr_data_device.h>
-#if WLR_HAS_XWAYLAND
-#include <wlr/xwayland.h>
-#endif
-#include "rootston/config.h"
-#include "rootston/desktop.h"
-#include "rootston/input.h"
-
-struct roots_server {
- /* Rootston resources */
- struct roots_config *config;
- struct roots_desktop *desktop;
- struct roots_input *input;
-
- /* Wayland resources */
- struct wl_display *wl_display;
- struct wl_event_loop *wl_event_loop;
-
- /* WLR tools */
- struct wlr_backend *backend;
- struct wlr_renderer *renderer;
-
- /* Global resources */
- struct wlr_data_device_manager *data_device_manager;
-};
-
-extern struct roots_server server;
-
-#endif
diff --git a/include/rootston/switch.h b/include/rootston/switch.h
deleted file mode 100644
index 32bc3dab..00000000
--- a/include/rootston/switch.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef ROOTSTON_SWITCH_H
-#define ROOTSTON_SWITCH_H
-
-#include "rootston/input.h"
-
-struct roots_switch {
- struct roots_seat *seat;
- struct wlr_input_device *device;
- struct wl_listener device_destroy;
-
- struct wl_listener toggle;
- struct wl_list link;
-};
-
-void roots_switch_handle_toggle(struct roots_switch *switch_device,
- struct wlr_event_switch_toggle *event);
-
-#endif
diff --git a/include/rootston/text_input.h b/include/rootston/text_input.h
deleted file mode 100644
index 82e45e3e..00000000
--- a/include/rootston/text_input.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef ROOTSTON_TEXT_INPUT_H
-#define ROOTSTON_TEXT_INPUT_H
-
-#include <wlr/types/wlr_text_input_v3.h>
-#include <wlr/types/wlr_input_method_v2.h>
-#include <wlr/types/wlr_surface.h>
-#include "rootston/seat.h"
-
-/**
- * The relay structure manages the relationship between text-input and
- * input_method interfaces on a given seat. Multiple text-input interfaces may
- * be bound to a relay, but at most one will be focused (reveiving events) at
- * a time. At most one input-method interface may be bound to the seat. The
- * relay manages life cycle of both sides. When both sides are present and
- * focused, the relay passes messages between them.
- *
- * Text input focus is a subset of keyboard focus - if the text-input is
- * in the focused state, wl_keyboard sent an enter as well. However, having
- * wl_keyboard focused doesn't mean that text-input will be focused.
- */
-struct roots_input_method_relay {
- struct roots_seat *seat;
-
- struct wl_list text_inputs; // roots_text_input::link
- struct wlr_input_method_v2 *input_method; // doesn't have to be present
-
- struct wl_listener text_input_new;
- struct wl_listener text_input_enable;
- struct wl_listener text_input_commit;
- struct wl_listener text_input_disable;
- struct wl_listener text_input_destroy;
-
- struct wl_listener input_method_new;
- struct wl_listener input_method_commit;
- struct wl_listener input_method_destroy;
-};
-
-struct roots_text_input {
- struct roots_input_method_relay *relay;
-
- struct wlr_text_input_v3 *input;
- // The surface getting seat's focus. Stored for when text-input cannot
- // be sent an enter event immediately after getting focus, e.g. when
- // there's no input method available. Cleared once text-input is entered.
- struct wlr_surface *pending_focused_surface;
-
- struct wl_list link;
-
- struct wl_listener pending_focused_surface_destroy;
-};
-
-void roots_input_method_relay_init(struct roots_seat *seat,
- struct roots_input_method_relay *relay);
-
-// Updates currently focused surface. Surface must belong to the same seat.
-void roots_input_method_relay_set_focus(struct roots_input_method_relay *relay,
- struct wlr_surface *surface);
-
-struct roots_text_input *roots_text_input_create(
- struct roots_input_method_relay *relay,
- struct wlr_text_input_v3 *text_input);
-
-#endif
diff --git a/include/rootston/view.h b/include/rootston/view.h
deleted file mode 100644
index 1c5dcaff..00000000
--- a/include/rootston/view.h
+++ /dev/null
@@ -1,257 +0,0 @@
-#ifndef ROOTSTON_VIEW_H
-#define ROOTSTON_VIEW_H
-#include <stdbool.h>
-#include <wlr/config.h>
-#include <wlr/types/wlr_box.h>
-#include <wlr/types/wlr_foreign_toplevel_management_v1.h>
-#include <wlr/types/wlr_surface.h>
-#include <wlr/types/wlr_xdg_decoration_v1.h>
-#include <wlr/types/wlr_xdg_shell_v6.h>
-#include <wlr/types/wlr_xdg_shell.h>
-
-struct roots_view;
-
-struct roots_view_interface {
- void (*activate)(struct roots_view *view, bool active);
- void (*move)(struct roots_view *view, double x, double y);
- void (*resize)(struct roots_view *view, uint32_t width, uint32_t height);
- void (*move_resize)(struct roots_view *view, double x, double y,
- uint32_t width, uint32_t height);
- void (*maximize)(struct roots_view *view, bool maximized);
- void (*set_fullscreen)(struct roots_view *view, bool fullscreen);
- void (*close)(struct roots_view *view);
- void (*for_each_surface)(struct roots_view *view,
- wlr_surface_iterator_func_t iterator, void *user_data);
- void (*destroy)(struct roots_view *view);
-};
-
-enum roots_view_type {
- ROOTS_XDG_SHELL_V6_VIEW,
- ROOTS_XDG_SHELL_VIEW,
-#if WLR_HAS_XWAYLAND
- ROOTS_XWAYLAND_VIEW,
-#endif
-};
-
-struct roots_view {
- enum roots_view_type type;
- const struct roots_view_interface *impl;
- struct roots_desktop *desktop;
- struct wl_list link; // roots_desktop::views
-
- struct wlr_box box;
- float rotation;
- float alpha;
-
- bool decorated;
- int border_width;
- int titlebar_height;
-
- bool maximized;
- struct roots_output *fullscreen_output;
- struct {
- double x, y;
- uint32_t width, height;
- float rotation;
- } saved;
-
- struct {
- bool update_x, update_y;
- double x, y;
- uint32_t width, height;
- } pending_move_resize;
-
- struct wlr_surface *wlr_surface;
- struct wl_list children; // roots_view_child::link
-
- struct wlr_foreign_toplevel_handle_v1 *toplevel_handle;
- struct wl_listener toplevel_handle_request_maximize;
- struct wl_listener toplevel_handle_request_activate;
- struct wl_listener toplevel_handle_request_fullscreen;
- struct wl_listener toplevel_handle_request_close;
-
- struct wl_listener new_subsurface;
-
- struct {
- struct wl_signal unmap;
- struct wl_signal destroy;
- } events;
-};
-
-struct roots_xdg_surface_v6 {
- struct roots_view view;
-
- struct wlr_xdg_surface_v6 *xdg_surface_v6;
-
- struct wl_listener destroy;
- struct wl_listener new_popup;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener request_move;
- struct wl_listener request_resize;
- struct wl_listener request_maximize;
- struct wl_listener request_fullscreen;
- struct wl_listener set_title;
- struct wl_listener set_app_id;
-
- struct wl_listener surface_commit;
-
- uint32_t pending_move_resize_configure_serial;
-};
-
-struct roots_xdg_toplevel_decoration;
-
-struct roots_xdg_surface {
- struct roots_view view;
-
- struct wlr_xdg_surface *xdg_surface;
-
- struct wl_listener destroy;
- struct wl_listener new_popup;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener request_move;
- struct wl_listener request_resize;
- struct wl_listener request_maximize;
- struct wl_listener request_fullscreen;
- struct wl_listener set_title;
- struct wl_listener set_app_id;
-
- struct wl_listener surface_commit;
-
- uint32_t pending_move_resize_configure_serial;
-
- struct roots_xdg_toplevel_decoration *xdg_toplevel_decoration;
-};
-
-#if WLR_HAS_XWAYLAND
-struct roots_xwayland_surface {
- struct roots_view view;
-
- struct wlr_xwayland_surface *xwayland_surface;
-
- struct wl_listener destroy;
- struct wl_listener request_configure;
- struct wl_listener request_move;
- struct wl_listener request_resize;
- struct wl_listener request_maximize;
- struct wl_listener request_fullscreen;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener set_title;
- struct wl_listener set_class;
-
- struct wl_listener surface_commit;
-};
-#endif
-
-struct roots_view_child;
-
-struct roots_view_child_interface {
- void (*destroy)(struct roots_view_child *child);
-};
-
-struct roots_view_child {
- struct roots_view *view;
- const struct roots_view_child_interface *impl;
- struct wlr_surface *wlr_surface;
- struct wl_list link;
-
- struct wl_listener commit;
- struct wl_listener new_subsurface;
-};
-
-struct roots_subsurface {
- struct roots_view_child view_child;
- struct wlr_subsurface *wlr_subsurface;
- struct wl_listener destroy;
- struct wl_listener map;
- struct wl_listener unmap;
-};
-
-struct roots_xdg_popup_v6 {
- struct roots_view_child view_child;
- struct wlr_xdg_popup_v6 *wlr_popup;
- struct wl_listener destroy;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener new_popup;
-};
-
-struct roots_xdg_popup {
- struct roots_view_child view_child;
- struct wlr_xdg_popup *wlr_popup;
- struct wl_listener destroy;
- struct wl_listener map;
- struct wl_listener unmap;
- struct wl_listener new_popup;
-};
-
-struct roots_xdg_toplevel_decoration {
- struct wlr_xdg_toplevel_decoration_v1 *wlr_decoration;
- struct roots_xdg_surface *surface;
- struct wl_listener destroy;
- struct wl_listener request_mode;
- struct wl_listener surface_commit;
-};
-
-void view_init(struct roots_view *view, const struct roots_view_interface *impl,
- enum roots_view_type type, struct roots_desktop *desktop);
-void view_destroy(struct roots_view *view);
-void view_apply_damage(struct roots_view *view);
-void view_damage_whole(struct roots_view *view);
-void view_update_position(struct roots_view *view, int x, int y);
-void view_update_size(struct roots_view *view, int width, int height);
-void view_update_decorated(struct roots_view *view, bool decorated);
-void view_initial_focus(struct roots_view *view);
-void view_map(struct roots_view *view, struct wlr_surface *surface);
-void view_unmap(struct roots_view *view);
-void view_arrange_maximized(struct roots_view *view);
-void view_get_box(const struct roots_view *view, struct wlr_box *box);
-void view_activate(struct roots_view *view, bool active);
-void view_move(struct roots_view *view, double x, double y);
-void view_resize(struct roots_view *view, uint32_t width, uint32_t height);
-void view_move_resize(struct roots_view *view, double x, double y,
- uint32_t width, uint32_t height);
-void view_maximize(struct roots_view *view, bool maximized);
-void view_set_fullscreen(struct roots_view *view, bool fullscreen,
- struct wlr_output *output);
-void view_rotate(struct roots_view *view, float rotation);
-void view_cycle_alpha(struct roots_view *view);
-void view_close(struct roots_view *view);
-bool view_center(struct roots_view *view);
-void view_setup(struct roots_view *view);
-void view_teardown(struct roots_view *view);
-void view_set_title(struct roots_view *view, const char *title);
-void view_set_app_id(struct roots_view *view, const char *app_id);
-void view_create_foreign_toplevel_handle(struct roots_view *view);
-void view_get_deco_box(const struct roots_view *view, struct wlr_box *box);
-void view_for_each_surface(struct roots_view *view,
- wlr_surface_iterator_func_t iterator, void *user_data);
-
-struct roots_xdg_surface *roots_xdg_surface_from_view(struct roots_view *view);
-struct roots_xdg_surface_v6 *roots_xdg_surface_v6_from_view(
- struct roots_view *view);
-struct roots_xwayland_surface *roots_xwayland_surface_from_view(
- struct roots_view *view);
-
-enum roots_deco_part {
- ROOTS_DECO_PART_NONE = 0,
- ROOTS_DECO_PART_TOP_BORDER = (1 << 0),
- ROOTS_DECO_PART_BOTTOM_BORDER = (1 << 1),
- ROOTS_DECO_PART_LEFT_BORDER = (1 << 2),
- ROOTS_DECO_PART_RIGHT_BORDER = (1 << 3),
- ROOTS_DECO_PART_TITLEBAR = (1 << 4),
-};
-
-enum roots_deco_part view_get_deco_part(struct roots_view *view, double sx, double sy);
-
-void view_child_init(struct roots_view_child *child,
- const struct roots_view_child_interface *impl, struct roots_view *view,
- struct wlr_surface *wlr_surface);
-void view_child_destroy(struct roots_view_child *child);
-
-struct roots_subsurface *subsurface_create(struct roots_view *view,
- struct wlr_subsurface *wlr_subsurface);
-
-#endif
diff --git a/include/rootston/virtual_keyboard.h b/include/rootston/virtual_keyboard.h
deleted file mode 100644
index 613e5595..00000000
--- a/include/rootston/virtual_keyboard.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef ROOTSTON_VIRTUAL_KEYBOARD_H
-#define ROOTSTON_VIRTUAL_KEYBOARD_H
-
-#include <wayland-server-core.h>
-
-void handle_virtual_keyboard(struct wl_listener *listener, void *data);
-#endif
diff --git a/include/rootston/xcursor.h b/include/rootston/xcursor.h
deleted file mode 100644
index f78489a4..00000000
--- a/include/rootston/xcursor.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef ROOTSTON_XCURSOR_H
-#define ROOTSTON_XCURSOR_H
-
-#include <stdint.h>
-
-#define ROOTS_XCURSOR_SIZE 24
-
-#define ROOTS_XCURSOR_DEFAULT "left_ptr"
-#define ROOTS_XCURSOR_MOVE "grabbing"
-#define ROOTS_XCURSOR_ROTATE "grabbing"
-
-#endif