Please enable Javascript to view the contents

Linux 下巨量窗口快速查找切换工具 Rofi —— 键盘总比眼睛快

 ·  ☕ 3 分钟

img

图源:How to organize your Windows desktop

窗口切换是程序员的高频操作,而在今天大屏和巨量窗口环境中,眼和手都不堪重负。如何让心流不被找窗口打断?如果有个工具,只需要输入窗口名关键字就可以完成切换,该多好。

Rofi 正是这样一个 Linux 下的窗口快速查找切换工具。

缘起

程序员都在用 IDE。如 Java 的 Intellij IDEA 。在大屏或多屏环境中, 我喜欢 undocked 一堆 panel 变成独立的 window 。这些独立的 window 叫:

  • Commit
  • Git Log
  • Project
  • Find

然后,再开一堆 Chrome 浏览器窗口去搜索资料,辛苦搜集到的资料当然舍不得关了。最后,不得不在巨量的(25个以上)窗口中找到需要的窗口。我知道巨量窗口不是好习惯,但现实是,有时不得不这样。

操作系统一般内置了 Alt + Tab 的窗口切换工具。但如果要在巨量的窗口中用眼睛去找到需要的,是个费眼的活。而你的大脑中,其实一般会记得这个窗口标题的 keyword 的。如果可以用窗口标题的关键字去切换窗口,该多省心。

image-20231109232231040

Rofi 的窗口关键字查找功能

如,你工作在一个叫 Intellij IDEA 的 Java IDE 中,你可以用热键唤起 Rofi (我设置的是 ALT + ` ) ,然后输入你要去的窗口的关键字,如 Git Log,回车,就完成切换了。当然,你可能会跟我讲,为何不直接用 IDE 的热键? 用 Rofi 的区别是,他是桌面级的,可以切换到其它非 IDE 窗口,如 Chrome ,你只需要记得你要的窗口的关键字。

BTW,我用的 rofi 指令是:rofi -show windowcd

具体的安装和使用,大家还是看官方文档: https://github.com/davatorium/rofi

Rofi 还有其它很好用的功能,我这就不细说了。读者已经去发现,才是最精彩的 :)

闲话

作为一个不想做 Java ,却一直靠 Java 糊口的程序员,我大概从 2008 年开始 full time 用 Linux 桌面。最近 10 年,程序员开始喜欢高大上的 MacOS,但我还是更喜欢 Linux 。 为什么?我想有以下几方面吧:

  • Linux 是最接近我写的代码的实际生产环境的操作系统。我不记得多少程序员说过:“这个 Bug 在我的开发机 Windows/MacOS 下不存在”
  • Linux 天生就是为爱折腾的人编写和开源的。没有不能修改的,只有你不懂或不敢修改的。折腾中,你可以学习到很多某天生产环境用得着,其它非 Linux 用户根本不知道的东西(包括快乐与恐惧)
  • MacOS 的确自带上大上设计和高清下眼睛友好,设计风格也如诗如画。但其实风格和格调这东西,更多是看使用者。我见过桌面密集图标,顶部菜单栏信息爆炸的 MacOS 也不在少数。一个配置得当,有一定美感定制过的 Linux xfce4,使用熟练的 Linux 桌面,也可以很干净利落,操作起来也可以如丝顺滑。商业社会,大家习惯以牌子价格论品位,但有的东西,不是只有这样简单分类的。人本身的价值、特点色彩、创造力,反而在商业社会中没落。因为没什么品位是用钱套模式不能达到的,如果套一个模式不行,那么就套两个。

结语

如果你是 Windows / MacOS 的 full time 用户,还能看到这段,也不容易,谢谢关注。这些操作系统或者也有类似的工具的。当然,最好是你不需要这样的工具,因为要使用这种工具,已经证明你的工作台窗口太多了 :)

分享

Mark Zhu
作者
Mark Zhu
An old developer