It's that time of year again in (Norther Hemisphere) winter when year's drawing to an end. Which means it's time for the traditional Christmas Maps blogpost.
Sometimes you hear claims about Santa Claus living at the North Pole (though in Rovaniemi, Finland, I bet they would disagree…). Turns out there's a North Pole near Fairbanks, Alaska as well:
😄
OK, enough smalltalk… now on to what's happened since the last update (for the GNOME 49 release in September).
Sidebar Redesign
Our old design when it comes to showing information about places has revolved around the trusted old “popover” menu design which has served us pretty well. But it also had it's drawbacks.
For one it was never a good fit on small screen sizes (such as on phones). Therefore we had our own “home-made” place bar design with a separate dialog opening up when clicking the bar to reveal full details.
After some discussions and thinking about this, I decided to try out a new approach utilizing the MultiLayout component from libadwaita which gives the option to get an adaptive “auxillary view” widget which works as a sidebar on desktop, and a bottom sheet on mobile.
Now the routeplanner and place information views have both been consolidated to both reside in this new widget.
Clicking the route button will now open the sidebar showing the routeplanner, or the bottom sheet depending on the mode.
And clicking a place icon on the map, or selecting a search result will open the place information, also showing in the sidebar, or bottom sheet.
![]() |
| Route planner showing in sidebar in desktop mode |
![]() |
| Routeplanner showing in bottom sheet in mobile/narrow mode |
![]() |
| Routeplanner showing public transit itineraries in bottom sheet |
![]() |
| Showing place information in sidebar in desktop mode |
![]() |
| Showing place information in bottom sheet in mobile mode |
Redesigning Public Transit Itinerary Rendering
The displaying of public transit itineraries has also seen some overhaul.
First I did a bit of redesign of the rows representing journey legs, taking some queues from the Adwaita ExpanderRow style. Improving a bit compared to the old style which had been carried over from GTK 3.
![]() |
| List of journey legs, with the arrow indicating possibilty to expand to reveal more information |
| List of journey legs, with one leg “expanded” to show intermediate stops made by a train |
Improving further on this Jalen Ng contributed a merge request implementing an improvement to the overview list utilizing Adwaita WrapBoxes to show more complete information the different steps of each presented itinerary option in the overview when searching for travel options with public transit.
![]() |
| Showing list of transit itineraries each consisting of multiple journey legs |
Jalen also started a redesign of rendering of itineraries (this merge request is still being worked on).
![]() |
| Redesign of transit itinerary display. Showing each leg as a “track segment“ using the line's color |
Hide Your Location
We also added the option to hide the marker showing your own location. One use for this e.g. if you want to make screenshots without revealing your exact location.
![]() |
| Menu to toggle showing your location marker |
And that's not All…
On top of this some other things. James Westman added support global-state expressions to libshumate's vector tile implementation. This should allow us to e.g. refactor the implementation of light and dark styles and language support in our map style without “recompiling” the stylesheet at runtime.
James also fixed a bug sometimes causing the application to freeze when dragging the window between screens when a route is being displayed.
This fix has been backported to the 49.3 and 48.8 releases which has been tagged today as an early holiday gift.










