从 shell 脚本最小化和提升窗口

从 shell 脚本最小化和提升窗口

我正在尝试运行一个脚本,该脚本将使用 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

相关内容