diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css index 442a7f379..6b4ea1218 100644 --- a/data/theme/gnome-shell-high-contrast.css +++ b/data/theme/gnome-shell-high-contrast.css @@ -1479,38 +1479,6 @@ StScrollBar { color: pink; } /* Eeeky things */ -.legacy-tray { - background-color: #000; - border: 1px solid black; - border-bottom-width: 0; } - .legacy-tray:ltr { - border-radius: 0 6px 0 0; - border-left-width: 0; } - .legacy-tray:rtl { - border-radius: 6px 0 0 0; - border-right-width: 0; } - -.legacy-tray-handle, -.legacy-tray-icon { - padding: 6px; } - .legacy-tray-handle StIcon, - .legacy-tray-icon StIcon { - icon-size: 24px; } - .legacy-tray-handle:hover, .legacy-tray-handle:focus, - .legacy-tray-icon:hover, - .legacy-tray-icon:focus { - background-color: rgba(255, 255, 255, 0.1); } - -.legacy-tray-icon-box { - spacing: 12px; } - .legacy-tray-icon-box:ltr { - padding-left: 12px; } - .legacy-tray-icon-box:rtl { - padding-right: 12px; } - .legacy-tray-icon-box StButton { - width: 24px; - height: 24px; } - .magnifier-zoom-region { border: 2px solid #215d9c; } .magnifier-zoom-region.full-screen { diff --git a/data/theme/gnome-shell-sass b/data/theme/gnome-shell-sass index 3ce23ca96..53cf147f9 160000 --- a/data/theme/gnome-shell-sass +++ b/data/theme/gnome-shell-sass @@ -1 +1 @@ -Subproject commit 3ce23ca9648c131a33b79f37b3e19001ff45450d +Subproject commit 53cf147f95305d398b71443de2b5cb893fbcd166 diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 3c753bfc3..34d3c886b 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -1479,38 +1479,6 @@ StScrollBar { color: pink; } /* Eeeky things */ -.legacy-tray { - background-color: #393f3f; - border: 1px solid #1c1f1f; - border-bottom-width: 0; } - .legacy-tray:ltr { - border-radius: 0 6px 0 0; - border-left-width: 0; } - .legacy-tray:rtl { - border-radius: 6px 0 0 0; - border-right-width: 0; } - -.legacy-tray-handle, -.legacy-tray-icon { - padding: 6px; } - .legacy-tray-handle StIcon, - .legacy-tray-icon StIcon { - icon-size: 24px; } - .legacy-tray-handle:hover, .legacy-tray-handle:focus, - .legacy-tray-icon:hover, - .legacy-tray-icon:focus { - background-color: rgba(238, 238, 236, 0.1); } - -.legacy-tray-icon-box { - spacing: 12px; } - .legacy-tray-icon-box:ltr { - padding-left: 12px; } - .legacy-tray-icon-box:rtl { - padding-right: 12px; } - .legacy-tray-icon-box StButton { - width: 24px; - height: 24px; } - .magnifier-zoom-region { border: 2px solid #215d9c; } .magnifier-zoom-region.full-screen { diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml index b29c11a38..79a200e91 100644 --- a/js/js-resources.gresource.xml +++ b/js/js-resources.gresource.xml @@ -64,7 +64,6 @@ ui/layout.js ui/lightbox.js ui/lookingGlass.js - ui/legacyTray.js ui/magnifier.js ui/magnifierDBus.js ui/main.js diff --git a/js/ui/legacyTray.js b/js/ui/legacyTray.js deleted file mode 100644 index fc4996dc6..000000000 --- a/js/ui/legacyTray.js +++ /dev/null @@ -1,272 +0,0 @@ -const Clutter = imports.gi.Clutter; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; - -const CtrlAltTab = imports.ui.ctrlAltTab; -const Lang = imports.lang; -const Layout = imports.ui.layout; -const Main = imports.ui.main; -const Overview = imports.ui.overview; -const OverviewControls = imports.ui.overviewControls; -const Tweener = imports.ui.tweener; - -var STANDARD_TRAY_ICON_IMPLEMENTATIONS = { - 'bluetooth-applet': 'bluetooth', - 'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet - // when moved to control center - 'gnome-sound-applet': 'volume', - 'nm-applet': 'network', - 'gnome-power-manager': 'battery', - 'keyboard': 'keyboard', - 'a11y-keyboard': 'a11y', - 'kbd-scrolllock': 'keyboard', - 'kbd-numlock': 'keyboard', - 'kbd-capslock': 'keyboard', - 'ibus-ui-gtk': 'keyboard' -}; - -// Offset of the original position from the bottom-right corner -var CONCEALED_WIDTH = 3; -var REVEAL_ANIMATION_TIME = 0.2; -var TEMP_REVEAL_TIME = 2; - -var BARRIER_THRESHOLD = 70; -var BARRIER_TIMEOUT = 1000; - -var LegacyTray = new Lang.Class({ - Name: 'LegacyTray', - - _init: function() { - this.actor = new St.Widget({ clip_to_allocation: true, - layout_manager: new Clutter.BinLayout() }); - let constraint = new Layout.MonitorConstraint({ primary: true, - work_area: true }); - this.actor.add_constraint(constraint); - - this._slideLayout = new OverviewControls.SlideLayout(); - this._slideLayout.translationX = 0; - this._slideLayout.slideDirection = OverviewControls.SlideDirection.LEFT; - - this._slider = new St.Widget({ x_expand: true, y_expand: true, - x_align: Clutter.ActorAlign.START, - y_align: Clutter.ActorAlign.END, - layout_manager: this._slideLayout }); - this.actor.add_actor(this._slider); - this._slider.connect('notify::allocation', Lang.bind(this, this._syncBarrier)); - - this._box = new St.BoxLayout({ style_class: 'legacy-tray' }); - this._slider.add_actor(this._box); - - this._concealHandle = new St.Button({ style_class: 'legacy-tray-handle', - /* translators: 'Hide' is a verb */ - accessible_name: _("Hide tray"), - can_focus: true }); - this._concealHandle.child = new St.Icon({ icon_name: 'go-previous-symbolic' }); - this._box.add_child(this._concealHandle); - - this._iconBox = new St.BoxLayout({ style_class: 'legacy-tray-icon-box' }); - this._box.add_actor(this._iconBox); - - this._revealHandle = new St.Button({ style_class: 'legacy-tray-handle' }); - this._revealHandle.child = new St.Icon({ icon_name: 'go-next-symbolic' }); - this._box.add_child(this._revealHandle); - - this._revealHandle.bind_property('visible', - this._concealHandle, 'visible', - GObject.BindingFlags.BIDIRECTIONAL | - GObject.BindingFlags.INVERT_BOOLEAN); - this._revealHandle.connect('notify::visible', - Lang.bind(this, this._sync)); - this._revealHandle.connect('notify::hover', - Lang.bind(this ,this._sync)); - this._revealHandle.connect('clicked', Lang.bind(this, - function() { - this._concealHandle.show(); - })); - this._concealHandle.connect('clicked', Lang.bind(this, - function() { - this._revealHandle.show(); - })); - - this._horizontalBarrier = null; - this._pressureBarrier = new Layout.PressureBarrier(BARRIER_THRESHOLD, - BARRIER_TIMEOUT, - Shell.ActionMode.NORMAL); - this._pressureBarrier.connect('trigger', Lang.bind(this, function() { - this._concealHandle.show(); - })); - - Main.layoutManager.addChrome(this.actor, { affectsInputRegion: false }); - Main.layoutManager.trackChrome(this._slider, { affectsInputRegion: true }); - Main.uiGroup.set_child_below_sibling(this.actor, Main.layoutManager.modalDialogGroup); - Main.ctrlAltTabManager.addGroup(this.actor, - _("Status Icons"), 'focus-legacy-systray-symbolic', - { sortGroup: CtrlAltTab.SortGroup.BOTTOM }); - - this._trayManager = new Shell.TrayManager(); - this._trayIconAddedId = this._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded)); - this._trayIconRemovedId = this._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved)); - this._trayManager.manage_screen(global.screen, this.actor); - - Main.overview.connect('showing', Lang.bind(this, - function() { - Tweener.removeTweens(this._slider); - Tweener.addTween(this._slider, { opacity: 0, - time: Overview.ANIMATION_TIME, - transition: 'easeOutQuad' }); - })); - Main.overview.connect('shown', Lang.bind(this, this._sync)); - Main.overview.connect('hiding', Lang.bind(this, - function() { - this._sync(); - Tweener.removeTweens(this._slider); - Tweener.addTween(this._slider, { opacity: 255, - time: Overview.ANIMATION_TIME, - transition: 'easeOutQuad' }); - })); - - Main.layoutManager.connect('monitors-changed', - Lang.bind(this, this._sync)); - global.screen.connect('in-fullscreen-changed', - Lang.bind(this, this._sync)); - Main.sessionMode.connect('updated', Lang.bind(this, this._sync)); - - this._sync(); - }, - - _onTrayIconAdded: function(tm, icon) { - let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : ''; - if (STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass] !== undefined) - return; - - let button = new St.Button({ child: icon, - style_class: 'legacy-tray-icon', - button_mask: St.ButtonMask.ONE | - St.ButtonMask.TWO | - St.ButtonMask.THREE, - can_focus: true, - x_fill: true, y_fill: true }); - - let app = Shell.WindowTracker.get_default().get_app_from_pid(icon.pid); - if (!app) - app = Shell.AppSystem.get_default().lookup_startup_wmclass(wmClass); - if (!app) - app = Shell.AppSystem.get_default().lookup_desktop_wmclass(wmClass); - if (app) - button.accessible_name = app.get_name(); - else - button.accessible_name = icon.title; - - button.connect('clicked', - function() { - icon.click(Clutter.get_current_event()); - }); - button.connect('key-press-event', - function() { - icon.click(Clutter.get_current_event()); - return Clutter.EVENT_PROPAGATE; - }); - button.connect('key-focus-in', Lang.bind(this, - function() { - this._concealHandle.show(); - })); - - this._iconBox.add_actor(button); - - if (!this._concealHandle.visible) { - this._concealHandle.show(); - GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, TEMP_REVEAL_TIME, - Lang.bind(this, function() { - this._concealHandle.hide(); - return GLib.SOURCE_REMOVE; - })); - } - }, - - _onTrayIconRemoved: function(tm, icon) { - if (!this.actor.contains(icon)) - return; - - icon.get_parent().destroy(); - this._sync(); - }, - - _syncBarrier: function() { - let rtl = (this._slider.get_text_direction() == Clutter.TextDirection.RTL); - let [x, y] = this._slider.get_transformed_position(); - let [w, h] = this._slider.get_transformed_size(); - - let x1 = Math.round(x); - if (rtl) - x1 += Math.round(w); - - let x2 = x1; - let y1 = Math.round(y); - let y2 = y1 + Math.round(h); - - if (this._horizontalBarrier && - this._horizontalBarrier.x1 == x1 && - this._horizontalBarrier.y1 == y1 && - this._horizontalBarrier.x2 == x2 && - this._horizontalBarrier.y2 == y2) - return; - - this._unsetBarrier(); - - let directions = (rtl ? Meta.BarrierDirection.NEGATIVE_X : Meta.BarrierDirection.POSITIVE_X); - this._horizontalBarrier = new Meta.Barrier({ display: global.display, - x1: x1, x2: x2, - y1: y1, y2: y2, - directions: directions }); - this._pressureBarrier.addBarrier(this._horizontalBarrier); - }, - - _unsetBarrier: function() { - if (this._horizontalBarrier == null) - return; - - this._pressureBarrier.removeBarrier(this._horizontalBarrier); - this._horizontalBarrier.destroy(); - this._horizontalBarrier = null; - }, - - _sync: function() { - // FIXME: we no longer treat tray icons as notifications - let allowed = Main.sessionMode.hasNotifications; - let hasIcons = this._iconBox.get_n_children() > 0; - let inOverview = Main.overview.visible && !Main.overview.animationInProgress; - let inFullscreen = Main.layoutManager.primaryMonitor.inFullscreen; - this.actor.visible = allowed && hasIcons && !inOverview && !inFullscreen; - - if (!hasIcons) - this._concealHandle.hide(); - - let targetSlide; - if (this._concealHandle.visible) { - targetSlide = 1.0; - } else if (!hasIcons) { - targetSlide = 0.0; - } else { - let [, boxWidth] = this._box.get_preferred_width(-1); - let [, handleWidth] = this._revealHandle.get_preferred_width(-1); - - if (this._revealHandle.hover) - targetSlide = handleWidth / boxWidth; - else - targetSlide = CONCEALED_WIDTH / boxWidth; - } - - if (this.actor.visible) { - Tweener.addTween(this._slideLayout, - { slideX: targetSlide, - time: REVEAL_ANIMATION_TIME, - transition: 'easeOutQuad' }); - } else { - this._slideLayout.slideX = targetSlide; - this._unsetBarrier(); - } - } -}); diff --git a/js/ui/main.js b/js/ui/main.js index 31f1b82ed..85dbe1f58 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -20,7 +20,6 @@ const Environment = imports.ui.environment; const ExtensionSystem = imports.ui.extensionSystem; const ExtensionDownloader = imports.ui.extensionDownloader; const Keyboard = imports.ui.keyboard; -const LegacyTray = imports.ui.legacyTray; const MessageTray = imports.ui.messageTray; const ModalDialog = imports.ui.modalDialog; const OsdWindow = imports.ui.osdWindow; @@ -56,7 +55,6 @@ var overview = null; var runDialog = null; var lookingGlass = null; var wm = null; -var legacyTray = null; var messageTray = null; var screenShield = null; var notificationDaemon = null; @@ -169,7 +167,6 @@ function _initializeUI() { if (LoginManager.canLock()) screenShield = new ScreenShield.ScreenShield(); - legacyTray = new LegacyTray.LegacyTray(); messageTray = new MessageTray.MessageTray(); panel = new Panel.Panel(); keyboard = new Keyboard.Keyboard();