joe*_*lom 7 gmail kde google-chrome chromium web-application
我每天使用两个操作系统:Ubuntu 15.04 与 Unity 桌面环境和 Manjaro 与 KDE-plasma-5 桌面。我花了很多时间在我的电子邮件上,让它像独立程序一样运行对我来说很方便,而不是铬中的选项卡。
在这两个系统上,我都可以通过“更多工具”下的设置菜单为 gmail 创建启动器。在 Ubuntu/Unity 上,我可以将这个启动器添加到面板中,它将作为一个独立的程序使用它自己的单独的图标和键盘快捷键。在 Manjaro/KDE 上,我的 gmail 快捷方式显示了一个唯一的图标,但是一旦程序启动,gmail 窗口就会被识别为一个 Chromium 窗口,它会与面板中现有的 Chromium 窗口合并而不是保留图标显示在快捷方式上。我还尝试使用命令行标志直接创建快捷方式,如这篇相当老的帖子中所述,但行为是相同的。
如何在 KDE 中模仿 Unity 行为?是否有可能让 webapp 像一个独立程序一样运行,或者它总是合并到任何现有的打开的 Chromium 窗口中?
导致此问题的问题是 KDE在不通过其 X11 窗口运行功能时识别显示启动器的应用程序class
,而 chrome 不会更改 X11 窗口class
,而是将其保留为google-chrome并将其更改classname
为唯一值。
值得庆幸的是,可以强制 Gmail 窗口按照您想要的方式运行。
xdotool
用你的包管理器调用的应用程序。~.local/share/applications/
..desktop
使用文本编辑器打开chrome 为您的 gmail web 应用程序创建的文件&&xdotool search --sync --classname <value> set_window --class <value>
,替换<value>
为 StartupWmClass 的值。这是我以这种方式编辑的另一个 web 应用程序的示例:
[Desktop Entry]
Comment=
Exec=/opt/google/chrome/google-chrome --profile-directory=Default --app-id=hlomdbnjeagldabepchlcdhkaagfedim && xdotool search --sync --classname crx_hlomdbnjeagldabepchlcdhkaagfedim set_window --class crx_hlomdbnjeagldabepchlcdhkaagfedim
Icon=chrome-hlomdbnjeagldabepchlcdhkaagfedim-Default
Name=Outlook 365
NoDisplay=false
Path[$e]=
StartupNotify=true
StartupWMClass=crx_hlomdbnjeagldabepchlcdhkaagfedim
Terminal=0
TerminalOptions=
Type=Application
Version=1.0
X-KDE-SubstituteUID=false
X-KDE-Username=
Run Code Online (Sandbox Code Playgroud)
该更改会将 web 应用程序的窗口类更改为 KDE 所期望的。应用程序图标可能会短暂显示为普通的 chrome 图标,但一旦 xdotool 完成,它将很快被 .desktop 文件中设置的正确图标替换。
归档时间: |
|
查看次数: |
10886 次 |
最近记录: |