mrvladus / Errands

Todo application for those who prefer simplicity.
MIT License
319 stars 68 forks source link

Rewrite in C #339

Open mrvladus opened 1 month ago

mrvladus commented 1 month ago

I've decided to rewrite Errands in C. Why? Performance. While writing python code I found myself optimizing things that shouldn't be optimized due to python's pretty slow nature. It's a good language for small or not complicated GTK apps, but for Errands it became a bottleneck. Especially when implementing search functionality. Memory usage and micro-freezes with large amounts of tasks played a big role too. C is much simpler language that has unmatched performance. All of the libraries is written in it. So it's going to be much better choice for this project.

All progress will be on rewrite-in-c branch.

Feel free to ask questions.

With my initial version in C it's showing very promising results:

Main tasks:

Optional tasks:

Progress reports and benchmarks will be here too.

mrvladus commented 1 month ago

New add list dialog using AdwAlertDialog: Снимок экрана от 2024-09-25 11-02-31

And new priority selection dialog that will replace popover: Снимок экрана от 2024-09-25 11-02-59

mrvladus commented 1 month ago

Added search by text, notes and tags

Запись экрана от 2024-10-01 10-03-34.webm

Sesivany commented 1 month ago

Looking forward to the rewrite, hope it's gonna help with the memory consumption.

mrvladus commented 1 month ago

New tags window that replaces menu button. Tags can be created right there instead of separate tags page. Снимок экрана от 2024-10-11 18-21-49 Снимок экрана от 2024-10-11 18-22-34

mrvladus commented 1 month ago

Added attachments window Снимок экрана от 2024-10-12 14-28-37 Снимок экрана от 2024-10-12 14-29-22

mrvladus commented 1 month ago

Task list colors is working now Снимок экрана от 2024-10-14 19-56-06

mrvladus commented 1 month ago

Added task accent color selector Снимок экрана от 2024-10-15 17-16-59

mrvladus commented 1 month ago

Added task tags and progress bar Снимок экрана от 2024-10-16 20-16-37

mrvladus commented 2 weeks ago

Implemented date and time window. Now it's finally possible to make recurrent tasks #90.

Запись экрана от 2024-11-03 17-49-17.webm

mrvladus commented 2 weeks ago

Implemented task list drag and drop reorder #177

Запись экрана от 2024-11-04 13-07-14.webm

antrmn commented 2 weeks ago

Awesome! If the Android backend for GTK is ever going to land, it'll be awesome to have Errands use it for having a consistent task management across mobile and desktop!

mrvladus commented 2 weeks ago

@antrmn I'm looking forward for this too :)

mrvladus commented 1 week ago

Added "Show Completed" toggle.

Запись экрана от 2024-11-09 17-58-56.webm

tzugen commented 6 days ago

omg, amazing ::)) thank you!