aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBrian Ashworth <bosrsf04@gmail.com>2019-01-31 22:58:52 -0500
committerBrian Ashworth <bosrsf04@gmail.com>2019-01-31 22:58:52 -0500
commitebe5399ed6bfa59f5f5d289bf3d46b08f60787b3 (patch)
treeca0bff9d26283b0fa790855e7379e8da2e89166b /include
parent204e1f47122d5a48865802dd1fb94fe0f05c2401 (diff)
downloadsway-ebe5399ed6bfa59f5f5d289bf3d46b08f60787b3.tar.xz
pointer_constraint: change to a seat subcommand
This changes the `pointer_constraint` command to be a subcommand of seat to allow for per-seat settings. The current implementation that is not a seat subcommand will only operate on the current seat and will segfault in the config due to `config->handler_context.seat` only being set at runtime. This also allows for the wildcard identifier to be used to alter the pointer constraint settings on all seats and allows for the setting to be merged with the rest of the seat config.
Diffstat (limited to 'include')
-rw-r--r--include/sway/commands.h2
-rw-r--r--include/sway/config.h8
2 files changed, 8 insertions, 2 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 2877c370..3ed00763 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -153,7 +153,6 @@ sway_cmd cmd_new_window;
sway_cmd cmd_no_focus;
sway_cmd cmd_output;
sway_cmd cmd_permit;
-sway_cmd cmd_pointer_constraint;
sway_cmd cmd_popup_during_fullscreen;
sway_cmd cmd_reject;
sway_cmd cmd_reload;
@@ -268,6 +267,7 @@ sway_cmd seat_cmd_attach;
sway_cmd seat_cmd_cursor;
sway_cmd seat_cmd_fallback;
sway_cmd seat_cmd_hide_cursor;
+sway_cmd seat_cmd_pointer_constraint;
sway_cmd cmd_ipc_cmd;
sway_cmd cmd_ipc_events;
diff --git a/include/sway/config.h b/include/sway/config.h
index e63b9895..43ea7778 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -135,6 +135,12 @@ struct seat_attachment_config {
// TODO other things are configured here for some reason
};
+enum seat_config_allow_constrain {
+ CONSTRAIN_DEFAULT, // the default is currently enabled
+ CONSTRAIN_ENABLE,
+ CONSTRAIN_DISABLE
+};
+
/**
* Options for multiseat and other misc device configurations
*/
@@ -143,7 +149,7 @@ struct seat_config {
int fallback; // -1 means not set
list_t *attachments; // list of seat_attachment configs
int hide_cursor_timeout;
- bool allow_constrain;
+ enum seat_config_allow_constrain allow_constrain;
};
enum config_dpms {