gnome-shell/js/ui
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
..
components automountManager: Explicitly track active operations 2018-10-08 13:18:53 +00:00
status switcherPopup: Rename destroy() to fadeAndDestroy() 2018-10-08 22:42:23 -03:00
accessDialog.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
altTab.js switcherList: Stop using Shell.GenericContainer 2018-10-08 22:42:24 -03:00
animation.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
appDisplay.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
appFavorites.js appFavorites: Don't add app explicitly 2018-10-08 16:22:04 +00:00
audioDeviceSelection.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
background.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
backgroundMenu.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
barLevel.js barLevel: Add "overdrive" capability 2018-07-31 18:14:14 +00:00
boxpointer.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
calendar.js calendar: chain up to parent on _onDestroy 2018-09-03 22:43:21 +00:00
checkBox.js cleanup: Use method syntax 2018-02-21 13:54:58 +00:00
closeDialog.js closeDialog: Untrack chrome when window loses focus 2018-10-08 16:03:53 +00:00
ctrlAltTab.js switcherList: Stop using Shell.GenericContainer 2018-10-08 22:42:24 -03:00
dash.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
dateMenu.js worldClock: Handle named timezones 2018-04-13 09:15:48 +00:00
dialog.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
dnd.js dnd: Nullify _dragActor after we've destroyed it, and avoid invalid access 2018-09-03 22:43:21 +00:00
edgeDragAction.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
endSessionDialog.js endSessionDialog: squash "reference to undefined property" warning 2018-09-25 21:28:35 +01:00
environment.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
extensionDownloader.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
extensionSystem.js extensionSystem: Unset stylesheet file reference when unloaded 2018-09-03 23:29:01 +00:00
focusCaretTracker.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
grabHelper.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
ibusCandidatePopup.js ibusCandidatePopup: Fix candidate-clicked signal 2018-04-18 13:37:53 +09:00
iconGrid.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
inhibitShortcutsDialog.js cleanup: Use method syntax 2018-02-21 13:54:58 +00:00
kbdA11yDialog.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
keyboard.js keyboard: Listen to IbusPanelService::focus-in/out to track focus changes 2018-09-25 23:49:42 +00:00
layout.js layout: Don't update input region on wayland 2018-10-08 16:03:53 +00:00
lightbox.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
lookingGlass.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
magnifier.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
magnifierDBus.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
main.js js/main: Throw error if no valid default stylesheet is found 2018-09-03 23:29:01 +00:00
messageList.js messageList: stop syncing if closeButton has been destroyed 2018-09-03 22:43:21 +00:00
messageTray.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
modalDialog.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
mpris.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
notificationDaemon.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
osdMonitorLabeler.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
osdWindow.js osdWindow: Allow levels above 100% 2018-07-31 18:14:11 +00:00
overview.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
overviewControls.js overview: Restore previous workspace switcher policy 2018-08-14 17:34:57 +00:00
padOsd.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
panel.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
panelMenu.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
pointerWatcher.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
popupMenu.js popupMenu: Don't handle key presses directly if there are modifiers 2018-07-14 14:04:18 +02:00
remoteMenu.js remoteMenu: Support icons in app-menu 2018-04-14 09:02:20 +00:00
remoteSearch.js js: use ES6 template strings for dbus interfaces 2018-08-27 19:23:00 +02:00
runDialog.js runDialog: Use ClutterText::activate for enter handling 2018-08-17 18:37:32 +00:00
screencast.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
screenShield.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
screenshot.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
scripting.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
search.js search: Ignore search provider results metas if search is cancelled 2018-09-04 01:00:52 +02:00
sessionMode.js Explicitly convert raw data to strings 2018-07-31 16:28:53 +00:00
shellDBus.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
shellEntry.js shellEntry: Use correct enum for input purpose hints 2018-03-14 13:30:47 +00:00
shellMountOperation.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
slider.js barLevel: Support maxValue higher than 1 2018-07-31 18:14:10 +00:00
switcherPopup.js switcherList: Stop using Shell.GenericContainer 2018-10-08 22:42:24 -03:00
switchMonitor.js switchMonitor: switch to next config upon initial keypress 2018-09-13 16:11:16 +00:00
tweener.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
unlockDialog.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
userWidget.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
viewSelector.js viewSelector: Don't unfocus other modals on reset 2018-10-04 16:40:46 +00:00
windowAttentionHandler.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
windowManager.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
windowMenu.js windowMenu: Port from Meta.ScreenDirection to Meta.DisplayDirection 2018-09-11 12:59:07 +02:00
workspace.js workspace: Simplify detecting added dialogs after closing a window 2018-08-03 00:09:02 +02:00
workspacesView.js workspacesView: initialize self._restackedNotifyId 2018-09-25 23:00:53 +01:00
workspaceSwitcherPopup.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
workspaceThumbnail.js Revert "workspaceThumbnail: rebuild thumbnails if workareas size changed" 2018-08-19 12:41:08 +00:00
xdndHandler.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00