[gnome-shell] panel: merge statusBox into rightBox
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] panel: merge statusBox into rightBox
- Date: Fri, 16 Sep 2011 18:16:34 +0000 (UTC)
commit 9fbd79316a4cb3e432aa56d88b24c992ef2f8699
Author: Dan Winship <danw gnome org>
Date: Thu Aug 25 11:46:25 2011 -0400
panel: merge statusBox into rightBox
Simplify the layout in rightBox by getting rid of statusBox, and just
putting everything into rightBox directly.
Simplify the handling of the user menu by adding it like it was a
status icon rather than special-casing it. Rename the "tray_icon"
variables to "status_area" to reflect this better.
https://bugzilla.gnome.org/show_bug.cgi?id=651299
data/theme/gnome-shell.css | 10 ++++----
js/ui/panel.js | 55 +++++++++++++++++--------------------------
js/ui/panelMenu.js | 1 +
3 files changed, 28 insertions(+), 38 deletions(-)
---
diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css
index c61bbf6..f61fe6e 100644
--- a/data/theme/gnome-shell.css
+++ b/data/theme/gnome-shell.css
@@ -276,12 +276,12 @@ StTooltip StLabel {
background-color: black;
border-image: url("panel-border.svg") 1;
font-size: 10.5pt;
+ font-weight: bold;
height: 1.86em;
}
-#panelLeft, #panelCenter, #panelRight {
+#panelLeft, #panelCenter {
spacing: 4px;
- font-weight: bold;
}
#panelLeft:ltr {
@@ -355,9 +355,9 @@ StTooltip StLabel {
text-shadow: black 0px 2px 2px;
}
-#statusTray > .panel-button:active,
-#statusTray > .panel-button:checked,
-#statusTray > .panel-button:focus {
+.panel-status-button:active,
+.panel-status-button:checked,
+.panel-status-button:focus {
background-image: url("panel-button-highlight-narrow.svg");
}
diff --git a/js/ui/panel.js b/js/ui/panel.js
index abdcf80..1d2dc0f 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -16,7 +16,6 @@ const Layout = imports.ui.layout;
const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu;
const PanelMenu = imports.ui.panelMenu;
-const UserMenu = imports.ui.userMenu;
const DateMenu = imports.ui.dateMenu;
const Main = imports.ui.main;
const Tweener = imports.ui.tweener;
@@ -28,25 +27,26 @@ const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
const ANIMATED_ICON_UPDATE_TIMEOUT = 100;
const SPINNER_ANIMATION_TIME = 0.2;
-const STANDARD_TRAY_ICON_ORDER = ['a11y', 'keyboard', 'volume', 'bluetooth', 'network', 'battery'];
-const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = {
+const STANDARD_STATUS_AREA_ORDER = ['a11y', 'keyboard', 'volume', 'bluetooth', 'network', 'battery', 'userMenu'];
+const STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
- 'keyboard': imports.ui.status.keyboard.XKBIndicator
+ 'keyboard': imports.ui.status.keyboard.XKBIndicator,
+ 'userMenu': imports.ui.userMenu.UserMenuButton
};
if (Config.HAVE_BLUETOOTH)
- STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
+ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
try {
- STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet;
+ STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet;
} catch(e) {
log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
}
-const GDM_TRAY_ICON_ORDER = ['a11y', 'display', 'keyboard', 'volume', 'battery'];
-const GDM_TRAY_ICON_SHELL_IMPLEMENTATION = {
+const GDM_STATUS_AREA_ORDER = ['a11y', 'display', 'keyboard', 'volume', 'battery'];
+const GDM_STATUS_AREA_SHELL_IMPLEMENTATION = {
'a11y': imports.ui.status.accessibility.ATIndicator,
'volume': imports.ui.status.volume.Indicator,
'battery': imports.ui.status.power.Indicator,
@@ -901,14 +901,6 @@ Panel.prototype = {
this.actor.remove_style_class_name('in-overview');
}));
- if (global.session_type == Shell.SessionType.GDM) {
- this._tray_icon_order = GDM_TRAY_ICON_ORDER;
- this._tray_icon_shell_implementation = GDM_TRAY_ICON_SHELL_IMPLEMENTATION;
- } else {
- this._tray_icon_order = STANDARD_TRAY_ICON_ORDER;
- this._tray_icon_shell_implementation = STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION;
- }
-
this._menus = new PopupMenu.PopupMenuManager(this);
this._leftBox = new St.BoxLayout({ name: 'panelLeft' });
@@ -959,14 +951,12 @@ Panel.prototype = {
this._menus.addMenu(this._dateMenu.menu);
/* right */
-
- this._statusBox = new St.BoxLayout({ name: 'statusTray' });
- this._rightBox.add(this._statusBox);
-
- if (global.session_type == Shell.SessionType.USER) {
- this._userMenu = new UserMenu.UserMenuButton();
- this._userMenu.actor.name = 'panelStatus';
- this._rightBox.add(this._userMenu.actor);
+ if (global.session_type == Shell.SessionType.GDM) {
+ this._status_area_order = GDM_STATUS_AREA_ORDER;
+ this._status_area_shell_implementation = GDM_STATUS_AREA_SHELL_IMPLEMENTATION;
+ } else {
+ this._status_area_order = STANDARD_STATUS_AREA_ORDER;
+ this._status_area_shell_implementation = STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION;
}
Main.statusIconDispatcher.connect('status-icon-added', Lang.bind(this, this._onTrayIconAdded));
@@ -1052,9 +1042,9 @@ Panel.prototype = {
},
startStatusArea: function() {
- for (let i = 0; i < this._tray_icon_order.length; i++) {
- let role = this._tray_icon_order[i];
- let constructor = this._tray_icon_shell_implementation[role];
+ for (let i = 0; i < this._status_area_order.length; i++) {
+ let role = this._status_area_order[i];
+ let constructor = this._status_area_shell_implementation[role];
if (!constructor) {
// This icon is not implemented (this is a bug)
continue;
@@ -1071,20 +1061,19 @@ Panel.prototype = {
},
_insertStatusItem: function(actor, position) {
- let children = this._statusBox.get_children();
+ let children = this._rightBox.get_children();
let i;
for (i = children.length - 1; i >= 0; i--) {
let rolePosition = children[i]._rolePosition;
if (position > rolePosition) {
- this._statusBox.insert_actor(actor, i + 1);
+ this._rightBox.insert_actor(actor, i + 1);
break;
}
}
if (i == -1) {
// If we didn't find a position, we must be first
- this._statusBox.insert_actor(actor, 0);
+ this._rightBox.insert_actor(actor, 0);
}
-
actor._rolePosition = position;
},
@@ -1110,7 +1099,7 @@ Panel.prototype = {
},
_onTrayIconAdded: function(o, icon, role) {
- if (this._tray_icon_shell_implementation[role]) {
+ if (this._status_area_shell_implementation[role]) {
// This icon is legacy, and replaced by a Shell version
// Hide it
return;
@@ -1120,7 +1109,7 @@ Panel.prototype = {
let bin = new St.Bin({ style_class: 'panel-button' });
bin.child = icon;
- this._insertStatusItem(bin, this._tray_icon_order.indexOf(role));
+ this._insertStatusItem(bin, this._status_area_order.indexOf(role));
},
_onTrayIconRemoved: function(o, icon) {
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index 151f35a..582ac2e 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -113,6 +113,7 @@ SystemStatusButton.prototype = {
icon_type: St.IconType.SYMBOLIC,
style_class: 'system-status-icon' });
this.actor.set_child(this._iconActor);
+ this.actor.add_style_class_name('panel-status-button');
this.setTooltip(tooltipText);
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]