Cairo-Dock 在 App 启动后识别 App,但反过来则不能

Cairo-Dock 在 App 启动后识别 App,但反过来则不能

我在 Xenial 上安装了 Cairo-Dock 和 Spotify。当我从 Cairo-Dock 启动 Spotify 时,它没有显示为活动状态(如果我再次单击图标,另一个 Spotify 实例将启动)。当我启动 Spotify 时开罗码头显示为活跃!

我启动了 Cairo-Dock,既有带 OpenGL 的,也有不带 OpenGL 的。不知道还能尝试什么……

有人吗?谢谢!

答案1

我遇到了同样的问题,我一直在努力解决这个问题,直到它起作用(有点......)。所以,你需要做的是:

-将 spotify 图标拖入 dock 以创建新的启动器。

-右键单击它,转到 spotify,然后编辑。

-将“点击启动命令”编辑为“spotify --mu”。

-申请。

现在退出任何正在运行的 spotify 会话并使用 dock 上的启动器重新启动它,它应该识别它。

这只是一种变通方法,而不是解决问题的办法。因此,它存在一些缺点:

如果没有使用命令“spotify --mu”运行,-cairo-dock 将无法识别 spotify 的任何实例,这意味着要么使用新启动器启动,要么在终端中使用“spotify --mu”。

- 随机情况下,它可能无法识别某些 spotify 实例。如果发生这种情况,只需退出 spotify 并再次运行即可。

如果我找到更好的方法,我会再尝试一下并更新答案。

答案2

我为我的死灵法术感到抱歉,但是我找到了一种解决方法,也许可以帮助那些偶然发现这个帖子的可怜的灵魂。

就像 Bas Jam 所说的,cairo-dock 仅在 cairo-dock 启动时已在运行的情况下才会识别正在运行的 spotify 实例。此解决方法基本上是运行一个脚本,该脚本会终止 Cairo-Dock、启动 Spotify,然后重新启动 Cairo-Dock。然后我们将设置 Spotify 启动器图标以运行此脚本。

  1. 创建一个 bash 脚本(例如 spotify-workaround.sh)并将其放在某处(我将它放在 ~/.config/cairo-dock/ 中)

  2. 将其粘贴到 bash 脚本中,然后保存:

#!/bin/sh 
spotify &
killall cairo-dock;
cairo-dock;
  1. 修改脚本的权限 ( chmod +x /path/to/spotify-workaround.sh)
  2. 在启动器选项中(参见 Bas Jam 的答案)将“单击时启动的命令”设置为,/path/to/spotify-workaround.sh然后点击“应用”
  3. 现在,当您单击 Cairo-Dock 上的 Spotify 图标时,将出现 spotify 窗口,cairo-dock 将关闭并重新打开,并识别 spotify 的正在运行实例!

答案3

我也遇到了这个问题。我使用了上面帖子中描述的解决方案,但我对其进行了修改,以便如果 Spotify 进程正在运行,它只会重新启动 dock。

#!/bin/sh 

if ! pgrep spotify > /dev/null
then
    spotify &
    sleep .5s;
    while ! pgrep spotify > /dev/null
    do
        sleep
    done
    killall cairo-dock;
    cairo-dock
else
    killall cairo-dock;
    cairo-dock;
fi

这可能会有问题,因为它确实有机会无限循环,但除此之外,这是最好的解决方案。

相关内容