* game-launcher: bundle self-contained SQLite reader, drop libsqlite3 dependency
Fixes building gamelauncher.c on NixOS where the runtime env lacks
sqlite3.h/libsqlite3. scan_lutris now reads Lutris' pga.db through a
bundled read-only SQLite file parser instead of linking sqlite3.
* game-launcher: rework /g provider to reuse panel scan results
The launcher provider now reads the games the panel already scanned via
state/cache, trims the query, and surfaces status/error rows instead of
duplicating the scan.
---------
Co-authored-by: Ahmed5Emad <ahmed5emad@users.noreply.github.com>
Animation preset picker for niri: choose a .kdl preset, set the global
slowdown factor, or turn animations off. Ships a floating and a
bar-attached panel plus a control-center tile.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* Add ip-monitor plugin
* fix: removed typo
* feat: increase default refresh interval to 60 seconds
* fix: prevent shell injection in IP monitor gateway lookup.
* docs: fix author casing in README
* feat: add configurable click actions
* feat: add desktop widget support and refactor core logic
- Extracted IP fetching and data parsing into a shared `utils.luau` module to prevent code duplication.
- Created `desktop.luau` to display network details explicitly in a tabulated UI.
- Added specific configuration options for font sizes and colors for the new desktop widget
* feat: add hidden_fields configuration to allow filtering tooltip and desktop widget details
* fix: remove raw HTML from README
* refactor(utils): use bit32 and fix glob pattern escaping & gateway parsing
* refactor(utils): centralize shared UI builder and display name resolution
* refactor(widget): use shared utils helpers and clean up duplicate logic
* refactor(desktop): use shared utils helpers and add IPC click action parity
* docs: update README with desktop widget settings
* feat: remove unused IPC copy actions from widget logic
* 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.