Bastien Dejean
f97d35cd96
New arguments for swap
: biggest
and smallest
2013-04-02 15:02:45 +02:00
Bastien Dejean
bbd0ad810f
Fix motion recorder being activated erroneously
...
We need to check which window is under the pointer after having changed
the z-order of windows.
2013-03-22 18:26:30 +01:00
Bastien Dejean
84d4ad4eb8
Exhaustively clear input focus before unmapping
...
This is a fix for the following bug:
https://bbs.archlinux.org/viewtopic.php?pid=1244541#p1244541
I'm not sure why `monsterwm` is immune to this or if there's a better
way to fix it. I've made a test with a simple window listening to
focus{in,out} events and it did receive those events after being
unmapped without needing the fix...
2013-03-18 19:44:09 +01:00
Bastien Dejean
0158ea7da6
Change input focus before unmapping
2013-03-18 15:34:07 +01:00
Bastien Dejean
2f6b48af34
Focus the root window on an empty desktop
2013-03-17 22:37:19 +01:00
Bastien Dejean
25b21321d3
Remove trailing spaces
2013-03-16 19:20:20 +01:00
Bastien Dejean
67e57260dd
Set current EWMH desktop in restore
2013-03-12 10:34:38 +01:00
Bastien Dejean
45cb3efd44
New message: balance
2013-03-10 18:28:30 +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
ca01046c4e
Disable motion recording as soon as possible
...
Also, get_pointed_window needs to lower the motion_recorder
window otherwise xcb_query_pointer will return that window as child
attribute.
2013-03-03 21:46:09 +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
df928c7053
New message: 'flip'
2013-02-26 12:54:01 +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
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
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
ee6f449789
Restore the event mask of the clients in 'restore'
2013-01-02 14:40:18 +01:00
Bastien Dejean
85c2983df2
New message: 'restore'
2012-12-27 22:36:06 +01:00
Bastien Dejean
e016b801f0
Relieve tree.c from non tree related functions
2012-12-26 22:48:07 +01:00
Bastien Dejean
92c52517da
More informative output for 'list*' messages
...
It will facilitate debugging and also provide an exhaustive
representation of the current state that might be used to reconstruct
the layout of each desktops. While doing so, it occurred to me that the
*born_as* attribute of the *node_t* structure was only used for leaves,
so I changed it into a *client_t* attribute.
2012-12-26 21:19:10 +01:00
Bastien Dejean
f7120e3e77
Make function name concur with message name
2012-12-25 23:13:11 +01:00
Bastien Dejean
f37c14902f
Rewrite border drawing in focus_node
...
6ad8160fad
introduced a blinking border
bug under the `mon == m` circumstances, the new code tries to keep it
simple while being exhaustive.
2012-12-25 11:59:56 +01:00
Bastien Dejean
36f30a7c3f
Make the remote code adhere to the coding style
2012-12-24 18:55:45 +01:00
Thomas Adam
6ad8160fad
Correctly honour 'active_border_color' setting
...
Ensure the explicitly non-focused monitor with a focused window has its
borders down correctly when 'active_border_color' is used.
Previously, the checks handling this did not set the correct monitor to use.
2012-12-24 13:44:40 +00:00
Bastien Dejean
af06168b61
New message: 'toggle_visibility'
2012-12-23 12:11:08 +01:00
Bastien Dejean
ce885e5e32
Use specified fifo ('-s' flag) instead of stdout
2012-12-18 12:38:46 +01:00
Bastien Dejean
939d569dc0
Use full layout name
2012-12-17 22:06:44 +01:00
Bastien Dejean
4de5f0d4b2
Merge branch 'master' into status
2012-12-17 20:27:22 +01:00
Bastien Dejean
9d9b45fd23
Remove duplicate leftover function
2012-12-17 20:15:30 +01:00
Bastien Dejean
89af85404e
New setting: 'status_stdout'
2012-12-17 20:12:23 +01:00
Bastien Dejean
f439efb0f5
New setting: 'adaptative_raise'
2012-12-13 14:00:45 +01:00
Bastien Dejean
4c2a3ce021
Actually change the floating rectangle in fit_monitor
2012-12-10 10:07:13 +01:00
Bastien Dejean
171e9b382a
New message: "pad"
2012-12-09 12:01:45 +01:00
Bastien Dejean
5c5405e3d4
Store pointer position in 'focus_node'
...
Since the 'focus', 'cycle', etc. messages skip 'arrange', we need to add
some code to prevent focus stealing if 'focus_follows_mouse' is 'true'.
2012-11-07 12:05:05 +01:00
Bastien Dejean
cba15c9663
Handle stacking order in focus_node
2012-11-04 14:35:17 +01:00
Bastien Dejean
bb12d0575a
Remove message: 'magnetise'
2012-11-04 14:16:30 +01:00
Bastien Dejean
edd2e2422d
New setting: 'gapless_monocle'
2012-11-04 14:10:08 +01:00
Bastien Dejean
ce4c9f5887
Compact 'arrange' debug message
2012-11-04 12:34:56 +01:00
Bastien Dejean
531029a80e
Monocle: change stacking only when the focus is tiled
2012-11-02 20:22:20 +01:00
Bastien Dejean
7d82867020
Refactor *circulate_leaves*
2012-11-02 12:06:20 +01:00
Bastien Dejean
c28eceb152
New message: 'circulate'
2012-11-01 22:47:03 +01:00
Bastien Dejean
1ab44c4132
Use the monitor, not the screen, rectangle
2012-10-29 10:45:47 +01: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
dfecbdc6e0
Tiled windows should not be above floating windows
2012-10-24 22:17:45 +02:00
Bastien Dejean
0c6a40cbe9
Properly handle 'focus_follows_mouse'
2012-10-23 15:30:30 +02:00