diff --git a/autotests/netwininfotestwm.cpp b/autotests/netwininfotestwm.cpp --- a/autotests/netwininfotestwm.cpp +++ b/autotests/netwininfotestwm.cpp @@ -446,7 +446,6 @@ QTest::newRow("shaded") << NET::States(NET::Shaded) << (QVector() << shaded); QTest::newRow("skipTaskbar") << NET::States(NET::SkipTaskbar) << (QVector() << skipTaskbar); QTest::newRow("keepAbove") << NET::States(NET::KeepAbove) << (QVector() << keepAbove << staysOnTop); - QTest::newRow("staysOnTop") << NET::States(NET::StaysOnTop) << (QVector() << keepAbove << staysOnTop); QTest::newRow("skipPager") << NET::States(NET::SkipPager) << (QVector() << skipPager); QTest::newRow("hidden") << NET::States(NET::Hidden) << (QVector() << hidden); QTest::newRow("fullScreen") << NET::States(NET::FullScreen) << (QVector() << fullScreen); diff --git a/src/kwindowsystem.h b/src/kwindowsystem.h --- a/src/kwindowsystem.h +++ b/src/kwindowsystem.h @@ -362,7 +362,7 @@ * Possible values are or'ed combinations of NET::Modal, * NET::Sticky, NET::MaxVert, NET::MaxHoriz, NET::Shaded, * NET::SkipTaskbar, NET::SkipPager, NET::Hidden, - * NET::FullScreen, NET::KeepAbove, NET::KeepBelow, NET::StaysOnTop, + * NET::FullScreen, NET::KeepAbove, NET::KeepBelow, * NET::SkipSwitcher * * @param win the id of the window @@ -376,7 +376,7 @@ * Possible values are or'ed combinations of NET::Modal, * NET::Sticky, NET::MaxVert, NET::MaxHoriz, NET::Shaded, * NET::SkipTaskbar, NET::SkipPager, NET::Hidden, - * NET::FullScreen, NET::KeepAbove, NET::KeepBelow, NET::StaysOnTop, + * NET::FullScreen, NET::KeepAbove, NET::KeepBelow, * NET::SkipSwitcher * * @param win the id of the window diff --git a/src/platforms/xcb/netwm.cpp b/src/platforms/xcb/netwm.cpp --- a/src/platforms/xcb/netwm.cpp +++ b/src/platforms/xcb/netwm.cpp @@ -594,7 +594,7 @@ p->windowTypes = NormalMask | DesktopMask | DockMask | ToolbarMask | MenuMask | DialogMask; p->states = Modal | Sticky | MaxVert | MaxHoriz | Shaded - | SkipTaskbar | StaysOnTop; + | SkipTaskbar | KeepAbove; p->properties2 = NET::Properties2(); p->actions = NET::Actions(); p->clientProperties = NET::Properties(); @@ -1017,17 +1017,16 @@ } if (p->states & KeepAbove) { atoms[pnum++] = p->atom(_NET_WM_STATE_ABOVE); + // deprecated variant + atoms[pnum++] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); } if (p->states & KeepBelow) { atoms[pnum++] = p->atom(_NET_WM_STATE_BELOW); } if (p->states & DemandsAttention) { atoms[pnum++] = p->atom(_NET_WM_STATE_DEMANDS_ATTENTION); } - if (p->states & StaysOnTop) { - atoms[pnum++] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); - } if (p->states & Focused) { atoms[pnum++] = p->atom(_NET_WM_STATE_FOCUSED); } @@ -1340,7 +1339,7 @@ } else if (atom == p->atom(_NET_WM_STATE_DEMANDS_ATTENTION)) { p->states |= DemandsAttention; } else if (atom == p->atom(_NET_WM_STATE_STAYS_ON_TOP)) { - p->states |= StaysOnTop; + p->states |= KeepAbove; } else if (atom == p->atom(_NET_WM_STATE_FOCUSED)) { p->states |= Focused; } @@ -3017,19 +3016,18 @@ event.data.data32[2] = 0l; xcb_send_event(p->conn, false, p->root, netwm_sendevent_mask, (const char *) &event); - } - if ((mask & KeepBelow) && ((p->state & KeepBelow) != (state & KeepBelow))) { - event.data.data32[0] = (state & KeepBelow) ? 1 : 0; - event.data.data32[1] = p->atom(_NET_WM_STATE_BELOW); + // deprecated variant + event.data.data32[0] = (state & KeepAbove) ? 1 : 0; + event.data.data32[1] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); event.data.data32[2] = 0l; xcb_send_event(p->conn, false, p->root, netwm_sendevent_mask, (const char *) &event); } - if ((mask & StaysOnTop) && ((p->state & StaysOnTop) != (state & StaysOnTop))) { - event.data.data32[0] = (state & StaysOnTop) ? 1 : 0; - event.data.data32[1] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); + if ((mask & KeepBelow) && ((p->state & KeepBelow) != (state & KeepBelow))) { + event.data.data32[0] = (state & KeepBelow) ? 1 : 0; + event.data.data32[1] = p->atom(_NET_WM_STATE_BELOW); event.data.data32[2] = 0l; xcb_send_event(p->conn, false, p->root, netwm_sendevent_mask, (const char *) &event); @@ -3080,13 +3078,12 @@ // Policy if (p->state & KeepAbove) { data[count++] = p->atom(_NET_WM_STATE_ABOVE); + // deprecated variant + data[count++] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); } if (p->state & KeepBelow) { data[count++] = p->atom(_NET_WM_STATE_BELOW); } - if (p->state & StaysOnTop) { - data[count++] = p->atom(_NET_WM_STATE_STAYS_ON_TOP); - } if (p->state & Sticky) { data[count++] = p->atom(_NET_WM_STATE_STICKY); } @@ -3681,7 +3678,7 @@ } else if ((xcb_atom_t) message->data.data32[i] == p->atom(_NET_WM_STATE_DEMANDS_ATTENTION)) { mask |= DemandsAttention; } else if ((xcb_atom_t) message->data.data32[i] == p->atom(_NET_WM_STATE_STAYS_ON_TOP)) { - mask |= StaysOnTop; + mask |= KeepAbove; } else if ((xcb_atom_t) message->data.data32[i] == p->atom(_NET_WM_STATE_FOCUSED)) { mask |= Focused; } @@ -4106,7 +4103,7 @@ } else if (state == p->atom(_NET_WM_STATE_STAYS_ON_TOP)) { - p->state |= StaysOnTop; + p->state |= KeepAbove; } else if (state == p->atom(_NET_WM_STATE_FOCUSED)) {