diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js index f6c48a450..8bad21d75 100644 --- a/js/ui/panelMenu.js +++ b/js/ui/panelMenu.js @@ -241,13 +241,22 @@ const SystemIndicator = new Lang.Class({ _init: function() { this.indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box', reactive: true }); + this.indicators.hide(); this.menu = new PopupMenu.PopupMenuSection(); }, + _syncIndicatorsVisible: function() { + this.indicators.visible = this.indicators.get_children().some(function(actor) { + return actor.visible; + }); + }, + addIndicator: function(gicon) { let icon = new St.Icon({ gicon: gicon, style_class: 'system-status-icon' }); this.indicators.add_actor(icon); + icon.connect('notify::visible', Lang.bind(this, this._syncIndicatorsVisible)); + this._syncIndicatorsVisible(); return icon; } });