Commit graph

124 commits

Author SHA1 Message Date
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
Bastien Dejean
9a9693545d Add new option for control: --float-upcoming 2013-09-16 13:36:52 +02:00
Bastien Dejean
a0b9199df5 Stack in terms of relative actions
This rewrite is based on a TODO comment for the *stack_refresh*
function of *awesome*:
    It might be worth stopping to restack everyone and only stack `c'
    relatively to the first matching in the list.

And on the concept of relative stacking (via XDG_CONFIG_WINDOW_SIBLING).

Additionally the `adaptative_raise` setting was removed because it
became obsolete when the choice was made of not raising windows when
focusing via `focus_follows_pointer`.

Windows of type *desktop* are now supported (but not managed).
2013-09-12 16:26:01 +02:00
Bastien Dejean
1b5b633e7a Consolidate restore --tree 2013-09-10 21:24:29 +02:00
Bastien Dejean
e7cd176443 Internal state output syntax overhaul 2013-09-09 23:13:51 +02:00
Bastien Dejean
f38f863d30 Handle the primary monitor 2013-09-09 15:25:26 +02:00
Bastien Dejean
387ece3688 Implement ICCCM's WM_TAKE_FOCUS behavior
Additionally, the `apply_shadow_property` was renamed to
`apply_floating_atom`.
2013-09-05 15:37:54 +02:00
Bastien Dejean
824ee423c9 Remove setting: wm_name
The above setting's purpose was to replace `wmname` but it appears that
it can't be done without violating the EWMH standards and creating bad
side effects.
2013-09-05 11:09:24 +02:00
Bastien Dejean
8448fe0759 Initially give focus to the root window
See http://lists.suckless.org/dev/1308/17428.html.
2013-08-30 23:37:53 +02:00
Bastien Dejean
d454596484 Keep the real wm name on the supporting window 2013-08-30 14:00:02 +02:00
Bastien Dejean
f98770b8fc Support _NET_SUPPORTING_WM_CHECK 2013-08-30 11:46:57 +02:00
Bastien Dejean
2f4c9e9fd4 New option for bspwm: -c
In addition, the path of the default configuration file has changed.
2013-07-29 10:27:04 +02:00
Bastien Dejean
44414046b9 Don't raise windows via focus_follows_pointer 2013-07-15 20:28:28 +02:00
Bastien Dejean
8ff7c3ee47 Prevent focus change due to pointer jitter 2013-07-12 22:15:18 +02:00
Bastien Dejean
8fd8521322 Rewrite message handling
The new message syntax:
- Provides 10 commands instead of 60.
- Allows multiple actions to be applied in one call.

The client now returns an non zero exit code when a message fails.

The `is_adjacent` function now handles vacant nodes.
2013-07-12 21:52:02 +02:00
Bastien Dejean
ef75200fa2 Initialize status FIFO pointer 2013-07-02 15:18:19 +02:00
Bastien Dejean
a6e90f472a Make split mode and direction local 2013-06-27 17:26:52 +02:00
Bastien Dejean
30f891fad5 Don't try to import monitors when RandR is off 2013-06-10 13:51:46 +02:00
Bastien Dejean
e3bc2b90bd While merging a monitor, the source ends up empty 2013-06-09 17:12:21 +02:00
Bastien Dejean
ffea1b6f52 Synchronize the motion recorder and the root window 2013-06-02 22:03:51 +02:00
Bastien Dejean
44534985ea Consolidate monitor disconnection handling 2013-05-31 16:10:54 +02:00
Bastien Dejean
b87737565b Fit windows in their updated monitors 2013-05-29 21:19:11 +02:00
Bastien Dejean
82e5a6dc55 Set ID of monitor when adding it 2013-05-29 08:35:13 +02:00
Bastien Dejean
e108e11167 Consolidate RandR fallback 2013-05-29 08:35:13 +02:00
Bastien Dejean
38b3f3531a Handle monitors via RandR 2013-05-29 08:35:13 +02:00
Bastien Dejean
23f870da31 Use consistent names 2013-04-03 11:39:14 +02:00
Bastien Dejean
42afe4ad11 New option for bspwm: -p STATUS_PREFIX 2013-04-02 19:46:16 +02:00
Bastien Dejean
514cc1c78f Add help command line flag 2013-03-31 19:10:22 +02:00
Bastien Dejean
1f894fe492 Add support for _NET_WM_STATE_DEMANDS_ATTENTION 2013-03-26 11:34:06 +01:00
Bastien Dejean
829bc9b91f New setting: 'focus_follows_pointer' 2013-03-04 11:25:12 +01:00
Bastien Dejean
0acdab744c Remove setting: 'focus_follows_pointer'
It is impossible to make the feature work in every cases without
unwanted side effects, therefore it will only exists as a branch.
2013-03-04 11:19:24 +01:00
Bastien Dejean
6bfebaaf6b Focus follows pointer rewrite 2013-03-02 19:39:16 +01:00
Bastien Dejean
1a2bf4087e Update TODO 2013-02-12 17:18:01 +01:00
Bastien Dejean
9bd1e7fff7 Merge branch 'master' into compton-shadow 2013-01-17 10:54:36 +01:00
Bastien Dejean
d3e351adf6 Revert "Cursor pointer feedbacks for 'grab_pointer'"
This reverts commit e1e04bff2e.
2013-01-12 11:12:17 +01:00
Bastien Dejean
e1e04bff2e Cursor pointer feedbacks for 'grab_pointer' 2013-01-10 17:59:22 +01:00
Bastien Dejean
878bc8b144 Focus follows pointer needs enter notify events
It seems that pointer motion events are not sufficient to enforce
'focus_follows_pointer': some windows grab the pointer and catch those
events (e.g.: *zenity*), preventing *bspwm* from receiving them. So we
need to listen to enter notify events too.
2013-01-09 21:33:19 +01:00
Bastien Dejean
ec46a11d3e Don't exclude unmapped windows 2013-01-08 16:24:00 +01:00
Bastien Dejean
240b6798b0 New messages: '{grab,track,ungrab}_pointer' 2013-01-08 15:52:20 +01:00
Bastien Dejean
59f6c2c67a Remove obsolete headers 2013-01-07 11:52:51 +01:00