1. Happenings on day 2
The morning was mostly filled with misc. hacking. Matthias continued to work on a content portal patch for evince, but ran into some difficulties that will need further gvfs hacking
Christian, Alex and Matthias discussed how to make GTK+ applications react to output characteristic changes ("responsive layout", if you want) The use cases we have in mind here are:
- portrait vs landscape
- widescreen vs normal
- small vs large screen
- tiled vs maximized
After comparing the APIs that Android has in this space, we came up with a few ideas:
Add a property on GtkWindow (and GdkScreen/monitor ?) that contains this information in some coarse form (ie not exact dimensions, but just "large" or "small". Having this as a property rather than just a convenience function that returns the classification, given a width and height is that we get change notification. The property should also be user-overridable (for debugging and development)
- Add a few smart containers:
- A box that determines its orientation depending on aspect ratio of the screen
- A paned for a sidebar that turns into an overlay if space is scarce
- A grid that can flexibly reattach certain children depending on size
In the afternoon, Jasper was leading a mutter session where various grievances around shadows, workspace, focus handling and tiling were aired.
We had a roadmapping session around xdg-app where we discussed topics
- Deployment / Repositories
- Trust (not important initially for endless)
- Discovery (not important initially for endless)
- Metadata
- endless current metadata: version, os-version, installed-size, languages
- gnome-software metadata: appstream, icons, screenshots
- Build issues
- buildtime dependencies need to be stripped out before exporting
- helper tools for package-buased builds (like custom rpm config)
- generate static deltas
- multiple architectures
- explore using the same ostree repo for host, runtimes and apps
Before we broke for dinner and bowling, Cosimo and Matt showed a list of Endless GTK+ wishlist items and bugs, including
- @media support for making css adapt to screen sizes
Zoom support in GtkImage (may be covered by GtkImageView
- Better support for controlling sizes of widgets that can grow but should be aligned to other UI (eg ellipsizing labels)
- Support for css text-transform
- Support for css line-height
- Support for css margins