A lightweight desktop widget that displays your daily schedule and tasks directly on your desktop background. Stay organized without switching between apps by keeping your Google Calendar events and Todoist tasks always visible.
- Google Calendar and Todoist Integration: See today's events from Google Calendar and today's tasks from Todoist.
- Auto-Refresh: Configure refresh intervals to keep your data up-to-date.
- Windows 10 or later
- .NET Framework 4.7.2 or higher
- Google Calendar account
- Todoist account
- Go to the Releases page.
- Download the latest
AgendaDashboard.exe. - Run the executable - no installation required!
-
Clone the repository:
git clone https://github.com/armnrd/agenda-dashboard.git cd agenda-dashboard -
Open the solution in Visual Studio 2019 or later.
-
Restore NuGet packages and build the solution.
-
Google Calendar API Setup:
- Go to the Google Cloud Console.
- Create a new project or select an existing one.
- Enable the Google Calendar API.
- Create credentials (OAuth 2.0 Client ID).
- Download the credentials JSON file and save it as
credentials_gcal.jsonin the same directory as the executable.
-
Todoist API Setup:
- Go to Todoist App Management.
- Create a new app to get your API token.
- Copy your API token and save it in a file named
credentials_todoist.jsonin the same directory as the executable. It should look like this:
{ "api_token": "your_todoist_api_token_here" } -
Application Configuration
The application uses a settings.yaml file for configuration.
{
"theme": "light",
"position": {
"x": 20,
"y": 20
},
"todoist": {
"refresh-interval": 60
},
"google-calendar": {
"refresh-interval": 300,
"ignored-ids": [
"calendar-id-1@group.calendar.google.com",
"calendar-id-2@import.calendar.google.com"
]
}
}- theme: widget theme (
"light"or"dark") - position: widget placement on desktop
- x: horizontal position in pixels from left edge
- y: vertical position in pixels from top edge
- todoist: Todoist-specific settings
- refresh-interval: how often to fetch tasks (in seconds)
- google-calendar: Google Calendar-specific settings
- refresh-interval: how often to fetch events (in seconds)
- ignored-ids: array of calendar IDs to exclude from display
To find calendar IDs for the ignored-ids array:
- Go to Google Calendar.
- Click the three dots next to a calendar name.
- Select "Settings and sharing".
- Scroll down to find the "Calendar ID" section.
Once configured, the widget will:
- display today's calendar events with times,
- show today's Todoist tasks with priority indicators,
- automatically refresh based on your configured interval, and
- always remain visible on your desktop background.
This application uses:
- Google Calendar API v3: for fetching calendar events
- Todoist REST API v2: for retrieving tasks and projects
All API calls are made with proper authentication and respect rate limits.
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ If you find this project useful, please consider giving it a star!
