是否可以通过命令行在Unity启动器上启动图标的“紧急动画”?


Answers:


8

您可以使用设置紧急提示wmctrl(需要安装):

some_task ; wmctrl -i -r $WINDOWID -b add,demands_attention

其中$WINDOWID的变量包含终端窗口的ID。由于键入的时间很长,因此可以在以下代码中为其设置别名~/.bashrc

alias set_urgent='wmctrl -i -r $WINDOWID -b add,demands_attention'

然后,您只需运行:

some_task ; set_urgent

当然,如果在wmctrl运行命令时终端处于活动状态,则此操作将无效。


1
如果您想要替身some_task(用于测试),请使用sleep 5,它将暂停5秒钟。另外,由于终端的窗口标题中可能不会出现单词“ Terminal”,因此您需要用终端标题的一部分代替带引号的文本“ Terminal”(可通过​​“编辑”->“配置文件首选项”进行配置->“标题和命令”选项卡->“当终端命令设置其自己的标题下拉菜单时。”。
凯文

是的,通过标题匹配进行此操作很丑陋。我已经在寻找一种方法来返回终端的窗口ID,并将其与wmctrl的-i开关一起使用,但是没有运气。
htorque

compiz的wiki有一些真正有用的信息在此
凯文

问题是它是交互式的-您需要单击一个窗口来获取信息。太好了:alias urgent_blink='wmctrl -i -r $(get me the window id) -b add,demands_attention'。另一方面,由哪个终端实例引起启动器摆动无关紧要。
htorque'5

1
感谢您的回答,我的最终解决方案是:alias yoo-hoo='wmctrl -i -r $WINDOWID -b add,demands_attention
Jan Nekvasil 2011年

1

安装通知发送。

sudo apt-get update; sudo apt-get upgrade; notify-send 'Ubuntu updated' 'All updates complete'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.