Back to plugins
GitHub Feed
Display GitHub activity from users you follow and activity on your repos
v1.3.1 linuxmobile MIT Apr 28, 2026
About
GitHub Feed Plugin for Noctalia
Display GitHub activity from users you follow and activity on your own repositories.
Features
Activity from Followed Users:
- Stars - repos they starred
- Forks - repos they forked
- Pull Requests - PRs they opened/merged
- Repository Creations - new repos they created
Activity on Your Repos:
- Stars - when someone stars your repo
- Forks - when someone forks your repo
GitHub Notifications:
- Overview over notifications you receive
Technical:
- Parallel GraphQL fetching for 5-6x faster load times
- Queries ALL followed users efficiently
- Automatic retry on transient failures
- Caches results to minimize API calls
- Displays user avatars
- Click events to open in browser
Requirements
- GitHub Personal Access Token with
read:userscope- If you want to use the notifications feature the token also needs
notificationsscope
- If you want to use the notifications feature the token also needs
- Create one at: https://github.com/settings/tokens
Configuration
- Open Noctalia settings
- Navigate to the GitHub Feed plugin
- Enter your GitHub username
- Enter your Personal Access Token
- Toggle which event types to show
- Adjust refresh interval and maximum events as needed
How It Works
Parallel GraphQL Fetching
The plugin uses GitHub's GraphQL API with parallel requests for maximum speed:
- Fetches your complete following list via REST API
- Splits users into batches of 8
- Runs 6 parallel GraphQL queries simultaneously
- Each query fetches per user:
- Last 3 starred repositories
- Last 2 created repositories
- Last 2 forked repositories
- Last 2 pull requests
- Automatic retry (up to 3 attempts) on failed requests
- Queries your top 10 repos for recent stars and forks
- Merges, deduplicates, and sorts events by date
- Caches results for the configured refresh interval
Performance
- Before (v1.0.7): ~128 seconds for 137 users (sequential)
- After (v1.1.0): ~20 seconds for 137 users (parallel)
- Speedup: 5-6x faster
API Usage
- REST API: 1 request per 100 followed users
- GraphQL API: ~1 point per batch + 1 point for your repos
- For 137 followed users: ~20 GraphQL points total
- Well within GitHub's rate limits (5000 points/hour)
IPC Commands
Refresh feed:
qs -c noctalia-shell ipc call plugin:github-feed refresh
Toggle panel:
qs -c noctalia-shell ipc call plugin:github-feed toggle
Event Types
From Followed Users:
- WatchEvent - when they star a repo
- ForkEvent - when they fork a repo
- PullRequestEvent - when they open/merge a PR
- CreateEvent - when they create a new repo
On Your Repos:
- WatchEvent - when someone stars your repo
- ForkEvent - when someone forks your repo
Cache
Events are cached in:
~/.config/noctalia/plugins/github-feed/cache/events.json
Avatars are cached in:
~/.config/noctalia/plugins/github-feed/cache/avatars/
To force a fresh fetch, delete the cache directory and refresh.
Files
github-feed/
manifest.json # Plugin metadata
Main.qml # Core logic, parallel GraphQL fetching
BarWidget.qml # Bar button (GitHub icon)
Panel.qml # Popup panel with event list
Settings.qml # Configuration UI
cache/
events.json # Cached events
avatars/ # Cached user avatars
Version History
1.2.0
- Added GitHub Notifications support
- Displays unread notification count in bar tooltip
- Lists detailed notifications in the feed in a separate tab
- Split view into "Activity" and "Notifications" tabs
- Added settings toggle to set the default tab
- Added optional customizable notifications badge to bar icon
- Added optional system notifications for events and notifications
1.1.0
- Parallel GraphQL fetching (6 concurrent requests)
- 5-6x faster load times (~20s vs ~128s for 137 users)
- Automatic retry on transient failures (up to 3 attempts)
- Improved error handling and logging
1.0.7
- Added forks from followed users
- Added pull requests from followed users
- Added stars/forks on YOUR repositories
- Separate toggles for each event type
- Improved event display formatting
1.0.5
- Complete rewrite using GraphQL batching
- Queries ALL followed users (previously limited)
- Simplified to stars and repo creations
- Improved caching and error handling
- Fixed avatar loading
1.0.3
- Initial REST API implementation
- Limited to configurable number of users
License
MIT