This is a new series, coming out every 3 weeks or so, with various updates. My focus will be on the apps I maintain (Calendar, To Do, and Settings), but in the future it may also include other applications that I contribute to.
GNOME Settings: Redesigned Background panel
So let’s start with one of the most intense and well coordinated one: the new Background panel.
I could write at length about it, but I guess the following video expresses what it became much better:
The most proeminent feature is the ability to select new wallpapers. Selected wallpapers are copied to the local data directory, so even if the original image vanishes, the wallpaper will survive. Colors and Drag and Drop were removed. We have plans to improve it even further, but for this week, this is more than satisfactory!
GNOME Calendar: UI refinements, and a search engine
After a somewhat long hiatus, I’m finally back working on Calendar! Working on a codebase that you built yourself is refreshing, and I have various points that would like to address for GNOME 3.34.
Because Calendar was the first application I started with when reorganizing my routine, not a lot managed to be coordinated. Nonetheless, thanks to Sam, we figured a few low hanging fruits that could be fixed in less than a week.
The first thing I worked on was a new search engine for Calendar. The UI side of it is handled by Christian Hergert’s amazing new search button in libdazzle. This is all really about standing on the shoulder of giants.
Better feedback for synchronization, a new “+” button in the headerbar, and reorganization of the menus are other areas that improved.
GNOME To Do: Keyboard Shortcuts in GTK4
GNOME To Do is full GTK4 these days. Which means it’s both a testbed for new GTK4 features, and also a way to give feedback as an app developer for the GTK team. Unfortunately, it also means To Do is blocked on various areas where GTK4 is lacking.
One of these areas is keyboard shortcut.
Last year, Benjamin wrote a major revamp for keyboard shortcuts. As part of this cycle, I decided to rebase and finish it; and also make To Do use the new API. Unfortunately, I failed to achieve what I set myself to.
Turns out, adding a shortcuts engine to GTK4 is more involving and requires way more context than I had when trying to get it up to speed. I failed to predict that one week would have not been enough to finish it all.
However, that does not mean all the efforts were wasted! The rebasing of the shortcuts engine was a non-trivial task successfully completed (see gtk!842), and I also fixed a few bugs while working on it. I also got a working prototype of GNOME To Do with the new APIs, and confirmed that it’s well suited — at least for a simpler application such as To Do.
In retrospect, I believe I should have been more realistic (and perhaps slightly pessimistic) about the length and requirements of this task.
After doing a retrospective today, we agreed on what will be part of the next cycle of work:
- GNOME Calendar will see its calendar management dialog revamped;
- GNOME To Do will receive support for archiving task lists;
- GNOME Settings will go through a session of “Every Detail Matters” (with a list of minor annoyances yet to be filled)
Unless the plan changes, I’ll focus my efforts on getting those points fixed during the next three weeks.
Ever since I started contributing to GNOME, the projects I got involved and responsibilities I acquired grew substantially. I now maintain 3 different projects, and am involved with another 3 (Music, Mutter, and Shell.) On top of that, I have my own set of tasks for Endless that usually are not related to any of these projects.
It is quite a lot.
It happens that changing contexts is a difficult task. There is extensive research showing that we humans are limited when it comes to how many different projects we can handle. The more projects there are, the worse the performance is. Having to take care of such many projects myself means my productivity was grinding to a halt. And not being productive makes even the happiest of us sad.
After reaching a low and wanting to abbandon those projects, thanks mostly to the support of my Endless colleagues, I was fortunately able to recover with enough energy to find alternative solutions to the problem of having too much to do.
I take Japanese classes on Saturday. My Saturday routine is essentially:
- Start the day early, warm up the Japanese with some homework
- Go to the class
- After class, go to a nearby shopping mall’s bookstore and code/read/buy books
During that same week, after the class, one of the highlighted books was:
At the time, that sounded suspiciously interesting.
While reading, I decided to start incorporating some aspects of the proposed workflow into my daily routines — which includes my GNOME contributions. The work presented here was done as my initial experiment.