aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/seat.c
diff options
context:
space:
mode:
authorLibravatar Jonathan Buch <jbuch@synyx.de>2018-09-25 10:22:50 +0200
committerLibravatar Jonathan Buch <jbuch@synyx.de>2018-10-03 16:23:12 +0200
commit298ccb539c5f9d538e49364f45e57ff0d88df717 (patch)
tree147027d52b22aaa2bae2257235d29d01d3f620a5 /sway/input/seat.c
parentMerge pull request #2757 from RyanDwyer/check-focus-stack-empty (diff)
downloadsway-298ccb539c5f9d538e49364f45e57ff0d88df717.tar.gz
sway-298ccb539c5f9d538e49364f45e57ff0d88df717.tar.zst
sway-298ccb539c5f9d538e49364f45e57ff0d88df717.zip
Add configuration for raising containers on focus
* New configuration option: raise_floating (From the discussion on https://github.com/i3/i3/issues/2990) * By default, it still raises the window on focus, otherwise it will raise the window on click.
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r--sway/input/seat.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index 69bee47e..c747eafc 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -734,7 +734,7 @@ void seat_set_focus_warp(struct sway_seat *seat, struct sway_node *node,
734 734
735 // If we've focused a floating container, bring it to the front. 735 // If we've focused a floating container, bring it to the front.
736 // We do this by putting it at the end of the floating list. 736 // We do this by putting it at the end of the floating list.
737 if (container) { 737 if (container && config->raise_floating) {
738 struct sway_container *floater = container; 738 struct sway_container *floater = container;
739 while (floater->parent) { 739 while (floater->parent) {
740 floater = floater->parent; 740 floater = floater->parent;
@@ -1017,6 +1017,19 @@ void seat_begin_down(struct sway_seat *seat, struct sway_container *con,
1017 seat->op_ref_con_lx = sx; 1017 seat->op_ref_con_lx = sx;
1018 seat->op_ref_con_ly = sy; 1018 seat->op_ref_con_ly = sy;
1019 seat->op_moved = false; 1019 seat->op_moved = false;
1020
1021 // If we've focused a floating container, bring it to the front.
1022 // We do this by putting it at the end of the floating list.
1023 if (con && !config->raise_floating) {
1024 struct sway_container *floater = con;
1025 while (floater->parent) {
1026 floater = floater->parent;
1027 }
1028 if (container_is_floating(floater)) {
1029 list_move_to_end(floater->workspace->floating, floater);
1030 node_set_dirty(&floater->workspace->node);
1031 }
1032 }
1020} 1033}
1021 1034
1022void seat_begin_move_floating(struct sway_seat *seat, 1035void seat_begin_move_floating(struct sway_seat *seat,