为了做好 Windows「窗口管理」,我改造了一个软件……

2023-03-04 00:04:51 0 102

这些年来,「大屏就是生产力」的观念深入人心,越来越多的用户开始使用大尺寸屏幕以及多显示器,但有效利用屏幕面积、快捷操作应用窗口还需要软件辅助。

Windows 平台下,作为 PowerToys 组件之一的 FancyZones 就有不少拥趸。它的功能非常简单:划出一块区域,将窗口移至此区域后便会被调整到指定大小与位置:

图片来自 PowerToys 官网

功能基础的同时相对臃肿成为了我拒绝它的理由。我希望有一个应用能做到像 FancyZones 般可靠的同时,更加快捷灵活,于是我发现并改进了一个分屏工具:GridMove。

如果你频繁地使用 Windows 自带的窗口贴靠功能,或者已经是 FancyZones 的用户,那么免费、开箱即用并且功能更加强大的 GridMove 或许能赢得你的芳心。

JGPaiva2013 年发布 GridMove 后一直没有再更新,检查代码后不难发现有一些功能原作者并没有写完。我的版本是以此为基础改善而来,下载 exe 文件双击安装即可体验。

启动后,GridMove 会在后台静默运行。如果想要控制某些以提升权限运行的应用,例如任务管理器,需要同样以管理员权限运行 GridMove。右键位于系统托盘的绿色方格图标即可调整软件功能。

方便的 WinDrag

软件的第一个功能是 WinDrag。默认情况下,当我们需要调整窗口的位置时,必须将鼠标移动到窗口的标题栏,而有了此软件后,仅需按住 Windows 徽标键,鼠标左键应用窗口的任意位置便能拖动窗口,窗口开始移动后可以松开 Windows 键:

鼠标在黄色圆点处

Linux、macOS 系统也有类似的实现,但一般以Alt为修饰键。而在 Windows 上,使用Alt键会和文件资源管理、Office 套件等诸多应用功能冲突,因而我选择使用极少被用到的 Windows 键。

同样在按住 Windows 键的情况下,鼠标悬停在窗口的任意位置,按下中键会关闭此应用,这样能省下不少找右上角小小的叉号的功夫。

窗口调整更快一步

鼠标右键自然也不会闲着,这便引出了 GridMove 的第二个功能:以多种方式快捷调整窗口的大小和位置。

像其他的分屏工具一样,GridMove 在显示器上划出许多固定位置、固定大小的区域,我们称之为 Grid,将应用窗口拖到 Grid 上后,该应用就会被缩放、移动到这块区域上。

然而相较于 Windows 自身的窗口贴靠和 FancyZones,软件针对不同的交互方式,提供了更加全面快捷的切换手段:

键盘 + 鼠标:按住 Windows 键,鼠标右键窗口的任意位置放置应用:

不需要聚焦到标题栏,也不需要激活窗口,直接拖动即可

键盘 + 触摸板:按住 Windows 和 Shift 键,鼠标左键放置应用;许多 Windows 触摸板不支持模拟鼠标右键拖动,因而设计此按键组合;

仅鼠标:按住鼠标中键放置窗口;

仅触摸板:拖放到屏幕边缘。 请关闭 Windows 自带的贴靠窗口使用 ;以及

仅键盘:勾选「快捷键」> 「 快捷模式」,使用Alt+ 数字键放置激活的应用, Alt键可替换为其他按键。

这些触发方式覆盖了多种使用场景,提供了开关选项,并且以简洁易操作为前提,不会出现诸如Windows+PageUp难以单手操作的交互设计。此外,GridMove 可以直接覆盖系统预设的各类快捷键,例如,如果你很少用Windows+ 数字键切换任务栏应用,那么将其分配给 GridMove 也能生效。

日常使用中,我会把以上所有功能全部开启,以备不时之需。由于 GridMove 本身占用资源极少,并不需要担心性能和功耗问题,仅需留意不和其他应用的快捷功能冲突。

而当操作少数窗口——例如 VirualBox 虚拟机、全屏游戏——出现问题时,可以按Esc键退出窗口调整模式,然后利用「过滤窗口」功能按屏幕提示将该应用添加到不生效的名单中。

切换布局

GridMove 预置了一些 Grid 布局,这些布局可以满足绝大多数需求。你可以从「模板」选项栏中应用不同的布局。如果要直观地看到模板效果,可以勾选「选项」>「显示网格」,再以任意方式触发窗口调整模式,模板设定的 Grid 便能一览无余:

网格上的数字是该区域的编号,在快捷模式开启的情况下,我们能按下修饰键 + 区域编号快速移动窗口。

软件还支持在不同布局间快速切换。首先选择「模板」>「模板切换顺序」,以英文逗号分隔填写不同模板的名称。接着,在激活 GridMove 的情况下,单击鼠标右键便能按顺序切换布局模板。

自定义布局

尽管不像 FancyZones 那样直观,在 GridMove 中设计自己的布局并不难。

定位到软件安装目录,或者选择「模板」>「打开模板文件夹」,你可以看到Grids目录。其中所有以.gird结尾的文件本质上是文本文件,它们会在软件启动时被读取加载为模板;修改、添加模板只要编辑或新建 gird 文件。

建议直接从既有的 gird 文件上修改布局,其语法非常简单,只涉及到了一些四则运算和一些变量,如下所示:

简单来说,我们首先要告诉 GridMove 一共有多少个区域,然后要为每一个区域分别定义两个矩形的位置和大小,每个矩形要定义上下左右四条线的位置,因而每个区域要写八行。

四行定义四条边的位置,进而界定矩形的位置和大小

第一个 Trigger 矩形是用于触发窗口调整的区域,应用窗口放到这个矩形中会被缩放、移动。Trigger 区域不能重叠;第二个 Grid 矩形是应用最终所占屏幕的空间,Grid 区域可以重叠;每一个显示器都要单独写配置,GridMove 最多只支持三个显示器。

文件中所用的变量以直角括号包围,都非常语义化。保存文件后重启应用就能看到效果。

应用安装目录下的GridsExample文件夹是一些用作参考的模板,你可以从这些文件中学习如何自定义布局。

高级设置

点击「选项」>「更多选项」可以打开 GridMove 的配置文件。如果应用出现问题,删除此文件后重启一般能解决问题。

这个配置文件提供一些不方便设置 GUI 的选项,例如:

Gap:控制不同 Grid 间的空隙,但不建议设置为 0。TIM,微信等不使用标准窗口框架的应用,空隙会异常;

NoTrayIcon:控制是否显示托盘图标;

Exceptions:如果「过滤窗口」功能有问题,可以在此处手动填写。这里是不需要控制的应用的 Class 3,Window Class 可通过 AHK 组件 Window Spy 获取,以逗号分隔。

总结

如何有效利用多显示器和大屏幕?开放自由的 Linux 已然交出趋近于满分的答卷:i3、xmonad 等平铺式窗口管理器羡煞了 Windows 用户。尽管 Windows 平台上已有数个模仿者,但项目工程量大、维护人手不足的同时商业化困难,使用门槛高、配置繁杂的同时效果却只能做到差强人意,效颦之作不少折戟沉沙。

在厌倦了多个尚不完善的窗口管理器后,我只得退而求其次,在前人的基础上敲敲打打做出了 GridMove。它小巧灵活,高效可靠,已经默默地陪伴我大半年,我也希望它能帮助到你。

原文链接

https://sspai.com/post/75557?utm_source=wechat&utm_medium=social

本文来自微信公众号“少数派”(ID:sspaime),作者:Mirtle ,责编:北鸮。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明:内容来自用户上传发布或新闻客户端自媒体,本站仅提供信息存储空间服务,如违规请联系删除。

玩技资源 国内新闻 为了做好 Windows「窗口管理」,我改造了一个软件…… https://www.52diyhome.com/2023/03/218120.html

常见问题
  • 答:资源大部分来源于网络和本站作者若有侵权请您联系管理员删除2523030730
查看详情
  • 玩技平台的主要负责内容是提供给作者售卖资源的平台,买家有对作者投诉的权利,投诉成功后会获取相应的补偿机制。官方唯一投诉通道客服QQ:2523030730转接人工服务,投诉专属客服工号【2】
查看详情
  • 本站已开启了作者实名认证,在购买商品时请尽量选择已认证的作者,不用担心跑路和无人售后的问题。如果出现问题,本站将采取报警的方式来指正作者进行诈骗行为,并将其身份资料提供给警方处理。
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 工作日在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    资源总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

资源在于分享,创作来源想象