From cd110a781efe5655091a5f9ff5916280ec9e5a28 Mon Sep 17 00:00:00 2001 From: Brad Purchase Date: Fri, 21 Aug 2026 07:59:06 -0400 Subject: [PATCH] Add setting to keep the bar icon unlit The bar icon currently has no way to stay unlit; alarming is always true when there are unread notifications, active actions, review requests, or a failing check on one of your own pull requests. Add iconAlwaysUnlit (default: off) to keep the icon unlit regardless of reason, while the panel's counts and rows are unaffected. --- README.md | 1 + Service.qml | 3 ++- manifest.json | 6 ++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0123fdb..9036874 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Configure the widget through Omarchy's bar widget settings. Existing installatio | Actions request concurrency | 6 | | Failed Actions window | 7 days | | Maximum failed Actions | 20 | +| Keep the bar icon unlit | Off | **Repository scope** controls both the repository dashboard and the candidate repositories for Actions scanning. **Owned and organizations** is opt-in. With the default **Recent repositories** scan, Actions requests remain capped to the 15 most recently updated repositories in that wider scope. diff --git a/Service.qml b/Service.qml index 35d945d..1bb8985 100644 --- a/Service.qml +++ b/Service.qml @@ -48,7 +48,8 @@ Item { readonly property int failingPullRequestCount: myPullRequests.filter(function(item) { return !item.draft && root.isBrokenCheck(item.checks); }).length - readonly property bool alarming: unreadCount > 0 || actionCount > 0 || reviewRequests.length > 0 || failingPullRequestCount > 0 + readonly property bool iconAlwaysUnlit: boolSetting("iconAlwaysUnlit", false) + readonly property bool alarming: !iconAlwaysUnlit && (unreadCount > 0 || actionCount > 0 || reviewRequests.length > 0 || failingPullRequestCount > 0) // StatusCheckRollup groupings live here so the alarming count, the row label // and the row glyph cannot drift apart when a state is reclassified. diff --git a/manifest.json b/manifest.json index d5a45ef..4b6219e 100644 --- a/manifest.json +++ b/manifest.json @@ -30,7 +30,8 @@ "actionScanRepoLimit": 15, "actionScanConcurrency": 6, "failedActionDays": 7, - "failedActionLimit": 20 + "failedActionLimit": 20, + "iconAlwaysUnlit": false }, "schema": [ { "key": "refreshIntervalSec", "type": "integer", "label": "Refresh interval (seconds)", "min": 60, "max": 3600, "step": 60, "defaultValue": 900 }, @@ -44,7 +45,8 @@ { "key": "actionScanRepoLimit", "type": "integer", "label": "Recent repository scan limit", "min": 5, "max": 200, "step": 5, "defaultValue": 15 }, { "key": "actionScanConcurrency", "type": "integer", "label": "Actions scan concurrency", "min": 1, "max": 12, "step": 1, "defaultValue": 6 }, { "key": "failedActionDays", "type": "integer", "label": "Failed Actions window (days)", "min": 1, "max": 30, "step": 1, "defaultValue": 7 }, - { "key": "failedActionLimit", "type": "integer", "label": "Maximum failed Actions", "min": 1, "max": 100, "step": 5, "defaultValue": 20 } + { "key": "failedActionLimit", "type": "integer", "label": "Maximum failed Actions", "min": 1, "max": 100, "step": 5, "defaultValue": 20 }, + { "key": "iconAlwaysUnlit", "type": "boolean", "label": "Keep the bar icon unlit", "defaultValue": false, "description": "Keep the bar icon unlit regardless of unread notifications, active actions, review requests, or failing PR checks. Counts and rows still populate the panel as usual." } ] } }