From 6fb03817c9d2bd29697a91f92d680b0c6a2c5996 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 2 Sep 2018 18:25:45 +1000 Subject: [PATCH] Rename fowa enum and use switch in view_request_activate --- include/sway/config.h | 4 ++-- sway/tree/view.c | 34 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 19 deletions(-) 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; diff --git a/sway/tree/view.c b/sway/tree/view.c index c6ed68f6..6bd0ef67 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -281,25 +281,25 @@ void view_set_activated(struct sway_view *view, bool activated) { } void view_request_activate(struct sway_view *view) { - if (config->focus_on_window_activation == FOWA_NONE) { - return; - } - if (config->focus_on_window_activation == FOWA_FOCUS) { - struct sway_seat *seat = input_manager_current_seat(input_manager); - seat_set_focus(seat, view->swayc); - return; - } - if (config->focus_on_window_activation == FOWA_URGENT) { - view_set_urgent(view, true); - return; - } - // FOWA_SMART struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE); - if (workspace_is_visible(ws)) { - struct sway_seat *seat = input_manager_current_seat(input_manager); - seat_set_focus(seat, view->swayc); - } else { + 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; } }