Coder Social home page Coder Social logo

ransome1 / sleek Goto Github PK

View Code? Open in Web Editor NEW
1.2K 1.2K 93.0 58.82 MB

todo.txt manager for Linux, Windows and MacOS, free and open-source (FOSS)

Home Page: https://github.com/ransome1/sleek/wiki

License: MIT License

JavaScript 4.17% SCSS 5.64% TypeScript 88.27% EJS 0.09% PEG.js 1.82%
alarms archiving contexts dark-mode due-date file-watcher filters foss fulltext-search gui linux-app macos-app modern multiple-languages open-source priorities repeating-todos threshold todo-txt windows-app

sleek's People

Contributors

ayiniho avatar carvid avatar dependabot[bot] avatar fusilli avatar gdarcy avatar ivysrono avatar jamlee avatar jdckr avatar keegan-sabo avatar m4he avatar matheusortiz avatar mertmit avatar nutnutwin avatar ransome1 avatar stephprobst avatar thiagoalcav avatar tomasbranda avatar urbalazs avatar weisserd avatar wuzx56 avatar zemua avatar zerodat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sleek's Issues

Feature Request: multiple todo.txt files

I am working with multiple todo.txt files, because I am using that to collaborate other people by syncing it via dropbox.
I would be awesome if switching todo.txt-files would be easier e.g. by having a history of these files.

Thanks a lot for this really nice frontend.

Call for testing 0.9.0

Dear sleek users.

I worked on a major update containing security (context isolation has been implemented and node integration turned off) and performance improvements.

The update implied some bigger changes on the code and I gave it quite some testing. But of course the most valueable insights will derive from actual usage.

I would like to encourage you to use the 0.9.0-Alpha release and provide me with your feedback, if you find anything that doesn't look right.

But please don't expect new features, this is an update to reduce technical depths.

You can download it here: https://github.com/ransome1/sleek/releases/tag/0.9.0-Alpha-2

Please backup your todo files as a general precaution.

Thanks.

Reordering of tasks by drag'n'drop

In the task list, a reordering of tasks should be possible.

They should displayed grouped by:

  • today
  • tomorrow
  • upcoming (grouping all tasks the next two weeks)
  • somedate (here are all without date)

When dropping into "tomorrow", the task gets tomorrow's date (similar for today). When dropping into "somedate", the date is unset. Dropping into "upcoming" the task receives the latest date in that range. If dropped after, it gets the date of that task. If it is dropped as first task, it gets the date of the before-first-task.

Suggestion: Inform the user that changing the language requires a restart

Changing the language quits Sleek instantly. When I did this the first time I thought Sleek had silently crashed. I then assumed that it might just be automatically restarting, because tools oftentimes do this. After a while without anything happening I started Sleek manually again and switched languages back and forth to confirm that this is in fact intended and there is no crash.

Ideas how to improve the user feedback:

A) Add a sentence like "Changing the language requires a restart" to the language setting's description, possibly in bold. Disable automatic quitting.
B) Open an info popup that can be closed by pressing OK that reads something like "You have to restart Sleek for this change to take effect." Disable automatic quitting.
C) Open an info popup that reads something like "Sleek needs to restart to change the language. Restart now?", which can be answered with "Yes" and "No, I'll restart later". Yes would automatically restart, the other option closes the dialogue.

Tasks are not being sorted by due date

The readme lists the following feature: "Todos are sorted by due date within their priorities"

However, this does not seem to actually be the case. As far as I can tell, tasks with due dates are always shown above tasks without them (which is desirable), but beyond that tasks are shown in the order of creation.

Steps to replicate: I currently have 5 tasks with due dates, added in the following order:

Assignment 2 due:2021-01-31 +CS301
CA2 due:2021-01-31 +CS301
Specification document due:2021-02-03 +CS496
Godot project due:2021-02-21 +CS301

At this point, I added several tasks without due dates before adding the task below.

Go through RELS lectures due:2021-02-04 +RELS100

sleek has added the creation date 2021-01-31 to each of these tasks.

Expected behavior: Todos are sorted by due date within their priorities. As there are no priorities, the final added task should be moved up to 4th in the list.
Actual behavior: The list stayed in the current order. Restarting sleek did not change anything.

Error when trying to complete a task

Discovered an error when I tried to use Sleek today!

I opened sleek, chose my inbox context, and started clicking 'done' on some stuff that I'd already completed. They didn't get removed from the task list. I tried clicking on other, same issue.

I noticed (because I have 'completed todos' selected) that at the bottom of the list, there is a completed task, and it's the same one I clicked on. In fact, it changes based on whichever task I'm clicking 'done' on, but it never takes the actual task into 'done' status. (Does that make sense? It's basically copying the task line and putting it at the end of the file.)

I checked by opening the file in my text editor, and I can see a copy of the same task line with the done 'x' on it. And the same behaviour. Click on a different task to complete, reload the file in the text editor, it's whatever task I've tried to process at the end with an 'x'.

Not sure if anyone else has had this yet, or if it's unique to me.

I'm on Ubuntu 20.04. I've just uninstalled and reinstalled the app through snap.

An option to use an existing task as a template

An option named Template could be added to the three-dots context menu. It would result in opening a pre-filled dialog to create a new task, with its content being identical to the original task (due dates, contexts, tags, etc.), but with the original description being replaced by "__________", so that it could be easily double-clicked and overwritten by the user with a new description.

I think such feature can be quite useful, well, at least it is for me. And what do you think about that?

I could even give a try at implementing it and sending a pull request, if you wish so.

due date selection should offer "in one week" etc.

As user, I want to add TODOs quickly. Thus, I also want to choose a due-date quickly. If I want to achieve something in three months or this year, I don't want to choose the exact date (e.g., 2020-12-31). Could the date picker offer following as dropdown?

  • today
  • tomorrow
  • weekend
  • next week
  • in one month
  • this year

todo.txt file does not open in 0.9.0 alpha

Running Sleek on Google Chromebook Crostini. Might be a problem with write permission but I don't know how to determine the cause. This is a new problem to 0.9.0 alpha.

The Sleek todo.txt file does not open when Sleek starts up. The file will not open using the Open "toto.txt" button. I could create a new toto.txt file but then was unable to save an item to that file.

--Bill

Custom recurrence periods (e.g. rec:3d, rec:2w)

The existing recurrence period options are quite handy, but I think that the task recreation system would be much more useful if we could be more specific in regard to the periods. For example, a task could then not only be recurring daily, weekly, monthly or annually, but also every three days, every two weeks, and other combinations of numbers and the existing options.

The recurrence period picker menu could have an extra number spinner (e.g. from 1 up to 99, and default 1) that would act as a multiplier for the options listed there: ... day(s), ... week(s), ... month(s), ... year(s). Do you think that would be confusing, or not?

Also, if you agree with this feature request, I can give a try at implementing it, and then send a pull request.

textarea edit - broke from recent upgrade

Textarea editing - looks like your most recent update broke this feature.
It is not stripping line feeds when saving to a file therefore it creates a todo for every line.
thx
marshall

Start Date Functionality?

Hello, I've tried using start:yyyy-mm-dd but it seems to have no effect. I was hoping the task with a start date would be hidden until that date. Just curious, what functionality is build around the start date?

Thanks.

Dark-mode button does not work on first press

on the very first press after installation, the dark-dark mode button does not do anything.

afterwards it works, it can be reproduced by deleting ~/.config/sleek

this is probably due to this:

  if(switchTheme) {
    switch (theme) {
      case "dark":
        theme = "light";
        break;
      case "light":
        theme = "dark";
        break;
      case "system":
        theme = "light";
        break;
    }

which means: if system is already light, nothing changes. I'm not sure how to fix this bug.

Electron documentation says this:

The usage of this property should align with a classic "dark mode" state machine in your application where the user has three options.

Follow OS --> themeSource = 'system'
Dark Mode --> themeSource = 'dark'
Light Mode --> themeSource = 'light'

Copy paste of items (links and plain text) macOS

Hi - I encountered something which is I think a bug. Pasting of text content is not possible on the Mac Version. When I press CMD+V or try to right click into the field nothing happens. I tested it side by side with other clients on Mac e.g. TodotxtMac where I don't have this issue. Do you know what could be causing this behaviour?
I am using version 0.9.0 on macOS big sur latest update.

Archiving done tasks!

This one is a feature request, something that occurred to me as we were dealing with the problem of completed tasks.

Simpletask Android does this via an 'archive' option, taking all the completed tasks and putting them in a done.txt file in the same local folder.

It would be awesome for Sleek to be able to do this as well! And even better, if it wouldn't overwrite the done.txt that Simpletask creates, so that whatever tasks completed in either don't overwrite the other.

Here's Simpletask's Github: https://github.com/mpcjanssen/simpletask-android

Notification setting toggles on after closing and opening Sleek

The Notification setting does not remain toggled in the off position.

Open Sleek - Notification toggle is on
Turn Notification setting off
Close Sleek
Open Sleek - check setting and Notification toggle is on

Sleek version 0.8.4 on Chromebook Linux Crostini and Chrome OS Version 88.0.4324.99

Renaming and deleting Contexts and Projects

It would be handy being able to rename or delete a Context or Project inside Sleek, which would then be applied to all affected tasks.

This could be implemented by right-clicking the desired item in the Filters menu, which would open a small menu that has an "Edit" option. Clicking this option would open a popup similar to the one for new tasks, where the item's name is already filled in and can be changed.

The menu would have three buttons: Cancel, Rename, Delete.

  • Cancel closes the menu without appying any changes.
  • Rename changes the name, updates all tasks and closes the menu.
  • Delete removes the item from all tasks and closes the menu.

It would be helpful to display the old name on top or as the menu's title while this menu is open. Like "Renaming [current Project name]", so if the user clears the input field he still knows which item he is renaming.

Renaming an item to a name that already exists should be allowed, as this would simply assign the previously existing item to the affected tasks.

Multi-select operations

It would be great to be able to select multiple items and then:
Copy
Add/Remove Tags
Add/Remove Context
Add/Remove/Change up,down Priority
Mark Done/In Progress

I really like the sleek app so far and want to say thank you for your efforts. Great start!

Dark mode is not saved

Hi

I keep setting it to the dark mode (both in the left bar and in the settings) but it keeps going back to the light theme during the next start.

I am using it on Debian Testing, Flatpak, v0.9.0

thanks

Archiving todos gives an error, finished todos are deleted but not saved

Trying to archive todos in 0.9.2 gives me the following error message on Win7 and Linux Mint Cinnamon 20.1:

archive error

All finished todos are erased from the project but not backed up in a done.txt. I tried creating a done.txt manually and out of curiosity also renamed my todo document to todo.txt, but to no avail.

Todo input from "text" to "textarea"

This app has a nice UI and I would like to see the input field be a textarea field to make editing longer than normal items easier. This would improve the usability IMHO and you can circumvent LF with a special character if desired as not to inject them into the text file.

quickly changing priority

It’s really great to have nice, sleek and actively developed todo.txt app!
Thanks for the great work!

The way I have been working with the todo.txt syntax is that I use the priority to stand for the time period in which a task needs to be done: (A) is today, (B) is tomorrow, (C) is this week, and (D) is next week
Because of that I often need to reassign priorities and I would be great if this would be made easier by the app (and I guess it would be useful for many other use cases as well).

It could either happen via simple up/down buttons – just like qtodotxt2 does it – or via a dedicated priority picker button – just like simpletask for android does it. In both cases, it would also be great to be able to change the priority via the keyboard (either up down or by simply typing the desired priority (A, B, C, etc...)

Keep up the great work

0.9.0 tests

Hi,
I did some tests with sleek 0.9.0 alpha on Kubuntu 20.04:

  • Opening file works
  • Creating file works
  • Switching between files works
  • Adding todos works
  • Editing todos works
  • Deleting todos works
  • Checking todos works
  • Viewing checked todos works (strg + h)
  • Filter pane is correct
  • Filtering todos with filter pane works
  • switching dark/light mode works

Issues I've found:

  • When filtering with the search line at the top: After entering one letter the text field looses focus (see video)
  • Can I see the version of sleek somewhere in the program?
simplescreenrecorder-2021-02-08_21.45.59.mp4

Font not available?

I've just installed sleek over snap, als mentioned in the description. The dialog for choosing an existing or creating a new todo.txt looks like this: Error Pic

System: Manjaro

A few comments

Hello,
I am using sleek for a few days now and I like your software really a lot.
Despite its 0.xx version code I'm impressed by the stability and the features it has.
However I have a few remarks but all of them are minor:

  • The shortcut Strg+b (to show/hide filter pane) is missing in the Shortcuts help
    grafik
  • A shortcut to disable the filters is missing
  • Could you shorten the links in the tasks to improve readability
  • It would be nice, if you could add some other schemes to the URI-detection like e.g. file:// which would allow to link files
  • The tabindex could be improved sometimes. E.g. if you are in the filter line a tab doesn't bring you to the task pane
  • Generaly I would like to navigate through the tasks and edit them with my keyboard
  • Could you support hidden tasks (h:1) as other todo.txt apps do?
  • And the best would be, if you could support notes in tasks as the notes add on for todo.txt-cli (https://github.com/mgarrido/todo.txt-cli/tree/note/todo.actions.d) does.

Thanks for your good work and keep on with sleek.

BR
Stefan

Feature request: Option to change sorting order from priority to due date

Currently the sorting order is by priority and inside the priority sorting is by due date. I in contrary prefer sorting by due date and then by priority. So i can see all tasks on one concrete day ordered by priority. It would be nice, if this sorting order could be integrated as an option, too. Maybe with a button to change between both orders.

Switch between todo files

It would be helpful to have the ability register many todo files, each file with global context, and to easily switch between todo files.

Showing filters terms directly

Hello, what a great surprise ! I like very much todo.txt concept but stopped using it as I did not find an interface I liked. Your application is beautiful and very well designed. Thanks a lot. Alarm/Reminder management is very promising.

So the point I don’t like much is the way filters are shown. For the moment, we have to click once to see different filters. I would prefer they were shown directly in main window so we can filter in one click (as tags in CMS).

filter uncategorized

In the filter, an option to make a filter by "no project", "no context", or "no both" would be nice.
Now if a todo is added without project or context, when the list is too long, it is hard to find.

Windows - reload replaced/updated todo.txt

Hi @ransome1,

I am a simple user, not a coder. I discovered your Sleek program for Windows a few days ago. I really like the look and feel of it - nicely done!

I am using SimpleTask (Cloudless) on Android with SyncThing to keep shared files updated between laptop (Windows), phone (Android) and a tablet (Android).

SyncThing replaces the todo.txt file that is currently open by the ToDo applications. This does not seem to be a problem for the Android apps, as they apparently simply reload the todo.txt on the fly or I can use a menu option to refresh the currently open file.

Sleek falls back to its start screen once the open todo.txt is replaced. It does reload the updated file eventually but it took from 30 to 90+ seconds during my tests and a few times it did not reload the todo.txt at all and simply stayed at the start screen.

In case I am not the only one with this issue, can the interval of file update checks be increased? Or a third button be added to the start screen to quickly refresh the most recently open todo.txt?

Thank you.

Feature Request: adaptive filtering of the filter tray

This is similar to an earlier feature request, though that one was limited to just the process of adding new tasks. (For anyone else reading, basically, that function is reducing the possible contexts and projects you can apply reduce as you type. So if you type '[at]1' for example, you'll only see the contexts that still apply based on that criteria. I use numbers for some important contexts, so it's a very useful shorthand for me. I've also got projects that start with some similar wording, so it's handy to filter down to only the ones that apply.)

This is something different though. I'm wondering if what's visible in the filter tray can be reduced according to the filters that apply.

For example, if I select [at]someday, I would love to see only those projects and contexts that apply to any of the tasks that are inside that filter. I've got tags in there like +read +gaming +watch, etc.

So, following that example, let's say I wanted to see what projects have tasks that are currently captured in the [at]someday context... in this new feature request, I'd click the context in the filter tray and/or search for the context in the search bar, and then in the filter tray I'd only see whatever contexts and projects still apply to the current filter. So I'd only see +watch +read, +gaming, instead of everything that is in the file.

In that earlier feature request, I think I said I was okay with just seeing the highlighted contexts in play, but with the amount I have of both contexts and projects, seeing those contexts and projects disappear if they don't match the current filter would be very useful!

Autocomplete or Suggested for existing contexts and projects

Another bit of functionality!

When I create a new task, I'm probably going to assign it to [at]Inbox, and maybe a project if I already know it applies. But because everything is case-sensitive, a typo could lead to problems.

It would be great if either (or both) things could happen:

  • When I start typing an @ or a + it will provide me a list of all the contexts or projects that apply to whatever I've typed after that. (For example, if I had +car and +carpark, it would show me those two, because they fit what I'd already started typing) I could then select the filter option that I want, either by selecting it with mouse or arrow keys, or maybe by tab-completing it, or both? (Selecting is probably easiest)

  • When a new task is being made, or a current one edited, there was a context and project button to use to apply each of them.

The lists for both of these should be sorted alphanumerically, however they appear!

Let me know how that sounds!

Will Sleek run on Mediatek processor?

Can any of the distributions be installed on a device using a Mediatek processor? In this case a Lenovo Chromebook Duet. Excuse my lack of understanding about the various Linux distributions.

Thank you.

Stacking / Multiple Filters

I would love to see the ability to stack multiple filter options. For example: if I've got the @1_inbox context and the +car project, that I could select both and see only those tasks that match both.

It would be great if this stacking filter option extends beyond two, as well. Some tasks may use multiple filter options.

Suggestion: Clear a button's focus when the button is pressed

There are some buttons that become focused when pressed, which results in an outline around the button. This can look odd, especially for on/off toggle buttons.

Locations where this happens and probably shouldn't (you might disagree with some of them):

  • the Show filters button at the top
  • the View menu button
  • the two switches inside the View menu
  • switches in the settings
  • the Toggle dark mode button

2 little issues in 0.9.0

Hi!
When I open the last build, I encountered 2 little issues:

  1. Sleek don't show my tasks until I search for "all" on the search bar;
  2. The "error and event logging" window don't close even after the activation of the related option.

skeek-issues-01
Untitled-1

Left: 0.9.0 build. Right: Microsoft Store's available build

These behaviour occur both when I using .txt or .md extensions for the todo file

I on the Windows 10 Pro 1909.

Filter tray sorting alphanumerically

Sorting filters in the filter tray either by amount of tasks using those contexts/projects, or sorting them alphanumerically. (In the other systems I've used, they sort them alphanumerically, so I've got some 'top level' contexts like [at]1_inbox because then it's the first thing I see on Simpletask Android or on some of the other apps I've used.

text and entries smaller?

I like sleek. Up to now i use QTodoTxt for managing my todo.txt. Compared to QTodoTxT sleek uses a larger font size and much more vertikal space between the entries in a list. Which leads to a worse overview over my (tons of) tasks.
Is there an option to reduce the row-height and the font size?

thanks

Tobias

Inconsistent behaviour: the View menu only closes when clicking certain elements

The View menu in the top right corner only closes when some types of elements are clicked, but stays open for other types. For example it closes when a task is clicked, but stays open when the button for adding new tasks is clicked. On the other hand it also closes when the task adding menu is closed.

This kind of menu feels like it should close immediately when anything else is clicked, even when a background click on a surface like the free space on the left in the filter area is performed.

Change font size (Scaling)

It would be great to be able to set the font size and face.
It would also be nice to be able to change the size with keyboard shortcuts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.