Встроенного функционала нет, для X11 можно записпользовать такой код (юзается XLib):
#ifdef Q_WS_X11
# include <X11/Xlib.h>
# include <X11/Xatom.h>
#endif
...
toAllDesktops()
{
#ifdef Q_WS_X11
Atom atom = XInternAtom(x11Info().display(), "_NET_WM_DESKTOP", True);
if (atom)
{
uint32_t data = 0xFFFFFFFF;
XChangeProperty(x11Info().display(), // Display
winId(), // Window
atom, // Property
XA_CARDINAL, // Property type
32, // Data format: 8, 16 or 32 bit
PropModeReplace, // Property change mode
reinterpret_cast<uint8_t*>(&data), // Property data
1); // Data elements count
}
#endif
}
тут предполагается, что эта функцейка будет медотом класса окна, иначе нужно будет передавать Display и Window. Специальное значение 0xFFFFFFFF как раз и говорит - разместить на всех рабочих столах, иначе воспринимается как номер стола, куда нужно поместить окно. В случае Windows этот функционал бесмесленен, поэтому портабельность не сильно пострадает, при использовании директив препроцессора.
Подробности: