1a27ff6130
The calculation of how many results can be shown in GridSearchResults is broken: The width of the parent container (resultsView.actor) we're using as the maximum width right now is the width of the scrollView of SearchResults (which always expands to the whole screen size). This width will only be correct if the scrollView (ie. the whole screen) is smaller than the max width of searchResultsContent, which only is the case for screens smaller than 1000px. To fix the calculation, use the width of our own actor and don't get it using clutter_actor_get_width(), but using the last allocation of the actor. This way we don't get the preferred width if the actor is not allocated at this point (it's hidden by _ensureProviderDisplay() when starting a new search). Then, when the allocation of the actor changes, rebuild the grid search results by calling updateSearch() with the old arguments to ensure the number of visible results is correct. The fact that we're only listening for allocation changes here is the reason why we never want to use the preferred width of the actor inside _getMaxDisplayedResults(): While the actor is hidden clutter_actor_get_width() would return the preferred width, which we'd then use the as the maximum width. But if the actor had a correct allocation before, no notify::allocation signal will be emitted when the actor is shown again because the allocation is still the same, and we'll end up using the preferred width as maximium width forever. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/110 |
||
---|---|---|
.gitlab-ci | ||
.settings | ||
data | ||
docs/reference | ||
js | ||
lint | ||
man | ||
meson | ||
po | ||
src | ||
subprojects | ||
test | ||
tests | ||
tools | ||
.eslintrc.json | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
cldr2json.py | ||
config.h.meson | ||
COPYING | ||
gnome-shell.doap | ||
HACKING.md | ||
meson_options.txt | ||
meson.build | ||
NEWS | ||
README.md | ||
README.mdwn |
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.