Go to file
Georges Basile Stavracas Neto c6cea277eb
switcherList: Stop using Shell.GenericContainer
This commit removes all the uses of Shell.GenericContainer from
SwitcherPopup.SwitcherList. Compared to the other patches, this
one was specially trickier to get right, and a few invasive
changes needed to be done.

The most noticeable one is that the allocation of the items is
done entirely by St.BoxLayout -- we don't manually allocate them
anymore. To make it work, get_preferred_width() had to calculate
the correct value. It now assumes that:

 * Minimum width: the minimum width of the widest child.
 * Natural width: the minimum width of the StBoxLayout (use it
   instead of the natural width to force the labels to ellipsize
   when too long.)

The AppIcon class became a St.Widget subclass as well, to override
get_preferred_width() and be able to keep the squared shape.

Besides that, add a new SwitcherButton class to reimplement squared
icons without having to resort to hacks in the size allocation
machinery. This class has a single vfunc override to ensure that it
is squared when the SwitcherList is.

The arrows indicating multiple windows are now in this._list
actor to the SwitcherPopup itself, since this._list automatically
manages its own children now.

At last, adapt (but preserve) the hack in CyclerPopup.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153
2018-10-08 22:42:24 -03:00
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
browser-plugin docs: Use Markdown 2018-05-23 19:03:01 +02:00
data dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
docs/reference build: Fix build with gtk-doc=true 2018-09-17 15:30:15 +02:00
js switcherList: Stop using Shell.GenericContainer 2018-10-08 22:42:24 -03:00
man man: Update project website 2018-01-07 21:39:18 +01:00
meson build: Run postinstall script where necessary 2018-04-09 19:19:33 +00:00
po Update Chinese (Taiwan) translation 2018-10-08 12:47:45 +00:00
src shell: Fix list of GIR includes 2018-09-25 23:57:51 +00:00
subprojects build: Update gvc to support renamed options 2018-01-30 13:37:38 +01:00
tests utils: Simplify URL regex to only support one layer of parentheses 2018-04-13 18:15:44 +00:00
tools tools: Migrate changed overrides settings 2018-07-31 18:36:26 +00:00
.gitignore data: Add README and supporting script to update keyboard layouts from CLDR 2018-02-05 17:46:57 +01:00
.gitmodules submodules: Replace non-functional git.gnome.org URL by GNOME Gitlab URL 2018-09-25 08:41:30 +02:00
.project Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
config.h.meson Add check_cloexec_fds debug command 2018-07-30 23:11:41 +00:00
COPYING Changed obsolete FSF postal address. 2014-01-08 04:35:14 +07:00
gnome-shell.doap doap: add <programming-language> 2014-07-31 17:48:46 +02:00
HACKING.md docs: Use Markdown 2018-05-23 19:03:01 +02:00
meson_options.txt build: Stop detecting features automatically 2017-11-30 00:24:53 +01:00
meson.build Bump version to 3.30.1 2018-10-08 21:33:06 +02:00
NEWS Bump version to 3.30.1 2018-10-08 21:33:06 +02:00
README.md Fix README link 2018-09-01 15:01:46 +01:00

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.

License

GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.