Commit graph

1440 commits

Author SHA1 Message Date
Bastien Dejean
3e60b44c29 Only allow null nodes for the PATH descriptor
Fixes #434.
2016-03-27 10:48:57 +02:00
Bastien Dejean
bfffe8b1c7 Transfer nodes moved via configure requests
Fixes #431.
2016-03-26 14:25:40 +01: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
eb209d83bf Update domain list in Bash and ZSH completions 2016-03-23 11:42:33 +01:00
Bastien Dejean
b098530201 Zero-pad printed IDs
It seems that people expect all IDs to have the same length (#361).

And the maximum possible ID is 0x1fffffff (cf. the X11 protocol).
2016-03-23 11:24:47 +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
212442e162 Don't try to print pointers as strings 2016-03-16 10:26:38 +01:00
Bastien Dejean
6b8719e4a2 Introduce VERCMD in Makefile
This is useful when the author has to make a release commit, in which
case `make doc` is required, but, because the tag doesn't exist yet, the
output of VERCMD won't be what we want. Therefore, we need to override
VERCMD for the *doc* target: `make VERCMD=false doc`.
2016-03-16 10:13:45 +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
4b538bca86 Update the stacking list when removing a node
Because `stack` isn't called in `focus_node`, when `n == NULL`.
2016-02-26 22:14:26 +01:00
Bastien Dejean
15cdc71573 Fix gcc warning regarding uninitialized variable 2016-02-26 22:08:59 +01:00
Bastien Dejean
7e5c4f25c3 Initially center the pointer on mon
Fixes #407.
2016-02-26 15:28:42 +01:00
Bastien Dejean
c895ef0f0e Extract geometric functions from helpers.c 2016-02-26 14:22:03 +01:00
Bastien Dejean
87a89ffeac Don't change the index of the primary monitor 2016-02-24 10:55:24 +01:00
Bastien Dejean
dbaa2b377a Sort monitors by natural visual hierarchy
Fixes #405.
2016-02-23 21:19:12 +01:00
Bastien Dejean
2120dc366d Don't add a monitor without desktops 2016-02-23 21:16:46 +01:00
Bastien Dejean
ed76b1f8a7 Use the term DESKTOP_SEL consistently 2016-02-22 20:47:57 +01:00
Bastien Dejean
21f92abb46 Don't try to use a pointer after freeing it 2016-02-12 22:59:37 +01:00
Bastien Dejean
4402b6bae6 Don't try to guess the window rectangle
Fixes #394.
2016-02-12 22:49:06 +01:00
Bastien Dejean
b8951ba11b Don't generate redundant events in apply_layout
Fixes #393.
2016-02-11 18:37:48 +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
Bastien Dejean
74166b039b Handle non-leaf nodes in nearest_from_distance
Fixes #363.
2016-01-07 10:18:32 +01:00
Bastien Dejean
eb1cae3128 Fix comment 2016-01-04 15:21:03 +01:00
Bastien Dejean
a0aa6dd1fa Make the window ID printf format consistent
Fixes #361.
2016-01-04 15:17:47 +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
dcc13f7e56 Skip unmapped windows in query_pointer
Fixes #353.
2015-12-31 19:08:35 +01:00
Bastien Dejean
2db4613ac2 Restore primary monitor in restore_tree 2015-12-31 12:34:24 +01:00
Bastien Dejean
18d90521f3 Don't try to restore the state from zero tokens
Fixes #352.
2015-12-31 12:06:59 +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
44c5084f99 Don't needlessly call *cat* in panel example
Fixes #349.
2015-12-28 19:59:27 +01:00
Bastien Dejean
28e4fe6e9b Start parsing modifiers after the last colon
Fixes #347.
2015-12-26 21:22:24 +01:00
Bastien Dejean
4ca21ccb46 Handle preselection feedbacks in query_pointer
Fixes #341.
2015-12-23 22:21:43 +01:00
Bastien Dejean
74ce749300 Don't blindly focus monitors in pointer -g focus 2015-12-23 22:19:14 +01:00
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
aaf44a6fae Add clickable areas to the panel example 2015-12-23 12:41:56 +01:00
Bastien Dejean
ee6d28ccb3 Fix preselection cancel binding for desktops 2015-12-23 11:10:05 +01:00
Bastien Dejean
eb07d2fc06 Generalize window commands to nodes 2015-12-22 19:25:45 +01:00
Steven Allen
e434521fc3 Avoid rare memory leak.
Technically, a user could pass invalid JSON with duplicate keys to
restore and trigger a memory leak.
2015-12-20 11:29:55 -08:00
Campbell Barton
bcbee11cf1 Fix uninitialized member use
update_root is checking m->root with uninitialized memory.
2015-12-15 01:46:31 +11:00
Bastien Dejean
11ca847bf6 Fix false positives in keyeq 2015-12-13 20:46:12 +01:00
Bastien Dejean
bfb0c37c90 Handle EWMH *state* removal more carefully 2015-12-12 19:13:38 +01:00