Commit Graph

109 Commits

Author SHA1 Message Date
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
834f4d7bc2 add missing function documentation 2011-02-14 23:17:30 +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
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
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
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
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
Fernando Tarlá Cardoso Lemos
432563d6e7 Fix the percentages when moving 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
Michael Stapelberg
ad95d5bb1f bugfix: you can’t unfullscreen workspaces (Thanks Merovius) 2011-01-21 22:09:04 +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
0eb5eb34cd When in stacking mode with only one child, respect border styles 1pixel and none (Thanks Merovius) 2011-01-17 14:38:16 +01:00
Michael Stapelberg
b660769fe0 Bugfix: Correctly move to other workspaces when a floating window is focused on the target ws (Thanks mseed) 2011-01-07 23:56:32 +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
228b5c51ff change many LOG/printf messages to use DLOG 2011-01-07 20:58:58 +01:00
Michael Stapelberg
5ccd7b01e7 Bugfix: fix fullscreen mode for floating windows 2011-01-07 02:50:35 +01:00
Michael Stapelberg
fa44383cc6 fix small memory leak (unused ->name) 2011-01-04 22:15:52 +01:00
Michael Stapelberg
2d05c3a37d Fix dragging floating containers / click handling 2010-12-31 01:38:17 +01:00
Michael Stapelberg
028f7d2ca7 Fix resize handling on click on borders (did not correctly use orientation) 2010-12-28 16:26:42 +01:00
Fernando Tarlá Cardoso Lemos
a1dd74da5a Implement default border styles (thanks litemotiv). 2010-12-27 13:10:45 +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
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
17caaf1159 Correctly update the _NET_WM_STATE hint when *not* going into fullscreen (when already in fullscreen) 2010-11-28 22:07:54 +01:00
Michael Stapelberg
3bab222aa7 Bugfix: Re-attach windows in correct order when switching layout (Thanks fernandotcl) 2010-11-28 01:51:16 +01:00
Michael Stapelberg
d0de3f403d Bugfix: Restore focus after changing layout (Thanks fernandotcl) 2010-11-28 01:39:47 +01:00
Michael Stapelberg
0cfebcb5b6 remove some debug messages 2010-11-27 18:05:45 +01:00
Fernando Tarlá Cardoso Lemos
2faac65237 Always add to the focus list, fixes crash. 2010-11-26 23:26:53 +01:00
Michael Stapelberg
77d0d42ed2 look and feel: create split container when switching workspace layout
Quote from the source:
  When the container type is CT_WORKSPACE, the user wants to change the
  whole workspace into stacked/tabbed mode. To do this and still allow
  intuitive operations (like level-up and then opening a new window), we
  need to create a new split container. */
2010-11-26 23:08:12 +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
2d280469af Bugfix: Don’t draw borders for fullscreen windows 2010-11-21 17:00:10 +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
576de246d8 Bugfix: when no windows to focus, return the workspace instead of NULL 2010-11-20 18:38:24 +01:00
Michael Stapelberg
c0c7d04264 When in tabbed mode, nail the orientation to horizontal
This is intuitive for the user as he can use the left/right keys to switch.
Also, we need to nail the orientation because you can be in either vertical or
horizontal mode when you enter the tabbed layout (like with the stacking
layout).
2010-11-15 13:55:10 +01:00
Michael Stapelberg
a27af52706 fix floating focus behaviour, extend testcase 2010-11-14 22:35:44 +01:00
Michael Stapelberg
7c6f2dbfc6 Rendering fixes for stacking mode 2010-11-13 22:39:59 +01:00
Michael Stapelberg
4cd6dd0303 port fernando’s custom background color patch 2010-11-13 20:07:49 +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
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
189635a5dc Bugfix: Even when not going one level up, we need to travel down the whole focus stack 2010-07-17 15:08:22 +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
7415f14448 Add more documentation to functions/header files 2010-07-13 11:35:05 +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
6d152103f5 parser: implement move 2010-06-30 22:23:32 +02:00
Michael Stapelberg
780e773a6a split containers do not directly accepts windows (they only have children) 2010-06-02 22:35:37 +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
935b8e05ff Implement correct removal of floating containers 2010-05-31 23:16:20 +02:00
Michael Stapelberg
e67c712f31 cleanup: introduce CT_WORKSPACE as type to avoid having to check parent->type 2010-05-31 00:11:11 +02:00
Michael Stapelberg
a45dc6b3ad Update _NET_WM_STATE after fullscreen state changes 2010-05-26 23:21:37 +02:00
Michael Stapelberg
6bf55dc356 implement con_toggle_fullscreen 2010-04-17 17:40:41 +02:00
Michael Stapelberg
8d05039b04 move match_* to match.c 2010-04-16 22:51:25 +02:00
Michael Stapelberg
e0b7ae872e move con_focus to con.c 2010-04-16 21:04:36 +02:00
Michael Stapelberg
769501420d add first version of a new flex/bison based command parser 2010-04-14 20:26:56 +02:00
Michael Stapelberg
24725cd94a re-add fullscreen mode 2010-04-13 20:51:43 +02:00
Michael Stapelberg
fd8735a6fd correctly update/display window title/class 2010-04-13 17:22:34 +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