Skip to content

week view #251

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

Closed
geier opened this issue Aug 20, 2015 · 15 comments
Closed

week view #251

geier opened this issue Aug 20, 2015 · 15 comments

Comments

@geier
Copy link
Member

geier commented Aug 20, 2015

provide a week view for ikhal or khal

see #65 (comment) and #148 (comment)

pull requests are very welcome

@mathstuf
Copy link
Contributor

Might I suggest a "help-wanted" label for issues like this?

@geier
Copy link
Member Author

geier commented Sep 1, 2015

Thanks for that suggestion.

@libre-man
Copy link

How would you imagine a week view for khal? Similar to khal agenda/caledar --days 7 but for monday to sunday or something different?

@protist
Copy link

protist commented Oct 14, 2015

@libre-man There is a screenshot here. I imagine tiling the screenshot's daily pane across horizontally seven times. The key for me is to have proportional times (unlike the agenda view), as per the other thread. Monday to Sunday makes most sense to me, but I think some people consider a "week" to be Sunday to Saturday, so perhaps a config is necessary.

@libre-man
Copy link

@protist Ok I got a clear picture of it now. Proportional times would be nice to
have in more functions than just a weekview. The agenda function would benefit
from it too. So it could be an idea to make a function that parses events lists
and it could be used in the get_agenda function in controllers.py.
An other idea is to make a new function all together that implements the
proportional time and make --week a flag. However this would mean duplicate code
or a bit of reshuffling of code. But I think this wouldn't be such a bad thing
as the get_agenda function has gotten quite long.

I'll try somethings soon to find out what is the easiest way.

On Wed, Oct 14, 2015 at 03:21:35PM -0700, protist wrote:

@libre-man There is a screenshot here. I imagine tiling the screenshot's daily pane across horizontally seven times. The key for me is to have proportional times (unlike the agenda view), as per the other thread. Monday to Sunday makes most sense to me, but I think some people consider a "week" to be Sunday to Saturday, so perhaps a config is necessary.


Reply to this email directly or view it on GitHub:
#251 (comment)

@protist
Copy link

protist commented Oct 15, 2015

@libre-man Great! Sounds good. Looking at it again, the screenshot was quite wide. i.e. on a 1920 x 1080 pixel screen, you could probably only fit ~4 days across. My Android calendar (Business Calendar 2) has the additional option of only displaying a user-specified number of days across, instead of a full seven. I'm unsure if this is something that is useful, and/or would fit in better with your second suggestion.

To fit in a full week, each day would have to be narrower, but then you might run out of room for event text. Hence, you could have multiple rows for each hour, and display only a fixed set of hours. In fact, looking at the wyrd screenshot again, I've just noticed that it is arranged as a continuum rather than a whole day, i.e. 23:59 on Monday immediately leads into 0:00 on Tuesday. This is not good IMO. Instead, I think it's best to do what Thunderbird Lightning and Korganiser do, i.e. show a user-specified fixed number of hours (e.g. 16), defaulting to a user-specified range (e.g. 8:00–24:00), but also allow vertical scrolling, up to the limits of 0:00 and 23:59. The presence of any events outside the displayed range could be indicated with a small icon on that edge.

FWIW on my monitor (1920 x 1080), I have 50–60 rows of text, so something like 3 rows per hour would work.

@geier
Copy link
Member Author

geier commented Oct 15, 2015

@libre-man I'd love to see a PR on this, do not hesitate to restructure the code, also if in doubt, send a PR early, so we can discuss the details

@libre-man
Copy link

Ok I will work on this. I think it would be nice to have a way to specify if the days should be vertically aligned or horizontally, maybe using user input or dynamically based on the screen and the amount of events. I have busy week coming up, so I think I should have a working example in about two or three weeks.

@protist
Copy link

protist commented Oct 16, 2015

@libre-man Huh… the horizontal alignment sounds really interesting. I haven't seen that in a calendar before, but it may work really well for a text/console-based calendar. Good luck and thanks for working on this!

@libre-man
Copy link

I've been working on this a bit and I don't know what format is preferred the wyrd style or more Google Calendar type of style. With wyrd being a large block for the first event with chunks out of it for later events. And Google style with a separate bar for each event and this bar shifts to the right (or the left) if there is an event that start earlier and is still running.

I think the Google style is more logical because each event has an own bar because it is its own entity and has nothing to logically with the other events. However it is not space efficient and with more than three events at the same time wrapping in those small columns could become a real problem. What is your opinion?

@mathstuf
Copy link
Contributor

I like wyrd's interface more; certainly for multi-user calendars, but also for single-user calendars. There's no reason a "vacation" or "out of office" entry on my work calendar should halve the space available in my personal calendar for the details of the time slot (an indentation as wyrd uses is much better).

And even on the web, the squeezing of events makes them unreadable (and with enough shown, effectively unclickable too), especially when showing calendars of 3+ people who overlap significantly. It'd be nice if they merged the same event which multiple people were all attending into one block, but Google has probably blacklisted the "crazy" ideas I keep sending them (like an NNTP gateway for Groups).

@geier
Copy link
Member Author

geier commented Oct 18, 2015

I'm good with whatever you think is best if you want to implement it...

Quoting libre-man (2015-10-18 20:40:48)

I've been working on this a bit and I don't know what format is preferred the wyrd style or more Google Calendar type of style. With wyrd being a large block for the first event with chunks out of it for later events. And Google style with a separate bar for each event and this bar shifts to the right (or the left) if there is an event that start earlier and is still running.

I think the Google style is more logical because each event has an own bar because it is its own entity and has nothing to logically with the other events. However it is not space efficient and with more than three events at the same time wrapping in those small columns could become a real problem. What is your opinion?


Reply to this email directly or view it on GitHub:
#251 (comment)

@protist
Copy link

protist commented Oct 18, 2015

I agree with all you say, @libre-man. From screenshots, Google calendar seems to partially overlap events, often hiding text behind other events, whereas Thunderbird Lightning totally separates events horizontally. I like the cleanliness of the latter, but I suspect that in a console setting space would be more important, and perhaps the wyrd version would be more appropriate, as @mathstuf suggests.

@ghost
Copy link

ghost commented Jan 11, 2016

I added a pull request that at least provides a week view for calendar/agenda (like --days 7, but always starting on monday).

@geier
Copy link
Member Author

geier commented Jul 12, 2016

see #266 for the ikhal part

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

No branches or pull requests

4 participants