顶栏
本文译自 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.json 的 bar 键下。下面是一个精简版:
{
"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 子对象。时钟的 format、formatAlt(右键循环切换到的格式)和 verticalFormat 全都直接住在 { "id": "omarchy.clock" } 上。
centerAnchor 指定唯一一个被钉死在屏幕正中的中部小部件,其余小部件在两侧拱卫。天气和更新徽标来来去去,时钟却始终居中,靠的就是它。把它设为空字符串,中部列表就会作为一组整体居中。
有一条规则值得刻进脑子:一旦你有了自己的 shell.json,它就是权威。在你自定义任何东西之前,shell 读取的是 Omarchy 的默认文件;而当你拖动一个小部件、运行一次 omarchy bar 或亲手编辑这个文件的那一刻起,它就归你管了——没有深层合并这回事,所以未来 Omarchy 新版本新增的默认小部件不会自动出现在你的栏上。想清空重来,随时 omarchy bar defaults 恢复出厂布局。
同一个文件的顶层(bar 键之外)还保存着你的空闲计时:idle.screensaver 和 idle.lock,单位是进入空闲后的秒数。默认屏幕保护程序 150 秒触发,锁屏 300 秒。