File gnome-shell-gdm-login-applet.patch of Package gnome-shell.160

---
 js/ui/aboutMenu.js   |   72 +++++++++++++++++++++++++++++++++++++++++++++++++++
 js/ui/panel.js       |    1 
 js/ui/sessionMode.js |    2 -
 3 files changed, 74 insertions(+), 1 deletion(-)

Index: gnome-shell-3.10.3/js/ui/aboutMenu.js
===================================================================
--- /dev/null
+++ gnome-shell-3.10.3/js/ui/aboutMenu.js
@@ -0,0 +1,72 @@
+// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+const GLib = imports.gi.GLib;
+const Gio = imports.gi.Gio;
+const Lang = imports.lang;
+const Clutter = imports.gi.Clutter;
+const St = imports.gi.St;
+
+const PanelMenu = imports.ui.panelMenu;
+
+const AboutMenuButton = new Lang.Class({
+    Name: 'AboutMenuButton',
+    Extends: PanelMenu.Button,
+    _init: function() {
+        let hbox;
+        let vbox;
+
+        let menuAlignment = 0.25;
+        if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
+            menuAlignment = 1.0 - menuAlignment;
+        this.parent(menuAlignment, 'About Me');
+
+        this.about_hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
+        this.about_hbox.add_child(new St.Icon({ style_class: 'system-status-icon',
+                                           icon_name: 'suse',
+                                           icon_size: 24,
+                                           y_align: Clutter.ActorAlign.CENTER
+                                        }));
+
+        let command = 'hostname';
+        let hostname_text;
+        try {
+                let [res, stdout, stderr, status] = GLib.spawn_command_line_sync(command);
+                hostname_text = String.fromCharCode.apply(null, stdout);
+        } catch (e) {
+                hostname_text = 'Welcome';
+        }
+        this.about_hbox.add_child(new St.Label({ text: hostname_text,
+                                           y_align: Clutter.ActorAlign.CENTER
+                                        }));
+
+        this.actor.add_child(this.about_hbox);
+        hbox = new St.BoxLayout({ name: 'aboutArea' });
+        this.menu.box.add_child(hbox);
+
+        vbox = new St.BoxLayout({vertical: true});
+        hbox.add(vbox);
+
+        this._os_release = Gio.File.new_for_path('/etc/os-release');
+        let success, contents, tag;
+        try {
+                [success, contents, tag] = this._os_release.load_contents(null);
+        } catch (e) {
+                this._sysinfo = new St.Label({ text: 'SUSE Linux Enterprise',
+                                    can_focus: true });
+                vbox.add(this._sysinfo);
+                return;
+        }
+        let match = new RegExp('(.+)PRETTY_NAME=(.+)ID(.+)').exec(contents.toString().replace(/\n/g, ' '));
+        let sysinfo_text;
+        if (!match) {
+                sysinfo_text = 'SUSE Linux Enterprise';
+        } else {
+                sysinfo_text = match[2].toString().replace(/"/g, ' ');
+        }
+
+        this._sysinfo = new St.Label({ text: sysinfo_text,
+                                    can_focus: true });
+        vbox.add(this._sysinfo);
+        return;
+    },
+});
Index: gnome-shell-3.10.3/js/ui/panel.js
===================================================================
--- gnome-shell-3.10.3.orig/js/ui/panel.js
+++ gnome-shell-3.10.3/js/ui/panel.js
@@ -848,6 +848,7 @@ const AggregateMenu = new Lang.Class({
 });
 
 const PANEL_ITEM_IMPLEMENTATIONS = {
+    'aboutMenu': imports.ui.aboutMenu.AboutMenuButton,
     'activities': ActivitiesButton,
     'aggregateMenu': AggregateMenu,
     'appMenu': AppMenuButton,
Index: gnome-shell-3.10.3/js/ui/sessionMode.js
===================================================================
--- gnome-shell-3.10.3.orig/js/ui/sessionMode.js
+++ gnome-shell-3.10.3/js/ui/sessionMode.js
@@ -47,7 +47,7 @@ const _modes = {
         unlockDialog: imports.gdm.loginDialog.LoginDialog,
         components: ['polkitAgent'],
         panel: {
-            left: [],
+            left: ['aboutMenu'],
             center: ['dateMenu'],
             right: ['a11yGreeter', 'keyboard', 'aggregateMenu'],
         },
Index: gnome-shell-3.10.3/js/Makefile.am
===================================================================
--- gnome-shell-3.10.3.orig/js/Makefile.am
+++ gnome-shell-3.10.3/js/Makefile.am
@@ -39,6 +39,7 @@ nobase_dist_js_DATA = 	\
 	misc/smartcardManager.js \
 	misc/util.js		\
 	perf/core.js		\
+	ui/aboutMenu.js		\
 	ui/altTab.js		\
 	ui/animation.js		\
 	ui/appDisplay.js	\
openSUSE Build Service is sponsored by