diff options
author | sghctoma <sghctoma@gmail.com> | 2018-09-03 08:57:17 +0200 |
---|---|---|
committer | sghctoma <sghctoma@gmail.com> | 2018-09-03 08:57:17 +0200 |
commit | df730a88919b078093dbc322926ada219a60d036 (patch) | |
tree | f2837f24092c7be5dfccdf448e47062cb5718549 /sway/tree | |
parent | 67188b7cba2a985926647e049ed32c72b6ee98c8 (diff) | |
parent | c9276f04c9fae7a211164003bc9cb8b4369db5fd (diff) | |
download | sway-df730a88919b078093dbc322926ada219a60d036.tar.xz |
Merge remote-tracking branch 'upstream/master' into fix-freebsd-build
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/view.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 1a98c5f2..6bd0ef67 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -280,6 +280,29 @@ void view_set_activated(struct sway_view *view, bool activated) { } } +void view_request_activate(struct sway_view *view) { + struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE); + struct sway_seat *seat = input_manager_current_seat(input_manager); + + switch (config->focus_on_window_activation) { + case FOWA_SMART: + if (workspace_is_visible(ws)) { + seat_set_focus(seat, view->swayc); + } else { + view_set_urgent(view, true); + } + break; + case FOWA_URGENT: + view_set_urgent(view, true); + break; + case FOWA_FOCUS: + seat_set_focus(seat, view->swayc); + break; + case FOWA_NONE: + break; + } +} + void view_set_tiled(struct sway_view *view, bool tiled) { if (!tiled) { view->using_csd = true; |