Commit Graph
565 Commits
Author SHA1 Message Date
Dave HammerandGitHub 5bae8428a3 Add davemhammer/k8s-status (#314)
* Add davemhammer/k8s-status

Kubernetes nodes/pods/deployments monitor with panel and /kube launcher.

* k8s-status v1.1.5: fix stuck Querying cluster

Parallel kubectl refresh, hang recovery, safer loading UI.
2026-08-09 10:13:48 -04:00
github-actions[bot] 6c77061326 chore: update issue templates [skip ci] 2026-08-09 14:01:58 +00:00
github-actions[bot] 056a06eece chore: update plugin catalog [skip ci] 2026-08-09 14:01:45 +00:00
73ae491d97 Add pulsar-mouse plugin (#318)
* Add pulsar-mouse plugin

Battery/charging status and quick sensor/lighting/power controls for a
Pulsar gaming mouse (bar widget, desktop/lock-screen widget, and a
quick-controls panel), backed by the pulsar-mouse CLI from
https://github.com/harveywuk/pulsar-mouse-linux.

* pulsar-mouse: sync to v1.6.1 (three panel fixes)

The plugin picked up four commits upstream after this PR's initial
snapshot was taken. Three of them are bug fixes, two user-facing enough
that installing the current snapshot gives a visibly broken panel:

- Panel went permanently read-only after a successful profile switch.
  Every control is `enabled = not busy`, and the profile-switch path set
  busy = true then relied on readStatus() to clear it, which it did not
  do on any path. No error was shown, because from the user's point of
  view nothing had failed.

- readStatus() did not guard decoded.dpi being absent, so a malformed
  response threw before clearing busy - the same lockup by another route.

- The panel only re-synced to the mouse's real active profile on the
  first open of the process, because the profileSynced flag is module-
  scoped and survived the panel closing. Switching profiles by any other
  means afterwards (physical profile button, `pulsar-mouse
  --active-profile`, Fusion on another OS) left every later reopen
  showing, and writing to, a stale profile.

The fourth renames "breath" to "breathe" so the LED effect naming
matches the pulsar-mouse CLI's --breathe-speed flag; that accounts for
the two README wording changes and part of the panel diff.

plugin.toml's version goes 1.6.0 -> 1.6.1 per the contribution rules
(patch: fixes and text only, no new capability). Its header comment also
now describes the tabbed panel that shipped earlier rather than the
original DPI/polling-only one.

bar.luau, desktop.luau, translations/en.json and thumbnail.webp are
unchanged and untouched.

No change to what the plugin shells out to, writes, or reads: still only
`pulsar-mouse` (declared in dependencies), still only reading
~/.cache/pulsar-mouse/battery.json. No network access.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-09 10:01:34 -04:00
Apex077andGitHub d93e7e0b05 fix(eyecare): respect Noctalia sound settings (#316)
* fix(eyecare): reflect configurable break duration in notification message

Fixes #63

* fix(eyecare): respect Noctalia global sound settings
2026-08-09 09:56:47 -04:00
github-actions[bot] ae989549f6 chore: update plugin catalog [skip ci] 2026-08-09 13:53:58 +00:00
f222cdee2b Update nightwatch75/dns-switcher to 0.1.2 — fix #292 review notes (#319)
Addresses the three non-blocking notes from #292:

- README's plugin_api requirement was stale (22) vs the manifest's real
  minimum (17, the onExit lifecycle addition) — corrected, and pinned the
  noctalia version floor to beta.7 (the first tagged release plugin_api
  actually reaches 17 in).
- apply()'s privilege path ran the whole discovery+mutate script through
  `priv sh -c '...'`, which the documented sudoers rule (NOPASSWD:
  /usr/bin/nmcli) never covers — sudo -n always failed. Now the privilege
  prefix is applied to each of the two mutating nmcli calls individually,
  never to a wrapping shell.
- Regenerated thumbnail.webp.

Co-authored-by: nightwatch75 <nightwatch75@users.noreply.github.com>
2026-08-09 09:53:47 -04:00
Lemmy b9d21951ec docs: fix v5 links 2026-08-08 23:39:27 -04:00
Lemmy 06b14eb7ce chore(i18n): push/pull 2026-08-08 23:37:51 -04:00
github-actions[bot] af2b2b1162 chore: update issue templates [skip ci] 2026-08-09 00:22:36 +00:00
github-actions[bot] 443112f11c chore: update plugin catalog [skip ci] 2026-08-09 00:22:26 +00:00
Dave HammerandGitHub 1abe67bd4b Add davemhammer/tailscale (#307)
Tailscale status, peers, exit nodes, and preference toggles for Noctalia v5.
2026-08-08 20:22:15 -04:00
github-actions[bot] d7fab4e238 chore: update plugin catalog [skip ci] 2026-08-09 00:15:28 +00:00
今井 寛大andGitHub 90815dea99 fix(nix-monitor): make generation checks configurable (#308) 2026-08-08 20:15:16 -04:00
github-actions[bot] c6c0187846 chore: update issue templates [skip ci] 2026-08-08 21:49:21 +00:00
github-actions[bot] 41c00ec971 chore: update plugin catalog [skip ci] 2026-08-08 21:49:11 +00:00
Dave HammerandGitHub 32b7e28c25 Add davemhammer/obsidian (#285)
* Add davemhammer/obsidian

Address review: vault path confinement, open_daily vault check,
declare runtime deps (xdg-open, find, sort, head), version 1.0.3.

* Address review: realpath + symlink confinement for vault paths

Reject symlink path components and require realpath -m under vault
before daily read/mkdir/write. Add realpath dependency; v1.0.4.

* Harden recent-notes scan: find -P + path normalize (v1.0.5)

Explicitly never follow symlinks when listing recent markdown; drop
invalid relative paths before display. Align README Notes and bump
version so PR trust attestation matches code.

* Docs: clarify obsidian URI handler and IPC (v1.0.6)

Align README with code for dependency role, capture IPC, and git abort.
2026-08-08 17:48:59 -04:00
Lemmy 95595088d9 i18n: push/pull no overwrite 2026-08-08 17:23:59 -04:00
github-actions[bot] 60b053c076 chore: update issue templates [skip ci] 2026-08-08 19:40:55 +00:00
github-actions[bot] e0f1cb5056 chore: update plugin catalog [skip ci] 2026-08-08 19:40:44 +00:00
weinguyenandGitHub 2b10a25ee0 Add procmon plugin with live process panel (#301)
* Add procmon plugin with live process panel

New Noctalia plugin: bar widget shows CPU/RAM usage and process
count; floating panel has a sortable, searchable process table
with per-process kill. Background service samples ps and /proc
stats and publishes via plugin state.

* Throttle data-driven panel renders

Rebuild table at most every 500ms to stay within the panel update
CPU budget. User interactions still render immediately; only state
watches and the tick go through maybeRender().

* Update procmon deps and fix timestamp precision

Document head, grep, and cat as required commands. Correct refresh
interval default to 1000 ms. Sample refreshedAtMs in milliseconds.
2026-08-08 15:40:32 -04:00
github-actions[bot] 936f412599 chore: update issue templates [skip ci] 2026-08-08 19:13:23 +00:00
github-actions[bot] 8fb190bff4 chore: update plugin catalog [skip ci] 2026-08-08 19:13:14 +00:00
weinguyenandGitHub 2f760f6103 Add 9Router control plugin (#291)
* Add 9Router panel plugin

This commit introduces the initial version of the 9Router panel plugin.
It provides a Noctalia panel to manage 9Router model combos directly
from the bar, without requiring the web dashboard.

Key features:
- List, create, rename, and delete model combos.
- Reorder models within a combo via drag-and-drop.
- Change combo routing kind (fallback, round-robin, fusion).
- Search and filter combos.
- Supports 9Router dashboard authentication via CLI token or password.

Includes a bar widget showing connection status, a full UI panel,
and a background service to interact with the 9Router REST API.
Translations for English and Vietnamese are included.

* Rename 9Router Panel to 9Router Control

Update plugin IDs, IPC commands, and internal references.

* Quote shell args in service commands

Add shell_quote() for URLs, bodies, and file paths passed to
noctalia.runAsync. Declare required external commands in plugin.toml
and document them in the README.
2026-08-08 15:13:03 -04:00
github-actions[bot] 220bdb0773 chore: update issue templates [skip ci] 2026-08-08 19:07:31 +00:00
github-actions[bot] 1c0217627a chore: update plugin catalog [skip ci] 2026-08-08 19:07:21 +00:00
weinguyenandGitHub c67f0739dc Add Shell Command plugin for launcher commands (#290)
* Add Quick Shell plugin for launcher commands

Introduces `/qs` launcher prefix to run shell commands in an interactive
terminal. Features dynamic shell completions (Fish/Bash), command
history, user snippets, and directory navigation.

* Rename quick-shell plugin to shell command plugin

* Update thumbnail.webp

* Document shell dependencies and filter completions by current word

Filter bash compgen completions to the current word being typed. Declare
`sh`, `ls`, `fish`, and `bash` as plugin dependencies.
2026-08-08 15:07:11 -04:00
github-actions[bot] 41afff4ede chore: update issue templates [skip ci] 2026-08-08 15:08:26 +00:00
github-actions[bot] 09ccf11db6 chore: update plugin catalog [skip ci] 2026-08-08 15:08:08 +00:00
Gabe DunnandGitHub fe464e7301 feat(voxtype): init (#297) 2026-08-08 11:07:55 -04:00
github-actions[bot] eba378b319 chore: update plugin catalog [skip ci] 2026-08-08 14:58:02 +00:00
brightestautumnandGitHub 235cb579bf Add Legacy panel mode, keyboard navigation and fixed recording issues. (#293) 2026-08-08 10:57:44 -04:00
github-actions[bot] 3be755e6f0 chore: update issue templates [skip ci] 2026-08-08 14:56:49 +00:00
github-actions[bot] 070f9f8c65 chore: update plugin catalog [skip ci] 2026-08-08 14:56:39 +00:00
d2287159e0 Add nightwatch75/dns-switcher 0.1.1 (#292)
Switch the system DNS between popular providers, custom servers, or the ISP
default, from a panel on the bar — no reconnect, no captive-portal re-run.
Detection reads the active connection's own ipv4.dns/ipv4.ignore-auto-dns
instead of guessing, so a manually configured resolver (LAN ones included)
shows as its provider and DHCP-assigned DNS shows as Default (ISP). A
singleton service entry owns detection/apply so multiple bars share one
engine.

Every bar gesture (left/right/scroll) is a manifest [widget.actions] default,
resolved through noctalia's own IPC registry, so any of them can be remapped
from the bar's own gesture settings without touching the plugin. The panel
also carries a DNS lookup tester: resolve a name against the active
provider's own address with dig/nslookup, to confirm a switch took effect or
that a provider blocks a domain.

Co-authored-by: nightwatch75 <nightwatch75@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-08 10:56:26 -04:00
github-actions[bot] 4f14e7777c chore: update plugin catalog [skip ci] 2026-08-08 14:45:55 +00:00
blackuandGitHub 66a1729097 feat(keymap): write shortcuts into active config (#299) 2026-08-08 10:45:44 -04:00
github-actions[bot] 31d092f76f chore: update plugin catalog [skip ci] 2026-08-08 02:35:51 +00:00
blackuandGitHub 3467523e00 feat(audio-switcher): support input ports (#287) 2026-08-07 22:35:39 -04:00
github-actions[bot] 9fd283bb52 chore: update plugin catalog [skip ci] 2026-08-08 02:35:28 +00:00
ArturandGitHub 79a69d0511 fix(hassio): keep the entity browser inside the host's CPU budget. (#295) 2026-08-07 22:35:16 -04:00
github-actions[bot] 79f0b02087 chore: update plugin catalog [skip ci] 2026-08-08 02:27:22 +00:00
YuutoandGitHub 4fcd5f1686 fix(arch-updater): tighten package list UI and fix Dismiss/Update panel behavior (#289)
* fix(arch-updater): tighten package list spacing and icon size

* fix(arch-updater): make Dismiss actually clear the pending list

* fix(arch-updater): make hitting update close the panel

* feat(arch-updater): add per-source icons to the package list header

* feat(arch-updater): add an activity graph to the panel

Tracks the pending-update count across recent checks and when the last
update ran, persisted to disk so it survives restarts. Off also stops
recording history, not just hiding it.

* feat(arch-updater): show per-point detail on activity graph hover

ui.graph has no pointer props of its own, so a row of ghost buttons
sits under the line as per-point hit targets, each with a native
tooltip. History entries now carry a timestamp and whether the check
followed an update run, so hovering a point says when it happened and
either its pending count or "Updated".

* fix(arch-updater): load activity history at startup, not on first check

loadHistoryState() only ran lazily inside recordCheck/recordUpdateRun,
so a freshly started service published an empty history until a check
completed, hiding the graph even when prior sessions had data on disk.

* fix(arch-updater): render activity graph with sharp points, not curves
2026-08-07 22:27:08 -04:00
github-actions[bot] 41a5373cd0 chore: update plugin catalog [skip ci] 2026-08-08 02:24:33 +00:00
Tadomika-AriandGitHub 7fa96aceef feat(w-engine): Add favorite section (#270)
* feat!: add favorite section

* fix: change visual for 1 scroll: wallpaper and favorite wallpaper

* feat!: update for v1.2.0

* fix: rm line downgrade quality

* fix: add downgrade quality for improve storage cache

* feat!: update thumbnail

* feat!: add favorites list in data.json

* feat!: add save favorites list across start plugin
2026-08-07 22:24:22 -04:00
github-actions[bot] 3319112aed chore: update plugin catalog [skip ci] 2026-08-08 02:23:34 +00:00
blackuandGitHub 6460c1a481 fix(keymap): make modifier layers discoverable (#249) 2026-08-07 22:23:24 -04:00
Spyridon Siarapis d59cdacd4f feat(workflow): Make the setup less painful to write
fix

fix workflow

fix

fix

fix probably now...

fix maybe probably, for sure
2026-08-08 00:56:56 +02:00
github-actions[bot] 3aa04bc36c chore: update plugin catalog [skip ci] 2026-08-07 20:51:34 +00:00
Spyridon SiarapisandGitHub 36692a50ef Merge pull request #288 from neyfua/missing-finished-build-status
refactor(obs-integration): added missing Finished build status
2026-08-07 22:51:17 +02:00