diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-02 15:03:58 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-02 18:20:34 +1000 |
commit | f057a0195ee79dfcaeddbcab026c06e310998c75 (patch) | |
tree | 5c09cc286ae3a6d852341a0ae4796d28bb6155b0 /include | |
parent | 159edc6d13db42b15b28c7ea58cdf2371d29297d (diff) |
Implement focus_on_window_activation
Depends on https://github.com/swaywm/wlroots/pull/1223
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/commands.h | 1 | ||||
-rw-r--r-- | include/sway/config.h | 11 | ||||
-rw-r--r-- | include/sway/tree/view.h | 6 |
3 files changed, 18 insertions, 0 deletions
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 @@ -58,6 +58,16 @@ struct sway_mouse_binding { }; /** + * Focus on window activation. + */ +enum fowa { + FOWA_SMART, + FOWA_URGENT, + FOWA_FOCUS, + FOWA_NONE, +}; + +/** * A "mode" of keybindings created via the `mode` command. */ struct sway_mode { @@ -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); |