From: Michael Stapelberg Date: Sat, 10 Mar 2018 17:29:21 +0000 (+0100) Subject: Merge branch 'next' into master X-Git-Tag: 4.16.1~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=cdf9a8f77e146500205fd8c560be5a7298b9bbe7;p=i3%2Fi3 Merge branch 'next' into master --- cdf9a8f77e146500205fd8c560be5a7298b9bbe7 diff --cc debian/changelog index dae55d7e,3778e1c9..8dd823eb --- a/debian/changelog +++ b/debian/changelog @@@ -1,3 -1,15 +1,15 @@@ + i3-wm (4.14.2-1) unstable; urgency=medium + - * UNRELEASED ++ * New upstream release. + + -- Michael Stapelberg Mon, 25 Sep 2017 08:55:22 +0200 + + i3-wm (4.14.1-1) unstable; urgency=medium + + * New upstream release. + + -- Michael Stapelberg Sun, 24 Sep 2017 19:21:15 +0200 + i3-wm (4.14-1) unstable; urgency=medium * New upstream release. diff --cc src/con.c index fcde4c10,985d07da..4d0c43e3 --- a/src/con.c +++ b/src/con.c @@@ -243,15 -243,29 +243,36 @@@ void con_focus(Con *con) workspace_update_urgent_flag(con_get_workspace(con)); ipc_send_window_event("urgent", con); } + + /* Focusing a container with a floating parent should raise it to the top. Since + * con_focus is called recursively for each parent we don't need to use + * con_inside_floating(). */ + if (con->type == CT_FLOATING_CON) { + floating_raise_con(con); + } } + /* + * Raise container to the top if it is floating or inside some floating + * container. + * + */ + static void con_raise(Con *con) { + Con *floating = con_inside_floating(con); + if (floating) { + floating_raise_con(floating); + } + } + + /* + * Sets input focus to the given container and raises it to the top. + * + */ + void con_activate(Con *con) { + con_focus(con); + con_raise(con); + } + /* * Closes the given container. *