Skip to content

Misaki14987/Task-Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Dashboard

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.

Requirements

  • GNOME Shell 50.
  • GJS with GTK/Adwaita libraries available for the manager app.
  • Network access only if you add URL-based calendar sources.

Installation

For local development, keep the extension in the GNOME Shell extensions directory with this UUID path:

~/.local/share/gnome-shell/extensions/task-dashboard@misaki.local

Then reload GNOME Shell and enable it:

gnome-extensions enable task-dashboard@misaki.local
gnome-extensions info task-dashboard@misaki.local

On 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 --force

Google Calendar Private iCal URL

Task 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.

  1. Open Google Calendar on a computer.
  2. Open Settings.
  3. In the left panel, under "Settings for my calendars", choose the calendar to show.
  4. Open "Integrate calendar".
  5. Copy the "Secret address in iCal format".
  6. In Task Dashboard Manager, open "Calendar Sources".
  7. 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.

Data Paths

User-managed data:

~/.config/task-dashboard/data.json

Calendar cache:

~/.config/task-dashboard/data.json -> calendar_cache

Log file:

~/.cache/task-dashboard/task-dashboard.log

The 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.

Localization

The shared localization helper is locale.js. It supports:

  • en for English.
  • zh for Chinese.
  • system to 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.

Troubleshooting

If the extension does not load:

  • Confirm the directory name is exactly task-dashboard@misaki.local.
  • Confirm metadata.json uses 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.js exists after Module D integration.
  • Start it from a terminal to see GJS/GTK import errors.
  • Confirm ~/.config/task-dashboard/data.json is 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.log for 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 VEVENT entries for today.

If links do not open:

  • Confirm the item has a valid http:// or https:// 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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors