This commit is contained in:
iguanajuice 2026-02-02 21:08:11 +01:00 committed by GitHub
commit 968c3f85d6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 57 additions and 103 deletions

View file

@ -207,6 +207,12 @@ enum seat_config_hide_cursor_when_typing {
HIDE_WHEN_TYPING_DISABLE,
};
enum seat_config_hide_cursor_but_keep_active {
HIDE_CURSOR_BUT_KEEP_ACTIVE_DEFAULT, // the default is currently disabled
HIDE_CURSOR_BUT_KEEP_ACTIVE_ENABLE,
HIDE_CURSOR_BUT_KEEP_ACTIVE_DISABLE,
};
enum seat_config_allow_constrain {
CONSTRAIN_DEFAULT, // the default is currently enabled
CONSTRAIN_ENABLE,
@ -243,6 +249,7 @@ struct seat_config {
list_t *attachments; // list of seat_attachment configs
int hide_cursor_timeout;
enum seat_config_hide_cursor_when_typing hide_cursor_when_typing;
enum seat_config_hide_cursor_but_keep_active hide_cursor_but_keep_active;
enum seat_config_allow_constrain allow_constrain;
enum seat_config_shortcuts_inhibit shortcuts_inhibit;
enum seat_keyboard_grouping keyboard_grouping;

View file

@ -74,10 +74,6 @@ struct sway_cursor {
struct wl_event_source *hide_source;
bool hidden;
// This field is just a cache of the field in seat_config in order to avoid
// costly seat_config lookups on every keypress. HIDE_WHEN_TYPING_DEFAULT
// indicates that there is no cached value.
enum seat_config_hide_cursor_when_typing hide_when_typing;
size_t pressed_button_count;
};

View file

@ -83,6 +83,7 @@ struct sway_drag {
struct sway_seat {
struct wlr_seat *wlr_seat;
struct sway_cursor *cursor;
struct seat_config *config;
// Seat scene tree structure
// - scene_tree
@ -243,10 +244,6 @@ void seat_for_each_node(struct sway_seat *seat,
void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config);
struct seat_config *seat_get_config(struct sway_seat *seat);
struct seat_config *seat_get_config_by_name(const char *name);
void seat_idle_notify_activity(struct sway_seat *seat,
enum sway_input_idle_source source);