summaryrefslogtreecommitdiffstats
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/commands.h1
-rw-r--r--include/sway/input/input-manager.h5
-rw-r--r--include/sway/input/seat.h8
-rw-r--r--include/sway/tree/container.h2
-rw-r--r--include/sway/tree/view.h11
5 files changed, 19 insertions, 8 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 66f097ea..edb5a213 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -123,6 +123,7 @@ sway_cmd cmd_mark;
123sway_cmd cmd_mode; 123sway_cmd cmd_mode;
124sway_cmd cmd_mouse_warping; 124sway_cmd cmd_mouse_warping;
125sway_cmd cmd_move; 125sway_cmd cmd_move;
126sway_cmd cmd_opacity;
126sway_cmd cmd_new_float; 127sway_cmd cmd_new_float;
127sway_cmd cmd_new_window; 128sway_cmd cmd_new_window;
128sway_cmd cmd_no_focus; 129sway_cmd cmd_no_focus;
diff --git a/include/sway/input/input-manager.h b/include/sway/input/input-manager.h
index 8e39a4a7..89a3ac71 100644
--- a/include/sway/input/input-manager.h
+++ b/include/sway/input/input-manager.h
@@ -1,6 +1,7 @@
1#ifndef _SWAY_INPUT_INPUT_MANAGER_H 1#ifndef _SWAY_INPUT_INPUT_MANAGER_H
2#define _SWAY_INPUT_INPUT_MANAGER_H 2#define _SWAY_INPUT_INPUT_MANAGER_H
3#include <libinput.h> 3#include <libinput.h>
4#include <wlr/types/wlr_input_inhibitor.h>
4#include "sway/server.h" 5#include "sway/server.h"
5#include "sway/config.h" 6#include "sway/config.h"
6#include "list.h" 7#include "list.h"
@@ -23,7 +24,11 @@ struct sway_input_manager {
23 struct wl_list devices; 24 struct wl_list devices;
24 struct wl_list seats; 25 struct wl_list seats;
25 26
27 struct wlr_input_inhibit_manager *inhibit;
28
26 struct wl_listener new_input; 29 struct wl_listener new_input;
30 struct wl_listener inhibit_activate;
31 struct wl_listener inhibit_deactivate;
27}; 32};
28 33
29struct sway_input_manager *input_manager_create(struct sway_server *server); 34struct sway_input_manager *input_manager_create(struct sway_server *server);
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h
index 137fcd22..d1cfbe4c 100644
--- a/include/sway/input/seat.h
+++ b/include/sway/input/seat.h
@@ -32,6 +32,9 @@ struct sway_seat {
32 // If the focused layer is set, views cannot receive keyboard focus 32 // If the focused layer is set, views cannot receive keyboard focus
33 struct wlr_layer_surface *focused_layer; 33 struct wlr_layer_surface *focused_layer;
34 34
35 // If exclusive_client is set, no other clients will receive input events
36 struct wl_client *exclusive_client;
37
35 struct wl_listener focus_destroy; 38 struct wl_listener focus_destroy;
36 struct wl_listener new_container; 39 struct wl_listener new_container;
37 40
@@ -64,6 +67,9 @@ void seat_set_focus_warp(struct sway_seat *seat,
64void seat_set_focus_layer(struct sway_seat *seat, 67void seat_set_focus_layer(struct sway_seat *seat,
65 struct wlr_layer_surface *layer); 68 struct wlr_layer_surface *layer);
66 69
70void seat_set_exclusive_client(struct sway_seat *seat,
71 struct wl_client *client);
72
67struct sway_container *seat_get_focus(struct sway_seat *seat); 73struct sway_container *seat_get_focus(struct sway_seat *seat);
68 74
69/** 75/**
@@ -85,4 +91,6 @@ void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config);
85 91
86struct seat_config *seat_get_config(struct sway_seat *seat); 92struct seat_config *seat_get_config(struct sway_seat *seat);
87 93
94bool seat_is_input_allowed(struct sway_seat *seat, struct wlr_surface *surface);
95
88#endif 96#endif
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h
index 277165ea..3a3a9429 100644
--- a/include/sway/tree/container.h
+++ b/include/sway/tree/container.h
@@ -83,6 +83,8 @@ struct sway_container {
83 83
84 list_t *marks; // list of char* 84 list_t *marks; // list of char*
85 85
86 float alpha;
87
86 struct { 88 struct {
87 struct wl_signal destroy; 89 struct wl_signal destroy;
88 // Raised after the tree updates, but before arrange_windows 90 // Raised after the tree updates, but before arrange_windows
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 4b84205e..f32ccc5a 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -59,11 +59,9 @@ struct sway_wl_shell_surface {
59}; 59};
60 60
61enum sway_view_type { 61enum sway_view_type {
62 SWAY_WL_SHELL_VIEW, 62 SWAY_VIEW_WL_SHELL,
63 SWAY_XDG_SHELL_V6_VIEW, 63 SWAY_VIEW_XDG_SHELL_V6,
64 SWAY_XWAYLAND_VIEW, 64 SWAY_VIEW_XWAYLAND,
65 // Keep last
66 SWAY_VIEW_TYPES,
67}; 65};
68 66
69enum sway_view_prop { 67enum sway_view_prop {
@@ -101,9 +99,6 @@ struct sway_view {
101 struct sway_xwayland_surface *sway_xwayland_surface; 99 struct sway_xwayland_surface *sway_xwayland_surface;
102 struct sway_wl_shell_surface *sway_wl_shell_surface; 100 struct sway_wl_shell_surface *sway_wl_shell_surface;
103 }; 101 };
104
105 // only used for unmanaged views (shell specific)
106 struct wl_list unmanaged_view_link; // sway_root::unmanaged_views
107}; 102};
108 103
109struct sway_view *view_create(enum sway_view_type type, 104struct sway_view *view_create(enum sway_view_type type,