Commit graph

160 commits

Author SHA1 Message Date
Bastien Dejean
7eee047b14 Arrange when swapping 2013-06-08 22:52:24 +02:00
Bastien Dejean
12403a5081 Handle fullscreen state in apply_layout 2013-06-08 18:31:55 +02:00
Bastien Dejean
ad44ed1565 Arrange after toggle_floating 2013-06-08 13:11:22 +02:00
Bastien Dejean
1516b9dc0e Update all desktops in set_setting
But also:
- Call `manage` explicitly in `process_message`.
- Don't arrange after `ratio`: just redraw the window border.
2013-06-08 12:28:38 +02:00
Bastien Dejean
b939bd7480 Consider only pointer_follows_monitor exceptions
We'd prefer not to have to clutter `messages.c` with redundant code and
hence we handle the two exceptions instead.
2013-06-08 11:53:48 +02:00
Bastien Dejean
9c6af342b3 Honor pointer_follows_monitor with alternate_monitor 2013-06-08 11:34:36 +02:00
Bastien Dejean
d3e5566b07 Pointer follows monitor only via use* messages 2013-06-07 11:58:31 +02:00
Bastien Dejean
9cac7cd459 Consolidate transfer_desktop 2013-06-07 11:17:41 +02:00
Bastien Dejean
f19cf121d7 Call arrange in transfer_node
Fix a few regressions, and add numerous minor cosmetic improvements.
2013-06-06 23:51:30 +02:00
Bastien Dejean
311fbc06d5 New setting: pointer_follows_monitor 2013-06-05 21:21:12 +02:00
Bastien Dejean
6296eebd13 Only emit one call to put_status in focus_node 2013-06-05 16:14:53 +02:00
Bastien Dejean
fee7d5146c Fix silly mistakes in send_desktop_to 2013-06-05 11:35:43 +02:00
Bastien Dejean
412fa576f9 Add --follow option to send_desktop_to 2013-06-04 13:45:18 +02:00
Bastien Dejean
1432226ab6 When transferring a desktop, hide it 2013-06-02 21:20:11 +02:00
Bastien Dejean
34d4014648 Remove unnecessary --verbose option 2013-06-02 14:24:31 +02:00
Bastien Dejean
85176e363e Only keep one option for swap 2013-06-02 14:18:30 +02:00
Bastien Dejean
962280b72d New message: send_desktop_to 2013-06-02 11:15:19 +02:00
Bastien Dejean
d9ffb7050f New message: remove_desktop 2013-06-01 12:00:26 +02:00
Bastien Dejean
44534985ea Consolidate monitor disconnection handling 2013-05-31 16:10:54 +02:00
Bastien Dejean
12aaca4628 Don't arrange after biggest 2013-05-30 13:40:22 +02:00
Bastien Dejean
896e220e48 New options for swap: --{keep,swap}-focus 2013-05-30 13:20:34 +02:00
Bastien Dejean
eafc112ca2 New message: biggest 2013-05-30 12:14:22 +02:00
Bastien Dejean
eecc8291b9 Handle desk and last_desk in remove_desktop 2013-05-29 21:58:25 +02:00
Bastien Dejean
41ce28dd3c Still trying to minimize the calls to arrange 2013-05-29 21:44:10 +02:00
Bastien Dejean
ef3913e302 Only call arrange when needed 2013-05-29 21:20:30 +02:00
Bastien Dejean
3b0d482f41 Refactor focus_node and select_*
The select_* and focus_node where initially made independent as to
observe the --follow option. But this is in fact not necessary.
2013-05-29 14:34:27 +02:00
Bastien Dejean
ff9db2a94a Three arguments is enough for focus_node
The fourth argument of `focus_node` was introduced to avoid calling
unneeded functions from `manage_window`: the reason is not good enough
to justify the existence of that extra argument.
2013-05-29 11:36:01 +02:00
Bastien Dejean
d8f54f3e3e Select focused desktop when selecting monitor
Also:
- Observe `auto_alternate` with `use_monitor`.
- Update `last_mon` when a monitor is removed.
2013-05-29 10:00:25 +02:00
Bastien Dejean
c41110efd0 Don't try to focus windows in an empty desktop 2013-05-29 08:33:24 +02:00
Bastien Dejean
5676458548 New message: 'restore_history'
In addition, the message previously known as 'restore' is now called
'restore_layout'.
2013-05-08 15:10:09 +02:00
Bastien Dejean
82bd5644cb The birth_rotation attribute replaces birth_mode
The `birth_mode` was not sufficient for properly unrotate the brother of
a removed node. The `birth_rotation` stores the rotation applied to the
brother subtree when the node was inserted.

This should help to enforce that (L + n) - n = L in every possible
cases. Which means that adding a node and removing it should leave the
layout unchanged.
2013-05-08 14:10:53 +02:00
Bastien Dejean
e6da88fa1c New setting: focus_by_distance
The aforementioned setting, when set, makes the focus movements based on
the distances between the window sides.

The `{prev,next}_leaf` functions were taught not to climb above their
roofs.
2013-05-07 22:45:14 +02:00
Bastien Dejean
06065f0cf5 Merge branch 'master' into history
Conflicts:
	messages.c
	tree.c
2013-05-06 11:36:12 +02:00
Bastien Dejean
8e57511b50 Particularize swap_nodes 2013-05-06 11:28:32 +02:00
Bastien Dejean
a12e43f528 New message: put_status 2013-04-07 11:27:24 +02:00
Bastien Dejean
d533b704e4 New setting: split_ratio 2013-04-03 12:19:01 +02:00
Bastien Dejean
f97d35cd96 New arguments for swap: biggest and smallest 2013-04-02 15:02:45 +02:00
Bastien Dejean
afab0f66a4 New setting: auto_alternate 2013-03-22 19:17:03 +01:00
Bastien Dejean
25b21321d3 Remove trailing spaces 2013-03-16 19:20:20 +01:00
Bastien Dejean
f7e38e44a7 Remove useless reload_* messages 2013-03-12 21:43:44 +01:00
Bastien Dejean
b273b9c9bd New argument for the rule message: follow 2013-03-12 10:56:45 +01:00
Bastien Dejean
45cb3efd44 New message: balance 2013-03-10 18:28:30 +01:00
Bastien Dejean
6057feed61 Generalize swap_nodes
The `swap_nodes` function was not written to handle nodes from different
desktops. We need to be able to do that in order to move tiled windows
across monitors.
2013-03-07 21:34:33 +01:00
Bastien Dejean
944cbbd3e3 Merge branch 'master' into history 2013-03-06 14:00:33 +01:00
Bastien Dejean
829bc9b91f New setting: 'focus_follows_pointer' 2013-03-04 11:25:12 +01:00
Bastien Dejean
0acdab744c Remove setting: 'focus_follows_pointer'
It is impossible to make the feature work in every cases without
unwanted side effects, therefore it will only exists as a branch.
2013-03-04 11:19:24 +01:00
Bastien Dejean
6ea50d94a6 Make ffp reacts immediately 2013-03-04 10:41:35 +01:00
Bastien Dejean
ce0091c9ef Optional desktop name for list_history 2013-03-03 13:10:52 +01:00
Bastien Dejean
fbd397b986 Remove all references in history_remove 2013-03-03 12:41:29 +01:00
Bastien Dejean
409aad038f Merge branch 'master' into focus-history 2013-03-03 10:44:13 +01:00