Unofficial cross-platform Microsoft To Do client

Overview

WIP

Dev

Setup dev env

Compile for dev

Compile for production

Todos (how ironicall to keep them in README xd)

  • Implement task search
  • Implement ability to change task lists order by dragging (and keep the order in config)
  • Implement task groups
  • Ability to work offline
  • Ability to sync using "delta system" (https://learn.microsoft.com/en-us/graph/api/todotasklist-delta)
  • Remove the ugly af native taskbar
  • Implement the settings supported by the official Microsoft To Do app
    • Add new tasks on top (on by default)
    • Move starred tasks on top (on by default)
    • Play completion sound (on by default)
    • Confirm before deleting (on by default)
    • Auto-start To Do on setup (will be pain to implement, already implemented once in KeyXpert, but this app won't need admin permissions, so adding path to registry should by enought)
    • Start of the Week (System default <--- default + every day of the week)
    • App Badge (Turned off ; Added to My Day and not completed ; Due today and overdue)
    • Pin to taskbar (windows only, idk if I want to implement this since nobody uses taskbar, because it's full of ads anyways, like wtf, I looked at it right now and somehow I have instagram, messenger, tiktok, and other dumb shit installed, thanks Microsoft, appriciate it <3)
    • Keyboard shortcuts (the official ones are dumb, I want something more vim-like)
    • Theme
      • Dark
      • Light (show popup shaming user for using light mode xdd)
    • Smart lists (todo: plan normal defaults)
      • Important
      • Planned
      • Completed
      • All
      • Assigned to me (uf, don't know about this one, this will probably require access to Tasks.ReadWriteShared or smthng like that and that's probably behind some kind of "require admin access", which could be a huge blocker for a lot of people, just guessing tho)
    • Auto-hide empty smart lists
    • Show "Due today" tasks in "My Day"
    • Tasks assigned to you in Planner (off by default)
    • Forced sync
    • About section
      • Should look like the Microsoft To Do's, but with info about the project and me, without diagnostics switches! (I thought about including them for fun, without actually making them work, howerver some people probably wouldn't get the joke)
  • Cleanup TODOs inside code
  • Prettify README
    • app screenshots
    • tutorials on how to use
    • dev tutorials
    • how to contribute
    • list of supported features
    • FAQ

Notes

  • Some things are implemented from the ground-up and kept inside a config file. This is 99% of the time, because Microsoft API does not return this information. I could go and reverse engineer how their To Do app works, however not only I don't have the time to do that, but they could just change their (probably internal) API and I would be fucked :). So until they officially implement these things, I'mma roll my own implemention
  • I won't implement the "Recognize dates and times in task titles" unless I'm realllly bored someday. Not only does it suck in the official app, but I doubt that I can implement it better than multi-bilion corp
You might also like...
Build and deploy cross platform bioinformatic utilities with Rust.
Build and deploy cross platform bioinformatic utilities with Rust.

The Bioinformatics Toolkit RUST-backed utilities for bioinformatic data processing. Get started The fastest way to get started it to download the appl

Tagref helps you maintain cross-references in your code.

Tagref helps you maintain cross-references in your code. You can use it to help keep things in sync, document assumptions, manage invariants, etc. Airbnb uses it for their front-end monorepo. You should use it too!

Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc.

cargo-xbuild Cargo-xbuild is a wrapper for cargo build, which cross compiles the sysroot crates core, compiler_builtins, and alloc for custom targets.

Interface definitions for the Compute@Edge platform in witx.

🔗 compute-at-edge-abi This repository contains witx definitions for the Compute@Edge platform ABI. About witx The witx file format is an experimental

Rust no_std, embedded_hal board support package for the Electro-Smith Daisy platform.

Daisy Rust no_std, embedded_hal board support package for the Electro-Smith Daisy platform. This project was forked from antoinevg/daisy_bsp. Supporte

Simple git/hg tui client focused on keyboard shortcuts
Simple git/hg tui client focused on keyboard shortcuts

verco A simple Git/Hg tui client focused on keyboard shortcuts Screenshots Platforms This project uses Cargo and pure Rust stable and works on latest

client-server notification center for dbus desktop notifications

tsuchita A client-server notification center for dbus desktop notifications. Specifically org.freedesktop.Notifications dbus messages. Motivation I ju

This is an implementation defining standard for client-side-validation

Client-side-validation Foundation Libraries This is an implementation defining standard of client-side-validation representing a set of its Foundation

Rust client for AWS Infinidash service.
Rust client for AWS Infinidash service.

AWS Infinidash - Fully featured Rust client Fully featured AWS Infinidash client for Rust applications. You can use the AWS Infinidash client to make

Owner
Tomáš Diblík
(Programming && IT) enthusiast
Tomáš Diblík
An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol

An unofficial and incomplete no_std Rust library for implementing the ElectricUI Binary Protocol

Jon 2 Mar 29, 2022
A cross-platform serial port library in Rust.

Introduction serialport-rs is a general-purpose cross-platform serial port library for Rust. It provides a blocking I/O interface and port enumeration

Bryant Mairs 143 Nov 5, 2021
Cross-platform bookmarks manager for your shell

shellmark: bookmark manager for shell THIS IS AN EARLY ALPHA. It works for me, but requires better UX and more polish. shellmark is a cross-platform b

Artem Pyanykh 25 Nov 10, 2022
Cross-platform Window library in Rust for Tauri. [WIP]

Cross-platform application window creation library in Rust that supports all major platforms like Windows, macOS, Linux, iOS and Android. Built for you, maintained for Tauri.

Tauri 899 Jan 1, 2023
A cross platform tool which instantly notifies about COVID vaccine availability.

?? CoWIN Notifier ?? A cross-platform tool written in rust, which instantly notifies users about COVID-19 vaccine availability at their regions. Curre

Sanskar Jaiswal 20 May 20, 2021
A rewrite of Phonelink for Windows Forms written in Rust, with cross-platform support.

phonelink-rs A rewrite of Phonelink for Windows Forms written in Rust, with cross-platform support. Usage Clone the repository and build, or download

ahsan-a 4 Aug 6, 2022
A cross-platform launcher for Fish Fight 🐠

Fish Fight Launcher A cross-platform launcher for Fish Fight. Features Install and launch (via GUI/CLI) Auto updates Mod management Download See avail

Fish Fight 52 Dec 18, 2022
A cross-platform serial port library in Rust. Provides a blocking I/O interface and port enumeration including USB device information.

Note: This is a fork of the original serialport-rs project on GitLab. Please note there have been some changes to both the supported targets and which

Serialport 128 Jan 4, 2023
A cross-platform launcher for Fish Fight 🐠

Fish Fight Launcher A cross-platform launcher for Fish Fight. Features Install and launch (via GUI/CLI) Auto updates Mod management Download See avail

Fish Fight 26 May 5, 2022
A cross-platform tauri gui where Oblique Strategies meets Pomodoro

Obliqoro Oblique Strategies meets Pomodoro Built in Rust, Vue3, and Typescript, using Tauri, and SQLite Screenshots About Obliqoro is an open source,

Jack Wills 8 Dec 19, 2022