]> git.lizzy.rs Git - bspwm.git/log
bspwm.git
8 years agoDon't use a domain target as reference
Bastien Dejean [Mon, 9 May 2016 16:43:03 +0000 (18:43 +0200)]
Don't use a domain target as reference

Otherwise, the behavior of, for example, `desktop prev -s next` is
unexpected.

8 years agoAdd node modifiers: {descendant,ancestor}_of
Bastien Dejean [Mon, 9 May 2016 14:55:31 +0000 (16:55 +0200)]
Add node modifiers: {descendant,ancestor}_of

Fixes #473.

8 years agoHandle failure of activate_desktop
Bastien Dejean [Mon, 9 May 2016 11:40:31 +0000 (13:40 +0200)]
Handle failure of activate_desktop

8 years agoMention the default reference
Bastien Dejean [Mon, 9 May 2016 11:37:45 +0000 (13:37 +0200)]
Mention the default reference

8 years agoDon't try to skip nodes in query_node_ids_in
Bastien Dejean [Sun, 8 May 2016 08:21:55 +0000 (10:21 +0200)]
Don't try to skip nodes in query_node_ids_in

Trying to return non-overlapping sub-trees in query_node_ids_in isn't a
good idea after all, because some modifiers aren't compatible with the
idea: if *b* is a descendant of *a*, `a.hidden => b.hidden` is true,
but `a.!automatic => b.!automatic` is false.

8 years agoUpdate contribution instructions
Bastien Dejean [Fri, 6 May 2016 12:26:10 +0000 (14:26 +0200)]
Update contribution instructions

8 years agoFix gcc warnings
Bastien Dejean [Fri, 6 May 2016 08:10:27 +0000 (10:10 +0200)]
Fix gcc warnings

8 years agoRemove setting: history_aware_focus
Bastien Dejean [Thu, 28 Apr 2016 08:33:30 +0000 (10:33 +0200)]
Remove setting: history_aware_focus

The new implementation of the DIR descriptor is based on
[right-window](https://github.com/ntrrgc/right-window).

Fixes #467.

8 years agoReturn early when possible in set_*_local
Bastien Dejean [Wed, 27 Apr 2016 18:23:07 +0000 (20:23 +0200)]
Return early when possible in set_*_local

Fixes #466.

8 years agoDon't confine the DIR descriptor
Bastien Dejean [Fri, 22 Apr 2016 10:32:10 +0000 (12:32 +0200)]
Don't confine the DIR descriptor

8 years agoRemove unnecessary headers
Bastien Dejean [Thu, 21 Apr 2016 09:19:11 +0000 (11:19 +0200)]
Remove unnecessary headers

8 years agoRemove unused function
Bastien Dejean [Thu, 21 Apr 2016 09:16:34 +0000 (11:16 +0200)]
Remove unused function

8 years agoRemove setting: focus_by_distance
Bastien Dejean [Thu, 21 Apr 2016 08:45:05 +0000 (10:45 +0200)]
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.

8 years agoUse the proper reference in find_closest_desktop
Bastien Dejean [Thu, 21 Apr 2016 08:18:43 +0000 (10:18 +0200)]
Use the proper reference in find_closest_desktop

Fixes #462.

8 years agoDon't confine the CYCLE_DIR descriptor
Bastien Dejean [Wed, 20 Apr 2016 19:04:15 +0000 (21:04 +0200)]
Don't confine the CYCLE_DIR descriptor

Fixes #212.

8 years agoAvoid accessing freed nodes in cancel_presel
Bastien Dejean [Wed, 20 Apr 2016 18:25:55 +0000 (20:25 +0200)]
Avoid accessing freed nodes in cancel_presel

Since cancel_presel is called by destroy_tree, we have to be careful not
to access any node besides n.

8 years agoDisable enter notify events in cancel_presel
Bastien Dejean [Wed, 20 Apr 2016 14:59:26 +0000 (16:59 +0200)]
Disable enter notify events in cancel_presel

Fixes #461.

8 years agoHonor FFP in initialize_presel_feedback
Bastien Dejean [Tue, 19 Apr 2016 18:55:19 +0000 (20:55 +0200)]
Honor FFP in initialize_presel_feedback

8 years agoAdd node descriptor: pointed
Bastien Dejean [Tue, 19 Apr 2016 18:49:22 +0000 (20:49 +0200)]
Add node descriptor: pointed

Fixes #456.

8 years agoConsolidate focus_follows_pointer
Bastien Dejean [Mon, 18 Apr 2016 11:54:00 +0000 (13:54 +0200)]
Consolidate focus_follows_pointer

Fixes #454.

8 years agoFix using uninitialized value
Campbell Barton [Mon, 18 Apr 2016 04:36:02 +0000 (14:36 +1000)]
Fix using uninitialized value

Currently with bspwm, the urgent member is read before being set.

Valgrind output:

```
==17037== Conditional jump or move depends on uninitialised value(s)
==17037==    at 0x409C06: focus_node (tree.c:503)
==17037==    by 0x40FF89: enter_notify (events.c:355)
==17037==    by 0x40F3C2: handle_event (events.c:61)
==17037==    by 0x404406: main (bspwm.c:180)
==17037==  Uninitialised value was created by a heap allocation
==17037==    at 0x4C2ABD0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==17037==    by 0x40A0A0: make_client (tree.c:619)
==17037==    by 0x4117E0: manage_window (window.c:131)
==17037==    by 0x41142A: schedule_window (window.c:67)
==17037==    by 0x4124D2: adopt_orphans (window.c:391)
==17037==    by 0x417FC9: cmd_wm (messages.c:1132)
==17037==    by 0x413DAA: process_message (messages.c:100)
==17037==    by 0x413C22: handle_message (messages.c:81)
==17037==    by 0x4043A2: main (bspwm.c:170)
```

8 years agoOnly alter the visibility of the shown windows
Bastien Dejean [Sat, 16 Apr 2016 19:15:45 +0000 (21:15 +0200)]
Only alter the visibility of the shown windows

8 years agoRestore/dump monitors and desktops pointers as IDs
Bastien Dejean [Sat, 16 Apr 2016 18:50:53 +0000 (20:50 +0200)]
Restore/dump monitors and desktops pointers as IDs

8 years agoCatch some of the invalid queries
Bastien Dejean [Sat, 16 Apr 2016 16:43:42 +0000 (18:43 +0200)]
Catch some of the invalid queries

8 years agoUpdate EWMH hidden state
Bastien Dejean [Sat, 16 Apr 2016 16:22:49 +0000 (18:22 +0200)]
Update EWMH hidden state

8 years agoAdd node flag: hidden
Bastien Dejean [Sat, 16 Apr 2016 16:13:31 +0000 (18:13 +0200)]
Add node flag: hidden

Fixes #229.

8 years agoleaf_monocle --> single_monocle completion.
Nathan Isom [Sat, 16 Apr 2016 00:20:23 +0000 (19:20 -0500)]
leaf_monocle --> single_monocle completion.

8 years agoImplement focus_follows_pointer via enter_notify
Bastien Dejean [Fri, 15 Apr 2016 17:11:30 +0000 (19:11 +0200)]
Implement focus_follows_pointer via enter_notify

I found a simple fix for #268.

8 years agoFix infinite loop in closest_monitor
Bastien Dejean [Fri, 15 Apr 2016 15:53:21 +0000 (17:53 +0200)]
Fix infinite loop in closest_monitor

8 years agoTry not to freeze the server
Bastien Dejean [Fri, 15 Apr 2016 15:11:07 +0000 (17:11 +0200)]
Try not to freeze the server

Otherwise, we might end up with a frozen server when trying to perform
pointer actions on an unmanaged window.

8 years agoRely on precomputed rectangles whenever possible
Bastien Dejean [Fri, 15 Apr 2016 14:34:45 +0000 (16:34 +0200)]
Rely on precomputed rectangles whenever possible

8 years agoAllow multiple constraints for the *query* domain
Bastien Dejean [Thu, 14 Apr 2016 21:15:58 +0000 (23:15 +0200)]
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.

8 years agoDon't restrict `node --flag` to windows
Bastien Dejean [Thu, 14 Apr 2016 14:56:14 +0000 (16:56 +0200)]
Don't restrict `node --flag` to windows

This fixes a regression introduced by e8aa679.

8 years agoFix missing NULL check
Campbell Barton [Mon, 11 Apr 2016 20:09:15 +0000 (06:09 +1000)]
Fix missing NULL check

could crash when windows were unmapped within a script.

8 years agoOnly grab what needs to be grabbed
Bastien Dejean [Mon, 11 Apr 2016 18:26:48 +0000 (20:26 +0200)]
Only grab what needs to be grabbed

8 years agoUse the proper type for the return value of getopt
Bastien Dejean [Mon, 11 Apr 2016 16:37:49 +0000 (18:37 +0200)]
Use the proper type for the return value of getopt

8 years agoDon't return a freed node from insert_node
Bastien Dejean [Mon, 11 Apr 2016 16:13:05 +0000 (18:13 +0200)]
Don't return a freed node from insert_node

8 years agoRemove hard-wired node DIR fallback
Bastien Dejean [Mon, 11 Apr 2016 15:58:05 +0000 (17:58 +0200)]
Remove hard-wired node DIR fallback

8 years agoRemove obsolete descriptor
Bastien Dejean [Mon, 11 Apr 2016 15:51:24 +0000 (17:51 +0200)]
Remove obsolete descriptor

8 years agoCleanup: indentation
Campbell Barton [Sun, 10 Apr 2016 20:07:48 +0000 (06:07 +1000)]
Cleanup: indentation

Mixing tabs/spaces

8 years agoAdd getter for pointer_action<n>
Bastien Dejean [Sun, 10 Apr 2016 20:33:02 +0000 (22:33 +0200)]
Add getter for pointer_action<n>

8 years agoMention pointer_action<n> where it makes sense
Bastien Dejean [Sun, 10 Apr 2016 20:24:25 +0000 (22:24 +0200)]
Mention pointer_action<n> where it makes sense

8 years agoDon't needlessly ungrab/grab the buttons
Bastien Dejean [Sun, 10 Apr 2016 20:12:22 +0000 (22:12 +0200)]
Don't needlessly ungrab/grab the buttons

8 years agoMake mouse button actions configurable
Campbell Barton [Sun, 10 Apr 2016 16:53:05 +0000 (02:53 +1000)]
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
```

8 years agoFix default ICCCM input hint value
Bastien Dejean [Sun, 10 Apr 2016 12:34:24 +0000 (14:34 +0200)]
Fix default ICCCM input hint value

8 years agoFix typo
Bastien Dejean [Sat, 9 Apr 2016 12:08:54 +0000 (14:08 +0200)]
Fix typo

8 years agoReinstate built-in pointer bindings
Bastien Dejean [Thu, 7 Apr 2016 16:08:32 +0000 (18:08 +0200)]
Reinstate built-in pointer bindings

8 years agoFix ID format in test window
Bastien Dejean [Tue, 29 Mar 2016 10:33:28 +0000 (12:33 +0200)]
Fix ID format in test window

8 years agoOnly allow null nodes for the PATH descriptor
Bastien Dejean [Sun, 27 Mar 2016 08:48:57 +0000 (10:48 +0200)]
Only allow null nodes for the PATH descriptor

Fixes #434.

8 years agoTransfer nodes moved via configure requests
Bastien Dejean [Sat, 26 Mar 2016 13:25:40 +0000 (14:25 +0100)]
Transfer nodes moved via configure requests

Fixes #431.

8 years agoIntroduce receptacles
Bastien Dejean [Sat, 26 Mar 2016 10:47:17 +0000 (11:47 +0100)]
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.

8 years agoUpdate domain list in Bash and ZSH completions
Bastien Dejean [Wed, 23 Mar 2016 10:42:33 +0000 (11:42 +0100)]
Update domain list in Bash and ZSH completions

8 years agoZero-pad printed IDs
Bastien Dejean [Wed, 23 Mar 2016 10:24:47 +0000 (11:24 +0100)]
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).

8 years agoFail verbosely
Bastien Dejean [Mon, 21 Mar 2016 13:28:04 +0000 (14:28 +0100)]
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.

8 years agoFix handling of ID/name frictions
Bastien Dejean [Sun, 20 Mar 2016 09:38:11 +0000 (10:38 +0100)]
Fix handling of ID/name frictions

It seems that `resource_base_id` isn't the lower bound of the set of
possible IDs.

8 years agoAdd IDs to desktops and monitors
Bastien Dejean [Wed, 16 Mar 2016 14:15:27 +0000 (15:15 +0100)]
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.

8 years agoDon't try to print pointers as strings
Bastien Dejean [Wed, 16 Mar 2016 09:26:38 +0000 (10:26 +0100)]
Don't try to print pointers as strings

8 years agoIntroduce VERCMD in Makefile
Bastien Dejean [Wed, 16 Mar 2016 09:13:45 +0000 (10:13 +0100)]
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`.

8 years agoFix VERSION definition in Makefile
Bastien Dejean [Tue, 15 Mar 2016 16:06:25 +0000 (17:06 +0100)]
Fix VERSION definition in Makefile

Fixes #414

8 years agoVersion 0.9.1
Bastien Dejean [Tue, 15 Mar 2016 09:14:20 +0000 (10:14 +0100)]
Version 0.9.1

8 years agoUpdate the stacking list when removing a node
Bastien Dejean [Fri, 26 Feb 2016 21:14:26 +0000 (22:14 +0100)]
Update the stacking list when removing a node

Because `stack` isn't called in `focus_node`, when `n == NULL`.

8 years agoFix gcc warning regarding uninitialized variable
Bastien Dejean [Fri, 26 Feb 2016 21:08:59 +0000 (22:08 +0100)]
Fix gcc warning regarding uninitialized variable

8 years agoInitially center the pointer on `mon`
Bastien Dejean [Fri, 26 Feb 2016 14:28:42 +0000 (15:28 +0100)]
Initially center the pointer on `mon`

Fixes #407.

8 years agoExtract geometric functions from helpers.c
Bastien Dejean [Fri, 26 Feb 2016 13:22:03 +0000 (14:22 +0100)]
Extract geometric functions from helpers.c

8 years agoDon't change the index of the primary monitor
Bastien Dejean [Wed, 24 Feb 2016 09:55:24 +0000 (10:55 +0100)]
Don't change the index of the primary monitor

8 years agoSort monitors by natural visual hierarchy
Bastien Dejean [Tue, 23 Feb 2016 20:19:12 +0000 (21:19 +0100)]
Sort monitors by natural visual hierarchy

Fixes #405.

8 years agoDon't add a monitor without desktops
Bastien Dejean [Tue, 23 Feb 2016 20:16:46 +0000 (21:16 +0100)]
Don't add a monitor without desktops

8 years agoUse the term `DESKTOP_SEL` consistently
Bastien Dejean [Mon, 22 Feb 2016 19:47:57 +0000 (20:47 +0100)]
Use the term `DESKTOP_SEL` consistently

8 years agoDon't try to use a pointer after freeing it
Bastien Dejean [Fri, 12 Feb 2016 21:59:37 +0000 (22:59 +0100)]
Don't try to use a pointer after freeing it

8 years agoDon't try to guess the window rectangle
Bastien Dejean [Fri, 12 Feb 2016 21:49:06 +0000 (22:49 +0100)]
Don't try to guess the window rectangle

Fixes #394.

8 years agoDon't generate redundant events in apply_layout
Bastien Dejean [Thu, 11 Feb 2016 17:37:48 +0000 (18:37 +0100)]
Don't generate redundant events in apply_layout

Fixes #393.

8 years agoAdd event: monitor_swap
Bastien Dejean [Mon, 1 Feb 2016 10:46:03 +0000 (11:46 +0100)]
Add event: monitor_swap

8 years agoAdd global setting: *paddingless_monocle*
Bastien Dejean [Sun, 10 Jan 2016 17:29:51 +0000 (18:29 +0100)]
Add global setting: *paddingless_monocle*

Fixes #365.

8 years agoHandle non-leaf nodes in nearest_from_distance
Bastien Dejean [Thu, 7 Jan 2016 09:18:32 +0000 (10:18 +0100)]
Handle non-leaf nodes in nearest_from_distance

Fixes #363.

8 years agoFix comment
Bastien Dejean [Mon, 4 Jan 2016 14:21:03 +0000 (15:21 +0100)]
Fix comment

8 years agoMake the window ID printf format consistent
Bastien Dejean [Mon, 4 Jan 2016 14:17:47 +0000 (15:17 +0100)]
Make the window ID printf format consistent

Fixes #361.

8 years agowindow --> node
Nathan Isom [Sun, 3 Jan 2016 23:57:40 +0000 (17:57 -0600)]
window --> node

8 years agoFix misinterpreted asterisk in rule syntax
Bastien Dejean [Sat, 2 Jan 2016 10:31:46 +0000 (11:31 +0100)]
Fix misinterpreted asterisk in rule syntax

8 years agoOnly use characters from the ASCII charset
Bastien Dejean [Sat, 2 Jan 2016 10:16:59 +0000 (11:16 +0100)]
Only use characters from the ASCII charset

8 years agoDocument the optional tilde character
Bastien Dejean [Sat, 2 Jan 2016 10:13:30 +0000 (11:13 +0100)]
Document the optional tilde character

8 years agoSkip unmapped windows in query_pointer
Bastien Dejean [Thu, 31 Dec 2015 18:08:35 +0000 (19:08 +0100)]
Skip unmapped windows in query_pointer

Fixes #353.

8 years agoRestore primary monitor in restore_tree
Bastien Dejean [Thu, 31 Dec 2015 11:34:24 +0000 (12:34 +0100)]
Restore primary monitor in restore_tree

8 years agoDon't try to restore the state from zero tokens
Bastien Dejean [Thu, 31 Dec 2015 11:06:59 +0000 (12:06 +0100)]
Don't try to restore the state from zero tokens

Fixes #352.

8 years agoAdd the `--rectangle` command the *monitor* domain
Bastien Dejean [Wed, 30 Dec 2015 10:36:14 +0000 (11:36 +0100)]
Add the `--rectangle` command the *monitor* domain

8 years agoUpdate TODO
Bastien Dejean [Tue, 29 Dec 2015 19:21:42 +0000 (20:21 +0100)]
Update TODO

8 years agoDon't needlessly call *cat* in panel example
Bastien Dejean [Mon, 28 Dec 2015 18:59:27 +0000 (19:59 +0100)]
Don't needlessly call *cat* in panel example

Fixes #349.

8 years agoStart parsing modifiers after the last colon
Bastien Dejean [Sat, 26 Dec 2015 20:22:24 +0000 (21:22 +0100)]
Start parsing modifiers after the last colon

Fixes #347.

8 years agoHandle preselection feedbacks in query_pointer
Bastien Dejean [Wed, 23 Dec 2015 21:21:43 +0000 (22:21 +0100)]
Handle preselection feedbacks in query_pointer

Fixes #341.

8 years agoDon't blindly focus monitors in `pointer -g focus`
Bastien Dejean [Wed, 23 Dec 2015 21:19:14 +0000 (22:19 +0100)]
Don't blindly focus monitors in `pointer -g focus`

8 years agoDon't take gaps into account when preselecting a gapless monocle
Steven Allen [Wed, 23 Dec 2015 17:48:52 +0000 (09:48 -0800)]
Don't take gaps into account when preselecting a gapless monocle

8 years agoEnable save-under for the presel feedback window
Bastien Dejean [Wed, 23 Dec 2015 18:05:05 +0000 (19:05 +0100)]
Enable save-under for the presel feedback window

8 years agoAdd clickable areas to the panel example
Bastien Dejean [Wed, 23 Dec 2015 11:41:56 +0000 (12:41 +0100)]
Add clickable areas to the panel example

8 years agoFix preselection cancel binding for desktops
Bastien Dejean [Wed, 23 Dec 2015 10:10:05 +0000 (11:10 +0100)]
Fix preselection cancel binding for desktops

8 years agoGeneralize window commands to nodes
Bastien Dejean [Tue, 22 Dec 2015 18:25:45 +0000 (19:25 +0100)]
Generalize window commands to nodes

8 years agoAvoid rare memory leak.
Steven Allen [Sun, 20 Dec 2015 19:29:55 +0000 (11:29 -0800)]
Avoid rare memory leak.

Technically, a user could pass invalid JSON with duplicate keys to
restore and trigger a memory leak.

8 years agoFix uninitialized member use
Campbell Barton [Mon, 14 Dec 2015 14:46:31 +0000 (01:46 +1100)]
Fix uninitialized member use

update_root is checking m->root with uninitialized memory.

8 years agoFix false positives in keyeq
Bastien Dejean [Sun, 13 Dec 2015 19:46:12 +0000 (20:46 +0100)]
Fix false positives in keyeq

8 years agoHandle EWMH *state* removal more carefully
Bastien Dejean [Sat, 12 Dec 2015 18:13:38 +0000 (19:13 +0100)]
Handle EWMH *state* removal more carefully

8 years agoUse last_{state,layer} more consistently
Bastien Dejean [Wed, 9 Dec 2015 10:07:22 +0000 (11:07 +0100)]
Use last_{state,layer} more consistently

8 years agoRevert "Simplify EWMH state toggling"
Bastien Dejean [Tue, 8 Dec 2015 19:46:54 +0000 (20:46 +0100)]
Revert "Simplify EWMH state toggling"