f908403376
This commit makes multiple changes in tree_close_internal. I didn't split them because they are not completely independent. - Remove force_set_focus parameter This parameter was always set to `false` throughout the code base except for one case where it was set to `(con == focused)`, when killing a floating con's parent (the one with type CT_FLOATING_CON). But this case is not needed anymore since the special handling of CT_FLOATING_CONs in con_next_focused was removed in #2941. - Assume that con_next_focused does not returned a container of type CT_DOCKAREA. This is reasonable since con_next_focused uses the focus_head stack and has special handling of CT_DOCKAREA containers. - Remove is_mapped This variable was only used in the if block towards the end of tree_close_internal. Ignoring the, now removed, dockarea code and the use of force_set_focus this block performed only one useful action: focus the `next` container when `con == focused`. `con == focused` was a necessary and sufficient condition for the con_activate call: if `con != focused` we could reach the inner if blocks because of the other conditions but would never focus another container. If `con == focused` then all other conditions would be irrelevant. - Remove special handling of floating containers Since the `next` focused container is calculated through the parent for floating containers, I moved this code to con_next_focused. Also, because of the removal of force_set_focus, it appears that we can call con_on_remove_child for floating containers as well. |
||
---|---|---|
.github | ||
AnyEvent-I3 | ||
contrib | ||
debian | ||
docs | ||
etc | ||
i3-config-wizard | ||
i3-dump-log | ||
i3-input | ||
i3-msg | ||
i3-nagbar | ||
i3bar | ||
include | ||
libi3 | ||
m4 | ||
man | ||
parser-specs | ||
share | ||
src | ||
testcases | ||
travis | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
DEPENDS | ||
I3_VERSION | ||
LICENSE | ||
Makefile.am | ||
PACKAGE-MAINTAINER | ||
README.md | ||
RELEASE-NOTES-4.15 | ||
configure.ac | ||
generate-command-parser.pl | ||
i3-dmenu-desktop | ||
i3-migrate-config-to-v4 | ||
i3-save-tree | ||
i3-sensible-editor | ||
i3-sensible-pager | ||
i3-sensible-terminal | ||
logo.svg | ||
pseudo-doc.doxygen | ||
release.sh |
README.md
i3: A tiling window manager
i3 is a tiling window manager for X11.
For more information about i3, please see the project's website and online documentation.
For information about contributing to i3, please see CONTRIBUTING.md.