我在尋找一種在 Gnome Shell 面板(頂部欄)中顯示腳本輸出的方法時遇到了 Argos。這個 Gnome Shell 擴展只做一件事。向面板添加新項目,包括下拉菜單、顯示腳本輸出和公開功能。

這個擴展的靈感來自 BitBar,這是一個流行的程序,可以在 macOS 菜單欄中顯示任何腳本的輸出,並且與大多數 BitBar 腳本兼容。

它基本上讓您可以使用 Bash、Python 和許多其他熟悉的語言編寫自己的自定義 Gnome Shell 擴展。 Argos 插件是寫入標準輸出的可執行腳本,因此插件可以用任何語言編寫。

不知道 Bash、Python 等?沒問題。 現有的 Argos / BitBar 插件與 Argos 兼容,可用於各種任務。

阿爾戈斯特點:

  • 100% API 與 BitBar 1.9.2 兼容。 所有不包含 macOS 特定代碼的插件都可以與 Argos 一起使用
  • 異步執行引擎:Argos 通過智能調度腳本防止阻塞
  • Unicode 支持
  • 優化以最小化資源消耗。開發人員聲稱,即使每秒更新多個腳本,Argos 使用的 CPU 也不到 1%。

除了安裝 Argos 和一些基本用法,本文還包括一些額外的 Argos 插件/腳本和一些查找 Argos 插件的地方。繼續閱讀!

Argos 安裝和快速入門指南

你有多個
如何安裝 Argo:

  • Argos 可以從 extensions.gnome.org 安裝。 確保您已安裝瀏覽器插件和系統包,以便您可以安裝 Gnome Shell 擴展,然後轉到 extensions.gnome.org 並單擊切換按鈕以安裝擴展。
  • 您還可以通過在 Gnome 軟件應用程序中搜索擴展來安裝 Argos。
  • 易於從源代碼安裝 Argos

使用 Argos 插件的基本用法

  • 阿爾戈斯監控 ~/.config/argos/ 新腳本的文件夾。放置在此文件夾中的可執行腳本被視為插件,它們的輸出顯示在 Gnome Shell 面板中。 (頂部欄)放入此文件夾後。以點開頭的名稱 (.) 忽視
  • 插件文件名有一種特殊的格式: NAME.POSITION.INTERVAL[+].EXTENSION
    • POSITION: 可以選擇用於指定面板上按鈕的位置。位置是一個整數 + l (保持), c (中)或 r (正確的)
    • INTERVAL: 是可選的。您可以使用它來告訴插件它應該更新的時間。區間是整數 + s (第二), m (分鐘), h (小時)或 d (天空)
    • +: 如果 + 跟隨 INTERVAL告訴腳本每次打開下拉菜單時也要更新。
    • Argos 插件(腳本)文件名示例: plugin.1r.10m+.sh該插件位於 Gnome Shell 時鐘的右側(如果您沒有將其移出面板中間),每 10 分鐘運行一次腳本以更新信息,並且每次都運行一次。將下拉一個菜單。
  • Argos 按字母順序從左到右顯示面板上的按鈕。 POSITION 如上按文件名指定

是時候“安裝”你的第一個 Argos 插件了
首先,下載一個簡單的例子,比如這個 Ping 插件(下載腳本去
Ctrl + s

保存),將腳本保存到
~/.config/argos/

,使其可執行(您可以從文件應用程序使其可執行:右鍵單擊腳本,
Properties

去。
Permissions

選項卡啟用
Allow executing file as program

)。

當阿爾戈斯進入
~/.config/argos/

在面板和下拉列表中顯示輸出。

可以刪除
argos.sh

現有腳本
~/.config/argos/

它只是 Argos 配置文件夾和 Argos GitHub 項目頁面的書籤。

如果您想創建自己的 Argos 插件,我們建議您從現有示例開始並查看 Argos 渲染和線屬性文檔。

Argos 插件示例

Argos 已經在其 GitHub 頁面上提供了功能插件示例,例如應用程序啟動器和頂級查看器。 還有幾個與 Argos 配合使用的 BitBar 插件示例,例如 Ping 插件、股票行情和世界時鐘。

除此之外,我還發現了一些額外的 Argos 插件示例,我想與您分享。

1. Argos 天氣插件


Argos 天氣插件

這是一個複雜的 Argos 插件,顯示當前天氣和 7 天預報,帶有圖標和各種附加功能,如風速和濕度。它支持手動位置分配以及自動位置檢測。

要使用它,您需要在文本編輯器中打開腳本並將其更改為:

  • api_key: 改變 api_key 將該值添加到您的 darksky.net API 密鑰。 您可以在 https://darksky.net/dev 獲得免費的 DarkSky API 密鑰。
  • 選修課:
    • 使用自定義位置時:
      • 改變 man_loc 您當前位置的經緯度值。它可以使用谷歌地圖找到。例如,如果您在 Google 地圖上搜索柏林,您將獲得以下 URL: https://www.google.com/maps/place/Berlin,+Germany/@52.5175012,13.1539869,10.25z.... 複製經緯度 (52.5175012,13.1539869) 複製部分 URL 並將其粘貼如下: man_loc 值(例如 man_loc="52.5065116,13.1438652")
      • 改變 man_name 值您所在位置的名稱。例如 man_name="Berlin, Germany"
    • 您還可以自定義顏色和字體的外觀。這在天氣腳本中進行了解釋

2. BitBar 的 VPN Checker 插件
(與 Argos 兼容)

Argos BitBar VPN 檢查器插件

這是一個非常簡單但有用的插件,用於檢查您當前是否使用 VPN(檢查 tun0 或 ipsec0 可用性)。您也可以在與 VPN 斷開連接時退出程序。

如果您希望插件在與 VPN 斷開連接時關閉程序,請取消註釋
#killall Firefox...

線和替換
Firefox

在與 VPN 斷開連接時我想殺死的程序中。

3. Argos 支持的加密貨幣匯率 BitBar 插件

Argos BitBar 加密貨幣插件

它是一個在面板上顯示虛擬貨幣匯率的插件。默認情況下,匯率以 GBP(英鎊)顯示,但您可以通過更改 URL 將其更改為 USD,如下所示:
https://cryptomate.co.uk/api/all/GBP/

到達
https://cryptomate.co.uk/api/all/USD/

以及簡單的查找和替換
£

什麼時候
$

因此會顯示正確的貨幣符號。如您所見,我將屏幕截圖更改為美元。

這也適用於歐元和其他貨幣。

4. Argos 的 GetNews
(下載 getnews.py 腳本)

Argos 新聞 RSS 訂閱插件

GetNews 是一個用於 Argos 的簡單 Python3 插件,它從可配置的 RSS 提要中獲取最新文章(僅限標題)並將它們顯示在菜單中。默認情況下,它使用 Google News RSS 提要,但我將其更改為 Linux Uprising 作為屏幕截圖。

您可以直接從 Gnome Shell 面板中顯示的插件菜單更新提要。單擊新聞項目會在您的默認 Web 瀏覽器中打開該文章。

改變
feed_url

用於檢索新聞的有效 RSS 提要的值。這是單個網站的 RSS 提要或提要聚合器。您還可以使用一些 subreddit RSS 提要(例如
https://old.reddit.com/r/linux/.rss

)。改變
stories

要在插件菜單中顯示的故事值的數量。

5.Simple Wattage-Argos

SimpleWattage-Argos 是一個 Argos 插件,可顯示電源和電池信息,例如使用的電壓和安培數、電池百分比和電池容量。

我現在沒有筆記本電腦,所以我沒有嘗試過這個 Argos 插件。屏幕截圖來自該項目頁面。

6. Airly.sh Argos 空氣質量
(腳本下載鏈接)

阿爾戈斯空氣質量檢查器

Airly.sh 從 airly.eu 傳感器讀取空氣質量指數並將其顯示在面板上。這僅適用於 airly.eu 提供城市空氣質量傳感器的情況。

要使用,請務必
jq

什麼時候
curl

安裝在您的系統上。 您還需要獲取 airly.eu API 密鑰。

獲得 API 密鑰後,將其用作腳本中的 API_KEY 值。您還需要獲取傳感器 ID。
https://airapi.airly.eu/v2/installations/nearest?lat=YOUR_LAT&lng=YOUR_LNG&maxDistanceKM=5&maxResults=3&apikey=YOUR_API_KEY

, 交換
YOUR_LAT

根據您所在位置的緯度,以及
YOUR_LNG

在您所在位置的經度。 在 Weather Argos 插件的描述中,我解釋瞭如何使用谷歌地圖獲取緯度和經度。使用這些參數訪問 URL 應該會產生如下結果:
id

後面跟著一些數字。從你的腳本中復制這些數字,
SENSOR_ID

值得。

其他 Argos 插件位置:

  • BitBar 插件網站(包含 macOS 特定代碼的插件不適用於 Argos)
  • Argos wiki(目前只有 4 個插件)
  • 這個 Argos 錯誤報告包含相當多的插件。一些被添加到原始錯誤報告中的列表中,但許多其他人在評論中被提及。
  • 在 GitHub 上找到 Argos 插件