是否有键盘快捷键可以打开/下拉声音菜单/指示器,例如,以便查看当前正在播放的歌曲?如果没有,我该如何设置?
答案1
使用下面的快捷键脚本,您可以任何菜单项下拉,如果没有快捷方式,包括声音菜单:
它实际上与发布的答案几乎相同这里,但问题不同。不过,我冒昧地稍微扩大了你的问题(标题),以涵盖未来可能出现的类似问题。
它能做什么
该脚本模拟鼠标移动到菜单或图标,点击后将鼠标返回到原来的位置。这一切都发生在一瞬间,所以你根本不会注意到。
它可以灵活地使用,点击屏幕上任何位置,可以轻松更改。它使用两个选项运行:
到放(记住)当前鼠标的位置:
run_click -set
点击最后记住的位置:
run_click -run
如果未设置位置,则会出现 zenity 消息,邀请设置位置
该脚本创建一个隐藏文件;~/.run_click
其中存储最新记住的坐标。
如何使用
安装
xdotool
sudo apt-get install xdotool
将下面的脚本复制到一个空文件中,将其另存为
open_menu
(无扩展名)~/bin
。如有必要,创建目录,然后使脚本可执行。- 如果您刚刚创建
~/bin
,请运行source ~/.profile
。 - 首先测试两个命令,
open_menu -set
然后open_menu -run
查看是否一切按预期工作。 现在创建二快捷键:一个用于让脚本记住菜单项的位置,另一个用于实际打开菜单。选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并将命令添加到两个不同的快捷键组合中:
open_menu -set
和
open_menu -run
现在将鼠标放在声音菜单图标上并按下第一个快捷键。从此以后,您可以使用第二个快捷键打开菜单。
剧本
#!/usr/bin/env python3
import subprocess
import time
import sys
import os
option = sys.argv[1]
datafile = os.path.join(os.environ["HOME"], ".run_click")
def get_mousepos():
cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
return [d.split(":")[1] for d in cursordata[:2]]
if option == "-run":
try:
data = open(datafile).read()
coords = (" ").join([l for l in data.splitlines()])
except FileNotFoundError:
message = "Please run the command: 'run_click -set' first, to set the click position"
subprocess.Popen(["zenity", "--info", "--text", message])
else:
cmd1 = "xdotool mousemove "+coords; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(get_mousepos())
for cmd in [cmd1, cmd2, cmd3]:
subprocess.Popen(["/bin/bash", "-c", cmd])
time.sleep(0.05)
elif option == "-set":
open(datafile, "wt").write(("\n").join(get_mousepos()))
答案2
没有特定的快捷方式来打开声音指示器,但您可以按 Alt+F10 来聚焦菜单指示器并转换为声音指示器。