Muka 程序切换实用工具(Muka-TaskSwitch)是一个使用 Rust + egui + winit + glow 实现的 Windows 窗口切换 / 任务栏管理工具。它以一个贴边的侧边栏实时列出当前所有可见窗口,配合全局热键即可快速切换,提高多窗口工作时的效率。

功能特性

  • 实时窗口列表:每秒自动扫描当前可见的顶层窗口,检测变化并刷新列表(自身窗口会被排除)。
  • 快速搜索过滤:支持按进程名、窗口标题或全部字段实时过滤。
  • 一键激活窗口:点击条目即可将对应窗口切换到前台;若窗口已最小化则自动恢复。
  • 全局热键:默认 Alt + ~(反引号)快速显示 / 聚焦侧边栏,可在设置中自定义。
  • 键盘导航:支持 / 选择、Enter 激活、Esc 隐藏。
  • 系统托盘:托盘图标左键显示 / 聚焦窗口,右键菜单可显示或退出应用。
  • 单实例运行:通过命名互斥体确保同时只有一个进程在运行。
  • 贴边全高窗口:窗口紧贴屏幕右侧,高度撑满工作区。
  • DWM 圆角:使用 Windows DWM 实现系统级抗锯齿圆角,四角透明。
  • 不在任务栏显示:通过 ITaskbarList::DeleteTab 从任务栏移除自身按钮。
  • 管理员权限提示:对无法获取进程名的受保护窗口显示 ⚠ 管理员标识。
  • 设置持久化:主题、热键、窗口尺寸、开机启动等配置自动保存到 %APPDATA%\Muka-TaskSwitch
  • 主题切换:支持深色 / 浅色 / 跟随系统。
  • 开机启动:可在设置中开启或关闭。

环境要求

  • Windows 10 或更高版本(DWM 圆角在 Windows 11 上效果最佳)
  • Rust 1.90 或更高版本(自行编译时)

快速开始

下载运行

从上方下载 muka-taskswitch.exe,双击运行即可。首次启动后:

  • 默认全局热键 Alt + ~ 呼出 / 聚焦窗口
  • 窗口会贴靠屏幕右侧,显示当前可见窗口列表
  • 右键托盘图标可退出程序

编译

# 开发调试
cargo run

# Release 构建
cargo build --release

编译完成后,可执行文件位于 target/release/muka-taskswitch.exe

配置说明

首次运行会自动创建配置文件:

%APPDATA%\Muka-TaskSwitch\config.json

可配置项包括:

  • hotkey:全局热键字符串,如 "Alt+Backquote""Ctrl+Shift+Q"
  • themeSystem / Dark / Light
  • window_width / window_height:窗口尺寸
  • always_on_top:是否置顶
  • hide_on_focus_loss:失去焦点是否自动隐藏
  • start_with_windows:是否开机启动
  • realtime_refresh:是否启用实时刷新

快捷键

快捷键作用
Alt + ~(默认)显示 / 聚焦窗口;隐藏时显示,已显示时重新聚焦
/ 在窗口列表中上下移动
Enter激活选中的窗口
Esc隐藏窗口

已知问题

  • 当开启 hide_on_focus_loss 时,点击托盘图标可能会因为“窗口先失焦隐藏、再被托盘事件显示”而产生轻微闪烁。这是自动隐藏逻辑与托盘交互的自然冲突,目前未做特殊处理。

许可证

MIT © Attect