winex11.drv: Set the WM_STATE_ABOVE hint on topmost windows.

oldstable
Alexandre Julliard 2007-10-31 18:13:20 +01:00
parent c183a9e6e7
commit 83fd17f216
3 changed files with 6 additions and 0 deletions

View File

@ -181,6 +181,7 @@ 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_ABOVE,
XATOM__NET_WM_STATE_SKIP_PAGER,
XATOM__NET_WM_STATE_SKIP_TASKBAR
};
@ -195,6 +196,8 @@ static void update_wm_states( Display *display, struct x11drv_win_data *data, BO
new_state |= (1 << WM_STATE_FULLSCREEN);
ex_style = GetWindowLongW( data->hwnd, GWL_EXSTYLE );
if (ex_style & WS_EX_TOPMOST)
new_state |= (1 << WM_STATE_ABOVE);
if (ex_style & WS_EX_TOOLWINDOW)
new_state |= (1 << WM_STATE_SKIP_TASKBAR) | (1 << WM_STATE_SKIP_PAGER);

View File

@ -578,6 +578,7 @@ enum x11drv_atoms
XATOM__NET_WM_PID,
XATOM__NET_WM_PING,
XATOM__NET_WM_STATE,
XATOM__NET_WM_STATE_ABOVE,
XATOM__NET_WM_STATE_FULLSCREEN,
XATOM__NET_WM_STATE_SKIP_PAGER,
XATOM__NET_WM_STATE_SKIP_TASKBAR,
@ -649,6 +650,7 @@ enum x11drv_window_messages
enum x11drv_wm_state
{
WM_STATE_FULLSCREEN,
WM_STATE_ABOVE,
WM_STATE_SKIP_PAGER,
WM_STATE_SKIP_TASKBAR,
NB_WM_STATES

View File

@ -135,6 +135,7 @@ static const char * const atom_names[NB_XATOMS - FIRST_XATOM] =
"_NET_WM_PID",
"_NET_WM_PING",
"_NET_WM_STATE",
"_NET_WM_STATE_ABOVE",
"_NET_WM_STATE_FULLSCREEN",
"_NET_WM_STATE_SKIP_PAGER",
"_NET_WM_STATE_SKIP_TASKBAR",