跳转至

顶栏

本文译自 The Omarchy Manual — The Top Bar,同步自 basecamp/omarchy@ed7bae4。术语以 TERMS.md 为准。

屏幕顶部那条横带就是 Omarchy 顶栏。它不是外挂的状态栏,而是 Omarchy shell 的一部分——那个常驻的 Quickshell 进程同时负责绘制菜单、通知、OSD 弹条和锁屏。正因如此,它才能与整个系统完美共主题,面板才能点开即现而不是另起一个应用。

它也是桌面上唯一始终在屏的部件,所以值得搞清楚那些小图标都是干嘛的。

默认有什么

顶栏分三段。左边是 Omarchy logo(菜单启动器)和工作区指示器。中间是状态指示器、时钟、键盘布局、天气,以及 Omarchy 更新徽标。右边:系统托盘、Agents、蓝牙、网络、音频、显示器和电源。

其中几个只有有话要说时才出现。键盘布局只在你配置了不止一种布局时显示;更新徽标只在有 Omarchy 更新待安装时出现;而 Agents 图标则在 Omarchy 首次发现机器上有 AI 编程用量时出现(见 AI)。

到点点看

几乎每个小部件的左键、右键、中键都有功能,好几个还响应滚轮。这正是大家容易错过的地方——右键和中键藏着不少好东西。

小部件 左键 右键 中键 / 滚轮
菜单 Omarchy 菜单 新终端
工作区 聚焦该工作区
时钟 日历弹窗 切换时间标签格式 中键:时区选择器
天气 天气预报弹窗 以通知形式展示完整天气 中键:刷新
音频 音频面板 静音 中键:面板 · 滚轮:音量
麦克风 麦克风静音 中键:音频面板 · 滚轮:输入音量
网络 网络面板
蓝牙 蓝牙面板 开关蓝牙
显示器 显示面板 滚轮:亮度
电源 电源面板 切换电池百分比显示
媒体 播放/暂停 封面弹窗 中键:下一曲 · 滚轮:上/下一曲
Agents Agents 面板 启动你的 Agent 中键:下一个订阅
托盘 悬停展开抽屉 右键折叠箭头进行管理
Omarchy 更新 运行更新

表里并非所有小部件都默认上栏。媒体小部件(MPRIS 正在播放,滚动显示曲目和歌手)和麦克风小部件都内置但默认关闭——想要就按下文方法加上。

面板

点击栏上的图标会打开一个面板(panel)——它是带滑块、列表和键盘导航的真弹窗,而不是 tooltip。每个面板都配了快捷键,让你永远不必去瞄准那 16 像素的小图标:

快捷键 面板
Super + Ctrl + A 音频
Super + Ctrl + W 网络
Super + Ctrl + B 蓝牙
Super + Ctrl + D 显示器
Super + Ctrl + P 电源
Super + Ctrl + Alt + D 日历
Super + Ctrl + 1-9 切换右侧第 n 个面板

这些面板不是摆设的读数,它们就是你真正干活的地方:

  • 音频有主音量滑块、输出设备选择器和单应用混音器,你可以只调低某个浏览器标签页而不动其他声音。
  • 网络扫描 Wi-Fi、显示信号强度、连接,还能选 DNS 提供商。
  • 蓝牙列出设备,支持连接/断开和电量显示。
  • 电源显示电池信息、切换电源配置文件(电池和外接电源各记一套),并打印一些系统信息。
  • 显示器带亮度滑块、文字大小、显示器缩放预设,多屏时还有每屏独立控制。详见显示器
  • 时钟打开带 ISO 周数的月历网格,可前后翻月。

每个面板既吃鼠标也吃键盘:方向键移动,Return 确认,Tab 跳到相邻面板,Escape 关闭。

Super + Ctrl + 1-9 从左到右数右侧区域的第 n 个面板,托盘除外(它没有自己的面板)。数字正好对应你会用鼠标指向的那个图标。

Tailscale 与 Dropbox

还有两个小部件,只有当你从 Install → Service 装了对应服务后才会出现在栏上,而且它们都远不止报个状态。

Tailscale 面板可以连接/断开 tailnet、切换账号、选择出口节点(exit node)——你自己的机器和 Mullvad 区域都会出现在列表里。它还能浏览你的机器列表——选中一台后按 s 通过 Taildrop 发送文件,这是把文件传到手机或另一台笔记本最快的方式。c 复制 IP,n 复制主机名,d 复制完整 DNS 名。每行机器上也有发送按钮,如果你更喜欢点的话。终端里等价操作是 omarchy tailscale send <machine> [file...]

Dropbox 面板负责登录、显示已用存储空间并列出最近同步的文件。

卸载任一服务,对应的小部件就会从栏上消失。

指示器

中间那一小簇是指示器(indicators)小部件。它们是你开启的各种模式的状态图标:免打扰、夜间护眼、排队中的提醒、正在进行的录屏、保持唤醒,以及语音听写。模式激活时点亮,平时不碍事——把鼠标悬停在栏中央可以偷看未激活的那些。点击指示器即可切换对应模式。

如果你希望它们始终可见,把该小部件配置里的 alwaysShow 设为 true;如果只关心其中几个,就在 items 里列出想要的:["Dnd", "Reminder", "NightLight"]。指示器小部件可以有多个,不同区段显示不同子集。

重排顶栏

顶栏会自己管理自己,你不用打开任何配置文件就能挪动东西。

抓住中间附近一块空的栏面,往另一条屏幕边缘拖,整条栏就会搬过去——左、右、上、下都行,所有小部件自动适配(竖排时会退化为紧凑的纯图标形态)。按住不放再拖也是同样的效果。在同一块空白处双击左键可切换透明度。拖动任意小部件可以重排序,或者把它甩进另一个区段。

如果你更愿意从菜单里选,Style → Menu Bar 里既有位置也有透明度。

同样的功能也有命令形式,这对 dotfiles 配置才是正路:

omarchy bar position bottom
omarchy bar transparent toggle
omarchy bar move omarchy.clock --section center --index 0
omarchy bar set omarchy.clock format "HH:mm"
omarchy bar defaults          # 恢复出厂布局

要整体增删小部件,用插件命令。omarchy plugin list 会列出 shell 认识的所有小部件及其 id,然后:

omarchy plugin enable omarchy.media --section center
omarchy plugin disable omarchy.weather

隐藏顶栏

Super + Shift + Space 可以在不杀掉 shell 的前提下关掉再唤回顶栏——面板和快捷键照常工作,你只是拿回了像素。菜单里对应 Trigger → Toggle → Menu Bar

配置文件

这一切都存放在 ~/.config/omarchy/shell.jsonbar 键下。下面是一个精简版:

{
  "version": 1,
  "bar": {
    "position": "top",
    "transparent": false,
    "centerAnchor": "omarchy.clock",
    "layout": {
      "left": [{ "id": "omarchy.menu" }, { "id": "omarchy.workspaces" }],
      "center": [{ "id": "omarchy.clock", "format": "HH:mm" }],
      "right": [{ "id": "omarchy.audio" }, { "id": "omarchy.power" }]
    }
  }
}

每个小部件都是三个布局数组中某一项的一个条目,它的设置内联在该条目上——没有单独的设置文件,也没有 config 子对象。时钟的 formatformatAlt(右键循环切换到的格式)和 verticalFormat 全都直接住在 { "id": "omarchy.clock" } 上。

centerAnchor 指定唯一一个被钉死在屏幕正中的中部小部件,其余小部件在两侧拱卫。天气和更新徽标来来去去,时钟却始终居中,靠的就是它。把它设为空字符串,中部列表就会作为一组整体居中。

有一条规则值得刻进脑子:一旦你有了自己的 shell.json,它就是权威。在你自定义任何东西之前,shell 读取的是 Omarchy 的默认文件;而当你拖动一个小部件、运行一次 omarchy bar 或亲手编辑这个文件的那一刻起,它就归你管了——没有深层合并这回事,所以未来 Omarchy 新版本新增的默认小部件不会自动出现在你的栏上。想清空重来,随时 omarchy bar defaults 恢复出厂布局。

同一个文件的顶层(bar 键之外)还保存着你的空闲计时:idle.screensaveridle.lock,单位是进入空闲后的秒数。默认屏幕保护程序 150 秒触发,锁屏 300 秒。