Commit graph

166 commits

Author SHA1 Message Date
Bastien Dejean
265aa0ecdb Mention pointer_action<n> where it makes sense 2016-04-10 22:24:25 +02:00
Campbell Barton
81e5e72fa2 Make mouse button actions configurable
Previously this was possible via key bindings, since this operation was removed,
its useful to be able to configure which mouse keys do what.

This example swaps LMB/RMB

```
bspc config pointer_action1 resize_corner
bspc config pointer_action3 move
```
2016-04-11 06:03:50 +10:00
Bastien Dejean
12edac86fa Reinstate built-in pointer bindings 2016-04-07 18:08:32 +02:00
Bastien Dejean
e8aa679cd1 Introduce receptacles
A receptacle is an unfocusable empty leaf node.

Receptacles are used for building a tree without creating windows.

Example:

    bspc node -i
    bspc node @/ -p east -i
    bspc node @/2 -p north -i

    bspc rule -a Abc:abc -o node=@/1
    bspc rule -a Ijk:ijk -o node=@/2/1
    bspc rule -a Xyz:xyz -o node=@/2/2

Fixes #259.
2016-03-26 11:47:17 +01:00
Bastien Dejean
ebad909ed1 Fail verbosely
Along the way, we also fixed the handling of the `*_padding`,
`window_gap` and `border_width` settings. The previous behavior was the
result of a bad decision (9fed780), as a response to #141. Many issues
followed: #143, #158, #260, etc. We now handle those settings as
intuitively as possible.

We also fixed a potential segfault in `cmd_node`, triggered by `bspc
node -d`[sic].

Fixes #402 #252.
2016-03-21 14:28:04 +01:00
Bastien Dejean
1e3b13465b Fix handling of ID/name frictions
It seems that `resource_base_id` isn't the lower bound of the set of
possible IDs.
2016-03-20 10:38:11 +01:00
Bastien Dejean
9ae96ebdcd Add IDs to desktops and monitors
There's no constraints on desktop and monitor names, therefore, using a
desktop or monitor name as descriptor is ambiguous.

We put an end to this ambiguity by introducing desktop and monitor IDs.

`bspc query -{M,D}` now yields IDs instead of names.

Fixes #397.
2016-03-16 15:15:27 +01:00
Bastien Dejean
8356bfb88b Fix VERSION definition in Makefile
Fixes #414
2016-03-15 17:06:25 +01:00
Bastien Dejean
ed76b1f8a7 Use the term DESKTOP_SEL consistently 2016-02-22 20:47:57 +01:00
Bastien Dejean
b973353a7d Add event: monitor_swap 2016-02-01 11:46:03 +01:00
Bastien Dejean
b1d96531c4 Add global setting: *paddingless_monocle*
Fixes #365.
2016-01-10 18:29:51 +01:00
Nathan Isom
f53950fd39 window --> node 2016-01-03 17:57:40 -06:00
Bastien Dejean
f382bbafd8 Fix misinterpreted asterisk in rule syntax 2016-01-02 11:31:46 +01:00
Bastien Dejean
5a9c710219 Only use characters from the ASCII charset 2016-01-02 11:16:59 +01:00
Bastien Dejean
c7364e0705 Document the optional tilde character 2016-01-02 11:13:30 +01:00
Bastien Dejean
a8c2468968 Add the --rectangle command the *monitor* domain 2015-12-30 11:36:14 +01:00
Bastien Dejean
eb07d2fc06 Generalize window commands to nodes 2015-12-22 19:25:45 +01:00
Bastien Dejean
4fbd961311 Remove settings: auto_cancel and auto_alternate
auto_cancel can be emulated with:

	super + ctrl + {h,j,k,l}
		dir={left,down,up,right}; \
		cur=$(bspc query -T -w focused.!automatic | jshon -e splitDir -u 2>&-); \
		[ "$dir" = "$cur" ] && dir=cancel; \
		bspc window -p "$dir"

and auto_alternate with:

	super + {_,alt + }{1-9,0}
		kind={desktop,monitor}; \
		item="^{1-9,10}"; \
		bspc query --"$kind"s --"$kind" "$\{item\}.focused" > /dev/null && item=last; \
		bspc "$kind" -f "$item"
2015-11-26 20:13:05 +01:00
Bastien Dejean
d3166dd399 Add *focused* modifier to desktops and monitors 2015-11-26 20:07:46 +01:00
Bastien Dejean
512e9044e3 Allow modifiers on every selector 2015-11-25 13:59:56 +01:00
Bastien Dejean
f758829169 Regularize the layer modifiers 2015-11-23 10:40:10 +01:00
Bastien Dejean
390a6c1ee7 Update the documentation regarding query/restore 2015-11-22 22:16:17 +01:00
Bastien Dejean
26cf449414 Make the modifier notation compact and uniform
We want to avoid irregular notations: STATES and FLAGS should translate
directly into modifiers.
2015-11-17 11:02:06 +01:00
Guy Hughes
df869d8b5f docs nontiled window selector typo 2015-11-16 20:36:32 -05:00
Bastien Dejean
0a5501c775 Rewrite README 2015-11-15 20:56:17 +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
619a491bbd Fix typos in manual 2015-11-13 12:07:48 +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
f28f33448f Make a clear distinction between states and flags 2015-11-05 14:00:49 +01:00
Bastien Dejean
26f3f45084 Add extensive documentation for the new modifiers 2015-10-27 21:48:19 +01:00
Bastien Dejean
65bc79f0c0 Add a few selector modifiers 2015-10-27 21:26:09 +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
99974912c8 *leaf_monocle*: only consider tiled windows
Fixes #282.
2015-08-07 08:47:24 +02:00
Fredrik Bergroth
51e09ea11e New setting: leaf_monocle
Use monocle layout if there is a single node.
2015-08-05 23:20:07 +02:00
Bastien Dejean
b10ee71714 Add desktop --bubble
Fixes #257
2015-05-26 23:31:19 +02:00
Bastien Dejean
9dd581faaf Allow subscribers to choose what they listen to 2015-05-09 21:12:19 +02:00
Bastien Dejean
8be5903955 Version 0.9 2015-03-20 22:29:14 +01:00
Bastien Dejean
9f2065540e Add rule consequence: split_ratio
Fixes #214
2015-02-21 10:14:27 +01:00
Bastien Dejean
1167e068b2 New setting: center_pseudo_tiled 2015-01-15 14:18:25 +01:00
Bastien Dejean
c13c678a54 Add new setting: initial_polarity
Fixes #193.
2015-01-06 20:10:09 +01:00
Joseph Lansdowne
85f90c51f2 add new selector modifier: unfocused 2015-01-04 19:53:18 +00:00
Bastien Dejean
28e04dced1 Use explicit screen number in socket path template 2014-11-23 15:38:49 +01:00
Bastien Dejean
208252be01 Documentation cleanup 2014-11-19 09:58:04 +01:00
Bastien Dejean
b7fa492602 Add setting: pointer_follows_focus 2014-10-22 11:24:51 +02:00
Bastien Dejean
230e341576 Fix some grammatical mistakes
Thanks to Scot Doyle.
2014-08-16 21:04:04 +02:00
Bastien Dejean
6f32affb5d Add new rule consequence: border 2014-08-14 18:14:25 +02:00
Luuk Hendriks
cc776e6a82 Fixed bspc rule --add syntax in documentation 2014-07-23 22:55:23 +02:00
Bastien Dejean
aebb6713b4 Provide the layout of the focused desk. of every monitor 2014-07-19 10:32:04 +02:00
Bastien Dejean
d85d3133f9 Reinstate focus_by_distance setting 2014-07-18 19:21:58 +02:00