我的 GNOME 界面

周前 Twitter 看到 GNOME 在大肆宣传其最新版本 3.36,可是看得我心潮澎湃,于是 sudo pacman -Syu 滚一波。结果,重启后发现扩展果然挂了一堆,虽然以之前的经验这是在预料之中的,但还是气得我把 Twitter 点了❤全部单击取消了🙄。

加上这之前刚刚用 Disk Usage Analyzer 看了看磁盘使用情况,然后 sudo pacman -Scc && yay -Scc 清理了一波,当时删了 60 多 GB 爽得很,现在这些安装包全删了滚不回去了,后悔得很。

无奈归无奈,想着扩展的开发者解决这些问题肯定还需要一些时间,于是重启去了 Xfce。弄了半天的代理,Chrome 能上了,Firefox 上不了;Firefox 能上了,Chrome 上不了。还能咋办,先忍忍,回 GNOME,体验体验原生🙄。


结果肯定是异常不习惯😐,这里说的不习惯,一是界面外观,二也即主要是因为我养成了自己的操作习惯。我使用 GNOME 应该有几年了,你可以在我之前写的 Linux 变 macOSHello, Arch Linux! 中的视频中了解了解我的 GNOME 界面的历史。目前,我的界面外观和操作习惯应该与后面这篇文章中的相差无几。

my-gnome.png

以上是我目前总览模式(Overview mode)下的 GNOME 界面,可以对比一个标准的 GNOME 界面来说说我的定制。上方是自动隐藏的顶栏,左边是自动隐藏的工作区列表,右边是自动隐藏的 Dock,没有底栏。目前在 Overview 下它们是都显示的,但当切换到一个最大化的窗口——比如上图左上方的 Chrome 或上图下方正在编辑此文章的 Code — OSS[1]——时,整个屏幕是只有这个最大化的窗口的,上左右的它们都是自动隐藏的,只有当鼠标与相应边界接触并移动一定距离时,才会显示。为什么要这样定制呢?我的理念如下:

  1. 减少干扰,所以得藏。

    在使用电脑时,大部分时间肯定都是在固定的窗口之中,而不是在不断地切换窗口之中。正是如此,桌面上的这些部件在大部分时间其实都是干扰因素,也就应该隐藏。[2]

  2. 合理交互,顺眼顺手。

    要想交互合理,就得先考察考察人的生理结构。一是视线的移动,左右比上下轻松;二是鼠标的移动,左右比前后轻松。对于第一点,人终究还是二维平面上的动物,所以在水平方向的视域要比竖直方向的广,视线的移动也要更轻松。对于第二点,鼠标的左右移动是以手腕为固定轴,前后移动则是以指关节为轴,怎么移动更轻松可以自行体验。此外,鼠标右移要比往左移更为顺手轻松——有种放手的感觉。

  3. 合理设计,顺心舒心。

    人的视线是从左到右、从上到下的,所以底部一般是心理上最「冷门」的区域,我们也就不要去反其自然将之变成交互的热门区域。同理,左边应该放主界面,右边则是其它的面板[3]。此外,鼠标一般是停留在屏幕右侧,如果将这些面板放到左边,鼠标就可能要频繁地从右边移到左边——就会频繁出现在视线中,进而成为干扰。对于这点,滚动条的设计就是一个佐证,大概没有人会把滚动条放在左边吧。

说了这么多的理念,现在就来用之解释解释我的 GNOME 界面的布局。为什么要将 Dock 放在右边呢?因为 Dock 是一个工作区内最频繁的交互区,而鼠标经常在右边。为什么不是底部呢?因为底部是心理上的「冷门」区域。为什么不是水平呢?因为竖直的列表易于查找。为什么要将工作区列表放在左边呢?因为切换工作区的操作不那么频繁,且可以通过键盘快捷键,而我的工作区的数量和划分也是固定的。为什么都要自动隐藏呢?因为免干扰,而我又老了,喜欢清净,视力又不好,喜欢将字号调大,这样之后屏幕就只能放下一个窗口了,无关部件也就自然要隐藏。

这里再顺便说一说我的工作区设计,目前我将工作区固定为三个,划分如下:

  • 代码
  • 笔记
  • 娱乐

代码不用说了;笔记主要是非技术的,喜欢用定制的 Gedit 编辑,简单简约;至于娱乐,比如:音乐、电影、YouTube、Twitter 等等。当然,这三者的顺序和比例都不是固定的,比如有时我的工作区可能会变成代码、代码、代码。


在这样的 GNOME 界面中,我之前也是一两年以来养成的操作习惯是:

  • 鼠标移到右边,打开或切换相关软件;
  • alt + tab,工作区内的上帝视角,切换窗口;
  • ctrl + alt + /,切换工作区;
  • 鼠标移到左边,工作区外的上帝视角,看看我的工作区列表和打开的软件;
  • 鼠标移到上方,看看时间。

但在更新到 3.36 之后,实现这些操作的扩展就几乎全挂。本来 alt + tab 切换的是工作区内的窗口,且同一软件的不同窗口也会分开来,但现在原生的是不区分工作区,同一软件的不同窗口也组合在一起,这可低效鸡肋不少。原生的 Dash 不区分工作区,且只有在 Overview 才会显示,原生的工作区列表也只有在 Overview 下才会显示,原生的顶栏无法自动隐藏……这意味着在原生 GNOME 上,我只能通过频繁使用 Super 键(也就是常说的 Windows 键)切到 Overview,再用鼠标切换窗口——着实不爽。

直到今天,两周后,终于花了点时间看了看。感谢这些扩展的开发者们,目前我的 GNOME 已恢复了大半。目前仍有问题的扩展有:

  1. Workspaces to Dock,鼠标移动过去无法灵敏显示
  2. Coverflow Alt-Tab,方向键不起作用了

可能是这两个问题的原因,也可能是自己又被养成了新的习惯,发现我现在习惯按 Super 键,而非 alt + tab 或鼠标右移查看 Dock 😐。此外,顺便将 GNOME 的主题换成了深色,一是曲线避开主题在顶栏的 Bug,二是换个风格,换种心情。同时,也将 VS Code 的主题换成了国外网红都爱的 Dracula。如果你对我的 GNOME 界面感兴趣,可以关注一下我在 GitHub 上的 my-gnome 仓库。

对于 Tiling Window Management(平铺式窗口管理器)和 i3,在 YouTube 上经常看到 Luke Smith 切来切去切得很爽。也许,等自己以后移不动鼠标了,再尝试尝试吧。毕竟,以前经常听别人说人生苦短,可我现在觉得人生虽苦,但不短。所以漫漫人生,不换换习惯,那该多么没意思。


  1. 为了方便,下文都将 Code — OSS 误称为 VS Code。 ↩︎

  2. 很多软件(特别是编辑器)都有这样的「免干扰模式」——全屏、居中、左右留白,比如:Sublime Text 的 Distraction Free Mode(shift + f11)、VS Code 的 Zen Mode(ctrl + kz)…… ↩︎

  3. 我的 VS Code 其实也是如此,将侧栏定制在右边。 ↩︎