Commit Graph

34 Commits

Author SHA1 Message Date
Tom Hacohen 37462c7cb7 Tiling: Respect min size hints (set to floating if doesn't fit).
This fix floats all the windows that don't fit because of their min size
restrictions.
It can be made better, at the moment it is very simple. An example
broken case would be the following:
Assume we have 3 windows, A, B and C.
B and C both hand a min width of half the screen.

First we create A, then B. Everything works as they share the screen,
but when we add C, both B's and C's restrictions "fail" so they are both
set to float although in reality, floating C is enough. This can be
fixed by doing a live scan of the tree every time a window is floated,
though it's not essential at the moment.

Fixes T952.
2014-08-28 16:33:54 +01:00
Mike Blumenkrantz a4619ea492 tiling should not resize deleted clients 2014-07-19 15:47:21 -04:00
Marcel Hollerbach b0f9480eee tiling: this should fix swapping the windows with padding!
Summary: add the padding to the if clause

Test Plan: Set a padding and press WIN+Arrow keys

Reviewers: tasn

Reviewed By: tasn

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1117
2014-07-03 20:38:33 +01:00
Mike Blumenkrantz 360707e9b1 fix tiling memory corruption
CID 1186206
2014-04-04 15:04:28 -04:00
Stefan Schmidt 22278399d3 tiling: Free allocated memory on error path.
We don't use new_node in this code path. Free before returning.

CID 1186205
2014-03-27 16:06:06 +01:00
Tom Hacohen 0831537efa Tiling2: When adding clients, add them relative to the current one.
This fixes clients to be added relative to the current one, and not at
the end of the current children list.

This fixes T944.
2014-02-21 09:15:17 +00:00
Tom Hacohen f4a7b6512a Tiling2: Fixed formattign, again.
Fixes T919.
2014-02-21 09:15:10 +00:00
Tom Hacohen d83e18f21e Tiling2: Implemented window padding.
Thanks to cippp for the feature request + some code.
2014-02-21 09:15:10 +00:00
Tom Hacohen ee587a37b0 Tiling2: Fixed coding conventions using efl_indent. 2014-02-21 09:15:09 +00:00
Tom Hacohen 792022196f Tiling2: Add "floating" as a split mode.
This lets people just create floating windows, without the need to toggle.
2014-02-21 09:15:09 +00:00
Tom Hacohen 1e3f71af71 Tiling2: Fixed adjacent node swapping.
Really swap adjacent nodes, not just nodes having a border on the
same line, but never touching.
Also, it's now weighted, so the best matching node will be chosen, not
the first matching.
2014-02-21 09:15:08 +00:00
Tom Hacohen 507a6db1e1 Tiling2: Improve debug output in tree dump. 2014-02-21 09:15:08 +00:00
Tom Hacohen 163c6377b3 Tiling2: Added weight correction code.
Total weight should always be 1.0.
This may go off sometimes because of the nature of floating point.
Always correct it when reapply tree.
2014-02-21 09:15:07 +00:00
Tom Hacohen 6795380282 Tiling2: Added support for swapping windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen 6fb54d58ac Tiling2: Fixed a bug in the tree walker. 2014-02-21 09:15:07 +00:00
Tom Hacohen b5434d1de5 Tiling2: Restrict allowed resizes of windows. 2014-02-21 09:15:07 +00:00
Tom Hacohen ae8acb24b2 Tiling2: Fixed resizing of clients at "forbidden" borders.
For example, leftmost window's left border.
2014-02-21 09:15:07 +00:00
Tom Hacohen ceb1cc414e Tiling2: Better handle parent == NULL case. 2014-02-21 09:15:07 +00:00
Tom Hacohen 4b2a53d1d4 Tiling2: Fix a bug with reordering of windows in some cases. 2014-02-21 09:15:06 +00:00
Tom Hacohen 6b606cde41 Tiling2: Added resizing support.
There are still some bugs.
2014-02-21 09:15:06 +00:00
Tom Hacohen 8dd65b90f3 Tiling2: Create a move/resize function that will update extra. 2014-02-21 09:15:06 +00:00
Tom Hacohen 592dfb9dd2 Tiling2: Fixed buy with deleting last vertical split. 2014-02-21 09:15:06 +00:00
Tom Hacohen e9779f70bf Tiling2: Bug fixing. Things seem to work now. 2014-02-21 09:15:06 +00:00
Tom Hacohen 1a2ffcd06e Tiling2: Changed add to return new root and fixed top-level vertical. 2014-02-21 09:15:06 +00:00
Tom Hacohen 1114b54c71 Tiling2: Added a useful debugging function. 2014-02-21 09:15:06 +00:00
Tom Hacohen 0c5afecfc9 Tiling2: More bug fixing. 2014-02-21 09:15:06 +00:00
Tom Hacohen f7f204353d Tiling2: Handle more delete cases. 2014-02-21 09:15:06 +00:00
Tom Hacohen 38e13e2648 Tiling2: Fixed a few bugs. 2014-02-21 09:15:06 +00:00
Tom Hacohen 21ac77185b Tiling2: Get rid of split_type, use levels instead and bug fixes. 2014-02-21 09:15:06 +00:00
Tom Hacohen f64763ab6e Tiling2: Fixed tree update bugs. 2014-02-21 09:15:05 +00:00
Tom Hacohen 9831904a88 Tiling2: Fixed a bug in tree-walker. 2014-02-21 09:15:05 +00:00
Tom Hacohen af06d8db25 Tiling2: More code cleanups. 2014-02-21 09:15:05 +00:00
Tom Hacohen 9060fa64b9 Tiling2: Fixed bugs and improve the window tree implementation. 2014-02-21 09:14:56 +00:00
Tom Hacohen cfd4ea4f9f tiling2: Added window_tree. 2014-02-21 09:14:56 +00:00