Commit Graph

671 Commits

Author SHA1 Message Date
Michael Stapelberg a038d2674b Bugfix: 'level up' needs to stop at the workspace con + testcase (Thanks mseed) 2011-03-03 14:30:13 +01:00
Michael Stapelberg 33c2b4e582 Bugfix: Correctly fix the percent values for resizing when making a floating con tiling (Thanks mseed) (+testcase) 2011-02-28 23:59:56 +01:00
Michael Stapelberg b595ff05c5 Fix regression: Don’t add floating nodes twice when restoring layout (+testcase) 2011-02-28 20:44:23 +01:00
Michael Stapelberg db0d66e545 tests: extend t/10-dock.t for top/bottom positioned dock clients by position/hint 2011-02-21 14:55:03 +01:00
Michael Stapelberg 0f97b1fef6 tests: add test for dock client + restart 2011-02-21 12:21:02 +01:00
Michael Stapelberg a678c16bc9 tests: fix t/16-nestedcons.t 2011-02-21 12:20:55 +01:00
Michael Stapelberg 95e8b1a467 tests: extend t/10-dock.t to make use of the tree 2011-02-21 00:23:25 +01:00
Michael Stapelberg bafb065d7c tests: don’t skip t/10-dock.t, make it work again 2011-02-20 23:50:01 +01:00
Michael Stapelberg 7f89c71689 Implement dock mode, update testsuite
Currently, dock clients are only possible at the top.
2011-02-20 23:43:03 +01:00
Michael Stapelberg 6a6746b967 revert the replacement of a single h/v-split with its child container
Makes more problems than it creates. Will use a different fix suggested by
Merovius.
2011-02-19 18:30:26 +01:00
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 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 dc6241456a testcases: use the does_i3_live function 2011-01-28 01:21:38 +01:00
Michael Stapelberg 2d82868a1a tests: implement does_i3_live for regression tests 2011-01-28 01:10:45 +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 1fecbb3e5a Bugfix: also close empty split containers when the clients are moved away (Thanks mseed)
Also update the testcase (which used only 'kill' before).
2011-01-20 10:09:43 +01:00
Michael Stapelberg 115462f103 Implement tree flattening to automatically solve situations of redundant chains of split containers
This should fix the move problems. See comment of tree_flatten() for a little
example.
2011-01-07 22:21:41 +01:00
Michael Stapelberg 186d2c7bfa ipc: change 'orientation' to human readable string instead of raw integer value 2011-01-07 20:48:01 +01:00
Michael Stapelberg f65e4f5b16 Bugfix: Don’t redistribute resize percentage values when closing floating (!) windows (Thanks Merovius) (+testcase) 2010-12-30 02:39:14 +01:00
Michael Stapelberg 0f0d01336b Bugfix: Correctly attach floating Cons to a different workspace, extend testcase 2010-11-29 20:39:56 +01:00
Michael Stapelberg 613866dbc0 tests: use cmd() in t/32-move-workspace.t 2010-11-29 20:24:13 +01:00
Michael Stapelberg ad825913b4 Bugfix: Fix crash when moving a floating Con to a different workspace, add testcase (Thanks EelVex) 2010-11-29 20:20:44 +01:00
Michael Stapelberg b0068de3d7 Bugfix: Transfer 'percent' factor when splitting, add testcase for resizing 2010-11-29 11:24:12 +01:00
Michael Stapelberg a61480db99 tests: add cmd() function for typing less to get i3 to run a command 2010-11-29 11:21:33 +01:00
Michael Stapelberg a0cd3c2bab Include 'percent' in tree JSON, use C-locale when dumping, update testcase 2010-11-29 11:10:17 +01:00
Michael Stapelberg 178b28ed09 tests: mark t/10-dock.t as TODO, dock clients not implemented yet (makes all tests pass!) 2010-11-28 22:13:09 +01:00
Michael Stapelberg b7e1ae13c5 tests: fix t/30-close-empty-split.t by properly creating a split con 2010-11-28 21:49:42 +01:00
Michael Stapelberg 47fe31f104 tests: fix t/31-stacking-order.t: don’t get focus on workspace level, use get_focused() 2010-11-28 21:28:44 +01:00
Michael Stapelberg 5872cbcba6 tests: fix t/29-focus-after-close.t to correctly open a split container 2010-11-28 21:16:58 +01:00
Michael Stapelberg 40365d347b tests: fix t/27-regress-floating-parent.t (focus the other tiling client explictly) 2010-11-28 21:11:14 +01:00
Michael Stapelberg a120a820d1 tests: update t/04-floating.t for new border styles 2010-11-28 20:23:17 +01:00
Michael Stapelberg 2dba7ec1ec Bugfix for the last commit (broke some moving situations), update testcase 2010-11-28 20:15:47 +01:00
Michael Stapelberg f55d5e12c9 tests: update t/16-nestedcons.t with new window_rect parameter 2010-11-28 17:29:44 +01:00
Michael Stapelberg d0de3f403d Bugfix: Restore focus after changing layout (Thanks fernandotcl) 2010-11-28 01:39:47 +01:00
Michael Stapelberg 1de97a1f1f correctly sort numbered workspaces (+testcase)
Numbered workspaces (workspaces with a name containing only digits) will be
inserted in the correct order now. Named workspaces are always sorted after
numbered workspaces and in the order of creation.
2010-11-21 23:35:49 +01:00
Michael Stapelberg 4549effe15 perl: use get_tree instead of get_workspaces 2010-11-21 21:42:28 +01:00
Michael Stapelberg 09b5b17830 Bugfix: Don’t attach tiling containers to floating containers
This bug happened when there were only floating containers on a workspace and a
new tiling window was to be opened.
2010-11-21 16:49:59 +01:00
Michael Stapelberg f53fafe100 ipc: s/floating-nodes/floating_nodes for consistency 2010-11-21 16:34:45 +01:00
Michael Stapelberg fcd8518d81 floating-unmap.t: switch order, don’t use workaround 2010-11-20 20:18:00 +01:00
Michael Stapelberg 39fa1d724a bugfix: don’t treat workspace as empty if they only have floating windows (+testcase) 2010-11-20 20:16:15 +01:00
Michael Stapelberg db651679c5 Bugfix: Properly ignore UnmapNotify events (especially for floating windows)
This fixes the bug which caused floating windows to be visible even when
switching to a different workspace.

Instead of ignoring a specific sequence, we now set an ignore_unmap counter for
each container. (So, should containers be closed too early or stay open even if
they should be closed, we probably need to have a closer look at the counter.
At the moment, it is increased by one on reparenting and unmapping (for
workspace changes) and decremented by one on each UnmapNotify event).

This system is better because a sequence does not describe a single unmap or
reparent request but a request to X11 on the network layer -- which can contain
multiple requests.
2010-11-20 19:11:43 +01:00
Michael Stapelberg a27af52706 fix floating focus behaviour, extend testcase 2010-11-14 22:35:44 +01:00
Michael Stapelberg ffff4b159f add testcase for focus problem when toggling floating/tiling mode
Test 3 does not yet pass.
2010-11-14 21:43:31 +01:00
Michael Stapelberg 510d1f78a1 modify t/04-floating.t to reflect the new way we are doing decorations 2010-11-14 16:42:13 +01:00
Michael Stapelberg dc10c67060 Bugfix: Close containers which are empty due to a move (Thanks fernando) 2010-11-13 14:55:11 +01:00
Michael Stapelberg 4aef09ab34 t/16-nestedcons.t: add 'border' key 2010-11-13 14:33:58 +01:00
Michael Stapelberg 432073dbe5 implement support for WM_TRANSIENT_FOR, expand testcase 2010-11-13 01:19:21 +01:00
Michael Stapelberg 8f7bd538d8 implement configure requests, adapt testcase
testcase does not pass 100% due to clients not being reparented correctly yet.
2010-11-12 21:41:10 +01:00
Michael Stapelberg 6c699801ab bugfix: need to use window_type instead of type in t/04-floating.t 2010-11-12 20:36:37 +01:00
Michael Stapelberg df2ded08d8 add testcase for invalid commands 2010-11-12 20:26:53 +01:00
Michael Stapelberg 5c2758af26 Implement support for size hints (including test case) 2010-10-11 21:32:29 +02:00
Michael Stapelberg 27ffe9eae1 t/22-split: Bugfix: don’t declare old_count twice (Thanks Lourens) 2010-08-21 18:25:48 +02:00
Lourens Rozema c780f5dd0b Test 16 fixed expectation of the (root) focused field to exist in the tree and always be zero. 2010-08-21 18:24:21 +02:00
Michael Stapelberg b572fea5c6 testcase: use open_empty_con in some more testcases 2010-07-17 15:52:22 +02:00
Michael Stapelberg b4e3563dc1 t/29-focus-after-close.t: add more tests (for a regression) 2010-07-17 15:17:33 +02:00
Michael Stapelberg 55f695436a testcases: Implement open_empty_con which directly returns the ID 2010-07-17 15:17:16 +02:00
Michael Stapelberg 21c45418b3 more explanation in t/29-focus-after-close.t 2010-07-17 13:37:21 +02:00
Michael Stapelberg 099df7f438 Bugfix: Keep focus on the current workspace when moving containers, add testcase 2010-07-17 13:27:34 +02:00
Michael Stapelberg 69e5c0f6ce Treat stacking containers as if they are in vertical orientation, add testcase 2010-07-17 01:27:47 +02:00
Michael Stapelberg 09c6b587d3 close empty parent containers, add testcase 2010-07-17 00:54:47 +02:00
Michael Stapelberg 16f5c879f6 testcases: remove 'use v5.10' as this is automatically done in lib/i3test 2010-07-04 19:53:05 +02:00
Michael Stapelberg b186446fb7 Bugfix: Correctly restore focus after close (and add testcase) 2010-07-04 19:50:44 +02:00
Michael Stapelberg 49ed703299 Bugfix: Insert new containers at the right position (and add testcase) 2010-07-03 17:42:36 +02:00
Michael Stapelberg 66fc795379 lib/i3test: use custom import() instead of Test::Kit to also import v5.10 2010-07-03 16:28:58 +02:00
Michael Stapelberg f7842e4c71 t/18-openkill.t: search not focused container instead of using the first one 2010-07-03 15:29:44 +02:00
Michael Stapelberg 4eace6f886 Go down the tree when moving windows, add testcase for moving 2010-06-29 19:05:31 +02:00
Michael Stapelberg 285692c92c Update testcases (and skip some tests for the moment) 2010-06-02 23:53:22 +02:00
Michael Stapelberg 6897e15e72 Implement mark/goto, modify testcase 2010-06-02 23:32:05 +02:00
Michael Stapelberg 32be3af109 Re-implement support for the urgency hint, extend t/13-urgent.t
The actual rendering will follow
2010-06-02 17:55:10 +02:00
Michael Stapelberg 03c8da0a74 t/lib/i3test.pm: refactor get_ws and get_ws_content using List::Util’s first 2010-06-02 17:50:06 +02:00
Michael Stapelberg 18f7e1ffd1 t/22: extend to verify that splitting in the same direction multiple times does not create new containers 2010-06-01 22:42:32 +02:00
Michael Stapelberg 249c3f58ab t/21: formatting 2010-06-01 22:29:09 +02:00
Michael Stapelberg 3aa1801392 add testcase for crash on closing floating windows whose parent was killed 2010-06-01 20:52:59 +02:00
Michael Stapelberg afa8be9547 lib/i3test: Implement get_focused 2010-06-01 20:52:22 +02:00
Michael Stapelberg a25dc3e988 Implement focus command (and extend t/21-next-prev.t to test it) 2010-06-01 18:49:43 +02:00
Michael Stapelberg de0c13ba78 Add testcase which ensures that floating windows can be closed
See last commit
2010-05-31 23:17:02 +02:00
Michael Stapelberg 6a1c34d2c5 Implement 'split' 2010-05-10 09:33:10 +02:00
Michael Stapelberg 145ebc7584 Implement 'prev', extend testcase 2010-05-10 09:08:31 +02:00
Michael Stapelberg d8307f4b4a implement 'next' in the new command parser (testcase unfinished) 2010-05-10 00:06:24 +02:00
Michael Stapelberg 65e9036837 bugfix: don’t clean up workspace when switching to the same workspace 2010-05-09 23:20:49 +02:00
Michael Stapelberg 206e1ed041 less boilerplate by using Test::Kit and -It/lib in Makefile 2010-04-17 22:49:26 +02:00
Michael Stapelberg a2e3bb1cdd make testcases use AnyEvent::I3 2010-04-17 22:40:01 +02:00
Michael Stapelberg fdd44dcada make the fullscreen testcase test the 'fullscreen' command, too 2010-04-17 19:29:27 +02:00
Michael Stapelberg b244ce3915 extend fullscreen testcase 2010-04-17 17:40:19 +02:00
Michael Stapelberg 1b4bd96ea9 extend t/02-fullscreen.t 2010-04-17 13:53:41 +02:00
Michael Stapelberg 9488e3d249 add testcase for multiple commands (and whitespace variations) 2010-04-17 12:58:36 +02:00
Michael Stapelberg 50d590df28 add test for the match functionality in the new parser 2010-04-16 23:04:42 +02:00
Michael Stapelberg f48cc9ee21 update t/16* for data structure 2010-04-16 21:01:08 +02:00
Michael Stapelberg 93600ce0fd implement con_id for matching containers, extend testcase 2010-04-16 15:30:07 +02:00
Michael Stapelberg caa1e9a962 move common functions to i3test, export them, bail out if workspace creation fails 2010-04-16 15:03:27 +02:00
Michael Stapelberg 64d34d7e70 add testcase for opening/killing containers 2010-04-16 14:52:31 +02:00
Michael Stapelberg d94bef2ebb retab! 2010-04-16 14:34:12 +02:00
Michael Stapelberg 9b737f631d add testcase for changing workspaces 2010-04-16 14:24:29 +02:00
Michael Stapelberg c145f7e529 first step of the big refactoring ("tree" branch).
From here on, we can track changes. It made no sense to put the
development up to this point into git.
2010-04-13 13:17:39 +02:00
Michael Stapelberg 93a9f3c244 Bugfix: Don’t mess up x/y coordinates in configurerequests for floating windows
This was the cause for ticket #93, which actually has a false
conclusion for the reason of this bug.

This code needs to be refactored.
2010-03-11 23:34:29 +01:00
Michael Stapelberg 9a9ba1b859 ipc: implement GET_WORKSPACES message type
This is the foundation to use dzen2 or similar as a complete
replacement for the internal workspaces bar.

A testcase is included, more documentation about the IPC interface
will follow.
2010-03-11 15:58:39 +01:00
Michael Stapelberg f7c8e76782 Select containers above or near the whole snapped width/height
This fixes ticket #100, and is best explained using a little example.
Consider the following layout:

+---+---+
|   | X |
+---+---+
|   X   |
+---+---+

Where X marks a window, so you have an empty container in the upper
left, the container on the bottom is snapped to the right. Before
this commit, nothing would happen when focusing "above". After
this commit, the upper window gets focused.
2010-03-11 00:15:34 +01:00
Michael Stapelberg 7a9755ad91 Add testcase for the last commit 2010-03-05 19:53:33 +01:00
Michael Stapelberg 8a9b57c874 Extend testcase for dock clients with wm_transient_for hint 2010-01-01 16:19:55 +01:00
Michael Stapelberg 245e29ef95 Expand testcase for urgency hint 2009-11-20 15:56:18 +01:00
Michael Stapelberg ff3809f388 Add testcase for resizing of floating windows 2009-11-18 22:52:34 +01:00
Michael Stapelberg 0610c028d6 Add testcase for the urgency hint
Needs latest X11::XCB from git
2009-11-18 20:39:53 +01:00
Michael Stapelberg f9d155341e Change testcases to work with the released version of X11::XCB 2009-10-26 20:04:37 +01:00
Michael Stapelberg 87ced0438a Add testcase for the mark/goto command 2009-10-07 21:50:23 +02:00
Michael Stapelberg cf17e73293 Add a new test for moving clients to different workspaces (tiling and floating) 2009-10-01 17:18:11 +02:00
Michael Stapelberg f5c0bfd181 More tests 2009-08-22 07:53:34 +02:00
Michael Stapelberg 32532792cd tests: Use hex color codes for background_color 2009-08-21 16:06:12 +02:00
Michael Stapelberg 4a83bd26f8 Implement tests in t/10-dock.t 2009-08-21 15:01:20 +02:00
Michael Stapelberg 01f06f11ba Use ArrayRefs instead of Rects where possible, add t/10-dock.t 2009-08-21 12:32:54 +02:00
Michael Stapelberg a1e9f75fe5 Expand fullscreen test to setting the hint before mapping the window 2009-08-21 12:15:53 +02:00
Michael Stapelberg 992c531c4c Switch to default mode before running the test 2009-08-06 00:16:26 +02:00
Michael Stapelberg bc4c321c1b Add testcase to test stacking mode for containers 2009-08-06 00:03:31 +02:00
Michael Stapelberg aaca2346d8 Add testcase for checking if the focus stack is correct when mapping/unmapping floating clients 2009-08-05 21:54:24 +02:00
Michael Stapelberg d9f8e2fa98 Add test for moving windows 2009-08-05 21:47:43 +02:00
Michael Stapelberg 0f414f8ade Add testcases for IPC and basic focus switching 2009-08-05 21:37:11 +02:00
Michael Stapelberg 6e77e9d3f2 Add testcase for floating windows, add sleep to 01-tile.t 2009-08-05 20:47:10 +02:00
Michael Stapelberg 730508057c use sleep with fractions, not usleep 2009-07-23 01:14:36 +02:00
Michael Stapelberg dba1612655 Add test case for unmanaged windows (override_redirect => 1) 2009-07-16 14:29:18 +02:00
Michael Stapelberg 47041bdd73 Add testcases :-) 2009-07-16 13:43:43 +02:00