]> git.lizzy.rs Git - bspwm.git/log
bspwm.git
7 years agoDon't replay the initial click in button_press
Bastien Dejean [Mon, 14 Nov 2016 09:38:46 +0000 (10:38 +0100)]
Don't replay the initial click in button_press

When `click_to_focus` is set, clicking on a window should simply focus
that window and not trigger some random action that might be attached to
an interactive element under the pointer.

7 years agoDiscard ref descendants in find_nearest_neighbor
Bastien Dejean [Sat, 12 Nov 2016 10:36:37 +0000 (11:36 +0100)]
Discard ref descendants in find_nearest_neighbor

Fixes #566.

7 years agoFix the description of DESKTOP_SEL's .local
Bastien Dejean [Sat, 12 Nov 2016 09:35:25 +0000 (10:35 +0100)]
Fix the description of DESKTOP_SEL's .local

7 years agoRestrain cycling in the example sxhkdrc
Bastien Dejean [Sat, 12 Nov 2016 09:33:19 +0000 (10:33 +0100)]
Restrain cycling in the example sxhkdrc

Fixes #565.

7 years agoCall activate_desktop in activate_node
Bastien Dejean [Sat, 12 Nov 2016 09:05:37 +0000 (10:05 +0100)]
Call activate_desktop in activate_node

Fixes #567.

7 years agoAdd the `--names` option to the `query` domain
Bastien Dejean [Fri, 4 Nov 2016 09:28:24 +0000 (10:28 +0100)]
Add the `--names` option to the `query` domain

Fixes #562.

7 years agoVersion 0.9.2
Bastien Dejean [Sun, 30 Oct 2016 12:25:26 +0000 (13:25 +0100)]
Version 0.9.2

7 years agoHandle _NET_WM_STRUT_PARTIAL
Bastien Dejean [Sat, 22 Oct 2016 11:01:16 +0000 (13:01 +0200)]
Handle _NET_WM_STRUT_PARTIAL

Fixes #487.

7 years agoHandle the border width setting for internal nodes
Bastien Dejean [Tue, 11 Oct 2016 16:37:08 +0000 (18:37 +0200)]
Handle the border width setting for internal nodes

Fixes #547.

7 years agoAdd an event for pointer actions
Thilo Wischmeyer [Wed, 21 Sep 2016 20:39:15 +0000 (22:39 +0200)]
Add an event for pointer actions

Fixes #536.

7 years agoSet WM_STATE when managing/unmanaging windows
Bastien Dejean [Tue, 27 Sep 2016 18:56:44 +0000 (20:56 +0200)]
Set WM_STATE when managing/unmanaging windows

Fixes #222.

7 years agoAdd node modifier: active
Bastien Dejean [Thu, 22 Sep 2016 20:30:38 +0000 (22:30 +0200)]
Add node modifier: active

7 years agoReplace malloc with calloc
nfnty [Sun, 20 Mar 2016 01:59:22 +0000 (02:59 +0100)]
Replace malloc with calloc

7 years agoFix neighbor DIR selection for overlapping windows
nfnty [Thu, 11 Aug 2016 19:02:56 +0000 (21:02 +0200)]
Fix neighbor DIR selection for overlapping windows

Use center as origin.

7 years agoFix memory leaks
nfnty [Thu, 11 Aug 2016 08:11:44 +0000 (10:11 +0200)]
Fix memory leaks

7 years agoFail when there's no fence to move
Bastien Dejean [Fri, 12 Aug 2016 07:26:38 +0000 (09:26 +0200)]
Fail when there's no fence to move

7 years agoThe pointer might move between empty monitors
Bastien Dejean [Thu, 4 Aug 2016 13:08:19 +0000 (15:08 +0200)]
The pointer might move between empty monitors

Fixes #523.

7 years agoFirst connect to X, then create the socket
Bastien Dejean [Sun, 17 Jul 2016 14:26:33 +0000 (16:26 +0200)]
First connect to X, then create the socket

Fixes #519.

7 years agoDon't leave dangling pointers in the focus history
Bastien Dejean [Sun, 17 Jul 2016 13:59:29 +0000 (15:59 +0200)]
Don't leave dangling pointers in the focus history

Fixes #518.

7 years agoSkip hidden leaves in tiled_count
Bastien Dejean [Sat, 16 Jul 2016 07:07:19 +0000 (09:07 +0200)]
Skip hidden leaves in tiled_count

Fixes #517.

7 years agoDon't hide sticky nodes in transfer_node
Bastien Dejean [Fri, 15 Jul 2016 19:02:59 +0000 (21:02 +0200)]
Don't hide sticky nodes in transfer_node

Fixes #516.

7 years agoMap windows before setting the input focus
Bastien Dejean [Thu, 14 Jul 2016 16:45:12 +0000 (18:45 +0200)]
Map windows before setting the input focus

Fixes #514.

7 years agoOnly alter last_{state,layer} in set_{state,layer}
Bastien Dejean [Sun, 10 Jul 2016 18:44:10 +0000 (20:44 +0200)]
Only alter last_{state,layer} in set_{state,layer}

Fixes #513.

7 years agoFix link to the K&R C book
Bastien Dejean [Sat, 9 Jul 2016 17:14:45 +0000 (19:14 +0200)]
Fix link to the K&R C book

Fixes #512.

8 years agoFix focus history as soon as possible
Bastien Dejean [Sun, 26 Jun 2016 14:58:52 +0000 (16:58 +0200)]
Fix focus history as soon as possible

Fixes #509.

8 years agoFix missing new line in border_width response
Bastien Dejean [Sat, 28 May 2016 07:45:40 +0000 (09:45 +0200)]
Fix missing new line in border_width response

8 years agoAdd setting: pointer_motion_interval
Bastien Dejean [Sat, 28 May 2016 07:43:05 +0000 (09:43 +0200)]
Add setting: pointer_motion_interval

Fixes #482.

8 years agoAdd current logo
Bastien Dejean [Fri, 27 May 2016 10:12:41 +0000 (12:12 +0200)]
Add current logo

Fixes #495.

8 years agoProvide computed selectors for the external rules
Bastien Dejean [Tue, 24 May 2016 14:32:40 +0000 (16:32 +0200)]
Provide computed selectors for the external rules

It might be useful to know what the computed monitor, desktop and node
consequences of the built-in phase are when we enter the external phase
of the rule processing mechanism.

8 years agoFix null pointer dereference in restore_tree
Bastien Dejean [Sun, 22 May 2016 14:56:07 +0000 (16:56 +0200)]
Fix null pointer dereference in restore_tree

8 years agoProvide a way to disable built-in pointer bindings
Bastien Dejean [Sat, 21 May 2016 19:31:14 +0000 (21:31 +0200)]
Provide a way to disable built-in pointer bindings

Fixes #490.

8 years agoAccept an optional reference in all the selectors
Bastien Dejean [Fri, 20 May 2016 09:41:36 +0000 (11:41 +0200)]
Accept an optional reference in all the selectors

Fixes #486.

8 years agoStart with the focused node in @DESKTOP_SEL:
Bastien Dejean [Fri, 20 May 2016 09:10:19 +0000 (11:10 +0200)]
Start with the focused node in @DESKTOP_SEL:

8 years agoResolve node paths relative to the given reference
Bastien Dejean [Thu, 19 May 2016 19:26:20 +0000 (21:26 +0200)]
Resolve node paths relative to the given reference

8 years agoCatch more invalid paths in node_from_desc
Bastien Dejean [Thu, 19 May 2016 19:10:10 +0000 (21:10 +0200)]
Catch more invalid paths in node_from_desc

For example, `query -N -n @/parent` will now fail.

8 years agoSometimes a break isn't enough
Bastien Dejean [Thu, 19 May 2016 18:18:56 +0000 (20:18 +0200)]
Sometimes a break isn't enough

Fixes #488.

8 years agoMake the *focused* modifiers less restrictive
Bastien Dejean [Wed, 18 May 2016 19:29:32 +0000 (21:29 +0200)]
Make the *focused* modifiers less restrictive

Example: `bspc query -N -d '^3' -n .focused` will return the ID of the
focused node of the third desktop.

8 years agoSet the WM_NAME property of each monitor's root
Bastien Dejean [Wed, 18 May 2016 19:13:27 +0000 (21:13 +0200)]
Set the WM_NAME property of each monitor's root

For example, `xdo id -N Bspwm -n root -a LVDS1` now returns the ID of
the root window of the monitor named LVDS1.

8 years agoDon't show presel feedbacks for the monocle layout
Bastien Dejean [Mon, 16 May 2016 08:33:22 +0000 (10:33 +0200)]
Don't show presel feedbacks for the monocle layout

Fixes #367.

8 years agoClose file descriptor in read_string
Bastien Dejean [Sat, 14 May 2016 15:56:34 +0000 (17:56 +0200)]
Close file descriptor in read_string

8 years agoFix memory leak in remove_node
Bastien Dejean [Sat, 14 May 2016 15:43:42 +0000 (17:43 +0200)]
Fix memory leak in remove_node

8 years agoDon't emit invalid desktop_focus events
Bastien Dejean [Fri, 13 May 2016 19:27:11 +0000 (21:27 +0200)]
Don't emit invalid desktop_focus events

8 years agoHandle sticky nodes in activate_desktop
Bastien Dejean [Fri, 13 May 2016 16:39:06 +0000 (18:39 +0200)]
Handle sticky nodes in activate_desktop

8 years agoAdd fish shell completion.
Nathan Isom [Wed, 11 May 2016 21:59:01 +0000 (16:59 -0500)]
Add fish shell completion.
fixes #459.

8 years agoAdd links to the Debian guide and packages
Bastien Dejean [Wed, 11 May 2016 07:57:36 +0000 (09:57 +0200)]
Add links to the Debian guide and packages

8 years agoAdd missing node_geometry events in track_pointer
Bastien Dejean [Tue, 10 May 2016 08:46:14 +0000 (10:46 +0200)]
Add missing node_geometry events in track_pointer

Fixes #472.

8 years agoDon't erase the parent too soon in unlink_node
Bastien Dejean [Tue, 10 May 2016 08:21:46 +0000 (10:21 +0200)]
Don't erase the parent too soon in unlink_node

Fixes #476.

8 years agoIgnore enter notify events in draw_presel_feedback
Bastien Dejean [Tue, 10 May 2016 07:48:17 +0000 (09:48 +0200)]
Ignore enter notify events in draw_presel_feedback

Fixes #474.

8 years agoDon't filter desktops in merge_monitors
Bastien Dejean [Mon, 9 May 2016 16:51:41 +0000 (18:51 +0200)]
Don't filter desktops in merge_monitors

Fixes #455.

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.