Git Product home page Git Product logo

Comments (8)

vonshednob avatar vonshednob commented on September 22, 2024

Hi there! Glad you like pter so far!

Grouping is already something that you can accomplish by using the sort: directive in the search bar; in your case it would be sort:priority (and maybe sort:priority,due_in if the secondary sorting should take the due date into consideration).

The full search bar content can then, as usual, be saved as a named search, so it can be very easily loaded; even right from the start of pter with pter -l "tasks by priority" todo.txt (if you named your search "tasks by priority").

Check out the documentation (on github or actually up to date here) for more details.

Now, given this functionality, do you still want to have group headers per priority?

I like the idea of having a kanban-like view on a (or multiple) todo.txt files; but I'm afraid it's a bit out of scope for pter. Maybe a new tool for that type of display of the same content? What do you think?

Edit: whoops forgot to give direct links to named search and sorting.

from pter.

gal064 avatar gal064 commented on September 22, 2024

Hi,
First, I love pter and I think it's a really great tool!

For grouping, sorting is nice but I think visual separation and clear headlines for each group can really help skim the info.

With that said I found a way to achieve this. I simply created a terminal session split to three panes, and on each I ran pter with different filters

On a separate note, I'm planning to fork pter and add some minor functionality to satisfy my day-to-day use. For example:

  • Create a markdown note connected to a task so you can capture more details about the task.
  • Ability to hide certain attributes from display or display them in order (essentially extending Task Format to include id and other attributes)
  • Ability to sort the todo.txt file itself (needed to work on the file from mobile and have it sorted), move completed tasks to done.txt, etc
  • Ability to sync todo.txt file to git
  • Keyboard shortcuts to edit due date (delete, postpone, etc)

I will not add everything at once. I'll use pter as-is, and modify as I go if needed. I suspect that a lot I can achieve with a shell script modifying the todo.txt directly upon file save.

But if I do make changes to pter itself, I'll make sure to create a PR and leave the choice to you if you'd like to merge it, or prefer to keep the functionality scoped.

It might be an interesting idea to create a minimal plugin API. For example, it can give you an option to specify a function to be run on certain events (e.g. on file save). This function will receive the list of tasks and selected task, modify and return the tasks back.

from pter.

gal064 avatar gal064 commented on September 22, 2024

@vonshednob Also another question:
What are the rules for when pter re-reads the todo.txt file? As I said, I'd like to extend the functionality with shell scripts that read the todo.txt and modify it.

Can this clash with pter? or does pter reads the file on every change?

from pter.

vonshednob avatar vonshednob commented on September 22, 2024

Pter will reload the content if the file has changed on disk (and re-apply filters; the latter will also happen at the local midnight).

Conflict resolution (which is a bit of a euphemism in this context) happens at each individual line of the todo.txt file in question; conflicts will only occur if you edit a task(!) that is being modified outside of pter at the same time.

So in general you can happily modify the todo.txt file that pter is working with outside of pter. There should be no conflict (and I'm happy to fix problems if you find and report any!) :)

from pter.

vonshednob avatar vonshednob commented on September 22, 2024

Completely missed to respond to your earlier message, sorry: by all means, you are most welcome to fork a more feature-rich version!

If/when I find the time I'll try to refactor it a bit more and/or add information about the structure of pter's code. It's really not great at the moment, I'm afraid. It grew over a long time, was writte by a single developer and it shows 😬

Please feel free to contact me for any questions about the code and purpose of some of the parts!

Of course, PRs are welcome, too though 😁

from pter.

gal064 avatar gal064 commented on September 22, 2024

Great! I get your point about code but in general I think it was well structured and straight forward.

I'll close this ticket. One last request is that I believe the GitHub repository is behind the latest version (3.2.0 vs 3.3.1). I can take the code from pip so no problem but you might want to push the new version

from pter.

vonshednob avatar vonshednob commented on September 22, 2024

Very kind of you to pretend the code is well structured 😅

Unfortunately I started with this project on github and it's really hard to leave a fenced garden; right now I'm trying to slowly pull out of github and the first step was to no longer push updated to this project here.

I'm contemplating using codeberg as the publicly available repository and bug tracker, but haven't uploaded there yet.

from pter.

vonshednob avatar vonshednob commented on September 22, 2024

@gal064 alright, the current version 3.3.1 is on codeberg

from pter.

Related Issues (20)

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.