Skip to content

PowerPulse: add new desklet - #1875

Open
vicman wants to merge 4 commits into
linuxmint:masterfrom
vicman:add-powerpulse-desklet
Open

PowerPulse: add new desklet#1875
vicman wants to merge 4 commits into
linuxmint:masterfrom
vicman:add-powerpulse-desklet

Conversation

@vicman

@vicman vicman commented Jul 29, 2026

Copy link
Copy Markdown

Summary

  • Add PowerPulse (powerpulse@vicman.app), a compact Cinnamon desklet that monitors wireless device batteries using UPower (D-Bus) and optional HeadsetControl.
  • Shows laptop, mouse, keyboard, headset, speakers and any other UPower device that reports a battery percentage.
  • Includes settings, expandable device cards, notifications, and ES/EN translations.

Homepage: https://github.com/vicman/PowerPulse
Contact: powerpulse@vicman.app

Test plan

  • ./validate-spice powerpulse@vicman.app passes
  • Install from Spices / local copy and add the desklet on Cinnamon 6.x
  • Confirm UPower devices appear and HeadsetControl headset is optional
  • Confirm settings persist and desklet removes cleanly

@github-actions

Copy link
Copy Markdown

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Most findings
are advisory and do not automatically disqualify a pull request.

This check is not perfect and will not replace a normal review.


Found 1 potential issue(s):

⚠️ WARNING

⚠️ sync_file_test

powerpulse@vicman.app/files/powerpulse@vicman.app/providers/headsetControlProvider.js:52

this._available = GLib.file_test(this._command, GLib.FileTest.IS_EXECUTABLE);

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.


Automated pattern check.

@github-actions

Copy link
Copy Markdown

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Most findings
are advisory and do not automatically disqualify a pull request.

This check is not perfect and will not replace a normal review.


Found 1 potential issue(s):

⚠️ WARNING

⚠️ sync_file_test

powerpulse@vicman.app/files/powerpulse@vicman.app/providers/headsetControlProvider.js:52

// Avoid GLib.file_test(); absolute paths are confirmed by spawn in fetch().

file_test() is a synchronous stat call that can block on slow/network filesystems.
Prefer attempting the operation and handling a Gio.IOErrorEnum.NOT_FOUND error instead.


Automated pattern check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant