[Share Experiences] 【V23】Chrome PWA 应用 快捷键显隐窗口(2025-08-18) Resolved
Tofloor
poster avatar
NoahLiu
deepin
2025-08-18 14:42
Author

之前有写过一个 《微信快捷键显隐窗口的》,最近又让我发现了 PWA 窗口的特殊之处,对于热爱快捷键和PWA的我来说,必须让它们牵上红线。以后就请叫我月老吧~,老规矩,我还是只会Nodejs 的前端切图仔,shell 版本请各位自己转译我就上个 Nodejs 脚本 没有 shell 是不完美的:

#!/bin/bash

id="$1"

# 解析 wmctrl 输出,查找匹配窗口
find_window() {
  wmctrl -l -x | grep "crx_${id}.Google-chrome" | head -1
}

window_info=$(find_window)

if [ -n "$window_info" ]; then
  window_id=$(echo "$window_info" | awk '{print $1}')
  active_id=$(xdotool getactivewindow)

  if [ "$((window_id))" = "$active_id" ]; then
    xdotool windowminimize "$active_id"
  else
    xdotool windowactivate "$((window_id))"
  fi
else
  if [ -n "$id" ]; then
    nohup /opt/google/chrome/google-chrome --profile-directory=Default --app-id="$id" > /dev/null 2>&1 &
  fi
fi

这次因为要获取 window-class 所以引入了 wmctrl

里面 Chrome 启动 PWA 的命令使用了绝对地址,这个可能不通用,请各位遇到启动不了的问题时,去 chrome 的 .desktop 中找找你自己电脑上的启动命令

假设你的 node 有一个 全局的快捷连接 在 /usr/bin/node 这个位置,上面的js 文件在 /home/user/chromeapp.js

/usr/bin/node ~/chromeapp.js 

快捷键绑定请参考上一篇 [经验分享] 【V23】微信Linux 版本快捷键显隐窗口 (2025-3-14 更新)

Reply Favorite View the author
All Replies

No replies yet