It’s been almost two weeks since my last post. In this post, I will be mentioning all the progress done in these two weeks. First of all, the searching part is now moved from the front end part to the actual back end of GNOME Logs which is the sd-journal API. So, now when the user types text into the search bar, the results are actually fetched from the journal itself. Progress on the project can be checked out on my Github repository. I would like to thank my mentor David King a.k.a amigadave for reviewing my commits and guiding me in the right direction.
GNOME Logs got a new search popover. I have implemented the GUI bits of the search popover for GNOME Logs.We decided to use a complete popover design as it feels modern and didn’t want the user to open any dialog. So, all the actions that the user can do will be contained within the popover itself. The popover design is inspired by the Nautilus search popover with much of design and code reused from it. It is coded by Georges Stavracas a.k.a feaneron and designed by Allan Day a.k.a aday. I would like to thank both of them because due to their work, I was able to implement the search popover much faster and also I learnt a lot about dealing with popovers by reading Nautilus search popover code.
I will give here a short image walk through on the search popover:
This is how the entire popover looks when clicked on the drop down button besides the search bar:
Clicking on the button related to “What” label opens up a listbox from which we can select the search parameter for querying the entries from journal:
Clicking on the button related to “When” label opens up a listbox from which we can select the range of journal entries which will be displayed:
Furthermore, if we click on “Set Custom Range” , we go to another submenu in which we can select the date range of the journal between which the entries will be displayed. This is similar to the –since and –until options of journalctl command line tool. Currently, here we don’t allow entering the time as GTK+ does not have a specialized time widget but it can be done in future once GTK+ gets a time widget.
If we click any of the buttons, a text entry and a calendar is displayed from which the user can select the date or type the date into the text entry.
Clicking on “Back” button goes back to main menu.
The last option “Search Type” consists of two radio buttons which specify whether the user wants a substring match or an exact match for his query.
You can watch the video of search popover in action here.
In the coming weeks, I will be implementing all the back end functionality of the search popover (so that selecting the options in it actually affect the displayed results).
Let me know in the comments about what you think of the search popover design and if some options are missing from the current design or it needs some different options.
In the next post, most probably, I will be posting a link to a video where I will demonstrate a fully implemented search popover.
Happy Coding 🙂