From f4ec3083766280a5197cf40680bf991cc9afa41b Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 1 Sep 2018 23:04:49 +1000 Subject: Implement window_type criteria token --- include/sway/criteria.h | 2 +- include/sway/xwayland.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include/sway') diff --git a/include/sway/criteria.h b/include/sway/criteria.h index 7a1e547b..af12ffd7 100644 --- a/include/sway/criteria.h +++ b/include/sway/criteria.h @@ -31,7 +31,7 @@ struct criteria { uint32_t id; // X11 window ID #endif pcre *window_role; - uint32_t window_type; + enum atom_name window_type; bool floating; bool tiling; char urgent; // 'l' for latest or 'o' for oldest diff --git a/include/sway/xwayland.h b/include/sway/xwayland.h index 78d1053b..121edad3 100644 --- a/include/sway/xwayland.h +++ b/include/sway/xwayland.h @@ -5,6 +5,7 @@ #include enum atom_name { + NET_WM_WINDOW_TYPE_NORMAL, NET_WM_WINDOW_TYPE_DIALOG, NET_WM_WINDOW_TYPE_UTILITY, NET_WM_WINDOW_TYPE_TOOLBAR, -- cgit v1.2.3 From f057a0195ee79dfcaeddbcab026c06e310998c75 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 2 Sep 2018 15:03:58 +1000 Subject: Implement focus_on_window_activation Depends on https://github.com/swaywm/wlroots/pull/1223 --- include/sway/commands.h | 1 + include/sway/config.h | 11 +++++++++++ include/sway/tree/view.h | 6 ++++++ 3 files changed, 18 insertions(+) (limited to 'include/sway') diff --git a/include/sway/commands.h b/include/sway/commands.h index 8e91c158..b0b5ed0f 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -117,6 +117,7 @@ sway_cmd cmd_floating_modifier; sway_cmd cmd_floating_scroll; sway_cmd cmd_focus; sway_cmd cmd_focus_follows_mouse; +sway_cmd cmd_focus_on_window_activation; sway_cmd cmd_focus_wrapping; sway_cmd cmd_font; sway_cmd cmd_for_window; diff --git a/include/sway/config.h b/include/sway/config.h index 18d10faa..45fa73c4 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -57,6 +57,16 @@ struct sway_mouse_binding { char *command; }; +/** + * Focus on window activation. + */ +enum fowa { + FOWA_SMART, + FOWA_URGENT, + FOWA_FOCUS, + FOWA_NONE, +}; + /** * A "mode" of keybindings created via the `mode` command. */ @@ -340,6 +350,7 @@ struct sway_config { size_t font_height; bool pango_markup; size_t urgent_timeout; + enum fowa focus_on_window_activation; // Flags bool focus_follows_mouse; diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index f73ce571..382ab6b9 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -167,6 +167,7 @@ struct sway_xwayland_view { struct wl_listener request_maximize; struct wl_listener request_configure; struct wl_listener request_fullscreen; + struct wl_listener request_activate; struct wl_listener set_title; struct wl_listener set_class; struct wl_listener set_window_type; @@ -259,6 +260,11 @@ void view_autoconfigure(struct sway_view *view); void view_set_activated(struct sway_view *view, bool activated); +/** + * Called when the view requests to be focused. + */ +void view_request_activate(struct sway_view *view); + void view_set_tiled(struct sway_view *view, bool tiled); void view_close(struct sway_view *view); -- cgit v1.2.3 From 6fb03817c9d2bd29697a91f92d680b0c6a2c5996 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 2 Sep 2018 18:25:45 +1000 Subject: Rename fowa enum and use switch in view_request_activate --- include/sway/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/sway') diff --git a/include/sway/config.h b/include/sway/config.h index 45fa73c4..4ee8c3c2 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -60,7 +60,7 @@ struct sway_mouse_binding { /** * Focus on window activation. */ -enum fowa { +enum sway_fowa { FOWA_SMART, FOWA_URGENT, FOWA_FOCUS, @@ -350,7 +350,7 @@ struct sway_config { size_t font_height; bool pango_markup; size_t urgent_timeout; - enum fowa focus_on_window_activation; + enum sway_fowa focus_on_window_activation; // Flags bool focus_follows_mouse; -- cgit v1.2.3