在启动 ubuntu 18.10 时将 Whatsdesk 最小化到系统托盘中

在启动 ubuntu 18.10 时将 Whatsdesk 最小化到系统托盘中

我正在使用 kdocker(虽然我使用的是 GNOME)来运行 thunderbird,效果很好。现在我找到了一款非常不错的 whatsapp 桌面客户端,想在启动时启动它。但是有两个问题:它是一个 snap 应用程序,因此需要很长时间才能加载,因此与 kdocker 配合不好(kdocker 给出超时错误,之后 whatsdesk 会在托盘中打开而不会最小化)。第二个问题是它在系统托盘中已经有自己的图标,因此 kdocker 无论如何都会添加一个重复的图标。

作为一种解决方法,我现在在启动时运行此脚本:

#!/bin/bash
snap run whatsdesk &
sleep 10
wmctrl -c "Whatsdesk"

不过,我想知道是否有更好的方法来做到这一点,而不是打开窗口然后终止应用程序(即使这样被终止后,它也会最小化在托盘中)。

答案1

是的,有更好的方法可以做到这一点,虽然仍然有点肮脏,但至少它有效。只需将下面的代码放在没有扩展名的文件中,然后选择要在系统启动/登录时运行的脚本。您还必须将 Whatsdesk 设置为在启动时启动。然后它应该可以正常工作。:)

我实际上受到了你的剧本的启发,所以它只是对你剧本的一种延伸:

#!/bin/bash
i=0                             #set "counting var" to 0
while true; do                  #do as long as I say
i=$(echo $i + 1)                #add 1 to i
wmctrl -F -c "WhatsDesk"        #close window with exact title "WhatsDesk"
    if [ $? -eq 0 ]; then       #if close window command was successful, do:
    break                       #end "while"
    else
        if (( $i == 40 ))       #if "counting var" = x, do:
        then
        break                   #end "while"
        else
        sleep 0.25              #pause "while" for x seconds
        fi
    fi
done

-F 选项强制 wmctrl 区分大小写,并且必须是窗口标题的全名。所以...只要您没有另一个名称完全相同的窗口,就没问题。每 0.25 秒将搜索匹配的窗口。要更改这一点,只需将“0.25”更改为其他内容(以秒为单位)。此外,10 秒后,如果找不到匹配的窗口,此脚本会自动结束。要更改这一点,请将“40”更改为其他内容(所需秒数 x (1 / 0.25))<- 替换为您想要的值。

我希望这对你有帮助。(至少对我有用 ;D):)

答案2

  1. 安装Firefox 的 gnome 扩展
  2. 打开托盘图标扩展对于 Gnome

之后,您可以在任务栏上看到 whatsdesk 托盘图标

相关内容