51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Windows 桌面一键切换工具 Virgo

微软在 Windows 10 中新增了虚拟桌面,我们可以通过新建虚拟桌面放置不同的软件窗口。但使用起来很不方便,没有方便的快捷键和管理工具,小程序 Virgo 拯救了微软的桌面。

背景 {#背景}

  • 微软的虚拟桌面是很棒的功能,但快捷键 Ctrl + Win + ← → 需要两只手才能按出;
  • 应用支持也不友好,如果在第一个桌面中已经打开了 QQ、微信,那么当你在第二个桌面中点击任务栏的图标时,仍然会弹回前一个桌面,这就完全打断了二号桌面上的操作,再次返回二号桌面时就需要重新适应桌面环境了;
  • 应用在桌面间移动需要拖来拖去也不是很快捷。

Virgo {#Virgo}

  • Virgo 是一款 18 年最后更新的一款针对 Windows 虚拟桌面切换的小工具,由 C++ 语言编写,核心代码仅有320多行
  • 实现原理上也是很直接的,事实上并没有用到虚拟桌面,但记录了几组窗口的状态,在不同的窗口显示、隐藏之间切换,达到虚拟桌面的效果
  • 项目主页:https://github.com/henkman/virgo

单调栈示意图

安装使用 {#安装使用}

使用官方可执行文件 {#使用官方可执行文件}

  • 官方文档:
  • 下载 zip 安装包
  • 解压发现一个 virgo.exe 文件,大小只有 8 KB,拿出来直接就可以运行
  • 顺利运行的话此时不会发生任何事情,仅在任务栏小图标多了一个 1

  • 此时可以使用快捷键切换桌面了,使用方法如下

| 快捷键 | 说明 | |------------------------|-------------------| | ALT + 1 ... 4 | 切换桌面到 1 ... 4 | | CTRL + 1 ... 4 | 移动活动窗口到桌 1 ... 4 | | ALT + CTRL + SHIFT + Q | 退出程序(唯一正常退出的方法) | | ALT + CTRL + SHIFT + S | 开启/停止 其他快捷键(默认开启) |

  • 此时就可以愉快地享受丝滑地屏幕切换了
常见错误 {#常见错误}

  • 错误原因为快捷键注册时和其他程序冲突,可以将其他软件关闭再重试
  • 比较稳健的解决方案为重启后第一个开启 Virgo 程序

但不管怎么说快捷键冲突可能性还是很大的,需要更彻底的方法规避这个问题

源码编译 {#源码编译}

  • 代码既然简单那应该也比较容易调整,我们配置好代码编译环境,调整代码后编译我们需要的运行程序可以一劳永逸解决问题

配置编译环境 {#配置编译环境}

  • 安装程序

  • 安装后运行 Msys2 终端(也可以在安装完成后勾选运行终端)

  • 在终端运行命令安装 mingw-w64-i686-gccmingw-w64-i686-make

  • msys32\mingw32\bin\mingw32-make.exe 文件复制一份,改名 make.exe

  • 并将该目录加入到系统目录中

  • 至此我们已经可以运行 make 命令了

编译源码获取可执行文件 {#编译源码获取可执行文件}

  • 打开 git bash 终端
  • 克隆仓库并编译生成 exe 文件:
  • 即可得到和官方相同的 exe 文件

修改源码 {#修改源码}

官方工具使用中的问题 {#官方工具使用中的问题}

  • 官方的 Virgo 快捷键 Ctrl + num 和 Typora 标题冲突,这是无法接受的
  • 支持 4 块桌面,我们可能需要更多
  • 快捷键冲突就报错,有些矫情

修改源码 {#修改源码-2}

  • 修改桌面数量

    第 21 行修改 4 变为 8

  • 修改快捷键

    Ctrl + num 改为 Alt + Shift + num

    修改第249行为

  • 禁止报错

    将第 176 行的函数 register_hotkey 改为

  • 之后重新编译

  • 得到的程序运行时会忽略冲突的快捷键,可以支持 8 个桌面,快捷键为:

    | 快捷键 | 说明 | |------------------------|-------------------| | ALT + 1 ... 8 | 切换桌面到 1 ... 8 | | ALT + SHIFT + 1 ... 8 | 移动活动窗口到桌 1 ... 8 | | ALT + CTRL + SHIFT + Q | 退出程序(唯一正常退出的方法) | | ALT + CTRL + SHIFT + S | 开启/停止 其他快捷键(默认开启) |

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/system/windows/virgo/virgo/

赞(0)
未经允许不得转载:工具盒子 » Windows 桌面一键切换工具 Virgo