I'm just now find the solution.
The main issue that all dockers marks own window as dock. In this case SW
will avoid this window during calculation of max size maximized window.
The solution to specify docker window as not avoid and specify needed depth
to have it on top of another windows.
There my fix (which added to .sawfishrc)
(add-window-matcher '((WM_CLASS . "^Plank/plank$"))
'(
(depth . 5)
(avoid . #f)
)
)
In this case this Plank window will not use during reserve space (since
it's docked) and will have depth +5 (this value I specify to have on top of
guake window)
Enjoy!
Thanks,
Vladimir
2013/3/18 Vladimir Kravets <[email protected]>
> You're right,
>
> It seems for sawfish the window size the same for hide and non hide mode:
> $ xwininfo -id 0x4e00007
>
> xwininfo: Window id: 0x4e00007 "plank"
>
> Absolute upper-left X: 0
> Absolute upper-left Y: 0
> Relative upper-left X: 0
> Relative upper-left Y: 0
> Width: 122
> Height: 768
> Depth: 32
> Visual: 0x5d
> Visual Class: TrueColor
> Border width: 0
> Class: InputOutput
> Colormap: 0x4e00003 (not installed)
> Bit Gravity State: NorthWestGravity
> Window Gravity State: StaticGravity
> Backing Store State: NotUseful
> Save Under State: no
> Map State: IsViewable
> Override Redirect State: no
> Corners: +0+0 -1244+0 -1244-0 +0-0
> -geometry 122x768+0+0
>
> The same data for both modes.
>
> One interesting data from xprop:
> $ xprop -id 0x4e00007
> _NET_WM_STRUT(CARDINAL) = 0, 0, 0, 0
> _NET_WM_STRUT_PARTIAL(CARDINAL) = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
> WM_STATE(WM_STATE):
> window state: Normal
> icon window: 0x0
> _NET_WM_DESKTOP(CARDINAL) = 4294967295
> _NET_WM_STATE(ATOM) = _NET_WM_STATE_STICKY, _NET_WM_STATE_SKIP_PAGER
> WM_HINTS(WM_HINTS):
> Client accepts input or input focus: False
> Initial state is Normal State.
> window id # of group leader: 0x4e00001
> XdndAware(ATOM) = BITMAP
> _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5,
> 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
> _MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x0, 0x0, 0x0
> _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 81788937
> _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DOCK
> _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x4e00008
> WM_CLIENT_LEADER(WINDOW): window id # 0x4e00001
> _NET_WM_PID(CARDINAL) = 18089
> WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
> WM_CLIENT_MACHINE(STRING) = "sly-sub"
> WM_NORMAL_HINTS(WM_SIZE_HINTS):
> program specified location: 0, 0
> program specified minimum size: 122 by 768
> program specified maximum size: 122 by 768
> program specified base size: 0 by 0
> window gravity: NorthWest
> WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS,
> _NET_WM_PING, _NET_WM_SYNC_REQUEST
> WM_CLASS(STRING) = "plank", "Plank"
> WM_ICON_NAME(STRING) = "plank"
> _NET_WM_ICON_NAME(UTF8_STRING) = "plank"
> WM_NAME(STRING) = "plank"
> _NET_WM_NAME(UTF8_STRING) = "plank"
>
>
> program specified location: 0, 0
> program specified minimum size: 122 by 768
> program specified maximum size: 122 by 768
> >>> program specified base size: 0 by 0
>
> It seems this size is ignoring by SF
>
> Thanks,
> Vladimir
>
>
> 2013/3/18 Michal Maruska <[email protected]>
>
>> I'd say the "docker" window is still big, and SF has to avoid it when
>> maximizing.
>> So, I'd look with xwininfo (& similar tools) at how big is the window
>> after the "auto-hide".
>> If not, then my wild guess is that maybe some property can still
>> "reserve" that full size. So xprop on the root...
>>
>>
>> On Mon, Mar 18, 2013 at 1:02 PM, Vladimir Kravets
>> <[email protected]> wrote:
>> > Hi guys,
>> >
>> > I noticed that if some of docker is launched and turn on to auto-hide
>> mode.
>> > Sawfish cannot maximize window to full posible size.
>> >
>> > Tested using such dockers:
>> > - Plank
>> > - Cairo Dock
>> > - wbar
>> >
>> > Locked the size of docker window size.
>> >
>> > Don't reproduce on xfce4-panel....
>> >
>> > Any suggestion how to fix this?
>> >
>> > Thanks,
>> > Vladimir
>>
>> --
>> Sawfish ML
>>
>>
>