A calendar-integrated daily task manager and reminder system for the GNOME panel.
TaskMan lives in your GNOME panel and gives you a full calendar-integrated task and reminder workflow without opening any separate app. Click the panel icon, pick a day, add tasks, set reminders — all without leaving your desktop.
- Calendar heat map — every day cell fills with red-to-green color encoding how many tasks you have and how many are done, so your whole month is readable at a glance.
- Timed reminders — set a reminder with quick presets (+15m, +30m, +1h, +2h) or an exact HH:MM time. A native GNOME notification fires at the right moment with Snooze and Dismiss actions.
- Past-day read-only view — navigate back to any previous day to review what was completed without accidentally editing it.
- Plain JSON storage — all data lives in
~/.local/share/taskman-utkarsh-brainstorm.github.io/data.json. Back it up, sync it with rsync, or edit it by hand. - Theme-aware — tested on both light and dark Adwaita. Uses
color: inheritthroughout so it respects your shell theme.
| Requirement | Version |
|---|---|
| GNOME Shell | 48 or 49 |
| GLib / GIO | Bundled with GNOME |
Once published, visit the extension page and toggle it on:
https://extensions.gnome.org/extension/taskman@utkarsh-brainstorm.github.io
# Clone the repo
git clone https://github.com/utkarsh-brainstorm/TaskMan.git
# Copy into your local extensions directory
mkdir -p ~/.local/share/gnome-shell/extensions/taskman@utkarsh-brainstorm.github.io
cp TaskMan/{extension.js,prefs.js,constants.js,stylesheet.css,metadata.json} \
~/.local/share/gnome-shell/extensions/taskman@utkarsh-brainstorm.github.io/
# Restart GNOME Shell (X11 only — on Wayland, log out and back in)
Alt+F2 → type r → Enter
# Enable the extension
gnome-extensions enable taskman@utkarsh-brainstorm.github.io- Click the TaskMan icon in the panel (📋 list icon).
- The calendar opens on today. Click any future day to switch to it.
- Type your task in the entry field and press Enter.
- Click the ⏰ toggle button next to the entry field to switch to reminder mode.
- Type the reminder text in the entry field.
- Either click a quick-preset button (+15m, +30m, +1h, +2h) or type an exact time in HH:MM format and press ✓.
- A native notification will fire at the scheduled time with Snooze 5 min and Dismiss actions.
- Click ‹ / › in the calendar header to move between months.
- Days with tasks show a color fill: red = incomplete tasks, green = completed. The more saturated, the more tasks that day has.
- Past days are read-only (shown with a 🔒 banner).
Open GNOME Extensions → TaskMan → Settings (gear icon) to:
- View the UUID and current version.
- See the path to your data file and open the containing folder.
- Clear all data (with a confirmation dialog — this cannot be undone).
All data is stored locally in:
~/.local/share/taskman-utkarsh-brainstorm.github.io/data.json
No network requests are ever made. No data leaves your machine.
If data.json is corrupted, the extension backs it up to data.json.bak and resets gracefully.
TaskMan/
├── extension.js # Main extension logic (panel button, calendar, task list, reminders)
├── prefs.js # Preferences window (GNOME Extensions settings page)
├── constants.js # Shared path constants — safe to import from both processes
├── stylesheet.css # Theme-aware CSS for the popup UI
├── metadata.json # Extension manifest (UUID, name, supported shell versions)
└── README.md
Issues and pull requests are welcome at https://github.com/utkarsh-brainstorm/TaskMan.
Before submitting a PR:
- Test on both GNOME 48 and 49 if possible.
- Test on both light and dark Adwaita themes.
- Run
journalctl -f -o cat /usr/bin/gnome-shellwhile testing to catch any JS errors.
MIT © utkarsh-brainstorm
Utkarsh Yadav
- GitHub: @utkarsh-brainstorm
- GNOME Extensions: utkarsh.rwx
