Commit graph

1440 commits

Author SHA1 Message Date
Bastien Dejean
99df3374b5 Ignore enter notify events in draw_presel_feedback
Fixes #474.
2016-05-10 09:48:17 +02:00
Bastien Dejean
2aea4bf28b Don't filter desktops in merge_monitors
Fixes #455.
2016-05-09 18:51:41 +02:00
Bastien Dejean
1e98b9116a Don't use a domain target as reference
Otherwise, the behavior of, for example, `desktop prev -s next` is
unexpected.
2016-05-09 18:43:03 +02:00
Bastien Dejean
e471298d0a Add node modifiers: {descendant,ancestor}_of
Fixes #473.
2016-05-09 16:55:31 +02:00
Bastien Dejean
bbc34068e7 Handle failure of activate_desktop 2016-05-09 13:40:31 +02:00
Bastien Dejean
a7821774c5 Mention the default reference 2016-05-09 13:37:45 +02:00
Bastien Dejean
cdc20bbe2a 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.
2016-05-08 10:21:55 +02:00
Bastien Dejean
28df617346 Update contribution instructions 2016-05-06 14:26:10 +02:00
Bastien Dejean
d7ead94ea0 Fix gcc warnings 2016-05-06 10:10:27 +02:00
Bastien Dejean
c32f30aa7e 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.
2016-04-28 10:33:30 +02:00
Bastien Dejean
8f86e93c32 Return early when possible in set_*_local
Fixes #466.
2016-04-27 20:23:07 +02:00
Bastien Dejean
f50f1f9b21 Don't confine the DIR descriptor 2016-04-22 12:32:10 +02:00
Bastien Dejean
3b0fc10531 Remove unnecessary headers 2016-04-21 11:19:11 +02:00
Bastien Dejean
26ef0c252b Remove unused function 2016-04-21 11:16:34 +02:00
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
09e3d7205e Use the proper reference in find_closest_desktop
Fixes #462.
2016-04-21 10:18:43 +02:00
Bastien Dejean
cd079d2c39 Don't confine the CYCLE_DIR descriptor
Fixes #212.
2016-04-20 21:04:15 +02:00
Bastien Dejean
1b6224485d 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.
2016-04-20 20:25:55 +02:00
Bastien Dejean
7c52a2bd12 Disable enter notify events in cancel_presel
Fixes #461.
2016-04-20 16:59:26 +02:00
Bastien Dejean
4bf21bdf93 Honor FFP in initialize_presel_feedback 2016-04-19 20:55:19 +02:00
Bastien Dejean
be7376964c Add node descriptor: pointed
Fixes #456.
2016-04-19 20:49:22 +02:00
Bastien Dejean
e70f826c94 Consolidate focus_follows_pointer
Fixes #454.
2016-04-18 13:54:00 +02:00
Campbell Barton
4a329419fa 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)
```
2016-04-18 14:36:02 +10:00
Bastien Dejean
0cfe1f344c Only alter the visibility of the shown windows 2016-04-16 21:15:45 +02:00
Bastien Dejean
83a54fea51 Restore/dump monitors and desktops pointers as IDs 2016-04-16 20:50:53 +02:00
Bastien Dejean
fefc9953f5 Catch some of the invalid queries 2016-04-16 18:43:42 +02:00
Bastien Dejean
3a9f8910d7 Update EWMH hidden state 2016-04-16 18:22:49 +02:00
Bastien Dejean
331cc9e2d5 Add node flag: hidden
Fixes #229.
2016-04-16 18:13:31 +02:00
Nathan Isom
828c93fb29 leaf_monocle --> single_monocle completion. 2016-04-15 19:20:23 -05:00
Bastien Dejean
2b2ed4eb56 Implement focus_follows_pointer via enter_notify
I found a simple fix for #268.
2016-04-15 19:11:30 +02:00
Bastien Dejean
c997408920 Fix infinite loop in closest_monitor 2016-04-15 17:53:21 +02:00
Bastien Dejean
9adc0348ae 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.
2016-04-15 17:11:07 +02:00
Bastien Dejean
e2ea3c0254 Rely on precomputed rectangles whenever possible 2016-04-15 16:34:45 +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
789cb8a504 Don't restrict node --flag to windows
This fixes a regression introduced by e8aa679.
2016-04-14 16:56:14 +02:00
Campbell Barton
73e402e49a Fix missing NULL check
could crash when windows were unmapped within a script.
2016-04-12 06:09:15 +10:00
Bastien Dejean
0042db16f4 Only grab what needs to be grabbed 2016-04-11 20:26:48 +02:00
Bastien Dejean
867b427356 Use the proper type for the return value of getopt 2016-04-11 18:37:49 +02:00
Bastien Dejean
0a09f5e4fa Don't return a freed node from insert_node 2016-04-11 18:13:05 +02:00
Bastien Dejean
5d01b48a04 Remove hard-wired node DIR fallback 2016-04-11 17:58:05 +02:00
Bastien Dejean
74f78ccd17 Remove obsolete descriptor 2016-04-11 17:51:24 +02:00
Campbell Barton
3eca593ef9 Cleanup: indentation
Mixing tabs/spaces
2016-04-11 07:27:28 +10:00
Bastien Dejean
56b543ef2d Add getter for pointer_action<n> 2016-04-10 22:33:02 +02:00
Bastien Dejean
265aa0ecdb Mention pointer_action<n> where it makes sense 2016-04-10 22:24:25 +02:00
Bastien Dejean
c6c52e240e Don't needlessly ungrab/grab the buttons 2016-04-10 22:12:22 +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
6f0bfe9ce2 Fix default ICCCM input hint value 2016-04-10 14:34:24 +02:00
Bastien Dejean
1ff7191130 Fix typo 2016-04-09 14:08:54 +02:00
Bastien Dejean
12edac86fa Reinstate built-in pointer bindings 2016-04-07 18:08:32 +02:00
Bastien Dejean
e1b5f77ef1 Fix ID format in test window 2016-03-29 12:33:28 +02:00