deepin使用autokey添加微信快捷键一键显隐ctrl+alt+w
-
打开deepin商店,搜索快捷键,找到autokey 快捷键管理,点击安装
-
点击右键新建文件夹
-
点击右键新建脚本
-
打开脚本并添加以下内容
import subprocess
import time
# ------------------ 配置项 ------------------
WM_CLASS = "wechat.wechat" # 通过xprop获取的窗口类名
WECHAT_CMD = "/usr/bin/wechat" # 微信启动命令
TRAY_ICON_X = "1640" # 托盘图标X坐标(需手动校准)
TRAY_ICON_Y = "1060" # 托盘图标Y坐标(需手动校准)
# ------------------------------------------
def get_wechat_windows():
try:
output = subprocess.check_output(["wmctrl", "-l", "-x"]).decode("utf-8")
return [line.split() for line in output.splitlines() if WM_CLASS in line]
except:
return []
def is_window_minimized(win_id):
try:
state = subprocess.check_output(["xprop", "-id", win_id, "WM_STATE"]).decode("utf-8")
return "Iconic" in state
except:
return False
# 主逻辑
windows = get_wechat_windows()
if windows:
for win_info in windows:
win_id = win_info[0]
if is_window_minimized(win_id):
# 恢复窗口
subprocess.call(["xdotool", "windowactivate", win_id]) # 双重保险
else:
# 最小化窗口
subprocess.call(["xdotool", "windowminimize", win_id])
else:
# 尝试通过托盘图标唤醒
subprocess.call(["xdotool", "mousemove", TRAY_ICON_X, TRAY_ICON_Y, "click", "1"])
time.sleep(1)
# 再次检查窗口
windows = get_wechat_windows()
if not windows:
# 彻底未启动时,执行启动命令
subprocess.Popen(WECHAT_CMD)
- 设置快捷键