我使用带有默认 GNOME 的 Ubutnu 22.04,并且我的 VSCode 是从官方 APT repo 安装的。
为了永久启用 Wayland 渲染,我将原始文件code.desktop
和code-url-handler.desktop
文件从复制/usr/share/applications
到.local/share/applications
并更改Exec
部分以将附加命令行参数传递给 vscode 二进制文件。
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto --unity-launch %F
Icon=vscode
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/share/code/code --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto --new-window %F
Icon=vscode
(这是我的code.desktop文件的内容):
现在,如果我从系统菜单运行 VSCode,它可以工作,但出于某种原因,停靠图标上下文菜单中没有“添加到收藏夹”按钮。如果我从系统菜单本身添加它,它可以工作,但在我运行它时会产生单独的停靠图标(附有屏幕截图)。
我可以使用覆盖的桌面文件以某种方式恢复原始行为吗?
答案1
您只需要在 .desktop 文件中将 StartupWMClass 更改为 code-url-handler。
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code --enable-features=UseOzonePlatform --ozone-platform=wayland --unity-launch %F
Icon=vscode
Type=Application
StartupNotify=false
StartupWMClass=code-url-handler
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Keywords=vscode;