当前位置: 首页 > news >正文

deepin使用autokey添加微信快捷键一键显隐ctrl+alt+w

  1. 打开deepin商店,搜索快捷键,找到autokey 快捷键管理,点击安装
    在这里插入图片描述

  2. 点击右键新建文件夹
    在这里插入图片描述

  3. 点击右键新建脚本
    在这里插入图片描述

  4. 打开脚本并添加以下内容

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)
  1. 设置快捷键
    在这里插入图片描述

相关文章:

  • CExercise_12_单链表面试题_1求链表中间结点的值,判断单链表是否有环
  • 代码随想录训练营第31天 || 56. 合并区间 738. 单调递增的数字
  • gitee基本使用
  • Shell编程之循环语句
  • 【前端样式】使用Flexbox实现经典导航栏:自适应间距与移动端折叠实战
  • MATLAB基本数据类型
  • 如何一键自动提取CAD图中的中心线(如墙体、道路、巷道中心线等)
  • Android常见界面控件、程序活动单元Activity练习
  • LeetCode算法题(Go语言实现)_46
  • 3.2.2.3 Spring Boot配置拦截器
  • C++学习之数据库操作
  • AI日报 - 2025年4月15日
  • 华为OD机试真题——阿里巴巴找黄金宝箱 IV(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 子串-滑动窗口的最大值
  • 科研软件分享
  • AI agents系列之全从零开始构建
  • 批处理(Batch Processing)的详解、流程及框架/工具的详细对比
  • 前端工程化之自动化构建
  • .NET MCP 文档
  • 多模态思维链(Multimodal Chain of Thought, MCoT)六大技术支柱在医疗领域的应用
  • 牛市早报|今年国内核电项目审批首次开闸,离境退税起退点下调
  • 伤者升至80人,伊朗港口爆炸源头或为“危险品和化学品仓库”
  • 最高法改判一起植物新品种侵权案:判赔逾5300万元破纪录
  • 政治局会议深度|提出“设立新型政策性金融工具”有何深意?
  • 中信证券:“国家队”未曾减持ETF,应充分相信国家维稳决心
  • 帕力旦·吐尔逊已任喀什大学党委副书记、校长