我正在尝试运行一个脚本,该脚本将使用 GUI 检查 Linux 机器上的互联网速度,关闭终端窗口,当查询完成时,窗口将给出答案。至于目前——我可以把窗户降下来,但不能升起来。
#!/bin/bash
xdotool getactivewindow windowminimize
#xdotool set_window --name speedy
#xdotool set_window --icon-name speedy
speedtest-cli --simple
if [ $? -eq 0 ]
then
#xdotool windowactivate speedy
xdotool windowfocus #speedy
xdotool key "F11"
fi
exec $SHELL
答案1
xdotool
需要知道其所有操作的窗口 ID。您正确地用于getactivewindow
获取命令的窗口windowminimize
,但您还需要执行此操作来设置其名称。所以说
xdotool getactivewindow set_window --name speedy
在最小化线之前。
然后您可以使用search
它来查找它以供稍后激活。
xdotool search --name speedy windowactivate
请参阅联机帮助页部分窗口堆栈和命令链来解释这一切是如何运作的。
整个脚本:
#!/bin/bash
# rename the window for finding it again later
xdotool getactivewindow set_window --name speedy
xdotool search --name speedy windowminimize
speedtest-cli --simple
if [ $? -eq 0 ]
then
xdotool search --name speedy windowactivate
xdotool key "F11"
fi
答案2
我不知道如何使用 xdotool 来做到这一点,但这是您如何使用 wmctrl 升起一个窗口并仅用一个命令切换到全屏模式:
#!/bin/sh
TITLE_OF_WINDOW_TO_BE_RAISED="Tor-Browser"
wmctrl -a $TITLE_OF_WINDOW_TO_BE_RAISED -b add,fullscreen
它还会切换到包含该窗口的桌面并将其聚焦。
-a
升起窗口,-b add,fullscreen
“添加”全屏属性。
答案3
xdotool
为了避免重命名窗口,请将其标识符保存在 bash 变量中,该变量可以在以后的所有操作中返回:
#!/bin/bash
WID=$(xdotool getactivewindow)
xdotool windowminimize $WID
speedtest-cli --simple
if [ $? -eq 0 ]
then
xdotool windowactivate $WID
xdotool key "F11" $WID
fi