aboutsummaryrefslogtreecommitdiff
path: root/sway/tree
diff options
context:
space:
mode:
authorsghctoma <sghctoma@gmail.com>2018-09-03 08:57:17 +0200
committersghctoma <sghctoma@gmail.com>2018-09-03 08:57:17 +0200
commitdf730a88919b078093dbc322926ada219a60d036 (patch)
treef2837f24092c7be5dfccdf448e47062cb5718549 /sway/tree
parent67188b7cba2a985926647e049ed32c72b6ee98c8 (diff)
parentc9276f04c9fae7a211164003bc9cb8b4369db5fd (diff)
downloadsway-df730a88919b078093dbc322926ada219a60d036.tar.xz
Merge remote-tracking branch 'upstream/master' into fix-freebsd-build
Diffstat (limited to 'sway/tree')
-rw-r--r--sway/tree/view.c23
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;