linux脚本控制窗口最小化(scrcpy为例)

概述

1
2
3
4
5
6
7
# 安装
sudo pacman -S xdotool

# 查找 目标Window 并最小化
$ xdotool search --name "ONEPLUS"
24415619
$ xdotool windowminimize 24415619
1
2
3
4
5
# 利用 程序名称 搜索: 最小化 scrcpy 的 ONEPLUS 手机投屏窗口
xdotool windowminimize $(xdotool search --class "scrcpy")

# 利用Window Title 搜索: 最小化 scrcpy 的 ONEPLUS 手机投屏窗口
xdotool windowminimize $(xdotool search --name "ONEPLUS")

设置快捷键

  1. 创建shell文件 mini-scrcpy.sh,并将执行路径配置到PATH中
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     #!/bin/bash
     WID_V=$(xdotool search --onlyvisible --class "scrcpy")
     WID=$(xdotool search --class "scrcpy")
    
     echo "V: $WID_V"
     echo "WID: $WID"
    
     if [[ -z $WID_V && -n $WID ]]; then
       # already minimized, raise up it
       echo 'already minimized, raise up it'
       xdotool windowactivate $WID
     elif [[ -n $WID_V && -n $WID ]]; then
       # minimize it!
       echo 'minimize it!'
       xdotool windowminimize $WID
     fi
    
  2. 并将mini-scrcpy.sh执行路径配置到PATH中
    修改 .bashrc
    1
     export PATH="$PATH:/your-scrpt-path"
    
  3. 设置快捷键
    • manjaro xfce4 上设置快捷键
      1. 在开始菜单输入 keyboard 启动 Keyboard 设置程序
      2. Application Shortcuts 添加快捷键,对应命令为 /your-scrpt-path/mini-scrcpy.sh
    • 在 KDE 上设置快捷键
      1. 开始菜单 》shortcuts 》Custom Shortcuts 》Edit 》 New 》 Global Shortcut 》 Command/URL
      2. 选择sh文件地址
      3. Apply

mini-scrcpy.sh

版本 v2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
WID_V=$(xdotool search --onlyvisible --class "scrcpy")
WID=$(xdotool search --class "scrcpy")

echo "V: $WID_V"
echo "WID: $WID"

if [[ -z $WID_V && -n $WID ]]; then
  # already minimized, raise up it
  echo 'already minimized, raise up it'
  xdotool windowactivate $WID
elif [[ -n $WID_V && -n $WID ]]; then
  # minimize it!
  echo 'minimize it!'
  xdotool windowminimize $WID
fi

版本 v1

1
2
#!/bin/bash
xdotool windowminimize $(xdotool search --class "scrcpy")