Do is a rewrite of Gnome To Do in Rust.

Overview

Do is a rewrite of Gnome To Do in Rust using gtk-rs and Relm4, we aim to improve on the existing set of features provided by To Do to provide the ultimate to-do experience.

Build

To initialize the database you will need diesel_cli, install it with:

cargo install diesel_cli --no-default-features --features "sqlite"

After you install it, run diesel migration run to initialize the database.

To do

Accounts

  • Allow multiple providers (Google, Microsoft To Do, Microsoft Exchange, Todoist, Nextcloud)

Lists

  • Show lists
  • Add a new list
  • Delete an existing list
  • Rename an existing list

Tasks

  • Add a new task
  • Show tasks for every list
  • Mark a task as completed
  • Delete a task
  • Rename a task
  • Add steps
  • Add to My Day
  • Mark as Favorite
  • Add notes

Reminders

  • Set a reminder
  • Set a due date
  • Set recurrence for a task

Dependencies to build

  • gtk4
  • libadwaita
  • pkg-config
Comments
  • Add es_ES.po

    Add es_ES.po

    I have added Spanish (Spain) because when you use GNOME, the app is shown in English because I don't have Spanish (Mexico) configured as my main language. I attached a screenshot where can be seen.

    Captura desde 2022-07-28 16-24-02

    opened by IngrownMink4 5
  • Tasks do not actually delete

    Tasks do not actually delete

    Steps to reproduce

    1. Create few tasks
    2. Click delete on these tasks, they will disapear
    3. Change view to some other list
    4. Change view back to previous and tasks are still present
    opened by adamijak 3
  • Error compiling `File storage/database.rs does not exist.`

    Error compiling `File storage/database.rs does not exist.`

    Describe the bug When I try to run: meson . _build --prefix=/usr I get the following error:

    src/meson.build:11:0: ERROR: File storage/database.rs does not exist.

    It also happens when I click build on Gnome Builder

    I'm on main git hash: a521f76f729b6428cd6096165be6add9fd05d8b1

    opened by igorgue 2
  • How to build and run in development

    How to build and run in development

    I realized that the readme lacks instructions on how to compile/run the application from the repo. I tried simply running cargo run but the app failed at runtime with some file not found error.

    The second time I tried cargo run it failed with:

    Error: Failed with: no such table: __diesel_schema_migrations

    opened by categulario 2
  • use paths instead of strings

    use paths instead of strings

    I was reading config.rs and realized that a more idiomatic way of reading paths existed for that piece of code.

    I also realized that .env was in the tracking directory even though it was in .gitignore strangely enough

    Last but not least, there was a point where context was adding instead of unwrapping an option, but that same option is unwrapped somewhere else in the code. Furthermore the context added is the empty string, so I simplified the code by switching to unwrap.

    A warning was also solved (unused import)

    opened by categulario 2
  • GNU GPLv3 => MPLv2

    GNU GPLv3 => MPLv2

    This pull request changes the name of the license used across the software, to match the latest commit (https://github.com/edfloreshz/done/commit/e0884fb17e43080b592378825c1bc24636862908).

    opened by IngrownMink4 1
  • Fix app icon

    Fix app icon

    it's me again ๐Ÿ˜…

    just noticed that I forgot to change the gradient on the bottom to match the icon radius, now it looks better, also removed useless stuff from dev.edfloreshz.Done.Source.svg

    opened by daudix-UFO 1
  • Option to delete created lists

    Option to delete created lists

    Describe the bug You can't delete a list

    To Reproduce Steps to reproduce the behavior:

    1. Right Click on the list that you want to delete
    2. Nothing happens

    Expected behavior Should display a small menu that gives the option to delete and rewrite a list created by the user.

    Desktop (please complete the following information):

    • OS: Manjaro GNOME
    enhancement help wanted good first issue 
    opened by IngrownMink4 1
  • only call dirs if necessary and join as path

    only call dirs if necessary and join as path

    the dirs variable is only used in one of the two branches of the match. This can better be expressed by unwrap_or_else. Also use the .join() function of the path instead of joining as strings.

    opened by categulario 1
  • Release v0.1.2

    Release v0.1.2

    Release v0.1.2

    image

    New features

    • Task lists are now grouped by task provider.
    • You can now edit the icon and title for every list.
    • It is now possible to delete lists.
    • You can expand task providers to reveal all the task lists. image
    • Adding lists is now easier, every list provider has an add list button. image
    • Content's header bar title updates with the selected list's name. Screenshot_20220822_110300
    • Added warning message Screenshot_20220822_120409

    Closes #19

    opened by edfloreshz 0
  • v0.1.2

    v0.1.2

    Release v0.1.2

    image

    New features

    • Task lists are now grouped by task provider.
    • You can now edit the icon and title for every list.
    • It is now possible to delete lists.
    • You can expand task providers to reveal all the task lists. image
    • Adding lists is now easier, every list provider has an add list button. image
    • Content's header bar title updates with the selected list's name. Screenshot_20220822_110300

    Closes #19

    enhancement 
    opened by edfloreshz 0
  • An easy way to back up my local tasks and import back into Done on a fresh Linux install

    An easy way to back up my local tasks and import back into Done on a fresh Linux install

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    help wanted good first issue hacktoberfest 
    opened by tomhoughton 1
  • A satisfying sound on task completion would be a nice addition.

    A satisfying sound on task completion would be a nice addition.

    The WIndows To-Do app has a really satisfying sound when you mark a task as completed. Because of that people are more inclined to complete a task because of the sweet sweet dopamine of that sound.

    Currently the uncomfortable silence of this app just does not do it for me.

    help wanted good first issue hacktoberfest 
    opened by sixunity 2
  • Use tasks provided by Evolution

    Use tasks provided by Evolution

    Is your feature request related to a problem? Please describe. Evolution provides tasks, calendars and contacts for applications. These can be both local and remote. I am unable to see, edit or delete tasks listed in Evolution in Done.

    Describe the solution you'd like I would like to see, edit and delete tasks as provided by Evolution in Done.

    Describe alternatives you've considered Done could use its own backend-services to speak with e.g. Nextcloud or tasks.org, but this seems redundant given Evolution already provides these services.

    Additional context โ€“

    enhancement help wanted good first issue 
    opened by DominiqueSite 3
  • AppImage support

    AppImage support

    Would be nice to have this as "AppImages" release. AppImage is a community project & supports almost all linux distributions without the need for a centralized store.

    Thanks๐Ÿ™๐Ÿฟ

    enhancement help wanted good first issue hacktoberfest 
    opened by shuvashish76 1
  • Save tasks in the tasks.org way

    Save tasks in the tasks.org way

    Hello! I think it would be great to save the tasks in the same json format as tasks.org does. Here is the link to their github repository: https://github.com/tasks/tasks.

    enhancement help wanted good first issue 
    opened by CodeCubeNeo 1
Releases(v0.1.2)
  • v0.1.2(Aug 22, 2022)

    What's Changed

    • Do not add tasks with empty title by @adamijak in https://github.com/edfloreshz/done/pull/8
    • Fixed meson.build by @edfloreshz in https://github.com/edfloreshz/done/pull/14
    • Create it.po by @albanobattistella in https://github.com/edfloreshz/done/pull/18
    • Update LINGUAS by @albanobattistella in https://github.com/edfloreshz/done/pull/17
    • Italian translation by @albanobattistella in https://github.com/edfloreshz/done/pull/16
    • Update es_MX.po by @IngrownMink4 in https://github.com/edfloreshz/done/pull/21
    • Add es_ES.po by @IngrownMink4 in https://github.com/edfloreshz/done/pull/20
    • Adds done.ftl with es-ES strings by @IngrownMink4 in https://github.com/edfloreshz/done/pull/22
    • Update README.md by @IngrownMink4 in https://github.com/edfloreshz/done/pull/23
    • German translation by @edfloreshz in https://github.com/edfloreshz/done/pull/24
    • v0.1.2 by @edfloreshz in https://github.com/edfloreshz/done/pull/25
    • Revert "v0.1.2" by @edfloreshz in https://github.com/edfloreshz/done/pull/26
    • Release v0.1.2 by @edfloreshz in https://github.com/edfloreshz/done/pull/27

    New Contributors

    • @adamijak made their first contribution in https://github.com/edfloreshz/done/pull/8
    • @albanobattistella made their first contribution in https://github.com/edfloreshz/done/pull/18
    • @IngrownMink4 made their first contribution in https://github.com/edfloreshz/done/pull/21

    Full Changelog: https://github.com/edfloreshz/done/compare/v0.1.0-alpha...v0.1.2

    Source code(tar.gz)
    Source code(zip)
    done-0.1.2.tar.xz(23.39 MB)
    done-0.1.2.tar.xz.sha256sum(84 bytes)
  • v0.1.1(Jul 27, 2022)

    What's Changed

    • Do not add tasks with empty title by @adamijak in https://github.com/edfloreshz/done/pull/8
    • Fixed meson.build by @edfloreshz in https://github.com/edfloreshz/done/pull/14
    • v0.1.1 by @edfloreshz in https://github.com/edfloreshz/done/pull/15

    New Contributors

    • @adamijak made their first contribution in https://github.com/edfloreshz/done/pull/8
    • @edfloreshz made their first contribution in https://github.com/edfloreshz/done/pull/14

    Full Changelog: https://github.com/edfloreshz/done/compare/v0.1.0-alpha...v0.1.1

    Source code(tar.gz)
    Source code(zip)
    done-0.1.1.tar.xz(16.11 MB)
    done-0.1.1.tar.xz.sha256sum(84 bytes)
    x86_64-windows-done.zip(17.40 MB)
  • v0.1.0-alpha(May 7, 2022)

Owner
Eduardo Flores
Very enthusiastic software engineer passionate about Rust, OSS and Linux.
Eduardo Flores
Better GNOME Desktop Experience

Better GNOME Desktop Experience Tired of having the best feeling DE with the worst defaults? This app is for you. Transform the default GNOME look to:

Dimitar Dimitrov 3 May 10, 2022
Alerion is a cross-platform Rust rewrite of Pterodactyl Wings

alerion ?? A complete rewrite of pterodactyl wings. Caution Here be dragons. This project is still a huge work in progress and is not ready for produc

Pyro 5 Apr 15, 2024
A simple, cross-platform GUI automation module for Rust.

AutoPilot AutoPilot is a Rust port of the Python C extension AutoPy, a simple, cross-platform GUI automation library for Python. For more information,

null 271 Dec 27, 2022
A data-first Rust-native UI design toolkit.

Druid A data-first Rust-native UI toolkit. Druid is an experimental Rust-native UI toolkit. Its main goal is to offer a polished user experience. Ther

null 8.2k Dec 31, 2022
The Rust UI-Toolkit.

The Orbital Widget Toolkit is a cross-platform (G)UI toolkit for building scalable user interfaces with the programming language Rust. It's based on t

Redox OS 3.7k Jan 1, 2023
An easy-to-use, 2D GUI library written entirely in Rust.

Conrod An easy-to-use, 2D GUI library written entirely in Rust. Guide What is Conrod? A Brief Summary Screenshots and Videos Feature Overview Availabl

PistonDevelopers 3.3k Jan 1, 2023
Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS

core-foundation-rs Compatibility Targets macOS 10.7 by default. To enable features added in macOS 10.8, set Cargo feature mac_os_10_8_features. To hav

Servo 685 Jan 2, 2023
Rust bindings for the FLTK GUI library.

fltk-rs Rust bindings for the FLTK Graphical User Interface library. The FLTK crate is a crossplatform lightweight gui library which can be statically

Mohammed Alyousef 1.1k Jan 9, 2023
Build beautiful desktop apps with flutter and rust. ๐ŸŒ  (wip)

flutter-rs Build flutter desktop app in dart & rust. Get Started Install requirements Rust flutter sdk Develop install the cargo flutter command cargo

null 2k Dec 26, 2022
Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

Relm Asynchronous, GTK+-based, GUI library, inspired by Elm, written in Rust. This library is in beta stage: it has not been thoroughly tested and its

null 2.2k Dec 31, 2022
Rust bindings for Dear ImGui

imgui-rs: Rust bindings for Dear ImGui (Recently under new maintenance, things subject to change) Window::new(im_str!("Hello world")) .size([300.0

null 2k Jan 7, 2023
Clear Coat is a Rust wrapper for the IUP GUI library.

Clear Coat Clear Coat is a Rust wrapper for the IUP GUI library. IUP uses native controls and has Windows and GTK backends. A macOS backend has been o

Jordan Miner 18 Feb 13, 2021
Rust binding for IUP

IUP Rust This library provides a high level wrapper around IUP, a multi-platform toolkit for building graphical user interfaces. See rust-iup-sys for

David Campbell 41 May 28, 2022
A simple UI framework for Rust built on top of IUP (http://webserver2.tecgraf.puc-rio.br/iup/)

KISS-UI A UI framework for Rust based on the KISS (Keep It Simple, Stupid!) philosophy. Powered by the IUP GUI library for C by Tecgraf, via the bindi

null 342 Jul 11, 2022
Rust bindings to the minimalist, native, cross-platform UI toolkit `libui`

Improved User Interface A cross-platform UI toolkit for Rust based on libui iui: ui-sys: iui is a simple (about 4 kLOC of Rust), small (about 800kb, i

Rust Native UI Group 865 Dec 27, 2022
Integrate Qml and Rust by building the QMetaObject at compile time.

QMetaObject crate for Rust The qmetaobject crate is a crate which is used to expose rust object to Qt and QML. Objectives Rust procedural macro (custo

Woboq GmbH 495 Jan 3, 2023
QtQuick interface for Rust

qmlrs - QtQuick bindings for Rust qmlrs allows the use of QML/QtQuick code from Rust, specifically Rust code can create a QtQuick engine (QQmlApplicat

Mikko Perttunen 432 Nov 24, 2022
Qt5 binding for rust language. (stalled)

Qt5 binding for Rust language. qt.rs This project provides bindings that allow the QT Gui toolkit to be used from the Rust Programming language. Compi

yatsen1 37 Oct 12, 2021
QML (Qt Quick) bindings for Rust language

QML-rust - bindings for Qt Quick Bindings are based on DOtherSide C bindings for QML Library is mostly feature-compliant with other bindings based on

Oak 204 Dec 8, 2022