Commit a0019801 authored by Alexandre Julliard's avatar Alexandre Julliard

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

parent 8a87429d
......@@ -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);
......
......@@ -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
};
......
......@@ -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",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment