Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow an entry with multiple active timestamps to display all of them, not just the first #59

Open
rekahsoft opened this issue Jul 30, 2024 · 3 comments

Comments

@rekahsoft
Copy link

I noticed that if I have a heading with more then one active timestamp, only the first one is displayed. I think that it should instead show all time blocks.

@ichernyshovvv
Copy link
Owner

Hi, @rekahsoft.

This is a message for all the authors of open issues as well. Posting it here
because you are the last one who opened an issue :D

(hello, @yuri-urban, @ParetoOptimalDev, @Gleek, @hey2022, @balaramadurai,
@plattfot, @tebe-nigrelli, @swflint)

I don't want to work on this project now, since I'm thinking about development
of a generic package, timeblock.el, that could be used to display interactive
timeblocks from different sources at once in a single buffer. It might be
iCalendar, howm, some log data(org-clock entries maybe), whatever.

Also, I don't like the way org-timeblock is written now (but it works fine for
most users). Off the top of my head: It uses its own search functions just to
speed up the search, but it does not handle, for example, diary sexp timestamps,
commented timestamps, has some issues with repeated tasks, etc.

A very rough vision of timeblock.el:

  1. Timeblock sources

The new package won't do any searching on its own, it will just allow a user to
configure the list of timeblock sources.

As I imagine it now, a timeblock source is a function that returns a list of
timeblock items to display

Each timeblock item is a plist that have the following properties:

:start - start time

:end - end time [optional]

:setter - a command used to change the timerange of an item. For example, for
orgmode, this would be a function that jumps to this org entry and changes the
SCHEDULED property. Or a function that connects to a sqlite DB and executes some
sql query. Might be anything.

  1. Display backends

The new display function could take an argument that changes the display
backend. Possible options:

  1. SVG

  2. PNG. AFAIK, Android Emacs can't display svg, but can display png, so with png
    backend timeblock.el will work on android as well

  3. ASCII (using grid.el). with this backend, timeblocks could be drawn even on
    the terminal


Have some suggestions? Post it here.

Want to collaborate? DM me on telegram (@ichernyshovvv)

Want to donate to speed up the development? https://liberapay.com/ichernyshovvv

@swflint
Copy link

swflint commented Aug 22, 2024

@ichernyshovvv I look forward to seeing this, and would like to help however I can. My email address should be shown in my GitHub profile.

@rekahsoft
Copy link
Author

@ichernyshovvv sounds great! Also looking forward to seeing this! Eg. would be cool to be able to visualize clock time in the same way I use org-timeblock. lmk how I can help 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants