Bastien Dejean
fd2a62af05
Filter focus requests using client source indication
2014-02-06 20:42:04 +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
0d1b920d24
Handle WM_NORMAL_HINTS atom modifications
2014-01-10 12:00:21 +01:00
Bastien Dejean
b47c758ad5
Handle min/max window size hints
2014-01-09 14:58:54 +01:00
Bastien Dejean
0c7e34700d
Don't transfer windows on configure requests
2013-12-27 18:55:41 +01:00
Bastien Dejean
48e0043f84
Implement the pseudo-tiled window state
2013-12-27 14:23:25 +01:00
Bastien Dejean
e0b6cd3cd4
*Frames* are unnecessary
...
The padding settings are sufficient for this.
2013-12-27 10:43:37 +01:00
Bastien Dejean
4451d8f0e7
Asynchronously parse rule command output
2013-11-08 20:31:23 +01:00
Bastien Dejean
c989aa7efc
Merge translate_position and translate_client
...
- Expand `underlying_monitor` into `monitor_from_client` to avoid
passing a NULL pointer to `translate_client`.
- Remove the `fit_monitor` setting (use the `--center` rule effect
instead).
- Don't remap a window in it's last location (node invisibility would be
the proper way to do this).
- Call `translate_client` after configure requests.
2013-10-27 11:25:34 +01:00
Bastien Dejean
343759bf77
Handle _NET_CLOSE_WINDOW
2013-10-26 18:06:04 +02:00
Bastien Dejean
b3b331a57d
By default, honor EWMH focus requests
2013-10-26 17:54:44 +02:00
Bastien Dejean
66fb031fd6
Update floating rectangle of tiled windows
2013-10-20 15:24:52 +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
35e9927ed9
Make sticky windows stick to their monitor
2013-10-06 16:58:02 +02:00
Bastien Dejean
c6ceca7683
Support _NET_WM_STATE_STICKY client message
2013-10-01 19:34:38 +02:00
Bastien Dejean
f2a578de2b
Make the window border width a desktop setting
2013-10-01 14:15:50 +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
30eb9598b8
Extract pointer functions from events.c
2013-09-25 18:00:01 +02:00
Bastien Dejean
16eae53e56
New setting: honor_ewmh_focus
2013-09-23 11:45:00 +02:00
Bastien Dejean
70c6cada07
Make focus_follows_pointer work on empty desktops
2013-09-22 11:16:06 +02:00
Bastien Dejean
1ef4d4fb05
Add comment for focus_in handling
2013-09-20 21:15:42 +02:00
Bastien Dejean
3dda8e7f6f
Move a few functions from tree to desktop/monitor
2013-09-20 11:57:09 +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
435727c9fa
Don't introduce unfounded exceptions
2013-09-18 12:58:09 +02:00
Bastien Dejean
afcbf4795e
Consider unmapped windows as withdrawn
2013-09-18 12:38:44 +02:00
Bastien Dejean
2b92f05e34
Focus a monitor with an empty focused desktop
2013-08-29 11:45:50 +02:00
Bastien Dejean
cf85a1d3fb
Fix all the warnings produced by clang
2013-08-02 10:47:01 +02:00
Bastien Dejean
72b8431be0
Prevent input focus from being stolen
...
Example: if one chromium window is opened and a link is opened in
newsbeuter then chromium will steal the input focus (without explicitly
requesting focus via the proper EWMH message).
2013-07-30 14:53:44 +02:00
Bastien Dejean
8f8f5d8ea4
Raise focused floating window via pointer -g focus
2013-07-15 21:18:37 +02:00
Bastien Dejean
44414046b9
Don't raise windows via focus_follows_pointer
2013-07-15 20:28:28 +02:00
Bastien Dejean
1f83706ab5
Don't transplant when swapping
...
The new syntax provides a separate transplantation option.
2013-07-13 09:40:19 +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
714fb8d504
Remove message: ungrab_pointer
...
The above message was only needed for ending the `move` pointer action
on a floating window. It rendered the `move` pointer action finicky
because the floating rectangle of the floating windows was not updated
in real time.
2013-07-04 11:04:28 +02:00
Bastien Dejean
addd537eb8
Prevent node transplantation for circulate
2013-07-02 21:33:33 +02:00
Bastien Dejean
0561e9075a
Handle _NET_WM_DESKTOP client message
2013-06-30 14:47:54 +02:00
Bastien Dejean
972526f1aa
Ignore _NET_ACTIVE_WINDOW for the focused node
2013-06-29 22:11:13 +02:00
Bastien Dejean
525c6409e6
Revert "Don't try to focus the focused node"
...
This reverts commit 92292f834f
.
The `n == mon->desk->focus` appears after remove_node, so we can't
return in this case in `focus_node` after all.
2013-06-29 22:05:51 +02:00
Bastien Dejean
92292f834f
Don't try to focus the focused node
2013-06-29 21:45:21 +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
12403a5081
Handle fullscreen state in apply_layout
2013-06-08 18:31:55 +02:00
Bastien Dejean
b939bd7480
Consider only pointer_follows_monitor
exceptions
...
We'd prefer not to have to clutter `messages.c` with redundant code and
hence we handle the two exceptions instead.
2013-06-08 11:53:48 +02:00
Bastien Dejean
f19cf121d7
Call arrange
in transfer_node
...
Fix a few regressions, and add numerous minor cosmetic improvements.
2013-06-06 23:51:30 +02:00
Bastien Dejean
3b0d482f41
Refactor focus_node and select_*
...
The select_* and focus_node where initially made independent as to
observe the --follow option. But this is in fact not necessary.
2013-05-29 14:34:27 +02:00
Bastien Dejean
ff9db2a94a
Three arguments is enough for focus_node
...
The fourth argument of `focus_node` was introduced to avoid calling
unneeded functions from `manage_window`: the reason is not good enough
to justify the existence of that extra argument.
2013-05-29 11:36:01 +02:00
Bastien Dejean
38b3f3531a
Handle monitors via RandR
2013-05-29 08:35:13 +02:00