Commit graph

253 commits

Author SHA1 Message Date
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
65184b7113 Update status when focusing an urgent window 2014-01-13 20:39:41 +01:00
Bastien Dejean
215d23b639 Fix scan-build *bug* 2014-01-09 15:09:23 +01:00
Bastien Dejean
b47c758ad5 Handle min/max window size hints 2014-01-09 14:58:54 +01:00
Bastien Dejean
168ff7968f New desktop option: --equalize 2014-01-04 12:15:42 +01:00
Bastien Dejean
edcb1f9aec Show window instance names in the output of query -T 2014-01-04 11:07:20 +01:00
Bastien Dejean
56d17d8572 Update the window border when pseudo-focusing 2013-12-31 18:05:30 +01:00
Bastien Dejean
14b3fd235e Fix bogus desktop focus fallback 2013-12-31 17:48:11 +01:00
Bastien Dejean
0073eff5dc Simply treat transient windows as floating windows
http://tronche.com/gui/x/icccm/sec-4.html#WM_TRANSIENT_FOR
2013-12-29 19:53:42 +01:00
Bastien Dejean
b972f0abbd Provide padding settings for monitors
If a padding space is requested for a status bar, it concerns the
underlying monitor.
2013-12-28 10:30:49 +01:00
Bastien Dejean
6561ab1c48 Refresh header dependencies 2013-12-28 00:09:10 +01:00
Bastien Dejean
bc39da7e78 Pull and push edges via window -e DIR ±PIXELS 2013-12-27 14:46:35 +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
471fd2c7fc Turn {top,right,bottom,left}_padding into desktop settings 2013-12-25 10:06:02 +01:00
Bastien Dejean
5e037978dd Don't reset *num_clients* in *restore_tree* 2013-12-19 18:52:59 +01:00
Bastien Dejean
dc98ea2cf1 Fix vacant state propagation target in insert_node 2013-11-16 21:53:03 +01:00
Bastien Dejean
a50f05fb34 Add missing newline in PRINTF 2013-11-16 16:49:50 +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
c3e8de4ad5 Revert "Keep a focused sticky window focused"
This reverts commit 887bad7707.
2013-10-24 22:05:06 +02:00
Bastien Dejean
ae1ed3b795 New setting: fit_monitor 2013-10-23 22:20:34 +02:00
Bastien Dejean
f05adfde8f Fix circulate_leaves 2013-10-21 19:03:10 +02:00
Bastien Dejean
dc805f9a6a Consolidate fit_monitor 2013-10-20 20:33:34 +02:00
Bastien Dejean
dc575c74b8 A fullscreen window can't be unfocused 2013-10-19 17:52:29 +02:00
Bastien Dejean
6c51d8e3da Merge stack and stack_under 2013-10-19 17:46:28 +02:00
Bastien Dejean
887bad7707 Keep a focused sticky window focused 2013-10-19 11:30:54 +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
7334277454 Implement private windows 2013-10-12 21:16:51 +02:00
Bastien Dejean
fc041e8ba1 Remove obsolete chunk of code 2013-10-10 18:25:34 +02:00
Bastien Dejean
6bc128554e Implement frames 2013-10-10 18:24:21 +02:00
Bastien Dejean
95da6eaa27 Always update null focus pointer on insertion 2013-10-09 14:46:32 +02:00
Bastien Dejean
98c2b6c1e5 Fix clang warnings 2013-10-08 23:14:06 +02:00
Bastien Dejean
15695c066b Add copyright header 2013-10-08 21:05:56 +02:00
Bastien Dejean
759b87bb66 Add the older/newer selectors to all the objects
But also:
- Add a new modifier: `local`.
- Remove useless modifiers.
2013-10-08 17:47:00 +02:00
Bastien Dejean
c5d4c6577d Handle _NET_WM_STATE more carefully
After all, it seems (see spectrwm) that the window manager should
maintain that property.
2013-10-07 11:41:54 +02:00
Bastien Dejean
0d1ad5177e Consider the target monitor, not the focused one 2013-10-06 18:50:15 +02:00
Bastien Dejean
35e9927ed9 Make sticky windows stick to their monitor 2013-10-06 16:58:02 +02:00
Bastien Dejean
17dc42de3c Handle node visibility in circulate_leaves 2013-10-06 10:42:13 +02:00
Bastien Dejean
a7b42fad6e A vacant node can be visible 2013-10-06 10:20:37 +02:00
Bastien Dejean
a75979be62 Implement tags 2013-10-05 22:32:40 +02:00
Bastien Dejean
d653f1cb70 Use consistent function names 2013-10-02 11:01:21 +02:00
Bastien Dejean
58f7e5656a Consolidate transfer_node 2013-10-02 10:50:29 +02:00
Bastien Dejean
8f95e5102f Update node coordinates after swap/transplant 2013-10-01 20:45:27 +02:00
Bastien Dejean
c6ceca7683 Support _NET_WM_STATE_STICKY client message 2013-10-01 19:34:38 +02:00
Bastien Dejean
ce25529e5c Implement sticky windows 2013-10-01 18:04:18 +02:00
Bastien Dejean
f2a578de2b Make the window border width a desktop setting 2013-10-01 14:15:50 +02:00
Bastien Dejean
399b98345b Maintain the fullscreen state whenever possible 2013-10-01 11:35:14 +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