Commit graph

151 commits

Author SHA1 Message Date
Bastien Dejean
402f7d6cf3 Prevent flickering of grab_pointer focus
`stack_tiled` can generate flickering when monocle windows are involved,
so we shall try to avoid triggering it whenever possible.
2013-05-26 22:57:32 +02:00
Bastien Dejean
8e57511b50 Particularize swap_nodes 2013-05-06 11:28:32 +02:00
Bastien Dejean
1f894fe492 Add support for _NET_WM_STATE_DEMANDS_ATTENTION 2013-03-26 11:34:06 +01:00
Bastien Dejean
d18b3917ee Moving tiled windows to empty desktops 2013-03-10 09:55:09 +01:00
Bastien Dejean
5d9eebb463 Move tiled window: don't miss valid cases
When we move a tiled window from one monitor to the other, we don't care
about the state of the window under the pointer.
2013-03-09 20:49:19 +01:00
Bastien Dejean
b1318ee553 Moving a tiled window to another monitor
When we move a tiled window to another monitor via the `move` argument
of the `grab_pointer` message, we shall transfer the related node.
2013-03-09 19:40:47 +01:00
Bastien Dejean
1176b5c369 Lower the motion recorder when querying
The current implementation of `focus_follows_pointer` requires that the
motion recorder be lowered when `xcb_query_pointer` is called,
otherwise, the response will specify the motion recorder as child
attribute.
2013-03-07 21:53:45 +01:00
Bastien Dejean
6057feed61 Generalize swap_nodes
The `swap_nodes` function was not written to handle nodes from different
desktops. We need to be able to do that in order to move tiled windows
across monitors.
2013-03-07 21:34:33 +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
0f6f533a87 Unify tiled and floating pointer actions
The following 'grab_pointer' arguments are removed: 'move_tiled',
'resize_tiled'. The regular 'move' and 'resize_*' arguments shall be
used instead. The 'fence_grip' parameter is no longer meaningful and
has been removed. Moving and resizing now behaves the same for tiled and
floating windows.
2013-02-28 15:04:14 +01:00
Bastien Dejean
3573089f0d Reuse W 2013-02-28 12:47:29 +01:00
Bastien Dejean
2d860de977 New 'grab_pointer' argument: 'resize_side'
The 'resize' argument is now called 'resize_corner'.
2013-02-28 12:27:26 +01:00
Bastien Dejean
7741295902 Add tiled move/resize pointer actions
New arguments for `grab_pointer`: `{move,resize}_tiled`.
New setting: `fence_grip`.
2013-02-04 14:22:41 +01:00
Bastien Dejean
0494fc8601 Prevent pointer actions on fullscreen windows 2013-01-19 21:41:10 +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
5d3d5c5338 Don't start actions via unmanaged windows 2013-01-10 20:26:00 +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
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
Bastien Dejean
45ef3b78cc New message: 'mouse'
The code related to mouse buttons handling is gone.
Mouse bindings must now be created via sxhkd.
2013-01-06 18:04:55 +01:00
Bastien Dejean
6526e56b8c Remove settings: '{numlock,capslock}_modifier'
The lock keys (num, caps, scroll) are now handled internally and the
aforementioned settings are obsolete.
2013-01-02 12:36:54 +01:00
Bastien Dejean
5dfc01095a Only the current window shall not become urgent
We should only discard the urgency state of the focused window of the
focused desktop of the focused monitor.
2012-12-25 12:39:23 +01:00
Bastien Dejean
43f76714aa Prevent focus stealing for 'focus_follows_mouse'
When 'focus_follows_mouse' was enabled, and the focus was given (through
the 'focus' message) to another window, it was possible for the previous
window to generate an enter notify event and, hence, stole the focus.
2012-12-20 11:14:38 +01:00
Bastien Dejean
89af85404e New setting: 'status_stdout' 2012-12-17 20:12:23 +01:00
Bastien Dejean
03d8f642df Return whenever possible 2012-12-08 23:19:13 +01:00
Bastien Dejean
161fd6e295 Handle _NET_CURRENT_DESKTOP client message 2012-12-08 23:14:29 +01:00
Bastien Dejean
9b237551e6 New settings: 'numlock_modifier' and 'capslock_modifier' 2012-12-03 19:30:48 +01:00
Bastien Dejean
fe1cd3b233 Window dragging: transfer node to underlying monitor 2012-11-08 18:24:17 +01:00
Bastien Dejean
c383348e10 Don't forget to set the frozen pointer monitor 2012-11-02 14:47:26 +01:00
Bastien Dejean
1ab44c4132 Use the monitor, not the screen, rectangle 2012-10-29 10:45:47 +01:00
Bastien Dejean
240c75c704 Orphan adoption: restore desktops organization 2012-10-25 21:49:14 +02:00
Bastien Dejean
04bebb797a Fix monocle regression in 'client_message'
The new handling of tiled monocle windows requires to call *arrange*
after *focus_node*.
2012-10-25 19:45:41 +02:00
Bastien Dejean
159b158599 Merge branch 'adopt-orphans' 2012-10-24 21:06:54 +02:00
Bastien Dejean
7889c52640 Small optimization in enter_notify 2012-10-24 19:31:33 +02:00
Bastien Dejean
5ad12f917d Initial approach for orphans adoption 2012-10-24 16:34:56 +02:00
Bastien Dejean
898245ad9d Minor cleanup in 'enter_notify' 2012-10-23 19:29:21 +02:00
Bastien Dejean
0c6a40cbe9 Properly handle 'focus_follows_mouse' 2012-10-23 15:30:30 +02:00
Bastien Dejean
2966780771 Window resize/move toggles the floating state of tiled windows 2012-10-23 13:58:31 +02:00
Bastien Dejean
58c0c96503 Handle monitors in 'enter_notify' 2012-10-23 13:48:09 +02:00
Bastien Dejean
f0ab3e390e Merge branch 'develop' 2012-10-23 12:17:19 +02:00
Bastien Dejean
ced4c2c0a8 Only follow the mouse pointer if it moves 2012-10-22 22:38:21 +02:00
Bastien Dejean
dddfc5de6c Fix typo in setting name 2012-10-22 12:25:58 +02:00
Bastien Dejean
7825c8b059 New setting: 'focus_follow_mouse' 2012-10-22 12:21:12 +02:00
Bastien Dejean
3656722c14 Fix toggle_fullscreen 2012-10-18 11:09:17 +02:00
Bastien Dejean
2a3362fc4b Added support for multiple monitors 2012-10-17 16:18:40 +02:00
Bastien Dejean
189782aa29 _NET_ACTIVE_WINDOW: toggle fullscreen if necessary 2012-10-11 15:16:40 +02:00
Bastien Dejean
07b7f292d4 Handle _NET_WM_WINDOW_TYPE_{DOCK,NOTIFICATION}
Fancy panels (tint2, bmpanel2, ...) can now be used with bspwm.
2012-10-10 23:01:38 +02:00