跳转到内容

屏幕顶部的那一条就是 Omarchy 栏。它不是外挂的状态栏,而是 Omarchy Shell 的一部分——那个长期运行的单一 Quickshell 进程,同时也负责绘制菜单、通知、OSD 弹窗和锁屏。正因如此,它才能与其它一切完美地应用同一主题,面板也能瞬间打开,而不是去启动一个新应用程序。

它也是桌面环境中唯一始终显示在屏幕上的部分,所以值得了解那些小图标各自的作用。

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

其中有些只会在有内容要显示时才出现。键盘布局仅在你配置了多个布局时才会显示。更新徽章仅在有待处理的 Omarchy 更新时出现。而 agents 图标会在 Omarchy 首次发现机器上有 AI 编码使用记录时出现(参见 AI)。

几乎每个小组件在左键点击、右键点击和中键点击时都会执行操作,还有几个会响应滚动。这正是人们容易忽略的地方——右键和中键里藏着很多好东西。

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

表格中的内容并非开箱即用地全部出现在你的顶部栏上。媒体小组件(MPRIS 正在播放,带滚动显示曲目和艺术家)和麦克风小组件都是内置的,但默认关闭——如果需要,可以按下面的说明添加。

点击顶部栏图标会打开一个面板,它是一个带有滑块、列表和键盘导航的正式弹窗,而不是工具提示。每个面板也都有快捷键,所以你永远不必去瞄准一个 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 提供商。
  • 蓝牙 列出你的设备,包含连接/disconnect和电池电量。
  • 电源 显示电池统计信息、切换电源配置文件(它会分别记住电池和 AC 电源下的选择),并打印一些系统信息。
  • 显示器 包含亮度滑块、文字大小、显示器缩放预设,以及——当你有多个屏幕时——按显示器控制。更深入的说明请参见 monitors
  • 时钟 打开一个带有 ISO 周数和月份切换的月历网格。

每个面板都支持键盘和鼠标操作:方向键移动,Return 激活,Tab 切换到相邻面板,Escape 关闭。

Super + Ctrl + 1-9 按从左到右的顺序计算右侧区域中的面板,跳过托盘,因为托盘没有自己的面板。因此编号与你指向的图标一致。

另外两个小组件只有在从 Install → Service 安装对应服务后才会出现在顶部栏上,两者都值得了解,因为它们的功能不止于报告状态。

Tailscale 面板可以连接和断开 tailnet、在账户之间切换,并选择出口节点(你自己的机器和 Mullvad 区域都会出现在该列表中)。它还可以浏览你的机器——选中一台后,s 通过 Taildrop 向其发送文件,这是把文件传到手机或另一台笔记本电脑的最快方式。c 复制该机器的 IP,n 复制其名称,d 复制其完整 DNS 名称。每台机器的行上也有一个发送按钮,如果你更愿意点击的话。在终端中执行同样操作的命令是 omarchy tailscale send <machine> [file...]

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

移除任一服务都会将其小组件从顶部栏上移除。

中间那一小簇就是指示器小组件。它们是针对你已开启模式的状态图标:勿扰模式、夜间模式、排队的提醒、正在进行的屏幕录制、保持唤醒以及听写。它们在模式激活时亮起,否则不会打扰你——将鼠标悬停在顶部栏中央可以查看未激活的指示器。点击某个指示器会切换该模式。

如果你希望它们始终可见,可以在该小组件上将 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 # back to the shipped layout

要完全添加或移除某个小组件,请使用插件命令。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 子对象。时钟的 formatformatAlt(右键点击循环切换到的内容)和 verticalFormat 都直接位于 { "id": "omarchy.clock" } 上。

centerAnchor 指定了那个被固定到屏幕正中央的中间小组件,其它小组件则分列两侧。这就是为什么即使天气和更新徽章来来去去,时钟也能始终保持在正中央。将其设置为空字符串,中间列表就会作为一个整体居中。

有一条规则值得牢记:一旦你有了自己的 shell.json,它就是权威的。在你进行任何自定义之前,Shell 读取的是 Omarchy 的默认文件。你拖动小组件、运行 omarchy bar 或自己编辑文件的那一刻起,它就归你所有了——不存在深度合并,因此未来 Omarchy 版本中新增的默认小组件不会自动出现在你的顶部栏上。omarchy bar defaults 可以在你想要一个干净起点时恢复随附的布局。

同一个文件还在顶层、bar 键之外保存了你的空闲计时:idle.screensaveridle.lock,两者都以你进入空闲状态后的秒数计。因此默认屏保在 150 秒时启动,锁屏在 300 秒时启动。 ⟦OMARCHY_BODY_END⟧