Skip to content

Add io.github.yockerfx.CosmicAppletBongoPenguin#159

Open
YockerFX wants to merge 1 commit intopop-os:masterfrom
YockerFX:add-bongo-penguin-applet
Open

Add io.github.yockerfx.CosmicAppletBongoPenguin#159
YockerFX wants to merge 1 commit intopop-os:masterfrom
YockerFX:add-bongo-penguin-applet

Conversation

@YockerFX
Copy link
Copy Markdown

Summary

Adds the Bongo Penguin Counter applet for COSMIC — a panel applet that counts global keyboard and mouse events and animates a bouncing penguin synced to the input rate.

  • Upstream: https://github.com/YockerFX/bongo-penguin-cosmic
  • Pinned: tag v0.1.1, commit 9b6a4ecdfa0e91e57a57e9814388a26f71c5de14
  • License: GPL-3.0
  • Built and verified locally with flatpak-builder against org.freedesktop.{Platform,Sdk}//25.08, org.freedesktop.Sdk.Extension.rust-stable//25.08, and com.system76.Cosmic.BaseApp//stable.

Notable manifest details

  • Wayland-only (--socket=wayland, no fallback-x11).
  • Input access via --device=all because evdev needs /dev/input/event*. The host user must be in the input group for the counter to advance — Flatpak cannot grant kernel groups, and an in-app banner explains the fix-up for users who land in this state.
  • Persistence: AES-encrypted count.dat, key derived from /etc/machine-id. Inside the sandbox the path resolves to ~/.var/app/io.github.yockerfx.CosmicAppletBongoPenguin/data/. The derived key differs from a .deb install (Flatpak fakes the machine-id), so previously-saved counters from a .deb will not decrypt and the code falls back cleanly to `0`.
  • `--filesystem=xdg-config/cosmic:rw` and `--talk-name=com.system76.CosmicSettingsDaemon` for theme + applet settings integration.

Test plan

  • Local `flatpak-builder` build green
  • Binary, `.desktop`, `.metainfo.xml`, and SVG icon installed under `/app/{bin,share/applications,share/metainfo,share/icons/hicolor/scalable/apps}/`
  • System76 CI build (this PR)
  • `appstream-util validate` on metainfo
  • Reviewer manual install/run

Bongo Penguin Counter applet for COSMIC. Counts global keyboard and mouse events via /dev/input/event* and animates a bouncing penguin in the panel. AES-encrypted persistence using a host-derived key. Wayland-only, requires the host user to be in the input group for evdev access. Pinned to upstream v0.1.1 (commit 9b6a4ec).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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