Steven Allen
8e732d1552
Don't take gaps into account when preselecting a gapless monocle
2015-12-23 11:41:30 -08:00
Bastien Dejean
a9649b7ea7
Enable save-under for the presel feedback window
2015-12-23 19:05:05 +01:00
Bastien Dejean
eb07d2fc06
Generalize window commands to nodes
2015-12-22 19:25:45 +01:00
Bastien Dejean
8486fa0f33
Use last_{state,layer} more consistently
2015-12-09 11:07:22 +01:00
Bastien Dejean
5e9c8e068f
Use JSON as the output format of query -T
...
It is now easy to access any attribute by piping the output of
`query -T` to a JSON extractor/filter.
E.g.:
bspc query -T -d DESKTOP_SEL | jq -r .layout
And it also makes `restore -T` more robust.
2015-11-22 14:41:00 +01:00
Bastien Dejean
b8abebda1a
Fix gcc warnings
2015-11-19 18:09:29 +01:00
Bastien Dejean
9c29c0892e
Handle fullscreen state birth rotation
...
Fixes #319 .
2015-11-19 15:08:54 +01:00
Bastien Dejean
1795fbb78d
Remove apply_floating_atom
setting
...
It is trivial to emulate this setting by subscribing to events.
2015-11-13 12:10:39 +01:00
Bastien Dejean
56c8025e4d
Try to honor ICCCM input focus policy
2015-11-11 23:01:54 +01:00
Bastien Dejean
d98c3d17ae
Document and homogenize subscriber events
2015-11-09 15:00:47 +01:00
Bastien Dejean
22e0f6ce5b
Add --activate
to window
2015-11-07 12:21:13 +01:00
Bastien Dejean
36f740f98b
Trust WM_TAKE_FOCUS but handle exceptions
2015-11-07 10:49:33 +01:00
Bastien Dejean
52f7ff3dfd
Handle stacking of unfocused windows
...
Put focused (resp. unfocused) window at the top (resp. bottom) of the
group of windows having the same stacking level.
2015-11-05 22:05:07 +01:00
Bastien Dejean
f28f33448f
Make a clear distinction between states and flags
2015-11-05 14:00:49 +01:00
Bastien Dejean
f08e7073a2
Restore previous layer when exiting fullscreen
2015-11-03 09:42:09 +01:00
Bastien Dejean
516c9741f2
Limit layer inheritance to floating windows
2015-11-01 17:43:44 +01:00
Bastien Dejean
4ceced688a
Restore natural constraints on fullscreen windows
...
Put fullscreen windows in the ABOVE layer by default.
Let *x*, and *y* be two windows in the same desktop. *y* is focused and
its fullscreen state is *on*. When *x* requests the focus: if *x* is
below *y*, then the fullscreen state of *y* is toggled.
2015-11-01 14:05:18 +01:00
Bastien Dejean
40cdd64a7b
Rewrite the stacking engine
...
Stacking now involves 3 layers: BELOW, NORMAL and ABOVE.
In each layers, floating windows are stacked above tiled windows.
The *stack* function is now extremely simple: it just inserts an item in
a sorted list, relying on *stack_cmp* to compare clients.
Fullscreen windows are no longer special.
2015-10-26 20:56:56 +01:00
Bastien Dejean
fea7dbc26c
Make the window_manage
event more verbose
2015-08-17 12:02:16 +02:00
Bastien Dejean
3959428990
Emit all window_state events
2015-08-17 11:53:27 +02:00
Bastien Dejean
dccb5e7be2
Add a few subscriber events
2015-08-01 14:37:15 +02:00
Bastien Dejean
639763c906
Reinstate the motion recorder for FFP
...
Because many clients (e.g. termite) prevent us (maybe unknowingly) from
capturing motion events on their windows, we're forced to create a
window for this sole purpose.
Grabbing the pointer isn't an option, because it forces us to consider
some of the enter notify events we should be ignoring.
2015-06-12 22:05:22 +02:00
Bastien Dejean
36decdad62
Propagate FFP_MASK
2015-06-11 09:58:05 +02:00
Bastien Dejean
939530c9bd
Remove unused function
2015-06-09 20:56:05 +02:00
Bastien Dejean
56895ab9ab
Implement focus_follows_pointer via enter notify events
...
The implementation based on a motion recorder had bad side effects.
2015-06-06 18:25:20 +02:00
Bastien Dejean
9dd581faaf
Allow subscribers to choose what they listen to
2015-05-09 21:12:19 +02:00
Bastien Dejean
931a519947
Don't try to set the split ratio of NULL
...
Fixes #215
2015-02-22 10:19:24 +01:00
Bastien Dejean
9f2065540e
Add rule consequence: split_ratio
...
Fixes #214
2015-02-21 10:14:27 +01:00
Bastien Dejean
c49bc92d12
Use generic BSD 2-clause license
...
Fixes #176
2014-10-22 11:53:03 +02:00
Bastien Dejean
b7fa492602
Add setting: pointer_follows_focus
2014-10-22 11:24:51 +02:00
Bastien Dejean
6f32affb5d
Add new rule consequence: border
2014-08-14 18:14:25 +02:00
Bastien Dejean
d2abc2d20e
New setting: merge_overlapping_monitors
2014-05-05 11:54:49 +02:00
Bastien Dejean
76cd787937
Fix window centering
2014-02-09 16:57:14 +01:00
Bastien Dejean
d59fadd8ce
Turn the *border_width* setting into a desktop/window setting
2014-02-09 14:47:27 +01:00
Bastien Dejean
167bd82d8e
Center windows that don't specify an initial position
2014-02-08 19:01:50 +01:00
Bastien Dejean
f6878c5ebd
Remove *lower* rule consequence
2014-02-06 21:00:46 +01:00
Bastien Dejean
8702ebf955
Don't try to set the split direction of *NULL*
2014-02-02 14:26:45 +01:00
Bastien Dejean
ac0d0dcac2
Add new rule consequence: split_dir
2014-02-02 14:10:44 +01:00
Bastien Dejean
b9dcab1900
Remove trailing spaces in headers
2014-01-19 14:41:37 +01:00
Bastien Dejean
c231e8cf41
Indentation: convert spaces to tabs
...
http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/
2014-01-18 16:30:00 +01:00
Bastien Dejean
f8b489b647
Prevent pointer actions on an unmanaged window
2014-01-12 21:17:35 +01:00
Bastien Dejean
b47c758ad5
Handle min/max window size hints
2014-01-09 14:58:54 +01:00
Bastien Dejean
3250438d7c
Update the insertion point if the target desktop changes
2014-01-05 10:43:13 +01:00
Bastien Dejean
50c6f10182
Add new rule consequence: window=WINDOW_SEL
2014-01-04 21:25:57 +01:00
Bastien Dejean
edcb1f9aec
Show window instance names in the output of query -T
2014-01-04 11:07:20 +01:00
Bastien Dejean
56d17d8572
Update the window border when pseudo-focusing
2013-12-31 18:05:30 +01:00
Bastien Dejean
0073eff5dc
Simply treat transient windows as floating windows
...
http://tronche.com/gui/x/icccm/sec-4.html#WM_TRANSIENT_FOR
2013-12-29 19:53:42 +01:00
Bastien Dejean
48e0043f84
Implement the pseudo-tiled window state
2013-12-27 14:23:25 +01:00
Bastien Dejean
e0b6cd3cd4
*Frames* are unnecessary
...
The padding settings are sufficient for this.
2013-12-27 10:43:37 +01:00
Bastien Dejean
cd97a3290a
Reinstate the *rule* command
...
External rules are truly optional. At last.
2013-12-12 14:38:48 +01:00