Commit graph

251 commits

Author SHA1 Message Date
Bastien Dejean
57b12d8f47 Remove setting: focus_by_distance
Unfortunately nearest_from_tree is rather useless because it can't skip
vacant or receptacle nodes.

Therefore, *focus_by_distance* is now the default.
2016-04-21 10:45:05 +02:00
Bastien Dejean
be7376964c Add node descriptor: pointed
Fixes #456.
2016-04-19 20:49:22 +02:00
Bastien Dejean
331cc9e2d5 Add node flag: hidden
Fixes #229.
2016-04-16 18:13:31 +02:00
Bastien Dejean
71a2fb91b0 Allow multiple constraints for the *query* domain
Example:
    bspc query -N -d '^3' -n .window

The above command will list the IDs of the windows of the third desktop.
2016-04-14 23:15:58 +02:00
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
fb505a1b40 Version 0.9.1 2016-03-15 10:14:20 +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
1fe2b4179a Update TODO 2015-12-29 20:21:42 +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
f500e1b884 Packages: add Manjaro Linux 2015-11-23 18:08:08 +01:00
Bastien Dejean
ea6bee62c7 Update TODO 2015-11-23 12:20:55 +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
Guy Hughes
4b360a0965 docs CONTRIBUTING typo 2015-11-16 20:36:04 -05:00
Bastien Dejean
a4a3a4d4aa Expand INSTALL.md 2015-11-16 10:57:04 +01:00
Bastien Dejean
188804b4ac Remove obsolete vim modeline 2015-11-16 09:57:00 +01:00
Bastien Dejean
431fd45ac6 Add README.md to Makefile 2015-11-16 09:54:32 +01: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
10f264a04c Update TODO 2015-11-07 11:17:18 +01:00
Bastien Dejean
8c710c6c4f Update TODO 2015-11-07 11:08:18 +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
Ryan
0ef4069107 Replaced broken old AUR link with up to date links to arch packages. 2015-08-09 17:46:29 -06: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