Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
gnome-shell
gnome-shell-gdm-login-applet.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-shell-gdm-login-applet.patch of Package gnome-shell
--- 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 \
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor