Commit Graph
600 Commits
Author SHA1 Message Date
github-actions[bot] 9f33c2ae8b chore: update plugin catalog [skip ci] 2026-08-06 14:05:55 +00:00
e439ccd102 spotify-lyrics (#214)
* Add spotify-lyrics plugin

* fix(spotify-lyrics): resolve race conditions and add plugin_api

* fix(spotify-lyrics): update plugin_api to 3

* fix(spotify-lyrics): resolve github actions validation errors

* fix(spotify-lyrics): resize thumbnail to 960x540 to fix validation error

* fix(spotify-lyrics): bump version to 1.2.1

* fix(spotify-lyrics): update namespace and replace misleading thumbnail

* fix(spotify-lyrics): declare runtime dependencies in plugin.toml and update README requirements

* feat(lyrics): implement dynamic panel width sizing

* Revert "feat(lyrics): implement dynamic panel width sizing"

This reverts commit ef91e6f9f688df7deeb41ba9e5c7606a4904b47a.

* feat(spotify-lyrics): implement dynamic panel width sizing

* fix(spotify-lyrics): correct target width pre-calculation for upcoming lines

* fix(spotify-lyrics): prevent vertical spill by enforcing maxLines=1

* fix(spotify-lyrics): implement dynamic height resizing to encapsulate wrapped text

* fix(spotify-lyrics): remove horizontal cap to prevent vertical spill

* fix(spotify-lyrics): restore minHeight and implement perfectly safe wrapping height prediction

* fix(spotify-lyrics): lock panel width and use vertical dynamic resizing exclusively

* fix(spotify-lyrics): implement dynamic font scaling and remove panel dimension animations

* fix(spotify-lyrics): restore robust dynamic height logic and discard font scaling

* refactor(spotify-lyrics): rewrite height estimation and clean up codebase

Root cause: the charUnits per-character width estimation consistently
underestimated real rendered widths because the 0.80 multipliers in
getLineWidth and getLinesCount cancelled each other out, making the
effective calculation ignore the safety margin entirely.

Fix: replaced the complex charUnits/toChars/getLineWidth machinery with
a simple #text / chars-per-line heuristic using a conservative 0.60x
character width factor. This reliably overestimates line count, ensuring
the panel always allocates enough height for wrapped text.

Quality of life improvements:
- Split monolithic render() into renderEmpty/renderPaused/renderPlaying
- Reduced update interval from 33ms (30 FPS) to 100ms (10 FPS)
- Removed file-read timer (reads every frame at lower FPS instead)
- Added clear section headers and inline documentation
- Removed all dead code (charUnits, toChars, getLineWidth, etc.)

* fix(spotify-lyrics): set panel height=280 in plugin.toml — the actual fix

The root cause of the lyrics spilling was never in the Lua code.
Noctalia panels are sized exclusively by plugin.toml, not by minHeight
on the column layout. Since we had removed width/height from plugin.toml
to make sizing 'dynamic', noctalia used a tiny default that couldn't
contain wrapped lyrics. minHeight on ui.column had zero effect on the
actual panel window size.

Set height=280 to comfortably fit 3 lyrics lines even when they wrap.

* feat(spotify-lyrics): add dynamic font scaling for long lyrics

Long lyrics (>40 chars) now get progressively smaller fonts:
- Every 15 chars beyond 40 reduces font by 2px
- Minimum font: 10px (panel) / 11px (widget)

This prevents vertical overflow regardless of container size by
ensuring long lines take up less vertical space when they wrap.

* fix(spotify-lyrics): fix plugin IDs and tilde path expansion

- Updated bar.luau to toggle correct panel ID
- Replaced ~ in noctalia.readFile with absolute path since Lua doesn't auto-expand it
- Updated plugin.toml height to 280 and id to noctalia/spotify-lyrics

* Fix UI bugs, implement reactive updates, and add album art

* Fix plugin manifest validation errors

* fix(spotify-lyrics): address PR review comments

- Change plugin id from noctalia/ to goatnath/ namespace
- Declare runtime dependencies: playerctl, python3, syncedlyrics
- Replace hardcoded /home/goatnath path with noctalia.expandPath()
- Add [[desktop_widget]] manifest entry for widget.luau
- Rewrite README to follow README_TEMPLATE.md structure
- Update all references to use corrected plugin id

---------

Co-authored-by: goatnath <aadinathkeshav1978@gmail.com>
2026-08-06 10:05:22 -04:00
Lemmy f5bd62e81b chore(i18n): update 2026-08-05 17:59:17 -04:00
github-actions[bot] 12097abd80 chore: update issue templates [skip ci] 2026-08-05 21:58:36 +00:00
github-actions[bot] f805a73f6f chore: update plugin catalog [skip ci] 2026-08-05 21:58:25 +00:00
Arístides PérezandGitHub 57e4b108c4 feat(udiskie): add aristides/udiskie plugin for usb/media drives management (#256)
* feat(udiskie): add Udiskie service for real-time device monitoring, notifications, and IPC

* feat(udiskie): add main manager panel for drives and partitions

* feat(udiskie): add plugin manifest, status widget, and english translation

* feat(udiskie): add Makefile for testing and linting translations

* feat(udiskie): add error handling for missing udiskie package

* feat(udiskie): add right-click functionality to refresh Udiskie service

* feat(udiskie): add option to hide widget when no devices are connected

* feat(udiskie): add settings button to the panel for quick access to configuration

* feat(udiskie): add button to copy mount path to clipboard in partition row

* fix(udiskie): duplicated notifications when removing or unmounting devices

* feat(udiskie): add disk usage information for mounted partitions in device state

* feat(udiskie): update partition row status colors and enhance UI for status display

* fix(udiskie): adjust timeout to give time for sudo tasks such as LUKS unlock

* feat(udiskie): update partition row status color for LUKS devices and adjust panel width

* fix(udiskie): scroll not working properly and items overflow container

* feat(udiskie): add missing translations and remove hardcoded strings messages

* feat(udiskie): add README and thumbnail

* docs(udiskie): add performance section to README with resource usage comparison

* fix(udiskie): update output parsing to use safe tab delimiters for device information

* fix(udiskie): improve device hierarchy parsing to correctly identify partitions

* feat(udiskie): centralize open with file manager code, and close panel on auto-open on mount (like manually open)

* fix(udiskie): exclude LUKS containers from "Drive Connected" notifications

* fix(udiskie): quote paths and device names in shell commands

* fix(udiskie): improve error message cleaning regex

* feat(udiskie): enhance README with device attributes and update service to suppress errors

* fix(udiskie): use shell quoting for device paths in panel async commands

* feat(udiskie): add spanish translations and update tests to check every translation
2026-08-05 17:58:15 -04:00
github-actions[bot] 52bb05d5aa chore: update issue templates [skip ci] 2026-08-05 21:57:57 +00:00
github-actions[bot] a09ea3d4b1 chore: update plugin catalog [skip ci] 2026-08-05 21:57:46 +00:00
1a08a98c4e Add salemsayed/codexbar-meter (#243)
A bar widget and attached panel showing AI provider usage limits reported
by the local CodexBar CLI. The bar keeps a configurable number of provider
meters; the panel lists every provider, quota window, credit balance, and
pace summary, and scrolls when the response is taller than the panel.


Claude-Session: https://claude.ai/code/session_01BCNAY79YEoNxyubdt8Co9A

Co-authored-by: Salem Sayed Abdel Gawad <283208+salemsayed@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 17:57:32 -04:00
github-actions[bot] bffb68c86f chore: update plugin catalog [skip ci] 2026-08-05 21:50:48 +00:00
emrtnnandGitHub d2ecb3eb6e feat(pass): add new async and improved cache service (#258) 2026-08-05 17:50:27 -04:00
github-actions[bot] 835770702d chore: update issue templates [skip ci] 2026-08-05 21:49:12 +00:00
github-actions[bot] b0b6aaad87 chore: update plugin catalog [skip ci] 2026-08-05 21:48:59 +00:00
Black DonandGitHub a1b3da1922 Add KineticWE Layouts plugin (#252) 2026-08-05 17:48:45 -04:00
github-actions[bot] 940d22cdb5 chore: update plugin catalog [skip ci] 2026-08-05 21:36:24 +00:00
mguandGitHub 87624091e4 update bookmarks to 1.3.1 (#238)
* fix+refactor: translation strings refactored & fixed a ui bug affecting scrolling

- Fixed a bug where hovering over an item in populated lists would
trigger auto-scrolling.
- Fixed scrollbar rendering incorrectly.
- Refactored translation strings (converted to nested keys when
applicable)

* docs: formatting fixes + 1.3.1 changelogs

* chore: bump the version
2026-08-05 17:36:08 -04:00
github-actions[bot] 545f4290ed chore: update plugin catalog [skip ci] 2026-08-05 21:33:49 +00:00
HiImKobeAndandGitHub 718ccfc451 feat(audio-switcher): migrate to widget.actions and fix mute status logic (#200)
* refactor(audio-switcher): remove unused translation key

* feat(audio-switcher)!: migrate scroll handling to widget actions

* feat(audio-switcher): migrate click handling to widget actions

* refactor(audio-switcher): migrate to openSettings

* fix(audio-switcher): fix incorrect mute status check for input and output
2026-08-05 17:33:35 -04:00
github-actions[bot] 88168f3b32 chore: update plugin catalog [skip ci] 2026-08-05 20:25:42 +00:00
Spyridon SiarapisandGitHub 10db3c9551 Merge pull request #235 from Yocraft-2000/qr-code
Update QR Code Encoder plugin
2026-08-05 22:25:31 +02:00
github-actions[bot] dc1adabe4e chore: update plugin catalog [skip ci] 2026-08-05 20:20:36 +00:00
Spyridon SiarapisandGitHub 5d0d2e6db4 Merge pull request #251 from jacob-sabella/feature/w-engine-login-palette-sync
fix(w-engine): sync palette when restoring wallpaper on startup
2026-08-05 22:20:05 +02:00
github-actions[bot] f890db88dd chore: update plugin catalog [skip ci] 2026-08-05 20:19:55 +00:00
Spyridon SiarapisandGitHub 5e6f4d2807 Merge pull request #250 from Reiling-Jeff/main
fix(arch-updater): reduce CPU work in the HTTP callback
2026-08-05 22:19:43 +02:00
Yocraft-2000 f5293f98d7 fix: clear currentText on closing 2026-08-05 13:58:23 +02:00
jacob-sabella fa742c0e6e chore(w-engine): bump to 1.1.1
Patch release for the startup palette sync fix.
2026-08-04 17:59:08 -05:00
jacob-sabella e677f954c5 fix(w-engine): sync palette when restoring wallpaper on startup
The startup restore relaunched linux-wallpaperengine for the last
selected wallpaper but never re-applied the still that Noctalia derives
its palette from, so colors after login came from whatever wallpaper the
shell restored on its own. Every other path that puts a wallpaper up
pairs launch() with syncPalette(); this one now does too.

Switching wallpapers away and back was the only way to correct it, since
that runs apply().
2026-08-04 17:48:42 -05:00
yuuto 3f9e6bc3d1 fix(arch-updater): reduce CPU work in the HTTP callback 2026-08-04 23:40:15 +02:00
Yocraft-2000 91a3778a6e feat: add keep_on_close option 2026-08-04 22:33:47 +02:00
github-actions[bot] f0134c2938 chore: update issue templates [skip ci] 2026-08-04 02:54:54 +00:00
github-actions[bot] 8cb8da06dd chore: update plugin catalog [skip ci] 2026-08-04 02:54:45 +00:00
19e81f3e47 added hyprland layout switcher (#232)
* added hyprland layout switcher

* fixes after plugin checking

---------

Co-authored-by: Martin Goldhahn <martin@goldhahn.info>
2026-08-03 22:54:33 -04:00
github-actions[bot] 4c8346c07c chore: update plugin catalog [skip ci] 2026-08-04 02:40:08 +00:00
nullptrandGitHub 1583a4805f feat(lyrics): Add setting to hide when no lyrics available (#216)
* feat: hide when no lyrics

* fix: bump version

* fix: missing translation + still show when track mode + readme
2026-08-03 22:39:58 -04:00
github-actions[bot] bf2058f024 chore: update plugin catalog [skip ci] 2026-08-04 02:38:23 +00:00
87ef0483dc screen-toolkit: add compact/full panel modes, mode-aware toggle, and … (#237)
* screen-toolkit: add compact/full panel modes, mode-aware toggle, and full documentation

* screen-toolkit: restrict compact tile hover/click to icon and label

* screen-toolkit: full-mode hover border on tile, mirror compact colors

* screen-toolkit: add plugin thumbnail screenshot

---------

Co-authored-by: Ahmed5Emad <ahmed5emad@users.noreply.github.com>
2026-08-03 22:38:07 -04:00
github-actions[bot] 391cfa818e chore: update plugin catalog [skip ci] 2026-08-04 02:37:03 +00:00
JustinandGitHub fb16e3d3a5 fix(anilist): fixed some TypeErrors (#233)
* fix(anilist): forward-declare flushCoverSnapshot before first use

* fix(anilist): split json.encode from writeFile call to avoid arg splat

* chore(anilist): version bump
2026-08-03 22:36:52 -04:00
github-actions[bot] 774a439b35 chore: update plugin catalog [skip ci] 2026-08-04 02:36:08 +00:00
NilsonlinuxandGitHub f672176186 rss-notifier Update v1.0.1 (#236)
* 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.

* thumbnail update

Thumbnail updated. Following the plugin update.

* Bump version from 1.0.0 to 1.0.1

Added outlines to the control buttons. Also fixed a bug where recent feeds wouldn't list upon starting a session.

* Change button variant from 'ghost' to 'outline'

Added outlines to the control buttons. Also fixed a bug where recent feeds wouldn't list upon starting a session.
2026-08-03 22:35:58 -04:00
Yocraft-2000 a490b35068 update: migrate to widget.actions 2026-08-04 00:30:50 +02:00
github-actions[bot] 6ab3c5fe5d chore: update plugin catalog [skip ci] 2026-08-03 21:50:41 +00:00
Lemmy 9d978bed3d ci: fix race condition when both workflow run 2026-08-03 17:48:22 -04:00
github-actions[bot] 6286048ef0 chore: update issue templates [skip ci] 2026-08-03 20:33:51 +00:00
Priyanshu GuptaandGitHub 8aa75342f3 add(deepseek_usage): DeepSeek API credit & balance monitor (#220)
* add(deepseek_usage): add DeepSeek usage balance monitor plugin

* add(deepseek_usage): add thumbnail.webp

* chore(deepseek_usage): update plugin id to coder/deepseek_usage

* fix(deepseek_usage): update 960x540 thumbnail, README IPC docs, and plugin.toml schema

* fix(deepseek_usage): fix panel ID, normalize ui.graph values 0-1, declare xdg-open dependency

* fix(deepseek_usage): replace thumbnail with official Noctalia generator asset
2026-08-03 16:33:41 -04:00
github-actions[bot] 97d2d5d8b6 chore: update issue templates [skip ci] 2026-08-03 20:17:39 +00:00
EzequielandGitHub 44925e4be6 feat: add mango_layouts plugin (#192)
* feat: add mango_layouts plugin

* fix: address CI validation errors

* refactor: inline apply_layout script for cross-device portability

* fix: commit inlined script changes in panel.luau

* fix: address official PR review feedback

* fix: revert noctalia.translate which caused runtime crash

* fix: remove setGlyph empty string to prevent fallback skull icon

* feat: restore translations using correct noctalia.tr API

* refactor: remove unused label fields from layouts table
2026-08-03 16:17:29 -04:00
Yocraft-2000 68a563b862 update: bump version 2026-08-03 22:06:04 +02:00
Yocraft-2000 7e6ca32873 feat(QoL): idle status with generate button off 2026-08-03 22:04:02 +02:00
github-actions[bot] d61e327515 chore: update plugin catalog [skip ci] 2026-08-03 12:45:00 +00:00