Bastien Dejean
d98c3d17ae
Document and homogenize subscriber events
2015-11-09 15:00:47 +01:00
Bastien Dejean
2f93d90d3d
Add class and instance names to bspwm's windows
2015-10-31 22:19:17 +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
Bastien Dejean
645ad38885
Unlink the socket before binding
...
This is a recurring request (the probability of removing an important
file is probably low).
Also: don't start the X setup unless we have a working socket.
2015-08-17 10:14:07 +02:00
Bastien Dejean
639763c906
Reinstate the motion recorder for FFP
...
Because many clients (e.g. termite) prevent us (maybe unknowingly) from
capturing motion events on their windows, we're forced to create a
window for this sole purpose.
Grabbing the pointer isn't an option, because it forces us to consider
some of the enter notify events we should be ignoring.
2015-06-12 22:05:22 +02:00
Bastien Dejean
8821c69527
Only honor FFP in reaction to pointer motion events
...
It appears that unmapping windows might generate undesirable enter
notify events. It can lead a very nasty bug where the focus constantly
switches between two desktops ad infinitum (cf. #268 ).
2015-06-09 20:39:00 +02:00
Bastien Dejean
56895ab9ab
Implement focus_follows_pointer via enter notify events
...
The implementation based on a motion recorder had bad side effects.
2015-06-06 18:25:20 +02:00
Bastien Dejean
9dd581faaf
Allow subscribers to choose what they listen to
2015-05-09 21:12:19 +02:00
Bastien Dejean
5c1f76fdd6
Be verbose regarding broken connections
2015-02-09 13:56:46 +01:00
Bastien Dejean
28e04dced1
Use explicit screen number in socket path template
2014-11-23 15:38:49 +01:00
Bastien Dejean
c49bc92d12
Use generic BSD 2-clause license
...
Fixes #176
2014-10-22 11:53:03 +02:00
Bastien Dejean
73905a6223
Load default settings before adding desktops
2014-05-07 11:00:18 +02:00
Bastien Dejean
ab6b6c5e36
Use proper function names
2014-05-05 11:35:06 +02:00
Bastien Dejean
42a0fdd253
Refactor error reporting
...
Fixes #123
2014-02-17 11:55:34 +01:00
Bastien Dejean
b8f9e567b9
Add a --get-status
option to the *control* command
...
Fixes #120 .
2014-02-11 18:40:34 +01:00
Bastien Dejean
b9dcab1900
Remove trailing spaces in headers
2014-01-19 14:41:37 +01:00
Bastien Dejean
c231e8cf41
Indentation: convert spaces to tabs
...
http://lea.verou.me/2012/01/why-tabs-are-clearly-superior/
2014-01-18 16:30:00 +01:00
Bastien Dejean
ad5d5a9390
Handle SIG{INT,HUP,TERM} signals
2014-01-01 10:36:01 +01:00
Bastien Dejean
6d2f407da3
Remove obsolete opacity atom
2013-12-28 14:42:48 +01:00
Bastien Dejean
986825a118
Just quit when the connection is closed
2013-12-23 20:39:14 +01:00
Bastien Dejean
a7fe634bf0
Incorporate the display name into the default socket path
...
Fixes #105
2013-12-23 11:41:10 +01:00
jvvv
2341efd48d
Whitespace fix.
2013-12-15 20:27:33 -05:00
John Vogel
923e2d10ef
Add xinerama support back in.
2013-12-15 20:24:21 -05:00
Bastien Dejean
cd97a3290a
Reinstate the *rule* command
...
External rules are truly optional. At last.
2013-12-12 14:38:48 +01:00
Daniel Walter
abb4094ce2
Fix endless loop due to missing cast
...
On armv7 bspwm startup hangs during startup
due to a missing cast.
2013-12-04 12:07:55 +01:00
Bastien Dejean
3f23255a59
Handle zombies via SIGCHLD
2013-11-09 11:08:36 +01:00
Bastien Dejean
4451d8f0e7
Asynchronously parse rule command output
2013-11-08 20:31:23 +01:00
Bastien Dejean
40f7a438a6
End status lines by a new line
2013-11-07 17:58:22 +01:00
Bastien Dejean
493eaa78aa
Print status informations via control --subscribe
2013-11-07 14:28:39 +01:00
Bastien Dejean
948b8046f7
Externalize rules
2013-11-05 20:09:24 +01:00
Bastien Dejean
343759bf77
Handle _NET_CLOSE_WINDOW
2013-10-26 18:06:04 +02:00
Bastien Dejean
08e1c85ce0
Remove tags
...
Tags should generalize desktops.
To accomplish this, the main node attributes: (type, ratio) would have
to become a dictionary: ((tf1, (type1, ratio1)), (tf2, (type2, ratio2),
...). (`tf<n>` being a tag field.).
2013-10-19 10:56:34 +02:00
Bastien Dejean
6bc128554e
Implement frames
2013-10-10 18:24:21 +02:00
Bastien Dejean
15695c066b
Add copyright header
2013-10-08 21:05:56 +02:00
Bastien Dejean
ecb1b72263
Add history navigation selectors
2013-10-08 13:59:17 +02:00
Bastien Dejean
27d4556392
Include missing OpenBSD header
2013-10-07 22:25:42 +02:00
Bastien Dejean
752e87b7da
Enhance and clarify rule interface
2013-10-06 18:35:08 +02:00
Bastien Dejean
35e9927ed9
Make sticky windows stick to their monitor
2013-10-06 16:58:02 +02:00
Bastien Dejean
a75979be62
Implement tags
2013-10-05 22:32:40 +02:00
Bastien Dejean
c6ceca7683
Support _NET_WM_STATE_STICKY client message
2013-10-01 19:34:38 +02:00
Bastien Dejean
a81b560d1d
Handle _NET_WM_STATE_STICKY
2013-10-01 18:14:58 +02:00
Bastien Dejean
ce25529e5c
Implement sticky windows
2013-10-01 18:04:18 +02:00
Bastien Dejean
bfded1effc
History is global and stacking is independent
...
The last desktop and monitor are now deduced from the history.
The stacking order is now independent from the history of the focused
nodes: this prevents hacks on both sides.
All windows are now considered in the stacking algorithm: it prevents
tiled windows from one monitor to appear above the floating windows of
another monitor.
Transfered windows are stacked below the windows of the same kind.
2013-10-01 10:48:03 +02:00
Bastien Dejean
80caab4445
Make sure strings are null-terminated
2013-09-21 12:39:59 +02:00
Bastien Dejean
ffeaa83654
Don't set _NET_WM_NAME on the root window
...
http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html
2013-09-20 19:45:08 +02:00
Bastien Dejean
85f67b2164
Remove a few useless header inclusion via deheader
2013-09-19 15:38:22 +02:00
Bastien Dejean
d168e919e3
Split types.c into {monitor,desktop,history}.c
2013-09-19 15:02:49 +02:00
Bastien Dejean
b1d793031b
Don't support ICCCM's WM_STATE
...
It seems that it might cause more harm than good.
E.g.: Skype.
2013-09-19 10:29:19 +02:00
Bastien Dejean
84572b0204
Set the WM_STATE atom
...
`xkill` needs this work without the `-frame` option.
2013-09-18 12:07:55 +02:00
Bastien Dejean
cc4492d9ca
Remove --float-upcoming
from control
...
The following:
bspc control --float-upcoming
can now be expressed as:
bspc rule -a \* --floating --one-shot
2013-09-17 11:40:18 +02:00