New Background panel, Calendar search engine, GTK4 shortcut engine (Sprint 1)

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 redesigned panel in action

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!

This work was only possible due to the design team, and in specific Allan Day and Sam Hewitt, actively engaging and giving real-time feedback.

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.

What’s next?

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.

Sprint?

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.

The Coincidence

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:

In Portuguese: “Scrum: The Art of Doing Twice the Work in Half the Time” by Jeff Sutherland & J. J. Sutherland

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.

8 thoughts on “New Background panel, Calendar search engine, GTK4 shortcut engine (Sprint 1)

  1. Thanks for the amazing work you do.
    Maybe a remove button instead of the delete one on wallpaper GUI could be more intuitive.
    Also, do you think you’ll share with us some thoughts and technique of the book?

    Like

  2. I stopped reading after I have seen that you have FIXED wallpaper selection for all of us – the add button is welcome back 🙂

    Thank you!

    Like

  3. In my opinion popover of background panel should use model buttons instead plain buttons to be consistent with rest of settings app.

    Like

  4. Backgrounds panel: do not remove Colors please. I never use a picture as my background, because a) I never see/watch my background and when I do it is only for a fraction of a second, and b) setting a picture is too much distraction anyway and I prefer a plain uniform color

    I am afraid the ‘Add picture’ button is not easily discoverable at first. It does not seem to be the right place for it to be.

    How about keeping the hint to identify the regular background and the lockscreen background? The realistic rendering of the two is a nice addition but the hint might help.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s