Skip to content

feat: add GitHub Activity plugin - #462

Merged
ItsLemmy merged 8 commits into
noctalia-dev:mainfrom
AlexMnrs:add-github-activity
Aug 25, 2026
Merged

feat: add GitHub Activity plugin#462
ItsLemmy merged 8 commits into
noctalia-dev:mainfrom
AlexMnrs:add-github-activity

Conversation

@AlexMnrs

Copy link
Copy Markdown
Contributor

Plugin

  • Id: alexmnrs/github-activity
  • New plugin
  • Update to an existing plugin (version bumped in plugin.toml)

What it does

Adds a native GitHub contribution calendar to the Noctalia bar. The widget
shows today's activity and opens an interactive, theme-aware annual heatmap
with contribution details, streaks, cache status, manual refresh, and a
profile shortcut.

External dependencies

  • gh: runs gh api graphql to request the authenticated user's
    contribution calendar from GitHub's GraphQL API. GitHub CLI owns the token;
    the plugin never reads or writes credentials.
  • xdg-open: opens https://github.com/<login> from the profile button.

The service stores the latest successful normalized calendar in Noctalia's
per-plugin data directory. It performs no other filesystem writes and does
not download or execute remote code.

Testing

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Noctalia version tested against: v5.0.0-beta.9-4-g7fd9f7bfa960
  • Plugin API level: 24

Validated with python3 .github/workflows/scripts/validate-plugins.py.
Manually verified the bar widget, attached panel, per-cell hover details,
manual refresh, cached-state fallback, and profile launch on Arch Linux with
Hyprland.

Screenshots / Videos

GitHub Activity panel

Checklist

  • The directory name matches the part of id after the / in plugin.toml exactly.
  • It ships plugin.toml, README.md, thumbnail.webp, and translations/en.json.
  • README.md follows the README template, documents every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
  • I created thumbnail.webp with the thumbnail generator.
  • version follows semver and is bumped in this PR; plugin_api is the oldest API level this plugin requires.
  • Every non-English translation in this PR uses a locale supported by Noctalia core, and I can read, write, and understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
  • I did not edit catalog.toml; CI generates it.
  • This PR touches exactly one plugin directory.

Code review attestation

  • The code is readable and not obfuscated, minified, or generated.
  • It does not download and execute remote code.
  • Every network call, filesystem write, and spawned process is something the description above accounts for.
  • I have the right to publish this code under the license declared in plugin.toml.

@ItsLemmy

Copy link
Copy Markdown
Contributor
image

@ItsLemmy
ItsLemmy marked this pull request as draft August 24, 2026 23:50
@AlexMnrs

Copy link
Copy Markdown
Contributor Author

Updated github-activity/thumbnail.webp in the source repository and this PR.

The new file is the 960×540 WebP exported with the official Noctalia thumbnail generator. The PR branch now contains commit 8a8ddbf; the source repository contains the same asset in commit 09dbd7d.

The plugin manifest validation still passes.

@AlexMnrs
AlexMnrs marked this pull request as ready for review August 25, 2026 07:21
@ItsLemmy

Copy link
Copy Markdown
Contributor

Thanks. You can probably get away without hardcoding the days and month names, since the plugin API has what you need to format time.

@ItsLemmy
ItsLemmy merged commit 5ee191a into noctalia-dev:main Aug 25, 2026
1 check passed
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.

2 participants