* fix: setUpdateInterval in update function
* fix: add shellEscape on cat command
* dump version
* fix: migrate settings to desktop_widget.settings
* feat: auto gap based on the layout
* feat: retrieve warning threshold from noctalia's settings
* fix(phone-connect): zh-Hans locale, switcher aliasMap, box padding
- Rename zh_hans -> zh-Hans (plugin.toml value, en.json key) and add
the missing translations/zh-Hans.json. The zh_hans tag does not match
BCP 47, so the framework's materialize step dropped the Chinese
translation file and t() returned raw dot keys in the UI.
- Add missing aliasMap definition in switcher() so the multi-device
panel no longer errors on aliasMap[id]. Fixes#176.
- Replace ui.box({padding=...}) with ui.row({padding=...}); box does
not support the padding prop, causing ui-tree warnings on open.
Supersedes #190 (which covers only the aliasMap fix).
* fix(phone-connect): volume quoting, config data loss, interval, dead settings, slider, UI issues
1. media_set_volume: shellQuote the <int32> variant arg (was unquoted,
shell treated < as redirect; same fix as media_seek).
2. onConfigChanged: track last-applied custom_image/device_alias values
so unrelated config edits (e.g. language switch) no longer wipe a
device's image/alias. Seed trackers at init so reload is safe too.
3. state_update_interval=0: return 3600000ms + guard in update() to
skip auto-refresh, matching the '0 disables' description.
4. Remove 4 dead settings (show_ongoing_media, show_device_placeholder,
scan_subdirectories, max_recent_images) declared but never read,
plus orphan recent_images translation keys.
5. Media slider: freeze value during drag via per-device dragState so
the 1s service refresh doesn't yank the slider back. Also fixes
onDragEnd seeking to a stale seekPos.
6. Minor: runCli reports cli_failed not no_backend; browse uses runAsync
not runInTerminal; charging color priority over low-battery; device
name falls back to d.name; fix comment mismatches.
* chore: bump version to 0.1.1
* fix: use lowercase zh-hans translation key to pass CI validation
CI rejects uppercase in translation keys (zh-Hans). The translation key
and label_key are now lowercase zh-hans, while the file name stays
zh-Hans.json (required by the framework's materialize step) and the
select value stays zh-Hans (used to build the file path).
* Init
* fix: remove placeholder (weird bugs)
* fix: README
* fix: return if battery not found
* fix: add "Not Charging" status
* fix: insert in content table
* feat: add error color when under 20% and discharging
* feat: add warning color setting
* fix(README): longer plugin description and settings descriptions
* feat: add color and charging color
* fix: default charging color
* feat(jetbrains-provider): add JetBrains Provider launcher plugin
Expose recent JetBrains IDE projects in the Noctalia launcher via /jb.
* fix(jetbrains-provider): address PR review feedback
Support IdeaIC and Android Studio, decode XML entities in project paths,
align launcher caching with zed, and update the catalog thumbnail.
* fix(workflow): Fixed a small bug with the issues-check-for-correct-plugin workflow
* feat(workflow): Added a workflow to notify plugin authors for PR's
* add pull-request: write perm
---------
Co-authored-by: Lemmy <studio@quadbyte.net>
* fix(anilist): paginate large libraries to avoid CPU budget kills
Chunk GraphQL fetches and defer merge, sort, and cover work to update()
ticks so 1000+ anime and manga entries load without blocking callbacks.
* fix(anilist): handle OAuth callback immediately and simplify service helpers
Process browser login tokens synchronously from runStream and file poll, keep a 500ms update interval during OAuth, and avoid duplicate OAuth result emissions from Python.
* feat: add gamer-mode plugin
Live CPU, RAM, swap, GPU, VRAM, load and network readings in the bar and a
panel, plus a one-click mode that suspends background resource hogs and
restores exactly what it suspended.
* chore: rebuild the thumbnail with the upstream generator
Produced by assets.noctalia.dev/plugins/thumbnail-generator.html with the
title, the Gaming tag, the panel screenshot and the Red accent, rather than
composed by hand at the same dimensions.
* fix(gamer-mode): write the session before suspending anything
Enable suspended targets first and dropped the writeSnapshot return, so
a failed write left processes frozen and units stopped with no record to
restore them from, while the service published gamer mode as off and
switched the power profile.
The snapshot now lands on disk first, and a failed write aborts the
enable with the machine untouched and an error notification.
Writing first can record a target whose suspend command then failed.
That direction is safe: thawing is unconditional and SIGCONT to a
running process is a no-op, and a stop target restarts only after a live
probe says it is still down.
* Add nilsonlinux/rss-notifier plugin v1.0.0
* fix: correct all validation errors for rss-notifier
* Update tags in plugin.toml for rss-notifier
* Revise README for RSS Notifier plugin
Updated README to reflect plugin name and improved clarity.
* Update README.md by removing unnecessary content
Removed placeholder text and installation instructions from README.
* Update README with plugin details and usage instructions
Expanded README to include plugin details, usage instructions, and settings configuration.
* Traduz README.md para português e atualiza conteúdo
Atualiza o README.md com informações em português sobre o plugin RSS/Atom Notifier, incluindo uso, configurações e notas sobre o funcionamento.
* Update tags in plugin.toml
Removed 'rss' tag from the plugin configuration.
* Revise README for RSS Notifier plugin
Updated the README to reflect changes in the plugin description, installation instructions, usage details, settings, and dependencies.
* Enhance README with plugin details and usage
Updated README.md to include detailed plugin features, settings, and usage instructions.
* Update README for RSS Utils plugin
* Add files via upload
* Add xdg-open as a dependency in plugin.toml
* Revise README for RSS/Atom Notifier plugin
Updated configuration options and usage instructions in README.
* Add Brazilian Portuguese translation file
* Revise README for clarity and updated instructions
Updated README to improve clarity and consistency, including installation and usage instructions.
* Add xdg-open as a dependency in README
Updated dependencies section to include xdg-open.
* Fix formatting of requirements section in README
* Add files via upload
* feat: add individual item delete option and scrollbar
- Implemented the ability to delete individual feed items using an 'X' button.
- Added a fixed height scrollbar to the panel list.
- Fixed badge synchronization and command communication for the V5 Beta 6 environment.
* fix tags e correções de funcionamento
* Add dependencies section to plugin.toml
* Add files via upload
* Enhance README with plugin details
Updated README with plugin ID and entries table.
* claude-companion: v1.3.0 — headless aggregator, user settings, sessions panel
Catalog-side update for lowcache/claude-companion, from 1.0.1 to 1.3.0.
Architecture: the pulse aggregator moved out of the bar widget into a headless
[[service]] (pulse-svc.luau). Capture no longer depends on the bar dot being
placed — the service starts with the shell and listens regardless of surfaces,
retiring the plugin's old "pulse must sit on a bar" deployment invariant. The bar
widget and desktop orb are now independent subscribers of the claude.pulse
rollup, rendering only. Noctalia 5 beta also fixed the older limitation where bar
widgets did not receive state.watch callbacks, so the bar dot is event-driven
like the orb; both docs are updated accordingly.
New: a `sessions` panel on right-click of the pulse (left-click still opens the
answer panel) — one row per live session with state, model and token burn, plus a
Retire control for a session whose SessionEnd hook never fired and which would
otherwise sit at idle indefinitely. It introduces no new IPC verb: only the
trailing `session` payload field is read for routing, so `session_end` with
`,,,,,<sid>` is already a well-formed single-session retire. PROTOCOL.md now
documents that property so any adapter can use it. Session ids are allowlisted
before reaching a shell command.
New: three animation settings (breath_speed, pulse_glow_floor, orb_swell), each
declaring an explicit `step` — an omitted step defaults to 1.0 in the manifest
parser, which collapses a fractional range to a couple of preset stops instead of
a slider.
plugin_api stays at 3. Everything used here is ungated at that level, and the
contributing guidance is to raise it only when adopting a capability from a newer
level. Verified against the installed build rather than assumed.
Also ships tests/manifest_spec.py, which pins the settings contract: every
numeric setting must declare an explicit step finer than its range, defaults must
land on a step boundary, label/description must use the *_key form, and every key
must resolve in translations/en.json. Neither the linter nor a widget spec can
catch a bad step, which is how the slider bug shipped in the first place.
Validated: catalog validator 54/54 exit 0, its own 54 self-tests pass, and the
plugin's suite (5 luau + shim + manifest) is green. Live-tested on niri against
Noctalia 5 beta; the compositor shim is unchanged in this update.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* claude-companion: tint the sessions retire control, fix singular header
Follow-up on the v1.3.0 submission from live review: the retire button carried no
variant and rendered at the background colour; a single session read "1 sessions".
The panel root stays unfilled by design — noctalia panels are translucent under
the glass style, so the backdrop is the shell's, not the plugin's.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: lowcache <drawpdeadredd@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* feat: changed keybinds + new keybinds
Changes:
- ctrl+n -> ctrl+j
- ctrl+p -> ctrl+k
Additions:
- ctrl+h or left: return to the root level when in a folder
- ctrl+l or right: get into a folder
* feat: /bk Provider
- feat: /bk Provider
- chore: better preview imgs
- docs: updated README
- chore: updated Turkish translation strings
- chore: updated thumbnail
* feat: keybind changes + index tracking fix
- feat: Some more keybind changes
- Added: ctrl + n for new bookmark
- Changed: ctrl + f for search (changed from ctrl + s)
- fix: Added index tracking for bookmark entries
- For keyboard-centric use, navigating to a folder by accident then
returning to root was annoying since no tracking meant that we'd always
land on the first entry within the folder or the root itself
- docs: updated README to reflected the changes and added a changelog
section
* fix translation merge
---------
Co-authored-by: Lemmy <studio@quadbyte.net>