顶部状态栏
屏幕顶部的条状区域是 Omarchy 状态栏(Top Bar)。它并不是一个外挂式的独立状态栏,而是 Omarchy Shell 的一部分 —— 那个同时渲染菜单、通知、OSD 弹窗和锁屏界面的单个常驻 Quickshell 进程。正因如此,它的主题风格能与其他一切组件完美契合,并且点击打开控制面板时能够瞬间呈现,而无需临时生成新应用进程。
它也是桌面上唯一常驻屏幕的 UI 部件,因此了解那些小图标的功能是非常值得的。
默认包含的组件
状态栏分为三个区域。左侧是 Omarchy 标志(菜单启动器)和工作区指示器。中央是状态指示器、时钟、键盘布局、天气以及 Omarchy 系统更新角标。右侧是:系统托盘 (System Tray)、Agent 状态、蓝牙、网络、音频、显示和电源管理。
其中有一部分仅在有状态提示时才会显示。键盘布局仅在配置了多个布局时显示。更新角标仅在有待安装的 Omarchy 更新时显示。而 Agent 图标则会在系统首次检测到机器上有 AI 编程工具使用记录时显示(参见 AI 工具)。
鼠标点击交互
几乎每个组件都支持鼠标左键、右键和中键点击操作,多个组件还支持滚轮滚动。这是很多人容易忽略的部分 —— 鼠标右键和中键里隐藏了大量的实用功能。
| 组件 | 左键点击 | 右键点击 | 中键 / 滚轮 |
|---|---|---|---|
| 菜单 | Omarchy 菜单 | 新建终端 | — |
| 工作区 | 聚焦该工作区 | — | — |
| 时钟 | 日历弹窗 | 切换时间格式 | 中键:时区选择器 |
| 天气 | 天气预报弹窗 | 以系统通知形式查看完整天气 | 中键:刷新 |
| 音频 | 音频控制面板 | 静音 | 中键:打开面板 · 滚轮:调节音量 |
| 麦克风 | 麦克风静音 | — | 中键:音频面板 · 滚轮:调节输入音量 |
| 网络 | 网络控制面板 | — | — |
| 蓝牙 | 蓝牙控制面板 | 开关蓝牙无线电 | — |
| 显示 | 显示控制面板 | — | 滚轮:调节亮度 |
| 电源 | 电源控制面板 | 切换电池百分比显示 | — |
| 媒体 | 播放/暂停 | 专辑封面弹窗 | 中键:下一曲 · 滚轮:上一曲/下一曲 |
| Agent | Agent 控制面板 | 启动你的 Agent | 中键:切换下一个订阅 |
| 系统托盘 | 悬停展开抽屉 | 右键点击箭头进行管理 | — |
| 系统更新 | 执行系统更新 | — | — |
上表中的某些组件在开箱时并未默认启用。媒体组件(MPRIS 正在播放,带有滚动的曲目和艺术家信息)和麦克风组件都是内置的但默认处于关闭状态 —— 如有需要可按下方说明添加。
控制面板 (Panels)
点击状态栏图标会打开对应的控制面板,这是一个包含滑块、列表并支持全键盘导航的完整弹出面板,而非简单的 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 按从左到右的顺序计算右侧区域的面板(跳过没有独立面板的托盘)。因此按键数字与你要点击的图标位置完全对应。
Tailscale 与 Dropbox
还有两个组件仅在你从 Install → Service 安装了对应服务后才会显示在状态栏上,它们都非常值得了解,因为它们不仅提供状态展示,更具备强大的交互功能。
Tailscale 面板支持连接和断开 Tailnet 网络、切换账户以及选择出口节点 (Exit Node,你自己的机器和 Mullvad 地区节点均会列出)。它还可以浏览设备列表 —— 选中某台设备后,按下 s 即可通过 Taildrop 发送文件,这是向手机或另一台笔记本传输文件最快的方式。按下 c 复制机器 IP,按下 n 复制名称,按下 d 复制完整 DNS 域名。如果你更习惯鼠标操作,每台设备行后也提供发送按钮。在终端中对应的命令是 omarchy tailscale send <machine> [file...]。
Dropbox 面板负责登录认证、显示已用存储空间,并列出最近同步的文件。
卸载对应服务后,其组件会自动从状态栏上移除。
状态指示器 (Indicators)
状态栏中央的小图标簇是状态指示器组件。它们是为当前已开启的特殊模式展示的状态图标:免打扰 (DND)、夜览模式、队列中的提醒事项、进行中的录屏、保持清醒 (Stay Awake) 以及语音听写。当对应模式激活时它们会高亮显示,平时则保持隐藏 —— 鼠标悬停在状态栏中央可以预览未激活的指示器。点击指示器即可切换对应模式。
如果你希望它们始终保持显示,可在组件配置中将 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 秒时触发。