我已经创建了一个无框架Qt/QML窗口,我真的想知道任何设置其"Always On Top"系统菜单标志的程序化方法.单击ALT+SPACE我可以打开无框窗口的系统菜单,通过单击"始终在顶部"选项,窗口始终保持在顶部,但我没有找到一种编程方式来做同样的事情.这Qt.WindowStaysOnTopHint不起作用,尝试wmctrl -r "window name" -b add,above也不起作用,即使wmctrl它适用于其他窗口.wmctrl不适用于我感兴趣的窗口显然与N/A机器名称列有关wmctrl -l:
francisco@Ubuntu:~$ wmctrl -l
0x02600006 0 Ubuntu Área de trabalho
0x03c00002 0 Ubuntu XdndCollectionWindowImp
0x03c00005 0 Ubuntu unity-launcher
0x03c00008 0 Ubuntu unity-panel
0x03c0000b 0 Ubuntu unity-dash
0x03c0000c 0 Ubuntu Hud
0x046000b3 0 Ubuntu How to make a window aways on top? - Stack Overflow - Mozilla Firefox
0x0520000b 0 N/A Qt Creator
0x05002396 0 Ubuntu francisco@Ubuntu: ~
0x0540000b …Run Code Online (Sandbox Code Playgroud) 在我使用 Ubuntu Mate 20.04 上的“Snap Store”安装 VSCode 后(使用 compiz)。ALT+TAB当我使用VSCode 图标进行应用程序切换时,缺少图标。
图标的原始路径位于/snap/code/43/meta/gui/com.visualstudio.code.png。

我仅在 VSCode 的应用程序切换器中遇到此问题。
内容/var/lib/snapd/desktop/applications/code_code.desktop:
[Desktop Entry]
X-SnapInstanceName=code
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /snap/bin/code --force-user-env --no-sandbox --unity-launch %F
Icon=/snap/code/43/meta/gui/com.visualstudio.code.png
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /snap/bin/code --force-user-env --no-sandbox --new-window %F
Icon=/snap/code/43/meta/gui/com.visualstudio.code.png
Run Code Online (Sandbox Code Playgroud) 我试图以编程方式移动一个窗口,使其部分在屏幕上.例如,单击VLC标题栏并拖动它以便只有一半窗口可见,效果很好.
当我输出wmctrl -lG这个工作的结果就好了:
0x04a00011 0 -293 138 600 420 HEVM002 VLC media player
Run Code Online (Sandbox Code Playgroud)
然而,当我然后将它移回屏幕并尝试复制其位置时,它不起作用并将窗口剪切到远端:
wmctrl -r "VLC media player" -e 0,-200,0,800,600
Run Code Online (Sandbox Code Playgroud)
我已经测试了几个窗口管理器,它似乎在xfwm上工作正常但不在compiz上.是否有一个标志或类似的东西,我可以设置为启用屏幕移动窗口?