跳轉到

選單列

沿著你螢幕頂部的那條帶狀區域就是 OmarOS 選單列。它不是外掛上去的狀態列,而是 OmarOS shell 的一部分,OmarOS shell 是一個單一、長時間運行的 Quickshell 程序,它同時繪製選單、通知、OSD 彈出視窗和鎖定畫面。這就是它與其他一切完美契合主題的原因,也是面板能即時開啟、而不需要產生一個新應用程式的原因。

它也是桌面上唯一永遠在螢幕上的元件,所以很值得了解那些小小的字形都在做什麼。

預設上面有什麼

選單列有三個區段。左邊是 OmarOS 標誌(選單啟動器)和工作區指示器。中間你會看到狀態指示、時鐘、Elsewhen(世界時鐘)、天氣,以及一個 OmarOS 更新徽章。右邊則是:鍵盤配置(當設定了不只一種時)、系統匣、代理程式、藍牙、網路、音訊、顯示和電源。

其中有幾項只有在有話要說時才會出現。鍵盤配置只在你設定了不只一種配置時才出現。更新徽章只在有 OmarOS 更新在等待時才出現。而代理程式圖示則在 OmarOS 第一次在機器上發現 AI 程式設計使用量時出現(見 AI)。

點來點去

幾乎每一個小工具在左鍵、右鍵和中鍵點擊時都會做點什麼,有好幾個還會回應捲動。這是人們容易錯過的部分——右鍵和中鍵正是很多好東西藏身的地方。

小工具 左鍵 右鍵 中鍵 / 捲動
選單 OmarOS 選單 新終端機 —
工作區 聚焦該工作區 — 捲動:下一個/上一個工作區
時鐘 日曆彈出視窗 循環標籤格式 中鍵:時區選擇器
天氣 天氣預報彈出視窗 以通知顯示完整天氣 中鍵:重新整理
音訊 音訊面板 靜音 中鍵:面板 · 捲動:音量
麥克風 將麥克風靜音 — 中鍵:音訊面板 · 捲動:輸入音量
網路 網路面版 — —
藍牙 藍牙面板 切換無線電 —
顯示 顯示面板 — 捲動:亮度
電源 電源面板 切換電池百分比 —
媒體 播放/暫停 封面藝術彈出視窗 中鍵:下一首 · 捲動:上一首/下一首
代理程式 代理程式面板 啟動你的代理程式 中鍵:下一個訂閱
系統匣 懸停以顯示抽屜 在 V 形圖示上右鍵點選以管理 —
OmarOS 更新 執行更新 — —

那張表裡的東西,並非每一項開箱時都在你的選單列上。媒體小工具(MPRIS 正在播放,帶有捲動的曲名和藝人)和麥克風小工具兩者都已內建,但預設關閉——如果你想要,按下面所述把它們加進來。

面板

點選選單列圖示會開啟一個面板,那是一個正式的彈出視窗,帶有滑桿、清單和鍵盤導覽,而不是工具提示。每一個面板也有一個快捷鍵,所以你永遠不需要瞄準一個 16 像素的字形:

快捷鍵 面板
Super + Ctrl + A 音訊
Super + Ctrl + W 網路
Super + Ctrl + B 藍牙
Super + Ctrl + D 顯示
Super + Ctrl + P 電源
Super + Ctrl + Alt + D 日曆
Super + Ctrl + Alt + E 世界時鐘
Super + Ctrl + 1-9 切換右側區段中的第 n 個面板

面板不是讀數顯示。它們是你實際做事的地方:

  • 音訊有一個主音量滑桿、一個輸出裝置選擇器,以及一個逐應用程式混音器,所以你可以把那一個瀏覽器分頁調小聲,而不影響其他一切。
  • 網路會掃描 Wi-Fi、顯示訊號強度、連線,並讓你選一個 DNS 提供者。
  • 藍牙列出你的裝置,附有連線/中斷連線和電池電量。
  • 電源顯示電池統計、切換電源設定檔(它會分別記住電池和 AC 電源的選擇),並列印一些系統資訊。
  • 顯示帶有一個亮度滑桿、文字大小、顯示器縮放預設,以及——當你有不只一個螢幕時——逐顯示器控制項。更深入的故事見顯示器。
  • 時鐘開啟一個帶有 ISO 週數和月份步進的月份格子。

每一個面板同時接受鍵盤和滑鼠:方向鍵移動、Return 啟用、Tab 步進到相鄰的面板、Escape 關閉。

Super + Ctrl + 1-9 會在右側區段中從左到右數面板,跳過系統匣,因為它沒有自己的面板。所以數字會對應到你會指過去的那個圖示。

指示

中間那一小簇就是列指示小工具。這些是針對你已開啟之模式的狀態字形:勿擾、夜光、一個排隊中的提醒、一個作用中的螢幕錄影、保持喚醒,以及聽寫。當該模式作用中時,它們會亮起來,否則就待在一邊——將指標懸停在時鐘左側(在垂直列上則是其上方),就能偷看那些未啟用的。點選一個指示會切換該模式。還有一個僅供狀態顯示:當有人透過 gliff 連線到這台機器時,遠端工作階段會亮起紅色。

如果你比較希望它們永遠可見,請在該小工具上把 alwaysShow 設為 true。而如果你只在意其中某些,請在 items 中列出你想要的:["Dnd", "Reminder", "NightLight"]。你可以有不只一個指示小工具,所以不同的區段可以顯示不同的子集。

重新排列選單列

選單列會自行設定。你不需要開啟設定檔來移動東西。

抓住選單列中央附近的一塊空白區域,把它往另一個螢幕邊緣拖,選單列就會移到那裡——左、右、上、下都行,而且每一個小工具都會適應(垂直列會退回到精簡的僅圖示形式)。按住點選也能開始同樣的拖曳。雙擊左鍵那同一塊空白區域,可以把選單列背景從透明循環到玻璃再到不透明。而拖曳任何小工具則可以重新排序它,或把它丟進另一個區段。

你想要留在手邊、卻不想時時看到的小工具,可以放進系統匣的抽屜裡:把它拖到系統匣上,抽屜就會開啟來接住它。它會待在應用程式圖示後面,每次抽屜出現時也跟著出現,而且當它的面板開啟時,會讓抽屜保持開啟。把它拖回選單列上,就能放回原處。

如果你比較喜歡從選單中選,觸發 → 外觀 → 選單列裡有位置,而列背景則選擇選單列的繪製方式:不透明列、玻璃列(半透明,背後內容經模糊處理),或透明列。

同樣的事情也有指令,這正是你為 dotfiles 設定所需要的:

omaros bar position bottom
omaros bar background glassy  # opaque, glassy, none, or cycle
omaros bar move omaros.clock --section center --index 0
omaros bar move omaros.bluetooth --section tray  # into the tray's drawer
omaros bar set omaros.clock format "HH:mm"
omaros bar defaults          # back to the shipped layout

若要完整新增或移除一個小工具,請使用外掛指令。omaros plugin list 會列印 shell 知道的每一個小工具及其 id,然後:

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

隱藏選單列

Super + Shift + Space 會把選單列關掉再打開,而不會殺掉 shell——面板和快捷鍵會繼續運作,你只是拿回了那些像素。它也在選單中的 觸發 → 外觀 → 選單列 → 隱藏列 底下。

設定檔

這一切都儲存在 ~/.config/omaros/shell.json 中,位於 bar 鍵之下。這是一個精簡版:

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

每一個小工具都是三個配置陣列其中之一的一個項目,而它的設定就內嵌在那個項目上——沒有獨立的設定檔,也沒有 config 子物件。時鐘的 format、formatAlt(右鍵點選循環到什麼)和 verticalFormat 全都直接住在 { "id": "omaros.clock" } 上。

centerAnchor 指明那個會被釘選在螢幕正中央的中央小工具,其他的則在它兩側。這就是時鐘始終保持在正中央的原因,即使天氣和更新徽章來來去去。把它設為空字串,中央清單就只會作為一個整體置中。

有一條規則值得內化:一旦你有了自己的 shell.json,它就是權威來源。在你自訂任何東西之前,shell 讀的是 OmarOS 的預設檔案。當你拖曳了一個小工具、執行了 omaros bar,或自己編輯了那個檔案的那一刻,它就歸你所有了——沒有深層合併,所以未來 OmarOS 版本中的新預設小工具,不會自動出現在你的選單列上。omaros bar defaults 會在你想要一張白紙時,隨時把出貨時的配置放回來。

同一個檔案也在頂層保存你的閒置計時,位於 bar 鍵之外:idle.screensaver 和 idle.lock,兩者都是從你進入閒置起算的秒數。所以預設的螢幕保護程式在 150 秒時啟動,鎖定則在 300 秒時啟動。