[gnome-shell-extensions] xrandr-indicator: port to 2012



commit 0ab46d5c70868837f3708d95e890cb665c3f64d3
Author: Giovanni Campagna <gcampagna src gnome org>
Date:   Sat Sep 1 19:18:07 2012 +0200

    xrandr-indicator: port to 2012
    
    Someone left this poor extension in the last century.
    Port to GDBus, port to Lang.Class, port to addSettingsAction, port to new
    symbolic icon handling.

 extensions/xrandr-indicator/extension.js |   35 ++++++++++++-----------------
 1 files changed, 15 insertions(+), 20 deletions(-)
---
diff --git a/extensions/xrandr-indicator/extension.js b/extensions/xrandr-indicator/extension.js
index 0a41ce7..7909dc7 100644
--- a/extensions/xrandr-indicator/extension.js
+++ b/extensions/xrandr-indicator/extension.js
@@ -1,7 +1,7 @@
 /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
 
-const DBus = imports.dbus;
 const Gdk = imports.gi.Gdk;
+const Gio = imports.gi.Gio;
 const GLib = imports.gi.GLib;
 const GnomeDesktop = imports.gi.GnomeDesktop;
 const Lang = imports.lang;
@@ -33,25 +33,23 @@ let rotations = [ [ GnomeDesktop.RRRotation.ROTATION_0, N_("Normal") ],
 		  [ GnomeDesktop.RRRotation.ROTATION_180, N_("Upside-down") ]
 		];
 
-const XRandr2Iface = {
-    name: 'org.gnome.SettingsDaemon.XRANDR_2',
-    methods: [
-	{ name: 'ApplyConfiguration', inSignature: 'xx', outSignature: '' },
-    ]
-};
-let XRandr2 = DBus.makeProxyClass(XRandr2Iface);
+const XRandr2Iface = <interface name='org.gnome.SettingsDaemon.XRANDR_2'>
+<method name='ApplyConfiguration'>
+    <arg type='x' direction='in'/>
+    <arg type='x' direction='in'/>
+</method>
+</interface>;
 
-function Indicator() {
-    this._init.apply(this, arguments);
-}
+const XRandr2 = Gio.DBusProxy.makeProxyWrapper(XRandr2Iface);
 
-Indicator.prototype = {
-    __proto__: PanelMenu.SystemStatusButton.prototype,
+const Indicator = new Lang.Class({
+    Name: 'XRandRIndicator',
+    Extends: PanelMenu.SystemStatusButton,
 
     _init: function() {
-        PanelMenu.SystemStatusButton.prototype._init.call(this, 'preferences-desktop-display');
+	this.parent('preferences-desktop-display-symbolic', _("Display"));
 
-        this._proxy = new XRandr2(DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
+        this._proxy = new XRandr2(Gio.DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
 
         try {
             this._screen = new GnomeDesktop.RRScreen({ gdk_screen: Gdk.Screen.get_default() });
@@ -79,9 +77,7 @@ Indicator.prototype = {
                 this._addOutputItem(config, outputs[i]);
         }
         this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
-        this.menu.addAction(_("Configure display settings..."), function() {
-            GLib.spawn_command_line_async('gnome-control-center display');
-        });
+	this.menu.addSettingsAction(_("Display Settings"), 'gnome-display-panel.desktop');
     },
 
     _addOutputItem: function(config, output) {
@@ -137,8 +133,7 @@ Indicator.prototype = {
         }
         return retval;
     }
-}
-
+});
 
 function init(metadata) {
     Convenience.initTranslations();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]