GNOME Bugzilla – Bug 749957
Refine the search list
Last modified: 2017-08-16 13:09:51 UTC
It would be good to improve the list of search results a bit. Some layout guidance can be found here:
* Doesn't show a thumbnail when it isn't useful.
* Emphasises the source application, which makes the list easier to scan, better communicates how search works, and gives the results list a clearer hierarchy.
* Shows the application name, which can be useful if you aren't familiar with the app.
* More compact: this is particularly needed for smaller displays.
I've just updated the mockups for this.
I forgot to say that i will work on this :).
Some suggestions over that mockup:
- I would very much promote GNOME Software to the top, to make it easy to install an app you were searching for. I don't think Software's search provider should be relegated down there.
- I would align columns vertically, so that if you want to quickly eye filter an item (such as files by location) you don't have to move around so much.
Let me know what you think Allan
(In reply to Alberto Ruiz from comment #3)
> - I would very much promote GNOME Software to the top, to make it easy to
> install an app you were searching for. I don't think Software's search
> provider should be relegated down there.
That would be achieved by adding 'org.gnome.Software' to the 'sort-order' key in the org.gnome.desktop.search schema (from gsettings-desktop-schemas).
> - I would align columns vertically, so that if you want to quickly eye
> filter an item (such as files by location) you don't have to move around so
Maybe per search provider, but I don't think "global" columns are useful here - some providers tend to return long names and no descriptions (e.g. epiphany), so a fixed description column would just needlessly ellipsize names; other providers tend to have short names with longer descriptions (e.g. gnome-control-center), so fixed columns would likely cut off descriptions by giving the name column more space than necessary (for that provider).
Created attachment 355640 [details] [review]
search: Make the results take more horizontal space
In order to make gnome-shell search functionality fit on
smaller screens, like those of devices, search results
need to take advantage of more horizontal space so that
any extra space can be used efficiently.
In order to do so, change the layout of the ListSearchResult
class from a vertical one, to a horizontal one and also
decrease the padding of the list-search-result-content css
Created attachment 355641 [details] [review]
search: Refactor providerIcon into providerInfo
In order to match the current mockups, the providerIcon
class needed to include both the name of the provider
and the label that informs the user about how many more
search results are available for that specific provider.
The latter replaces the plus sign icon that has been
used so far.
Created attachment 355642 [details] [review]
search: Tweak the sizes of search results icons
Just a small tweak of icon sizes, in order to make
them look like in the mockup.
Created attachment 355643 [details] [review]
search: Replace the gradient separator with a simple line
The current separator uses a gradient effect as a separator
between search results. As the mockups suggest, the gradient
separator is no longer needed, in favor of a more simple one,
which is a thin semitransparent line.
Created attachment 355644 [details] [review]
separator: Remove HorizontalSeparator
It's now unused.
Created attachment 355645 [details] [review]
search: Use standard font size for list result titles
The current size of the text is way bigger than what
we want now. The default front size is what we are
looking after, therefore no explicit value is needed
to specify the font size.
Created attachment 355646 [details] [review]
search: Increase maximum number of visible list search results
Since results are now much more concise and take up less
space, we can use the 'saved' space to provide the user
with more search results for each provider.
Created attachment 355647 [details] [review]
util: Wrap g_regex_escape_string()
g_regex_escape_string() has an optional length parameter to handle
non-'\0'-terminated strings. Unfortunately that means that the string
parameter is exposed to introspection as array, which confuses gjs.
Work around this by adding a small wrapper for regular '\0'-terminated
Created attachment 355648 [details] [review]
search: Propagate searchResults down the hierarchy
In order to prepare for applying the bold style to the part
of the description that matches the search terms, we need
to listen for the signal that announces the fact that the
search terms have changed. Given the fact that the
SearchResults class is aware of the changes regarding the
search terms, the classes that extent SearchResult need
to have a reference to it in order to listen for the
to-be-implemented 'terms-changed' signal.
Created attachment 355650 [details] [review]
search: Highlight search terms in description
The classes extending the SearchResult can now connect
to the 'terms-changed' signal emitted by the SearchResult
class. This signal enables each object to update its
internal description in order to apply the bold style
onto strings that match the search terms.
Created attachment 355652 [details] [review]
search: Disable multiline descriptions
Having descriptions with multiple lines will clutter
the view and make it more confusing for the user. Apart
from that, it also makes the search result a lot bigger,
potentially losing general vertical alignment.
Created attachment 355654 [details] [review]
search: Make search result description semitransparent
There is a clear difference between the file name and its associated
description which the mockups clearly highlight. Consequently,
make the description label semitransparent, in order to emphasize
the file name, not the description itself.
Patches have been reviewed on https://gitlab-test.gnome.org/GNOME/gnome-shell, just attaching for reference before landing.
Attachment 355640 [details] pushed as a426295 - search: Make the results take more horizontal space
Attachment 355641 [details] pushed as faa0dda - search: Refactor providerIcon into providerInfo
Attachment 355642 [details] pushed as 0a8d81c - search: Tweak the sizes of search results icons
Attachment 355643 [details] pushed as 9d77fa8 - search: Replace the gradient separator with a simple line
Attachment 355646 [details] pushed as 1502523 - search: Increase maximum number of visible list search results
Attachment 355648 [details] pushed as 77e0c38 - search: Propagate searchResults down the hierarchy
Attachment 355650 [details] pushed as b3d74bd - search: Highlight search terms in description
Attachment 355652 [details] pushed as 69a9c22 - search: Disable multiline descriptions
This isn't specifically a problem with this patchset, but I guess this patchset makes the problem a little more apparent.
The background for Activities Overview, Search Result, and App Drawer aren't opaque or blurry, but is only darkened with vignetting effect. That is fine, except when the wallpaper is bright, colourful, and with a lot of details in it. As this patchset makes the text smaller in the Search result, it also makes the text less legible if the wallpaper happens to have those properties.
The screenshot isn't from the default theme, but you get the idea.
As far as I know, there's no easy way to adjust the opacity of the background or put some kind of filter there via css. imho that would be a nice thing to have.
*** Bug 695491 has been marked as a duplicate of this bug. ***
*** Bug 598500 has been marked as a duplicate of this bug. ***