Task Dashboard is a GNOME Shell extension that keeps a compact task-planning dashboard on the desktop layer. It shows today's tasks, today's schedule, long-term plans, and info blocks without staying above normal application windows.
- GNOME Shell 50.
- GJS with GTK/Adwaita libraries available for the manager app.
- Network access only if you add URL-based calendar sources.
For local development, keep the extension in the GNOME Shell extensions directory with this UUID path:
~/.local/share/gnome-shell/extensions/task-dashboard@misaki.localThen reload GNOME Shell and enable it:
gnome-extensions enable task-dashboard@misaki.local
gnome-extensions info task-dashboard@misaki.localOn Wayland, log out and log back in if Shell does not pick up new files. On X11, Alt+F2, then r, then Enter is usually enough.
To package after integration:
gnome-extensions pack \
--extra-source=dataStore.js \
--extra-source=calendar.js \
--extra-source=locale.js \
--extra-source=manager.js \
--extra-source=sample-data.json \
--extra-source=README.md \
--extra-source=TEST_PLAN.md \
--extra-source=DESIGN.md \
.
gnome-extensions install task-dashboard@misaki.local.shell-extension.zip --forceTask Dashboard reads Google Calendar through a read-only private iCal URL. Google documents this as the "Secret address in iCal format" in Google Calendar Help.
- Open Google Calendar on a computer.
- Open Settings.
- In the left panel, under "Settings for my calendars", choose the calendar to show.
- Open "Integrate calendar".
- Copy the "Secret address in iCal format".
- In Task Dashboard Manager, open "Calendar Sources".
- Add a source with kind
URL, paste the iCal URL, choose a color, and keep it enabled.
Keep the secret iCal URL private. Anyone with that URL can view the calendar feed. If it was shared accidentally, use Google's Reset action for the secret address and update the Task Dashboard source.
If the secret address is missing, Google notes that work, school, or organization administrators may restrict calendar sharing. Ask the account administrator to allow private iCal access, or use a local .ics file source instead.
User-managed data:
~/.config/task-dashboard/data.jsonCalendar cache:
~/.config/task-dashboard/data.json -> calendar_cacheLog file:
~/.cache/task-dashboard/task-dashboard.logThe data file contains settings, tasks using target_date, date-keyed task completions, plans, enabled info blocks, calendar sources using value, and calendar_cache. Calendar events imported from ICS sources are read-only cache data; edit them in the source calendar instead.
The shared localization helper is locale.js. It supports:
enfor English.zhfor Chinese.systemto resolve from the current system locale.
The data setting is:
{
"settings": {
"language": "system",
"theme": "dark"
}
}Shell and manager modules should import createTranslator, translate, or resolveLanguage from locale.js.
If the extension does not load:
- Confirm the directory name is exactly
task-dashboard@misaki.local. - Confirm
metadata.jsonuses the same UUID after Module C integration. - Run
gnome-extensions info task-dashboard@misaki.local. - Check Shell logs with
journalctl --user -f /usr/bin/gnome-shell.
If the manager does not open:
- Confirm
manager.jsexists after Module D integration. - Start it from a terminal to see GJS/GTK import errors.
- Confirm
~/.config/task-dashboard/data.jsonis valid JSON.
If Google Calendar events do not appear:
- Confirm the calendar source is enabled.
- Confirm the source kind is
URL. - Confirm the URL is the private iCal URL, not the public browser URL.
- Use "Refresh Now" from the panel menu.
- Check
~/.cache/task-dashboard/task-dashboard.logfor HTTP, parse, or cache errors.
If a local .ics file does not sync:
- Confirm the source kind is
file. - Confirm the path is readable by your user.
- Confirm the file contains
VEVENTentries for today.
If links do not open:
- Confirm the item has a valid
http://orhttps://URL. - Confirm GNOME has a default browser configured.
If data looks wrong after an edit or import:
- Disable the extension before manual file edits.
- Back up
~/.config/task-dashboard/data.json. - Restore from the latest exported JSON backup or data-store backup.
- Re-enable the extension and run "Refresh Now".
If disabling the extension leaves UI behind:
- Disable it with
gnome-extensions disable task-dashboard@misaki.local. - Reload GNOME Shell or log out and back in.
- Report the cleanup failure with Shell log output and the last action performed.