winex11: Set the SKIP_PAGER and SKIP_TASKBAR styles on tool windows.

This commit is contained in:
Alexandre Julliard 2007-10-11 11:40:55 +02:00
parent 8a87429d12
commit a0019801eb
3 changed files with 13 additions and 1 deletions

View File

@ -181,9 +181,11 @@ static void update_wm_states( Display *display, struct x11drv_win_data *data, BO
static const unsigned int state_atoms[NB_WM_STATES] =
{
XATOM__NET_WM_STATE_FULLSCREEN,
XATOM__NET_WM_STATE_SKIP_PAGER,
XATOM__NET_WM_STATE_SKIP_TASKBAR
};
DWORD i, new_state = 0;
DWORD i, ex_style, new_state = 0;
XEvent xev;
if (!data->managed) return;
@ -192,6 +194,10 @@ static void update_wm_states( Display *display, struct x11drv_win_data *data, BO
data->client_rect.top <= 0 && data->client_rect.bottom >= screen_height)
new_state |= (1 << WM_STATE_FULLSCREEN);
ex_style = GetWindowLongW( data->hwnd, GWL_EXSTYLE );
if (ex_style & WS_EX_TOOLWINDOW)
new_state |= (1 << WM_STATE_SKIP_TASKBAR) | (1 << WM_STATE_SKIP_PAGER);
xev.xclient.type = ClientMessage;
xev.xclient.window = data->whole_window;
xev.xclient.message_type = x11drv_atom(_NET_WM_STATE);

View File

@ -579,6 +579,8 @@ enum x11drv_atoms
XATOM__NET_WM_PING,
XATOM__NET_WM_STATE,
XATOM__NET_WM_STATE_FULLSCREEN,
XATOM__NET_WM_STATE_SKIP_PAGER,
XATOM__NET_WM_STATE_SKIP_TASKBAR,
XATOM__NET_WM_WINDOW_TYPE,
XATOM__NET_WM_WINDOW_TYPE_DIALOG,
XATOM__NET_WM_WINDOW_TYPE_NORMAL,
@ -647,6 +649,8 @@ enum x11drv_window_messages
enum x11drv_wm_state
{
WM_STATE_FULLSCREEN,
WM_STATE_SKIP_PAGER,
WM_STATE_SKIP_TASKBAR,
NB_WM_STATES
};

View File

@ -136,6 +136,8 @@ static const char * const atom_names[NB_XATOMS - FIRST_XATOM] =
"_NET_WM_PING",
"_NET_WM_STATE",
"_NET_WM_STATE_FULLSCREEN",
"_NET_WM_STATE_SKIP_PAGER",
"_NET_WM_STATE_SKIP_TASKBAR",
"_NET_WM_WINDOW_TYPE",
"_NET_WM_WINDOW_TYPE_DIALOG",
"_NET_WM_WINDOW_TYPE_NORMAL",