Alexander Lakhin exclusion@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.
Alexander Lakhinexclusion@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
Alexander Lakhin exclusion@gmail.com writes:
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
No, this has nothing to do with it. While IconicState can mean different things for different window managers, it shouldn't make a difference whether it's set as initial state or changed after the fact. If initial state is set correctly then the bug is in your window manager.
13.02.2011 00:06, Alexandre Julliard writes:
Alexander Lakhinexclusion@gmail.com writes:
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
No, this has nothing to do with it. While IconicState can mean different things for different window managers, it shouldn't make a difference whether it's set as initial state or changed after the fact. If initial state is set correctly then the bug is in your window manager.
Hello, Alexandre. Sorry, I was embarassed by the following sentence about the WM_STATE in the Inter-Client Communication Conventions Manual, section 4.1.3.1. "The state field describes the window manager’s idea of the state the window is in, which may not match the client’s idea as expressed in the initial_state field of the WM_HINTS property ..." I thought that "may not" here introduces some ambiguity and allows a window manager to distinct these two properties. But now I understand that it is indeed quirky to differentiate two and it's rather a defect of the window manager than Wine's. (For your information, I use compiz). Thanks for your feedback.
Best regards, Alexander