Michael Stapelberg
26a416e016
refactor tree_move() into src/move.c, change config (!), change testcase
...
Due to lots of cases which were added and added to tree_move(), the function
was not really easy to understand. For this refactoring, I wrote tree_move()
from scratch, thinking about (hopefully) all cases. The testsuite still passes.
The move command also has different parameters now. Instead of the hard to
understand 'before v' stuff, we use 'move [left|right|up|down]'.
2011-02-14 23:05:20 +01:00
Michael Stapelberg
28dd226259
refactor code for removing children from a con
...
Let’s see how this callback stuff will work out. If it doesn’t work out well,
we will remove it.
2011-02-14 18:08:36 +01:00
Michael Stapelberg
a5e075c154
Automatically close empty parent cons when making their last child floating (Thanks mseed)
...
This fixes #313
2011-02-14 16:43:41 +01:00
Michael Stapelberg
b800555161
Bugfix: check ->layout, not ->type for L_STACKED
2011-02-14 16:35:48 +01:00
Michael Stapelberg
305eac0e71
Bugfix: Correctly check asprintf() return value
2011-02-14 16:33:42 +01:00
Fernando Tarlá Cardoso Lemos
9cf48f17bb
Fix libxcursor -> xcb cursors fallback.
2011-02-06 17:47:28 +01:00
Michael Stapelberg
07381ccb7b
fix a rendering problem for split cons inside tabbed cons (Thanks julien)
...
This fixes #280 .
2011-02-02 17:56:29 +01:00
Michael Stapelberg
44ab15abf0
tests: add testcase for the focus when moving floating con to other ws problem
2011-02-01 18:18:25 +01:00
Michael Stapelberg
ed7bee72bd
tests: extend testcase to check for the last commit
2011-02-01 18:18:07 +01:00
Michael Stapelberg
4d0106b00f
bugfix: don’t crash when moving windows out of a floating con (Thanks mseed)
2011-02-01 17:53:15 +01:00
Michael Stapelberg
d855bea215
Bugfix: Correctly focus con when moving to another workspace (Thanks mseed)
...
This fixes #310 .
2011-02-01 17:17:50 +01:00
Michael Stapelberg
97ab44b3d8
disable workspace-level move operations (not yet implemented) (Thanks mseed)
2011-02-01 16:59:02 +01:00
Michael Stapelberg
9b01b1a7a6
Bugfix: When the container which was just closed is focused, we *do* need to focus another one (Thanks mseed)
2011-02-01 16:42:59 +01:00
Michael Stapelberg
dad7c0da00
Don’t create a split container if no other cons are on a workspace (Thanks mseed)
...
This fixes #306 .
2011-02-01 16:08:47 +01:00
Michael Stapelberg
0238ce3c73
fix some compiler warnings
2011-02-01 15:43:59 +01:00
Fernando Tarlá Cardoso Lemos
8f4b9ddaa4
Fix the choice of the right containers for resizing.
...
Also fixes #311 , which was an assertion failure that uncovered
this problem. Thanks mseed, Merovius.
2011-01-30 18:52:32 +01:00
Michael Stapelberg
b078957cff
docs: add tree-*.png (for tree-migrating)
2011-01-29 18:31:09 +01:00
Michael Stapelberg
f1aa9d742d
docs/ipc: document that the highest bit is 1 for event replies
2011-01-29 18:07:34 +01:00
Fernando Tarlá Cardoso Lemos
ac8fb2399d
Don't mess with sizes when moving to other ws.
2011-01-29 15:19:41 +01:00
Michael Stapelberg
9cfe376d15
add docs/tree-migrating
2011-01-29 15:19:13 +01:00
Michael Stapelberg
086d1563cb
Add documentation for external workspace bars
2011-01-29 15:19:11 +01:00
Michael Stapelberg
0a7b3a04b7
docs/ipc: add reference to ThePub’s python library
2011-01-28 13:07:18 +01:00
Fernando Tarlá Cardoso Lemos
8be40932f2
Fix assertion when moving out of a floating container.
2011-01-28 01:25:06 +01:00
Fernando Tarlá Cardoso Lemos
f465b3c11d
Don't mess with the focus if we're not killing.
...
If we're not killing the mapped window and we're not killing the
parent window either in tree_close, then there's no reason to try
to change the focus. This fixes focus issues when moving a
container around another container (move up, left, bottom, right).
2011-01-28 01:25:03 +01:00
Michael Stapelberg
dc6241456a
testcases: use the does_i3_live function
2011-01-28 01:21:38 +01:00
Michael Stapelberg
773bc5ba6d
fix typo in testcases/complete-run.pl
2011-01-28 01:18:30 +01:00
Michael Stapelberg
e2975d80e9
implement make clean in testcases/
2011-01-28 01:12:56 +01:00
Michael Stapelberg
2d82868a1a
tests: implement does_i3_live for regression tests
2011-01-28 01:10:45 +01:00
Michael Stapelberg
0e8fdab302
disable sighandler for testsuite runs
2011-01-28 00:48:22 +01:00
Michael Stapelberg
5b6ef3e665
make the sighandler handle SIGABRT
2011-01-28 00:47:49 +01:00
Michael Stapelberg
f395c141c8
bugfix: initialize root variable earlier
2011-01-28 00:42:55 +01:00
Michael Stapelberg
7b01bc5eb7
Bugfix: use the global root variable, don’t get the first one (Thanks quaec)
...
The case of an X11 server having multiple displays is handled correctly by the
code in src/mainx.c. However, due to some functions not being correctly
refactored and still getting the first screen (and also the first root window)
from the XCB connection, i3 was operating on the wrong root window.
2011-01-28 00:41:53 +01:00
Michael Stapelberg
79bbde8766
add a flag to disable the signalhandler
2011-01-28 00:31:26 +01:00
Fernando Tarlá Cardoso Lemos
b29af954f6
Don't mess with the percentages in tree_flatten.
2011-01-28 00:12:26 +01:00
Fernando Tarlá Cardoso Lemos
5f4123f842
Fix some resizing issues (thanks mseed).
2011-01-27 23:42:37 +01:00
Michael Stapelberg
36e20a93a0
add a regression test for the floating move thing
2011-01-27 23:25:36 +01:00
Michael Stapelberg
b2ba02f801
add a testcase for correct floating con reattaching
2011-01-27 17:23:29 +01:00
Michael Stapelberg
676afce540
bugfix: correctly move cons out of floating cons when the workspace has no other tiling cons (Thanks mseed)
2011-01-27 16:51:41 +01:00
Michael Stapelberg
334e41daa4
bugfix: don’t assume a workspace always has tiling cons when focusing (Thanks mseed)
2011-01-27 16:51:16 +01:00
Michael Stapelberg
3e08ceaff9
bugfix: resizing problem when resizing vertically on the top border (Thanks julien)
2011-01-27 16:26:19 +01:00
Michael Stapelberg
3383437705
refactor some places to use con_descend_focused instead of duplicating code
2011-01-27 16:09:14 +01:00
Michael Stapelberg
f462a9a215
re-insert floating cons next to the currently focused con of the appropriate workspace
2011-01-27 16:04:17 +01:00
Michael Stapelberg
2f5d111936
when re-inserting a floating con, start with a more fair percent value
2011-01-27 15:53:14 +01:00
Michael Stapelberg
fe851b85f0
RandR: respect primary output
2011-01-27 15:40:02 +01:00
Fernando Tarlá Cardoso Lemos
432563d6e7
Fix the percentages when moving containers.
2011-01-27 13:00:14 +01:00
Fernando Tarlá Cardoso Lemos
07eb20851f
Fix floating mode according to the new requirements.
...
At all times any given non-leaf container should have the sum of
the percentages of its children == 1.0, otherwise we'll crash on
an assertion failure.
2011-01-27 13:00:14 +01:00
Fernando Tarlá Cardoso Lemos
568cafd4ec
Fix the resize algorithm I broke earlier.
...
The reason it was broken was that it was ok for the sum of the
percentages to be something other than 1.0. Now this is no longer
the case, the sum of the percentages must always be 1.0 or an
assertion will fail when we render the containers.
2011-01-27 13:00:14 +01:00
Fernando Tarlá Cardoso Lemos
bc82fc7e9f
This parameter is no longer needed.
...
The algorithm is now always the same, doesn't matter if we're
adding or removing a container to/from its parent.
2011-01-27 13:00:14 +01:00
Fernando Tarlá Cardoso Lemos
45227fba54
A new logic to calculate the percentages.
...
It's slower, but this way we make sure that the resulting
percentages *ALWAYS* sum up to 1.0 (or as close to that as we get
with double math).
2011-01-27 13:00:14 +01:00
Fernando Tarlá Cardoso Lemos
a93f4643ec
Only fix the percentages after we insert the container.
...
This is what floating.c does and it allows us to unify the logic that
calculates those percentages.
2011-01-27 13:00:14 +01:00