Configurable amount of rows in the grid for the new Month view, and columns in the Week view
This is part of issue #603, and supersedes issue #1 (closed).
Problem statement
A hardcoded 5-weeks row arrangement for the new month view cannot be expected to fit all situations and all user's workstyles (and similarly, a hardcoded 7-days/columns width for the week view can be similarly problematic). It would be desireable for this to eventually be configurable somehow, because:
- Not all my computer monitors have the same available vertical space real estate (ultrawide, small laptop screens, etc.)
- You might decide to use Calendar on a portrait-oriented vertical screen, at 1080x1920 for example, and then "only" 5 rows becomes not dense enough when you could easily fit 7 to 10 rows...
- Personally, I have so many events per day, that most of the month view's cells trigger the "overflow popover" thing even with the currently hardcoded "5 week rows in the month view" default... and yet in practice most of the time I don't want/care to view more than 3 or 4 week rows at a time. But sometimes when planning across two months, I might switch to 5 to 7+ weeks view... it's very situational.
Possible UX approaches
Here are some potential ways I think this could be made configurable, in terms of UX:
- The height / number of rows (or width / number of columns, in the case of weekview) shown on screen could be adjusted with pinch zoom and ctrl+scroll (like the height of the timetable can currently be adjusted in the existing week view)
- This could also be configurable through a visible GUI element in one or two locations:
- Right-clicking (or long-pressing, on touch devices) the "Month" view (and "Week" view) switcher button in the headerbar would reveal a popover (or menu, or whatever) that would show the widgets to configure this (ex: a spinbutton for the number of desired rows). This is what Fantastical does, I haven't checked other apps to see if they do the same thing.
- In the main menubutton. But I don't know if Georges would be happy with that location. It has the advantage of being much more discoverable than something requiring a right-click/longpress on the view switcher buttons, though.
- As a third way, it could also be possible to adjust by dragging a multi-week range in the sidebar's minicalendar, as shown in this video demonstrating that feature in Evolution's calendar, which also works for the weekview. However this has two caveats:
- it would not make it possible to set a range bigger than 5 weeks (which would be useful for portrait-oriented computer monitors) unless more than one minicalendar month is shown in the sidebar;
- it depends on the presence of the sidebar (which contains the minicalendar), which may not be guaranteed if #1007 ends up removing the sidebar in some screen breakpoints.
Notes:
- A possible replacement for a spinbutton could be to have a submenu with choices, but I don't see the point in restricting the number arbitrarily.
- In the future, the week view (when it eventually becomes "infinite") would need not only configurable number of days (columns) shown, but also configurable number of hours per day (for issue #10), so that one would need two UI settings...
I'd love to have @Teams/Design's thoughts on how to expose and visually present that configurability.
Edited by Jeff Fortin