On Sun, 10 Nov 2013 23:07:03 +0100 Josip Deanovic <[email protected]> wrote:
> On Sunday 2013-11-10, Amadeusz Sławiński wrote: > > > > Hey, > > > > I hope I understood you correctly, are miniaturized windows placed > > properly (not under dock) when you in preferences on second panel > > (maximization) check "...do not cover dock" and save. > > > > Amadeusz > > Hi Amadeusz! > > You are talking about the NoWindowOverDock option and I have mentioned > it before. > When it is set to "yes" a dock (a.k.a wmdock) does not cover the icons > (a.k.a miniwindows). > However, that option should concern windows, not the miniwindows > (icons). > > In short, no matter whether one want to allow windows to cover a > wmdock and/or miniwindows, miniwindows should never be covered by the > dock nor the dock should be covered by miniwindows. > > This was the case with 0.80.2 and older version of Windowmaker. > Yes I noticed this when I started to look at code, anyway I attach a quick patch which fixes this. I fix this in minimization code, however I wonder if it's not better idea to change how area is calculated and take it into account when maximizing.
>From 31f50698063a1c22d1e0c42652fab475feab2d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <[email protected]> Date: Mon, 11 Nov 2013 00:02:42 +0100 Subject: [PATCH] fix area for miniwindows placement wGetUsableAreaForHead returns area used for maximizing windows, when "... do not cover dock" is unchecked miniwindows end up being placed under dock, fix this by taking this option into account when calculating placement area --- src/actions.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/actions.c b/src/actions.c index 2087953..6dcaa10 100644 --- a/src/actions.c +++ b/src/actions.c @@ -1757,6 +1757,13 @@ void wArrangeIcons(WScreen *scr, Bool arrangeAll) vars[head].yo = vars[head].sy2 - isize; vars[head].ys = -1; } + if (scr->dock && (scr->dock->lowered && !wPreferences.no_window_over_dock)) { + if (scr->dock->on_right_side) { + vars[head].xo -= wPreferences.icon_size; + } else { + vars[head].xo += wPreferences.icon_size; + } + } } #define X ((wPreferences.icon_yard & IY_VERT) \ -- 1.8.4.3
