避免头晕眼花,一键实现前置、最小化、同程序间切换窗口 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lxwlxc
V2EX    分享创造

避免头晕眼花,一键实现前置、最小化、同程序间切换窗口

  •  
  •   lxwlxc2022-12-03 16:14:19 +08:00 2865 次点击
    这是一个创建于 1109 天前的主题,其中的信息可能已经有所发展或是发生改变。

    出于任务栏程序太多的原因,经常找程序找的眼睛疼,还找错,自己用 C++写了一个切换程序的软件 FingerGo ,分享给大家,开源的哈,代码见最后。

    功能

    帮你将按键与程序绑定(暂不支持 UWP 程序),按下按键时快速切换到该程序。例如将 Wword 程序 绑定,按下快捷键ALT + W即可快速切换到word 程序。此外,同样的一个快捷键,在不同场景下,可以实现:启动程序、前置程序、最小化程序、相同程序的不同窗口间来回切换。

    使用场景

    下面依然以 word 程序为例:

    • 场景 1:word 没有打开>快捷键将自动帮你打开 word ;

    • 场景 2:已经打开了一个 word ,但是 word 程序在后台>快捷键将自动切换到 word ;

    • 场景 3:已经打开了一个 word ,前台也是 word>快捷键将自动最小化 word ,将其隐藏;

    • 场景 4:已经打开了多个 word ,前台也是 word>快捷键将自动在多个 word 间切换。

    特点

    优点(这也是我为什么自己开发造轮子的原因)

    • 一键支持 4 个功能场景;

    • 配置友好,非开发人员易上手;

    • 占用资源小:程序体积小于 1M ,后台内存小于 3M ;

    • 免费。

    缺点

    • 仅支持 win10 、win11 ;

    • 还不支持 UWP 程序;

    • GUI 使用的是 imgui ,所以打开配置界面时,为了支持中文,内存占用 60M ;

    • 只支持 ALT 修饰键,出于个人偏好;

    • 代码太烂,小弟第一次用 C++写代码,就为了实现这个程序,能写出来我就很开心了,你忍一下好不好。

    源码: https://github.com/Neway13/fingerGo

    16 条回复    2025-04-29 09:27:13 +08:00
    BearCookie
        1
    BearCookie  
       2022-12-03 19:50:02 +08:00 via Android
    谢谢老哥
    PRStarDust
        2
    PRStarDust  
       2022-12-03 21:55:08 +08:00   1
    我也是有这个烦恼,本来想用 ahk 实现的,但看着那语法比较头疼,最后用现成的 Quicker 动作实现了。不过相比楼主的程序,少了个 [相同程序不同窗口来回切换] 的功能。
    [动作:窗口绑定]( https://getquicker.net/Sharedaction?code=05be3b89-b917-4a01-5c83-08d717401a78)
    ![截图]( https://s3.uuu.ovh/imgs/2022/12/03/01fc7e821c7d438c.png)
    cmdOptionKana
        3
    cmdOptionKana  
       2022-12-03 22:32:43 +08:00
    我现在用 PowerKeys, 没有最小化,另外三个功能都支持。
    lxwlxc
        4
    lxwlxc  
    OP
       2022-12-04 09:50:43 +08:00
    @PRStarDust 我也是不想为了实现功能,还要去学个小众语言,就去学了 C++,以后其他地方还用得上
    lxwlxc
        5
    lxwlxc  
    OP
       2022-12-04 10:05:34 +08:00
    @cmdOptionKana 使用了下,功能很强大,学到了很棒的配置程序思路,比我用窗口识别实现起来简单不少。自我安慰下,我这个对电脑小白来说配置稍直观,快捷方式在哪儿都不用找了
    garywill
        6
    garywill  
       2022-12-04 13:08:17 +08:00
    我也有任务栏程序太多的问题~
    不过我有另一个想法是:字符串查找来切换窗口
    比如
    切换浏览器( Firefox/Chrome )就输入 fi 或 ch
    切换到终端 terminal
    感觉一般前两三个字母差不多可以找到唯一的窗口了
    lxwlxc
        7
    lxwlxc  
    OP
       2022-12-04 14:29:10 +08:00
    @garywill 也是一个思路,但是还是没快捷键来的快
    975779964
        8
    975779964  
       2022-12-04 15:11:59 +08:00
    我之前是 win + 数字键 切换 程序的,前提 要把常用 的程序固定下来 ,相同程序不同窗口来回切换 我改了注册表,多次 按 win+ 数字键就能切换了, 但是这样 程序 切换 过去了,光标还留在原来的程序上面 ,后来 我忍不了了,就 用 arch + i3wm 了
    lxwlxc
        9
    lxwlxc  
    OP
       2022-12-04 17:43:25 +08:00
    @975779964 我也这么干过,还觉得数字不好记,用 powertoy 做过快捷键映射,但是还是满足不了我的需求。 我也用过 linux 带桌面发行版,用 wmctrl 实现过类似的功能,但是还是滚回 win 了,你能坚持下来还是很厉害
    975779964
        10
    975779964  
       2022-12-04 18:37:39 +08:00
    @lxwlxc 你可以 搜索下 桌面 平铺 ,linux 下有好多 i3wm dwm ... , win 下有 rust 写的 komorebi 和 ahk 写的 bug.n , 但是体验 没有 i3 好 ,我后来 算是明白了,win 下 就得用鼠标,我就不 在 win 下干活了,但是现在这个公司 得用 企业 微信,我一点办法也没有…… 我搞了折中的办法就是 win 下用虚拟机 开 arch+ i3 干活

    后面我想了想我不应该 折腾 linux 的桌面了,太费劲了,我应该学习 命令行的东西才行,所以我打算 有空 捣鼓下 wsl 下 vim + tmux 干活 ,桌面还是用 win 的
    975779964
        11
    975779964  
       2022-12-04 18:39:42 +08:00
    因为这些东西你切换了新环境就整不会了…… 比如 在人家电脑上,或者 远程 机器,尤其是别人帮你忙的时候,按啥按不动,把帮忙的人弄的很恼火
    lxwlxc
        12
    lxwlxc  
    OP
       2022-12-04 18:54:19 +08:00
    @975779964 win 下确实得鼠标,自己并不会完全依赖我写的这个程序,悠闲的时候还是鼠标,在窗口多、需要频繁切换的情况下才会用它作为辅助。对于我,linux 桌面只适合把玩,真正完全转到 linux ,很多不适应,给自找不爽,和别人环境不一致也是个问题。 谢谢推荐的 komorebi 和 bug.n ,我玩一下
    phoenix
        13
    phoenix  
       2022-12-17 11:52:16 +08:00
    谢谢楼主分享。能增加便携版的功能吗?比如优先使用当前目录下的配置文件。
    lxwlxc
        14
    lxwlxc  
    OP
       2023-01-02 18:41:18 +08:00
    @phoenix 这个程序配置很简单,点点鼠标即可,多个电脑重复配置不会觉得太麻烦,而且配置完后几乎很少更改,应该不必像文档一样实时同步、随身携带。所以没必要这么复杂的。
    lxwlxc
        15
    lxwlxc  
    OP
       2023-01-02 19:31:39 +08:00
    @phoenix 如果确实有这个需求,windows 可以用软连接,将配置文件 C:\Users\用户名\.fingerGo\fingerGo.ini 链接到你指定的路径即可
    marktask
        16
    marktask  
       231 天前
    不能快速最小化吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     915 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 22:14 PVG 06:14 LAX 14:14 JFK 17:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86