Commit graph

26 commits

Author SHA1 Message Date
Steven Allen
c8de8931e3 Handle partially off-screen windows.
If a window is partially off-screen, preserve the off-screen regions.
2013-10-27 10:53:37 -04:00
Bastien Dejean
c989aa7efc Merge translate_position and translate_client
- Expand `underlying_monitor` into `monitor_from_client` to avoid
  passing a NULL pointer to `translate_client`.
- Remove the `fit_monitor` setting (use the `--center` rule effect
  instead).
- Don't remap a window in it's last location (node invisibility would be
  the proper way to do this).
- Call `translate_client` after configure requests.
2013-10-27 11:25:34 +01:00
Steven Allen
344ab2d269 Relatively translate floating clients to the correct monitor 2013-10-26 15:36:05 -04:00
Bastien Dejean
ae1ed3b795 New setting: fit_monitor 2013-10-23 22:20:34 +02:00
Bastien Dejean
dc805f9a6a Consolidate fit_monitor 2013-10-20 20:33:34 +02:00
Bastien Dejean
229d5797dd Simplify fit_monitor 2013-10-20 14:39:01 +02:00
Bastien Dejean
d396210f41 Revert "Initially center floating windows on their monitor"
In fact we can't do that, otherwise floating windows that do specify non
silly initial coordinates would be ignored.
2013-10-19 22:01:40 +02:00
Bastien Dejean
114881d958 Initially center floating windows on their monitor
And simplify fit_monitor along the way.
2013-10-19 21:31:34 +02:00
Bastien Dejean
15695c066b Add copyright header 2013-10-08 21:05:56 +02:00
Bastien Dejean
759b87bb66 Add the older/newer selectors to all the objects
But also:
- Add a new modifier: `local`.
- Remove useless modifiers.
2013-10-08 17:47:00 +02:00
Bastien Dejean
35e9927ed9 Make sticky windows stick to their monitor 2013-10-06 16:58:02 +02:00
Bastien Dejean
a75979be62 Implement tags 2013-10-05 22:32:40 +02:00
Bastien Dejean
d653f1cb70 Use consistent function names 2013-10-02 11:01:21 +02:00
Bastien Dejean
bfded1effc History is global and stacking is independent
The last desktop and monitor are now deduced from the history.

The stacking order is now independent from the history of the focused
nodes: this prevents hacks on both sides.

All windows are now considered in the stacking algorithm: it prevents
tiled windows from one monitor to appear above the floating windows of
another monitor.

Transfered windows are stacked below the windows of the same kind.
2013-10-01 10:48:03 +02:00
Bastien Dejean
9729efc422 Don't remove connected monitors 2013-09-26 22:21:46 +02:00
Bastien Dejean
dcfc11b1c5 Remove unused variable 2013-09-26 19:18:05 +02:00
Bastien Dejean
8c0d4eb3fe Don't merge two overlapping known monitors 2013-09-26 14:56:23 +02:00
Bastien Dejean
6ae7601dbf Initialize desk_{head,tail} in make_monitor 2013-09-24 21:18:44 +02:00
Bastien Dejean
48d181fc48 Add desktops to new monitors before anything else 2013-09-24 14:02:26 +02:00
Bastien Dejean
70c6cada07 Make focus_follows_pointer work on empty desktops 2013-09-22 11:16:06 +02:00
Bastien Dejean
a3aedec365 Fix truncated monitor name 2013-09-21 23:44:30 +02:00
Bastien Dejean
ca2d03072a Merge overlapping monitors 2013-09-21 21:14:29 +02:00
Bastien Dejean
80caab4445 Make sure strings are null-terminated 2013-09-21 12:39:59 +02:00
Bastien Dejean
3dda8e7f6f Move a few functions from tree to desktop/monitor 2013-09-20 11:57:09 +02:00
Bastien Dejean
85f67b2164 Remove a few useless header inclusion via deheader 2013-09-19 15:38:22 +02:00
Bastien Dejean
d168e919e3 Split types.c into {monitor,desktop,history}.c 2013-09-19 15:02:49 +02:00