winex11.drv: map_window should honor iconic state

Alexander Lakhin exclusion at gmail.com
Sat Feb 12 11:56:39 CST 2011


> Alexander Lakhin<exclusion at gmail.com>  writes:
>
>> +    data->iconic = (new_style&  WS_MINIMIZE) != 0;
>> +
>>       if (!data->embedded)
>>       {
>>           update_net_wm_states( display, data );
>>           sync_window_style( display, data );
>>           wine_tsx11_lock();
>>           XMapWindow( display, data->whole_window );
>> +        if (data->iconic)
>> +            XIconifyWindow( display, data->whole_window, DefaultScreen(display) );
> This is handled by setting the initial window state in the wm hints. If
> there's somewhere that the state isn't set correctly, that's what should
> be fixed.
>
Hello, Alexandre.

I've checked XWMHints just before XMapWindow call and received the correct initial_state (IconicState) and flags (StateHint set) there.
But the window still displayed not in a minimized state. To isolate the issue I tried the following code snippet:
...
   XWMHints *wm_hints = XAllocWMHints();
   wm_hints->initial_state = IconicState;
   wm_hints->flags = StateHint;
   XSetWMHints( display, win, wm_hints );

   XMapWindow( display, win );
...
And the window was not minimized again. After some research I found the following explanation to it:
http://mail.gnome.org/archives/wm-spec-list/2001-December/msg00020.html

So it seems that the only way to minimize a window is to call XIconifyWindow.

Best regards,
Alexander


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110212/4c43d92e/attachment-0001.htm>


More information about the wine-devel mailing list