[gnome-shell] js: use ES6 template strings for dbus interfaces



commit dbf993300a4bfbaaa8316baba7e06a9caf7b59a3
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Thu Aug 23 02:55:02 2018 +0200

    js: use ES6 template strings for dbus interfaces
    
    Use multiline template strings for dbus interfaces as they're easier to maintain

 js/extensionPrefs/main.js          |  19 ++--
 js/gdm/fingerprint.js              |  15 +--
 js/gdm/oVirt.js                    |  14 +--
 js/gdm/realmd.js                   |  99 +++++++++---------
 js/misc/gnomeSession.js            |  91 ++++++++--------
 js/misc/loginManager.js            |  97 +++++++++---------
 js/misc/modemManager.js            | 101 +++++++++---------
 js/misc/objectManager.js           |  31 +++---
 js/misc/permissionStore.js         |  49 ++++-----
 js/misc/smartcardManager.js        |  17 +--
 js/misc/systemActions.js           |  11 +-
 js/portalHelper/main.js            |  39 +++----
 js/ui/accessDialog.js              |  44 ++++----
 js/ui/appDisplay.js                |  11 +-
 js/ui/audioDeviceSelection.js      |  25 ++---
 js/ui/calendar.js                  |  25 ++---
 js/ui/components/autorunManager.js |  17 +--
 js/ui/endSessionDialog.js          |  90 ++++++++--------
 js/ui/magnifierDBus.js             | 162 ++++++++++++++---------------
 js/ui/mpris.js                     |  65 ++++++------
 js/ui/notificationDaemon.js        | 140 +++++++++++++------------
 js/ui/padOsd.js                    |  17 +--
 js/ui/remoteSearch.js              |  96 ++++++++---------
 js/ui/screencast.js                |  47 ++++-----
 js/ui/screenshot.js                |  89 ++++++++--------
 js/ui/scripting.js                 |  27 ++---
 js/ui/shellDBus.js                 | 205 +++++++++++++++++++------------------
 js/ui/shellMountOperation.js       |  65 ++++++------
 js/ui/status/bluetooth.js          |  15 +--
 js/ui/status/brightness.js         |  11 +-
 js/ui/status/location.js           |  42 ++++----
 js/ui/status/network.js            |  39 +++----
 js/ui/status/nightLight.js         |  13 +--
 js/ui/status/power.js              |  23 +++--
 js/ui/status/rfkill.js             |  15 +--
 js/ui/status/thunderbolt.js        |  70 +++++++------
 js/ui/windowManager.js             |  27 ++---
 37 files changed, 1012 insertions(+), 951 deletions(-)
---
diff --git a/js/extensionPrefs/main.js b/js/extensionPrefs/main.js
index a30b46b30..80b8d5cda 100644
--- a/js/extensionPrefs/main.js
+++ b/js/extensionPrefs/main.js
@@ -14,15 +14,16 @@ const _ = Gettext.gettext;
 const Config = imports.misc.config;
 const ExtensionUtils = imports.misc.extensionUtils;
 
-const GnomeShellIface = '<node> \
-<interface name="org.gnome.Shell.Extensions"> \
-<signal name="ExtensionStatusChanged"> \
-    <arg type="s" name="uuid"/> \
-    <arg type="i" name="state"/> \
-    <arg type="s" name="error"/> \
-</signal> \
-</interface> \
-</node>';
+const GnomeShellIface = `
+<node>
+<interface name="org.gnome.Shell.Extensions">
+<signal name="ExtensionStatusChanged">
+    <arg type="s" name="uuid"/>
+    <arg type="i" name="state"/>
+    <arg type="s" name="error"/>
+</signal>
+</interface>
+</node>`;
 
 const GnomeShellProxy = Gio.DBusProxy.makeProxyWrapper(GnomeShellIface);
 
diff --git a/js/gdm/fingerprint.js b/js/gdm/fingerprint.js
index 2aeb377ce..91025b962 100644
--- a/js/gdm/fingerprint.js
+++ b/js/gdm/fingerprint.js
@@ -5,13 +5,14 @@ const Lang = imports.lang;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 
-const FprintManagerIface = '<node> \
-<interface name="net.reactivated.Fprint.Manager"> \
-<method name="GetDefaultDevice"> \
-    <arg type="o" direction="out" /> \
-</method> \
-</interface> \
-</node>';
+const FprintManagerIface = `
+<node>
+<interface name="net.reactivated.Fprint.Manager">
+<method name="GetDefaultDevice">
+    <arg type="o" direction="out" />
+</method>
+</interface>
+</node>`;
 
 const FprintManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(FprintManagerIface);
 
diff --git a/js/gdm/oVirt.js b/js/gdm/oVirt.js
index 8a6a545ec..8194c2075 100644
--- a/js/gdm/oVirt.js
+++ b/js/gdm/oVirt.js
@@ -4,13 +4,13 @@ const Gio = imports.gi.Gio;
 const Lang = imports.lang;
 const Signals = imports.signals;
 
-const OVirtCredentialsIface = '<node> \
-<interface name="org.ovirt.vdsm.Credentials"> \
-<signal name="UserAuthenticated"> \
-    <arg type="s" name="token"/> \
-</signal> \
-</interface> \
-</node>';
+const OVirtCredentialsIface =`<node>
+<interface name="org.ovirt.vdsm.Credentials">
+<signal name="UserAuthenticated">
+    <arg type="s" name="token"/>
+</signal>
+</interface>
+</node>`;
 
 const OVirtCredentialsInfo = Gio.DBusInterfaceInfo.new_for_xml(OVirtCredentialsIface);
 
diff --git a/js/gdm/realmd.js b/js/gdm/realmd.js
index 9aa27d928..ae87aa193 100644
--- a/js/gdm/realmd.js
+++ b/js/gdm/realmd.js
@@ -5,58 +5,61 @@ const Lang = imports.lang;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 
-const ProviderIface = '<node> \
-<interface name="org.freedesktop.realmd.Provider"> \
-    <property name="Name" type="s" access="read"/> \
-    <property name="Version" type="s" access="read"/> \
-    <property name="Realms" type="ao" access="read"/> \
-    <method name="Discover"> \
-        <arg name="string" type="s" direction="in"/> \
-        <arg name="options" type="a{sv}" direction="in"/> \
-        <arg name="relevance" type="i" direction="out"/> \
-        <arg name="realm" type="ao" direction="out"/> \
-    </method> \
-</interface> \
-</node>';
+const ProviderIface = `
+<node>
+<interface name="org.freedesktop.realmd.Provider">
+    <property name="Name" type="s" access="read"/>
+    <property name="Version" type="s" access="read"/>
+    <property name="Realms" type="ao" access="read"/>
+    <method name="Discover">
+        <arg name="string" type="s" direction="in"/>
+        <arg name="options" type="a{sv}" direction="in"/>
+        <arg name="relevance" type="i" direction="out"/>
+        <arg name="realm" type="ao" direction="out"/>
+    </method>
+</interface>
+</node>`;
 const Provider = Gio.DBusProxy.makeProxyWrapper(ProviderIface);
 
-const ServiceIface = '<node> \
-<interface name="org.freedesktop.realmd.Service"> \
-    <method name="Cancel"> \
-        <arg name="operation" type="s" direction="in"/> \
-    </method> \
-    <method name="Release" /> \
-    <method name="SetLocale"> \
-        <arg name="locale" type="s" direction="in"/> \
-    </method> \
-    <signal name="Diagnostics"> \
-        <arg name="data" type="s"/> \
-        <arg name="operation" type="s"/> \
-    </signal> \
-</interface> \
-</node>';
+const ServiceIface = `
+<node>
+<interface name="org.freedesktop.realmd.Service">
+    <method name="Cancel">
+        <arg name="operation" type="s" direction="in"/>
+    </method>
+    <method name="Release" />
+    <method name="SetLocale">
+        <arg name="locale" type="s" direction="in"/>
+    </method>
+    <signal name="Diagnostics">
+        <arg name="data" type="s"/>
+        <arg name="operation" type="s"/>
+    </signal>
+</interface>
+</node>`;
 const Service = Gio.DBusProxy.makeProxyWrapper(ServiceIface);
 
-const RealmIface = '<node> \
-<interface name="org.freedesktop.realmd.Realm"> \
-    <property name="Name" type="s" access="read"/> \
-    <property name="Configured" type="s" access="read"/> \
-    <property name="Details" type="a(ss)" access="read"/> \
-    <property name="LoginFormats" type="as" access="read"/> \
-    <property name="LoginPolicy" type="s" access="read"/> \
-    <property name="PermittedLogins" type="as" access="read"/> \
-    <property name="SupportedInterfaces" type="as" access="read"/> \
-    <method name="ChangeLoginPolicy"> \
-        <arg name="login_policy" type="s" direction="in"/> \
-        <arg name="permitted_add" type="as" direction="in"/> \
-        <arg name="permitted_remove" type="as" direction="in"/> \
-        <arg name="options" type="a{sv}" direction="in"/> \
-    </method> \
-    <method name="Deconfigure"> \
-        <arg name="options" type="a{sv}" direction="in"/> \
-    </method> \
-</interface> \
-</node>';
+const RealmIface = `
+<node>
+<interface name="org.freedesktop.realmd.Realm">
+    <property name="Name" type="s" access="read"/>
+    <property name="Configured" type="s" access="read"/>
+    <property name="Details" type="a(ss)" access="read"/>
+    <property name="LoginFormats" type="as" access="read"/>
+    <property name="LoginPolicy" type="s" access="read"/>
+    <property name="PermittedLogins" type="as" access="read"/>
+    <property name="SupportedInterfaces" type="as" access="read"/>
+    <method name="ChangeLoginPolicy">
+        <arg name="login_policy" type="s" direction="in"/>
+        <arg name="permitted_add" type="as" direction="in"/>
+        <arg name="permitted_remove" type="as" direction="in"/>
+        <arg name="options" type="a{sv}" direction="in"/>
+    </method>
+    <method name="Deconfigure">
+        <arg name="options" type="a{sv}" direction="in"/>
+    </method>
+</interface>
+</node>`;
 const Realm = Gio.DBusProxy.makeProxyWrapper(RealmIface);
 
 var Manager = new Lang.Class({
diff --git a/js/misc/gnomeSession.js b/js/misc/gnomeSession.js
index 4c5d7f2a9..15a22023b 100644
--- a/js/misc/gnomeSession.js
+++ b/js/misc/gnomeSession.js
@@ -4,17 +4,18 @@ const Gio = imports.gi.Gio;
 const Lang = imports.lang;
 const Signals = imports.signals;
 
-const PresenceIface = '<node> \
-<interface name="org.gnome.SessionManager.Presence"> \
-<method name="SetStatus"> \
-    <arg type="u" direction="in"/> \
-</method> \
-<property name="status" type="u" access="readwrite"/> \
-<signal name="StatusChanged"> \
-    <arg type="u" direction="out"/> \
-</signal> \
-</interface> \
-</node>';
+const PresenceIface = `
+<node>
+<interface name="org.gnome.SessionManager.Presence">
+<method name="SetStatus">
+    <arg type="u" direction="in"/>
+</method>
+<property name="status" type="u" access="readwrite"/>
+<signal name="StatusChanged">
+    <arg type="u" direction="out"/>
+</signal>
+</interface>
+</node>`;
 
 var PresenceStatus = {
     AVAILABLE: 0,
@@ -32,16 +33,17 @@ function Presence(initCallback, cancellable) {
 // Note inhibitors are immutable objects, so they don't
 // change at runtime (changes always come in the form
 // of new inhibitors)
-const InhibitorIface = '<node> \
-<interface name="org.gnome.SessionManager.Inhibitor"> \
-<method name="GetAppId"> \
-    <arg type="s" direction="out" /> \
-</method> \
-<method name="GetReason"> \
-    <arg type="s" direction="out" /> \
-</method> \
-</interface> \
-</node>';
+const InhibitorIface = `
+<node>
+<interface name="org.gnome.SessionManager.Inhibitor">
+<method name="GetAppId">
+    <arg type="s" direction="out" />
+</method>
+<method name="GetReason">
+    <arg type="s" direction="out" />
+</method>
+</interface>
+</node>`;
 
 var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
 function Inhibitor(objectPath, initCallback, cancellable) {
@@ -49,29 +51,30 @@ function Inhibitor(objectPath, initCallback, cancellable) {
 }
 
 // Not the full interface, only the methods we use
-const SessionManagerIface = '<node> \
-<interface name="org.gnome.SessionManager"> \
-<method name="Logout"> \
-    <arg type="u" direction="in" /> \
-</method> \
-<method name="Shutdown" /> \
-<method name="Reboot" /> \
-<method name="CanShutdown"> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="IsInhibited"> \
-    <arg type="u" direction="in" /> \
-    <arg type="b" direction="out" /> \
-</method> \
-<property name="SessionIsActive" type="b" access="read"/> \
-<signal name="InhibitorAdded"> \
-    <arg type="o" direction="out"/> \
-</signal> \
-<signal name="InhibitorRemoved"> \
-    <arg type="o" direction="out"/> \
-</signal> \
-</interface> \
-</node>';
+const SessionManagerIface = `
+<node>
+<interface name="org.gnome.SessionManager">
+<method name="Logout">
+    <arg type="u" direction="in" />
+</method>
+<method name="Shutdown" />
+<method name="Reboot" />
+<method name="CanShutdown">
+    <arg type="b" direction="out" />
+</method>
+<method name="IsInhibited">
+    <arg type="u" direction="in" />
+    <arg type="b" direction="out" />
+</method>
+<property name="SessionIsActive" type="b" access="read"/>
+<signal name="InhibitorAdded">
+    <arg type="o" direction="out"/>
+</signal>
+<signal name="InhibitorRemoved">
+    <arg type="o" direction="out"/>
+</signal>
+</interface>
+</node>`;
 
 var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
 function SessionManager(initCallback, cancellable) {
diff --git a/js/misc/loginManager.js b/js/misc/loginManager.js
index ccda382ff..b5891a383 100644
--- a/js/misc/loginManager.js
+++ b/js/misc/loginManager.js
@@ -7,53 +7,56 @@ const Mainloop = imports.mainloop;
 const Shell = imports.gi.Shell;
 const Signals = imports.signals;
 
-const SystemdLoginManagerIface = '<node> \
-<interface name="org.freedesktop.login1.Manager"> \
-<method name="Suspend"> \
-    <arg type="b" direction="in"/> \
-</method> \
-<method name="CanSuspend"> \
-    <arg type="s" direction="out"/> \
-</method> \
-<method name="Inhibit"> \
-    <arg type="s" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="h" direction="out"/> \
-</method> \
-<method name="GetSession"> \
-    <arg type="s" direction="in"/> \
-    <arg type="o" direction="out"/> \
-</method> \
-<method name="ListSessions"> \
-    <arg name="sessions" type="a(susso)" direction="out"/> \
-</method> \
-<signal name="PrepareForSleep"> \
-    <arg type="b" direction="out"/> \
-</signal> \
-</interface> \
-</node>';
-
-const SystemdLoginSessionIface = '<node> \
-<interface name="org.freedesktop.login1.Session"> \
-<signal name="Lock" /> \
-<signal name="Unlock" /> \
-<property name="Active" type="b" access="read" /> \
-<property name="Class" type="s" access="read" /> \
-<property name="Id" type="s" access="read" /> \
-<method name="SetLockedHint"> \
-    <arg type="b" direction="in"/> \
-</method> \
-</interface> \
-</node>';
-
-const SystemdLoginUserIface = '<node> \
-<interface name="org.freedesktop.login1.User"> \
-<property name="Display" type="(so)" access="read" /> \
-<property name="Sessions" type="a(so)" access="read" /> \
-</interface> \
-</node>';
+const SystemdLoginManagerIface = `
+<node>
+<interface name="org.freedesktop.login1.Manager">
+<method name="Suspend">
+    <arg type="b" direction="in"/>
+</method>
+<method name="CanSuspend">
+    <arg type="s" direction="out"/>
+</method>
+<method name="Inhibit">
+    <arg type="s" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="h" direction="out"/>
+</method>
+<method name="GetSession">
+    <arg type="s" direction="in"/>
+    <arg type="o" direction="out"/>
+</method>
+<method name="ListSessions">
+    <arg name="sessions" type="a(susso)" direction="out"/>
+</method>
+<signal name="PrepareForSleep">
+    <arg type="b" direction="out"/>
+</signal>
+</interface>
+</node>`;
+
+const SystemdLoginSessionIface = `
+<node>
+<interface name="org.freedesktop.login1.Session">
+<signal name="Lock" />
+<signal name="Unlock" />
+<property name="Active" type="b" access="read" />
+<property name="Class" type="s" access="read" />
+<property name="Id" type="s" access="read" />
+<method name="SetLockedHint">
+    <arg type="b" direction="in"/>
+</method>
+</interface>
+</node>`;
+
+const SystemdLoginUserIface = `
+<node>
+<interface name="org.freedesktop.login1.User">
+<property name="Display" type="(so)" access="read" />
+<property name="Sessions" type="a(so)" access="read" />
+</interface>
+</node>`;
 
 const SystemdLoginManager = Gio.DBusProxy.makeProxyWrapper(SystemdLoginManagerIface);
 const SystemdLoginSession = Gio.DBusProxy.makeProxyWrapper(SystemdLoginSessionIface);
diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js
index 7ef265a28..c47393781 100644
--- a/js/misc/modemManager.js
+++ b/js/misc/modemManager.js
@@ -92,41 +92,43 @@ function _findProviderForSid(sid) {
 // The following are not the complete interfaces, just the methods we need
 // (or may need in the future)
 
-const ModemGsmNetworkInterface = '<node> \
-<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network"> \
-<method name="GetRegistrationInfo"> \
-    <arg type="(uss)" direction="out" /> \
-</method> \
-<method name="GetSignalQuality"> \
-    <arg type="u" direction="out" /> \
-</method> \
-<property name="AccessTechnology" type="u" access="read" /> \
-<signal name="SignalQuality"> \
-    <arg type="u" direction="out" /> \
-</signal> \
-<signal name="RegistrationInfo"> \
-    <arg type="u" direction="out" /> \
-    <arg type="s" direction="out" /> \
-    <arg type="s" direction="out" /> \
-</signal> \
-</interface> \
-</node>';
+const ModemGsmNetworkInterface = `
+<node>
+<interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
+<method name="GetRegistrationInfo">
+    <arg type="(uss)" direction="out" />
+</method>
+<method name="GetSignalQuality">
+    <arg type="u" direction="out" />
+</method>
+<property name="AccessTechnology" type="u" access="read" />
+<signal name="SignalQuality">
+    <arg type="u" direction="out" />
+</signal>
+<signal name="RegistrationInfo">
+    <arg type="u" direction="out" />
+    <arg type="s" direction="out" />
+    <arg type="s" direction="out" />
+</signal>
+</interface>
+</node>`;
 
 const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
 
-const ModemCdmaInterface = '<node> \
-<interface name="org.freedesktop.ModemManager.Modem.Cdma"> \
-<method name="GetSignalQuality"> \
-    <arg type="u" direction="out" /> \
-</method> \
-<method name="GetServingSystem"> \
-    <arg type="(usu)" direction="out" /> \
-</method> \
-<signal name="SignalQuality"> \
-    <arg type="u" direction="out" /> \
-</signal> \
-</interface> \
-</node>';
+const ModemCdmaInterface = `
+<node>
+<interface name="org.freedesktop.ModemManager.Modem.Cdma">
+<method name="GetSignalQuality">
+    <arg type="u" direction="out" />
+</method>
+<method name="GetServingSystem">
+    <arg type="(usu)" direction="out" />
+</method>
+<signal name="SignalQuality">
+    <arg type="u" direction="out" />
+</signal>
+</interface>
+</node>`;
 
 const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
 
@@ -222,26 +224,29 @@ Signals.addSignalMethods(ModemCdma.prototype);
 // Support for the new ModemManager1 interface (MM >= 0.7)
 //------------------------------------------------------------------------------
 
-const BroadbandModemInterface = '<node> \
-<interface name="org.freedesktop.ModemManager1.Modem"> \
-<property name="SignalQuality" type="(ub)" access="read" /> \
-</interface> \
-</node>';
+const BroadbandModemInterface = `
+<node>
+<interface name="org.freedesktop.ModemManager1.Modem">
+<property name="SignalQuality" type="(ub)" access="read" />
+</interface>
+</node>`;
 const BroadbandModemProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemInterface);
 
-const BroadbandModem3gppInterface = '<node> \
-<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp"> \
-<property name="OperatorCode" type="s" access="read" /> \
-<property name="OperatorName" type="s" access="read" /> \
-</interface> \
-</node>';
+const BroadbandModem3gppInterface = `
+<node>
+<interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
+<property name="OperatorCode" type="s" access="read" />
+<property name="OperatorName" type="s" access="read" />
+</interface>
+</node>`;
 const BroadbandModem3gppProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModem3gppInterface);
 
-const BroadbandModemCdmaInterface = '<node> \
-<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma"> \
-<property name="Sid" type="u" access="read" /> \
-</interface> \
-</node>';
+const BroadbandModemCdmaInterface = `
+<node>
+<interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
+<property name="Sid" type="u" access="read" />
+</interface>
+</node>`;
 const BroadbandModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(BroadbandModemCdmaInterface);
 
 var BroadbandModem = new Lang.Class({
diff --git a/js/misc/objectManager.js b/js/misc/objectManager.js
index 1ce4f8342..efe669ba3 100644
--- a/js/misc/objectManager.js
+++ b/js/misc/objectManager.js
@@ -8,21 +8,22 @@ const Signals = imports.signals;
 
 // Specified in the D-Bus specification here:
 // http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
-const ObjectManagerIface = '<node> \
-<interface name="org.freedesktop.DBus.ObjectManager"> \
-  <method name="GetManagedObjects"> \
-    <arg name="objects" type="a{oa{sa{sv}}}" direction="out"/> \
-  </method> \
-  <signal name="InterfacesAdded"> \
-    <arg name="objectPath" type="o"/> \
-    <arg name="interfaces" type="a{sa{sv}}" /> \
-  </signal> \
-  <signal name="InterfacesRemoved"> \
-    <arg name="objectPath" type="o"/> \
-    <arg name="interfaces" type="as" /> \
-  </signal> \
-</interface> \
-</node>';
+const ObjectManagerIface = `
+<node>
+<interface name="org.freedesktop.DBus.ObjectManager">
+  <method name="GetManagedObjects">
+    <arg name="objects" type="a{oa{sa{sv}}}" direction="out"/>
+  </method>
+  <signal name="InterfacesAdded">
+    <arg name="objectPath" type="o"/>
+    <arg name="interfaces" type="a{sa{sv}}" />
+  </signal>
+  <signal name="InterfacesRemoved">
+    <arg name="objectPath" type="o"/>
+    <arg name="interfaces" type="as" />
+  </signal>
+</interface>
+</node>`;
 
 const ObjectManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ObjectManagerIface);
 
diff --git a/js/misc/permissionStore.js b/js/misc/permissionStore.js
index 86c0cd820..6126e1fe4 100644
--- a/js/misc/permissionStore.js
+++ b/js/misc/permissionStore.js
@@ -2,30 +2,31 @@
 
 const Gio = imports.gi.Gio;
 
-const PermissionStoreIface = '<node> \
-  <interface name="org.freedesktop.impl.portal.PermissionStore"> \
-    <method name="Lookup"> \
-      <arg name="table" type="s" direction="in"/> \
-      <arg name="id" type="s" direction="in"/> \
-      <arg name="permissions" type="a{sas}" direction="out"/> \
-      <arg name="data" type="v" direction="out"/> \
-    </method> \
-    <method name="Set"> \
-      <arg name="table" type="s" direction="in"/> \
-      <arg name="create" type="b" direction="in"/> \
-      <arg name="id" type="s" direction="in"/> \
-      <arg name="app_permissions" type="a{sas}" direction="in"/> \
-      <arg name="data" type="v" direction="in"/> \
-    </method> \
-    <signal name="Changed"> \
-      <arg name="table" type="s" direction="out"/> \
-      <arg name="id" type="s" direction="out"/> \
-      <arg name="deleted" type="b" direction="out"/> \
-      <arg name="data" type="v" direction="out"/> \
-      <arg name="permissions" type="a{sas}" direction="out"/> \
-    </signal> \
-  </interface> \
-</node>';
+const PermissionStoreIface = `
+<node>
+  <interface name="org.freedesktop.impl.portal.PermissionStore">
+    <method name="Lookup">
+      <arg name="table" type="s" direction="in"/>
+      <arg name="id" type="s" direction="in"/>
+      <arg name="permissions" type="a{sas}" direction="out"/>
+      <arg name="data" type="v" direction="out"/>
+    </method>
+    <method name="Set">
+      <arg name="table" type="s" direction="in"/>
+      <arg name="create" type="b" direction="in"/>
+      <arg name="id" type="s" direction="in"/>
+      <arg name="app_permissions" type="a{sas}" direction="in"/>
+      <arg name="data" type="v" direction="in"/>
+    </method>
+    <signal name="Changed">
+      <arg name="table" type="s" direction="out"/>
+      <arg name="id" type="s" direction="out"/>
+      <arg name="deleted" type="b" direction="out"/>
+      <arg name="data" type="v" direction="out"/>
+      <arg name="permissions" type="a{sas}" direction="out"/>
+    </signal>
+  </interface>
+</node>`;
 
 const PermissionStoreProxy = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
 
diff --git a/js/misc/smartcardManager.js b/js/misc/smartcardManager.js
index 60808b371..51d2ea9cc 100644
--- a/js/misc/smartcardManager.js
+++ b/js/misc/smartcardManager.js
@@ -7,14 +7,15 @@ const Signals = imports.signals;
 
 const ObjectManager = imports.misc.objectManager;
 
-const SmartcardTokenIface = '<node> \
-<interface name="org.gnome.SettingsDaemon.Smartcard.Token"> \
-  <property name="Name" type="s" access="read"/> \
-  <property name="Driver" type="o" access="read"/> \
-  <property name="IsInserted" type="b" access="read"/> \
-  <property name="UsedToLogin" type="b" access="read"/> \
-</interface> \
-</node>';
+const SmartcardTokenIface = `
+<node>
+<interface name="org.gnome.SettingsDaemon.Smartcard.Token">
+  <property name="Name" type="s" access="read"/>
+  <property name="Driver" type="o" access="read"/>
+  <property name="IsInserted" type="b" access="read"/>
+  <property name="UsedToLogin" type="b" access="read"/>
+</interface>
+</node>`;
 
 let _smartcardManager = null;
 
diff --git a/js/misc/systemActions.js b/js/misc/systemActions.js
index bf8b4607f..434dd9555 100644
--- a/js/misc/systemActions.js
+++ b/js/misc/systemActions.js
@@ -22,11 +22,12 @@ const ALWAYS_SHOW_LOG_OUT_KEY = 'always-show-log-out';
 const SENSOR_BUS_NAME = 'net.hadess.SensorProxy';
 const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
 
-const SensorProxyInterface = '<node> \
-<interface name="net.hadess.SensorProxy"> \
-  <property name="HasAccelerometer" type="b" access="read"/> \
-</interface> \
-</node>';
+const SensorProxyInterface = `
+<node>
+<interface name="net.hadess.SensorProxy">
+  <property name="HasAccelerometer" type="b" access="read"/>
+</interface>
+</node>`;
 
 const POWER_OFF_ACTION_ID        = 'power-off';
 const LOCK_SCREEN_ACTION_ID      = 'lock-screen';
diff --git a/js/portalHelper/main.js b/js/portalHelper/main.js
index 838af46e9..e112f820f 100644
--- a/js/portalHelper/main.js
+++ b/js/portalHelper/main.js
@@ -30,25 +30,26 @@ const CONNECTIVITY_CHECK_HOST = 'nmcheck.gnome.org';
 const CONNECTIVITY_CHECK_URI = 'http://' + CONNECTIVITY_CHECK_HOST;
 const CONNECTIVITY_RECHECK_RATELIMIT_TIMEOUT = 30 * GLib.USEC_PER_SEC;
 
-const HelperDBusInterface = '<node> \
-<interface name="org.gnome.Shell.PortalHelper"> \
-<method name="Authenticate"> \
-    <arg type="o" direction="in" name="connection" /> \
-    <arg type="s" direction="in" name="url" /> \
-    <arg type="u" direction="in" name="timestamp" /> \
-</method> \
-<method name="Close"> \
-    <arg type="o" direction="in" name="connection" /> \
-</method> \
-<method name="Refresh"> \
-    <arg type="o" direction="in" name="connection" /> \
-</method> \
-<signal name="Done"> \
-    <arg type="o" name="connection" /> \
-    <arg type="u" name="result" /> \
-</signal> \
-</interface> \
-</node>';
+const HelperDBusInterface = `
+<node>
+<interface name="org.gnome.Shell.PortalHelper">
+<method name="Authenticate">
+    <arg type="o" direction="in" name="connection" />
+    <arg type="s" direction="in" name="url" />
+    <arg type="u" direction="in" name="timestamp" />
+</method>
+<method name="Close">
+    <arg type="o" direction="in" name="connection" />
+</method>
+<method name="Refresh">
+    <arg type="o" direction="in" name="connection" />
+</method>
+<signal name="Done">
+    <arg type="o" name="connection" />
+    <arg type="u" name="result" />
+</signal>
+</interface>
+</node>`;
 
 var PortalHeaderBar = new Lang.Class({
     Name: 'PortalHeaderBar',
diff --git a/js/ui/accessDialog.js b/js/ui/accessDialog.js
index 1bd9004e5..bb59ee5ce 100644
--- a/js/ui/accessDialog.js
+++ b/js/ui/accessDialog.js
@@ -10,27 +10,29 @@ const CheckBox = imports.ui.checkBox;
 const Dialog = imports.ui.dialog;
 const ModalDialog = imports.ui.modalDialog;
 
-const RequestIface = '<node> \
-<interface name="org.freedesktop.impl.portal.Request"> \
-<method name="Close"/> \
-</interface> \
-</node>';
-
-const AccessIface = '<node> \
-<interface name="org.freedesktop.impl.portal.Access"> \
-<method name="AccessDialog"> \
-  <arg type="o" name="handle" direction="in"/> \
-  <arg type="s" name="app_id" direction="in"/> \
-  <arg type="s" name="parent_window" direction="in"/> \
-  <arg type="s" name="title" direction="in"/> \
-  <arg type="s" name="subtitle" direction="in"/> \
-  <arg type="s" name="body" direction="in"/> \
-  <arg type="a{sv}" name="options" direction="in"/> \
-  <arg type="u" name="response" direction="out"/> \
-  <arg type="a{sv}" name="results" direction="out"/> \
-</method> \
-</interface> \
-</node>';
+const RequestIface = `
+<node>
+<interface name="org.freedesktop.impl.portal.Request">
+<method name="Close"/>
+</interface>
+</node>`;
+
+const AccessIface = `
+<node>
+<interface name="org.freedesktop.impl.portal.Access">
+<method name="AccessDialog">
+  <arg type="o" name="handle" direction="in"/>
+  <arg type="s" name="app_id" direction="in"/>
+  <arg type="s" name="parent_window" direction="in"/>
+  <arg type="s" name="title" direction="in"/>
+  <arg type="s" name="subtitle" direction="in"/>
+  <arg type="s" name="body" direction="in"/>
+  <arg type="a{sv}" name="options" direction="in"/>
+  <arg type="u" name="response" direction="out"/>
+  <arg type="a{sv}" name="results" direction="out"/>
+</method>
+</interface>
+</node>`;
 
 var DialogResponse = {
     OK: 0,
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 785b9f764..623dc6f38 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -66,11 +66,12 @@ var PAGE_SWITCH_TIME = 0.3;
 const SWITCHEROO_BUS_NAME = 'net.hadess.SwitcherooControl';
 const SWITCHEROO_OBJECT_PATH = '/net/hadess/SwitcherooControl';
 
-const SwitcherooProxyInterface = '<node> \
-<interface name="net.hadess.SwitcherooControl"> \
-  <property name="HasDualGpu" type="b" access="read"/> \
-</interface> \
-</node>';
+const SwitcherooProxyInterface = `
+<node>
+<interface name="net.hadess.SwitcherooControl">
+  <property name="HasDualGpu" type="b" access="read"/>
+</interface>
+</node>`;
 
 const SwitcherooProxy = Gio.DBusProxy.makeProxyWrapper(SwitcherooProxyInterface);
 let discreteGpuAvailable = false;
diff --git a/js/ui/audioDeviceSelection.js b/js/ui/audioDeviceSelection.js
index de8af09b6..8010ec12c 100644
--- a/js/ui/audioDeviceSelection.js
+++ b/js/ui/audioDeviceSelection.js
@@ -15,18 +15,19 @@ var AudioDevice = {
     MICROPHONE: 1 << 2
 };
 
-const AudioDeviceSelectionIface = '<node> \
-<interface name="org.gnome.Shell.AudioDeviceSelection"> \
-<method name="Open"> \
-    <arg name="devices" direction="in" type="as" /> \
-</method> \
-<method name="Close"> \
-</method> \
-<signal name="DeviceSelected"> \
-    <arg name="device" type="s" /> \
-</signal> \
-</interface> \
-</node>';
+const AudioDeviceSelectionIface = `
+<node>
+<interface name="org.gnome.Shell.AudioDeviceSelection">
+<method name="Open">
+    <arg name="devices" direction="in" type="as" />
+</method>
+<method name="Close">
+</method>
+<signal name="DeviceSelected">
+    <arg name="device" type="s" />
+</signal>
+</interface>
+</node>`;
 
 var AudioDeviceSelectionDialog = new Lang.Class({
     Name: 'AudioDeviceSelectionDialog',
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index 651aac610..990cac243 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -134,18 +134,19 @@ var EmptyEventSource = new Lang.Class({
 });
 Signals.addSignalMethods(EmptyEventSource.prototype);
 
-const CalendarServerIface = '<node> \
-<interface name="org.gnome.Shell.CalendarServer"> \
-<method name="GetEvents"> \
-    <arg type="x" direction="in" /> \
-    <arg type="x" direction="in" /> \
-    <arg type="b" direction="in" /> \
-    <arg type="a(sssbxxa{sv})" direction="out" /> \
-</method> \
-<property name="HasCalendars" type="b" access="read" /> \
-<signal name="Changed" /> \
-</interface> \
-</node>';
+const CalendarServerIface = `
+<node>
+<interface name="org.gnome.Shell.CalendarServer">
+<method name="GetEvents">
+    <arg type="x" direction="in" />
+    <arg type="x" direction="in" />
+    <arg type="b" direction="in" />
+    <arg type="a(sssbxxa{sv})" direction="out" />
+</method>
+<property name="HasCalendars" type="b" access="read" />
+<signal name="Changed" />
+</interface>
+</node>`;
 
 const CalendarServerInfo  = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
 
diff --git a/js/ui/components/autorunManager.js b/js/ui/components/autorunManager.js
index bbd732876..37c774c53 100644
--- a/js/ui/components/autorunManager.js
+++ b/js/ui/components/autorunManager.js
@@ -74,14 +74,15 @@ function startAppForMount(app, mount) {
 
 /******************************************/
 
-const HotplugSnifferIface = '<node> \
-<interface name="org.gnome.Shell.HotplugSniffer"> \
-<method name="SniffURI"> \
-    <arg type="s" direction="in" /> \
-    <arg type="as" direction="out" /> \
-</method> \
-</interface> \
-</node>';
+const HotplugSnifferIface = `
+<node>
+<interface name="org.gnome.Shell.HotplugSniffer">
+<method name="SniffURI">
+    <arg type="s" direction="in" />
+    <arg type="as" direction="out" />
+</method>
+</interface>
+</node>`;
 
 const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
 function HotplugSniffer() {
diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
index 5491fbb19..a6b928ce2 100644
--- a/js/ui/endSessionDialog.js
+++ b/js/ui/endSessionDialog.js
@@ -43,22 +43,23 @@ const _DIALOG_ICON_SIZE = 48;
 
 var GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
 
-const EndSessionDialogIface = '<node> \
-<interface name="org.gnome.SessionManager.EndSessionDialog"> \
-<method name="Open"> \
-    <arg type="u" direction="in" /> \
-    <arg type="u" direction="in" /> \
-    <arg type="u" direction="in" /> \
-    <arg type="ao" direction="in" /> \
-</method> \
-<method name="Close" /> \
-<signal name="ConfirmedLogout" /> \
-<signal name="ConfirmedReboot" /> \
-<signal name="ConfirmedShutdown" /> \
-<signal name="Canceled" /> \
-<signal name="Closed" /> \
-</interface> \
-</node>';
+const EndSessionDialogIface = `
+<node>
+<interface name="org.gnome.SessionManager.EndSessionDialog">
+<method name="Open">
+    <arg type="u" direction="in" />
+    <arg type="u" direction="in" />
+    <arg type="u" direction="in" />
+    <arg type="ao" direction="in" />
+</method>
+<method name="Close" />
+<signal name="ConfirmedLogout" />
+<signal name="ConfirmedReboot" />
+<signal name="ConfirmedShutdown" />
+<signal name="Canceled" />
+<signal name="Closed" />
+</interface>
+</node>`;
 
 const logoutDialogContent = {
     subjectWithUser: C_("title", "Log Out %s"),
@@ -168,39 +169,42 @@ const DialogContent = {
 
 var MAX_USERS_IN_SESSION_DIALOG = 5;
 
-const LogindSessionIface = '<node> \
-<interface name="org.freedesktop.login1.Session"> \
-    <property name="Id" type="s" access="read"/> \
-    <property name="Remote" type="b" access="read"/> \
-    <property name="Class" type="s" access="read"/> \
-    <property name="Type" type="s" access="read"/> \
-    <property name="State" type="s" access="read"/> \
-</interface> \
-</node>';
+const LogindSessionIface = `
+<node>
+<interface name="org.freedesktop.login1.Session">
+    <property name="Id" type="s" access="read"/>
+    <property name="Remote" type="b" access="read"/>
+    <property name="Class" type="s" access="read"/>
+    <property name="Type" type="s" access="read"/>
+    <property name="State" type="s" access="read"/>
+</interface>
+</node>`;
 
 const LogindSession = Gio.DBusProxy.makeProxyWrapper(LogindSessionIface);
 
-const PkOfflineIface = '<node> \
-<interface name="org.freedesktop.PackageKit.Offline"> \
-    <property name="UpdatePrepared" type="b" access="read"/> \
-    <property name="UpdateTriggered" type="b" access="read"/> \
-    <property name="UpgradePrepared" type="b" access="read"/> \
-    <property name="UpgradeTriggered" type="b" access="read"/> \
-    <property name="PreparedUpgrade" type="a{sv}" access="read"/> \
-    <method name="Trigger"> \
-        <arg type="s" name="action" direction="in"/> \
-    </method> \
-    <method name="Cancel"/> \
-</interface> \
-</node>';
+const PkOfflineIface = `
+<node>
+<interface name="org.freedesktop.PackageKit.Offline">
+    <property name="UpdatePrepared" type="b" access="read"/>
+    <property name="UpdateTriggered" type="b" access="read"/>
+    <property name="UpgradePrepared" type="b" access="read"/>
+    <property name="UpgradeTriggered" type="b" access="read"/>
+    <property name="PreparedUpgrade" type="a{sv}" access="read"/>
+    <method name="Trigger">
+        <arg type="s" name="action" direction="in"/>
+    </method>
+    <method name="Cancel"/>
+</interface>
+</node>`;
 
 const PkOfflineProxy = Gio.DBusProxy.makeProxyWrapper(PkOfflineIface);
 
-const UPowerIface = '<node> \
-<interface name="org.freedesktop.UPower"> \
-    <property name="OnBattery" type="b" access="read"/> \
-</interface> \
-</node>';
+const UPowerIface = `
+<node>
+<interface name="org.freedesktop.UPower">
+    <property name="OnBattery" type="b" access="read"/>
+</interface>
+</node>`;
 
 const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(UPowerIface);
 
diff --git a/js/ui/magnifierDBus.js b/js/ui/magnifierDBus.js
index cf8b43098..c796d0735 100644
--- a/js/ui/magnifierDBus.js
+++ b/js/ui/magnifierDBus.js
@@ -9,89 +9,91 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
 
 // Subset of gnome-mag's Magnifier dbus interface -- to be expanded.  See:
 // http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
-const MagnifierIface = '<node> \
-<interface name="org.gnome.Magnifier"> \
-<method name="setActive"> \
-    <arg type="b" direction="in" /> \
-</method> \
-<method name="isActive"> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="showCursor" /> \
-<method name="hideCursor" /> \
-<method name="createZoomRegion"> \
-    <arg type="d" direction="in" /> \
-    <arg type="d" direction="in" /> \
-    <arg type="ai" direction="in" /> \
-    <arg type="ai" direction="in" /> \
-    <arg type="o" direction="out" /> \
-</method> \
-<method name="addZoomRegion"> \
-    <arg type="o" direction="in" /> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="getZoomRegions"> \
-    <arg type="ao" direction="out" /> \
-</method> \
-<method name="clearAllZoomRegions" /> \
-<method name="fullScreenCapable"> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="setCrosswireSize"> \
-    <arg type="i" direction="in" /> \
-</method> \
-<method name="getCrosswireSize"> \
-    <arg type="i" direction="out" /> \
-</method> \
-<method name="setCrosswireLength"> \
-    <arg type="i" direction="in" /> \
-</method> \
-<method name="getCrosswireLength"> \
-    <arg type="i" direction="out" /> \
-</method> \
-<method name="setCrosswireClip"> \
-    <arg type="b" direction="in" /> \
-</method> \
-<method name="getCrosswireClip"> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="setCrosswireColor"> \
-    <arg type="u" direction="in" /> \
-</method> \
-<method name="getCrosswireColor"> \
-    <arg type="u" direction="out" /> \
-</method> \
-</interface> \
-</node>';
+const MagnifierIface = `
+<node>
+<interface name="org.gnome.Magnifier">
+<method name="setActive">
+    <arg type="b" direction="in" />
+</method>
+<method name="isActive">
+    <arg type="b" direction="out" />
+</method>
+<method name="showCursor" />
+<method name="hideCursor" />
+<method name="createZoomRegion">
+    <arg type="d" direction="in" />
+    <arg type="d" direction="in" />
+    <arg type="ai" direction="in" />
+    <arg type="ai" direction="in" />
+    <arg type="o" direction="out" />
+</method>
+<method name="addZoomRegion">
+    <arg type="o" direction="in" />
+    <arg type="b" direction="out" />
+</method>
+<method name="getZoomRegions">
+    <arg type="ao" direction="out" />
+</method>
+<method name="clearAllZoomRegions" />
+<method name="fullScreenCapable">
+    <arg type="b" direction="out" />
+</method>
+<method name="setCrosswireSize">
+    <arg type="i" direction="in" />
+</method>
+<method name="getCrosswireSize">
+    <arg type="i" direction="out" />
+</method>
+<method name="setCrosswireLength">
+    <arg type="i" direction="in" />
+</method>
+<method name="getCrosswireLength">
+    <arg type="i" direction="out" />
+</method>
+<method name="setCrosswireClip">
+    <arg type="b" direction="in" />
+</method>
+<method name="getCrosswireClip">
+    <arg type="b" direction="out" />
+</method>
+<method name="setCrosswireColor">
+    <arg type="u" direction="in" />
+</method>
+<method name="getCrosswireColor">
+    <arg type="u" direction="out" />
+</method>
+</interface>
+</node>`;
 
 // Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded.  See:
 // http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
-const ZoomRegionIface = '<node> \
-<interface name="org.gnome.Magnifier.ZoomRegion"> \
-<method name="setMagFactor"> \
-    <arg type="d" direction="in" /> \
-    <arg type="d" direction="in" /> \
-</method> \
-<method name="getMagFactor"> \
-    <arg type="d" direction="out" /> \
-    <arg type="d" direction="out" /> \
-</method> \
-<method name="setRoi"> \
-    <arg type="ai" direction="in" /> \
-</method> \
-<method name="getRoi"> \
-    <arg type="ai" direction="out" /> \
-</method> \
-<method name="shiftContentsTo"> \
-    <arg type="i" direction="in" /> \
-    <arg type="i" direction="in" /> \
-    <arg type="b" direction="out" /> \
-</method> \
-<method name="moveResize"> \
-    <arg type="ai" direction="in" /> \
-</method> \
-</interface> \
-</node>';
+const ZoomRegionIface = `
+<node>
+<interface name="org.gnome.Magnifier.ZoomRegion">
+<method name="setMagFactor">
+    <arg type="d" direction="in" />
+    <arg type="d" direction="in" />
+</method>
+<method name="getMagFactor">
+    <arg type="d" direction="out" />
+    <arg type="d" direction="out" />
+</method>
+<method name="setRoi">
+    <arg type="ai" direction="in" />
+</method>
+<method name="getRoi">
+    <arg type="ai" direction="out" />
+</method>
+<method name="shiftContentsTo">
+    <arg type="i" direction="in" />
+    <arg type="i" direction="in" />
+    <arg type="b" direction="out" />
+</method>
+<method name="moveResize">
+    <arg type="ai" direction="in" />
+</method>
+</interface>
+</node>`;
 
 // For making unique ZoomRegion DBus proxy object paths of the form:
 // '/org/gnome/Magnifier/ZoomRegion/zoomer0',
diff --git a/js/ui/mpris.js b/js/ui/mpris.js
index 2e80e995d..a3b369ce2 100644
--- a/js/ui/mpris.js
+++ b/js/ui/mpris.js
@@ -8,41 +8,44 @@ const Calendar = imports.ui.calendar;
 const Main = imports.ui.main;
 const MessageList = imports.ui.messageList;
 
-const DBusIface = '<node> \
-<interface name="org.freedesktop.DBus"> \
-  <method name="ListNames"> \
-    <arg type="as" direction="out" name="names" /> \
-  </method> \
-  <signal name="NameOwnerChanged"> \
-    <arg type="s" direction="out" name="name" /> \
-    <arg type="s" direction="out" name="oldOwner" /> \
-    <arg type="s" direction="out" name="newOwner" /> \
-  </signal> \
-</interface> \
-</node>';
+const DBusIface = `
+<node>
+<interface name="org.freedesktop.DBus">
+  <method name="ListNames">
+    <arg type="as" direction="out" name="names" />
+  </method>
+  <signal name="NameOwnerChanged">
+    <arg type="s" direction="out" name="name" />
+    <arg type="s" direction="out" name="oldOwner" />
+    <arg type="s" direction="out" name="newOwner" />
+  </signal>
+</interface>
+</node>`;
 const DBusProxy = Gio.DBusProxy.makeProxyWrapper(DBusIface);
 
-const MprisIface = '<node> \
-<interface name="org.mpris.MediaPlayer2"> \
-  <method name="Raise" /> \
-  <property name="CanRaise" type="b" access="read" /> \
-  <property name="DesktopEntry" type="s" access="read" /> \
-</interface> \
-</node>';
+const MprisIface = `
+<node>
+<interface name="org.mpris.MediaPlayer2">
+  <method name="Raise" />
+  <property name="CanRaise" type="b" access="read" />
+  <property name="DesktopEntry" type="s" access="read" />
+</interface>
+</node>`;
 const MprisProxy = Gio.DBusProxy.makeProxyWrapper(MprisIface);
 
-const MprisPlayerIface = '<node> \
-<interface name="org.mpris.MediaPlayer2.Player"> \
-  <method name="PlayPause" /> \
-  <method name="Next" /> \
-  <method name="Previous" /> \
-  <property name="CanGoNext" type="b" access="read" /> \
-  <property name="CanGoPrevious" type="b" access="read" /> \
-  <property name="CanPlay" type="b" access="read" /> \
-  <property name="Metadata" type="a{sv}" access="read" /> \
-  <property name="PlaybackStatus" type="s" access="read" /> \
-</interface> \
-</node>';
+const MprisPlayerIface = `
+<node>
+<interface name="org.mpris.MediaPlayer2.Player">
+  <method name="PlayPause" />
+  <method name="Next" />
+  <method name="Previous" />
+  <property name="CanGoNext" type="b" access="read" />
+  <property name="CanGoPrevious" type="b" access="read" />
+  <property name="CanPlay" type="b" access="read" />
+  <property name="Metadata" type="a{sv}" access="read" />
+  <property name="PlaybackStatus" type="s" access="read" />
+</interface>
+</node>`;
 const MprisPlayerProxy = Gio.DBusProxy.makeProxyWrapper(MprisPlayerIface);
 
 const MPRIS_PLAYER_PREFIX = 'org.mpris.MediaPlayer2.';
diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
index 2b5a453c7..19d23da14 100644
--- a/js/ui/notificationDaemon.js
+++ b/js/ui/notificationDaemon.js
@@ -17,55 +17,57 @@ const Params = imports.misc.params;
 const Util = imports.misc.util;
 
 // Should really be defined in Gio.js
-const BusIface = '<node> \
-<interface name="org.freedesktop.DBus"> \
-<method name="GetConnectionUnixProcessID"> \
-    <arg type="s" direction="in" /> \
-    <arg type="u" direction="out" /> \
-</method> \
-</interface> \
-</node>';
+const BusIface = `
+<node>
+<interface name="org.freedesktop.DBus">
+<method name="GetConnectionUnixProcessID">
+    <arg type="s" direction="in" />
+    <arg type="u" direction="out" />
+</method>
+</interface>
+</node>`;
 
 var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
 function Bus() {
     return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
 }
 
-const FdoNotificationsIface = '<node> \
-<interface name="org.freedesktop.Notifications"> \
-<method name="Notify"> \
-    <arg type="s" direction="in"/> \
-    <arg type="u" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="s" direction="in"/> \
-    <arg type="as" direction="in"/> \
-    <arg type="a{sv}" direction="in"/> \
-    <arg type="i" direction="in"/> \
-    <arg type="u" direction="out"/> \
-</method> \
-<method name="CloseNotification"> \
-    <arg type="u" direction="in"/> \
-</method> \
-<method name="GetCapabilities"> \
-    <arg type="as" direction="out"/> \
-</method> \
-<method name="GetServerInformation"> \
-    <arg type="s" direction="out"/> \
-    <arg type="s" direction="out"/> \
-    <arg type="s" direction="out"/> \
-    <arg type="s" direction="out"/> \
-</method> \
-<signal name="NotificationClosed"> \
-    <arg type="u"/> \
-    <arg type="u"/> \
-</signal> \
-<signal name="ActionInvoked"> \
-    <arg type="u"/> \
-    <arg type="s"/> \
-</signal> \
-</interface> \
-</node>';
+const FdoNotificationsIface = `
+<node>
+<interface name="org.freedesktop.Notifications">
+<method name="Notify">
+    <arg type="s" direction="in"/>
+    <arg type="u" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="s" direction="in"/>
+    <arg type="as" direction="in"/>
+    <arg type="a{sv}" direction="in"/>
+    <arg type="i" direction="in"/>
+    <arg type="u" direction="out"/>
+</method>
+<method name="CloseNotification">
+    <arg type="u" direction="in"/>
+</method>
+<method name="GetCapabilities">
+    <arg type="as" direction="out"/>
+</method>
+<method name="GetServerInformation">
+    <arg type="s" direction="out"/>
+    <arg type="s" direction="out"/>
+    <arg type="s" direction="out"/>
+    <arg type="s" direction="out"/>
+</method>
+<signal name="NotificationClosed">
+    <arg type="u"/>
+    <arg type="u"/>
+</signal>
+<signal name="ActionInvoked">
+    <arg type="u"/>
+    <arg type="s"/>
+</signal>
+</interface>
+</node>`;
 
 var NotificationClosedReason = {
     EXPIRED: 1,
@@ -654,18 +656,19 @@ var GtkNotificationDaemonNotification = new Lang.Class({
     },
 });
 
-const FdoApplicationIface = '<node> \
-<interface name="org.freedesktop.Application"> \
-<method name="ActivateAction"> \
-    <arg type="s" direction="in" /> \
-    <arg type="av" direction="in" /> \
-    <arg type="a{sv}" direction="in" /> \
-</method> \
-<method name="Activate"> \
-    <arg type="a{sv}" direction="in" /> \
-</method> \
-</interface> \
-</node>';
+const FdoApplicationIface = `
+<node>
+<interface name="org.freedesktop.Application">
+<method name="ActivateAction">
+    <arg type="s" direction="in" />
+    <arg type="av" direction="in" />
+    <arg type="a{sv}" direction="in" />
+</method>
+<method name="Activate">
+    <arg type="a{sv}" direction="in" />
+</method>
+</interface>
+</node>`;
 const FdoApplicationProxy = Gio.DBusProxy.makeProxyWrapper(FdoApplicationIface);
 
 function objectPathFromAppId(appId) {
@@ -774,19 +777,20 @@ var GtkNotificationDaemonAppSource = new Lang.Class({
     },
 });
 
-const GtkNotificationsIface = '<node> \
-<interface name="org.gtk.Notifications"> \
-<method name="AddNotification"> \
-    <arg type="s" direction="in" /> \
-    <arg type="s" direction="in" /> \
-    <arg type="a{sv}" direction="in" /> \
-</method> \
-<method name="RemoveNotification"> \
-    <arg type="s" direction="in" /> \
-    <arg type="s" direction="in" /> \
-</method> \
-</interface> \
-</node>';
+const GtkNotificationsIface = `
+<node>
+<interface name="org.gtk.Notifications">
+<method name="AddNotification">
+    <arg type="s" direction="in" />
+    <arg type="s" direction="in" />
+    <arg type="a{sv}" direction="in" />
+</method>
+<method name="RemoveNotification">
+    <arg type="s" direction="in" />
+    <arg type="s" direction="in" />
+</method>
+</interface>
+</node>`;
 
 var GtkNotificationDaemon = new Lang.Class({
     Name: 'GtkNotificationDaemon',
diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js
index 8ef20b67b..76321f5f5 100644
--- a/js/ui/padOsd.js
+++ b/js/ui/padOsd.js
@@ -962,14 +962,15 @@ var PadOsd = new Lang.Class({
 });
 Signals.addSignalMethods(PadOsd.prototype);
 
-const PadOsdIface = '<node> \
-<interface name="org.gnome.Shell.Wacom.PadOsd"> \
-<method name="Show"> \
-    <arg name="device_node" direction="in" type="o"/> \
-    <arg name="edition_mode" direction="in" type="b"/> \
-</method> \
-</interface> \
-</node>';
+const PadOsdIface = `
+<node>
+<interface name="org.gnome.Shell.Wacom.PadOsd">
+<method name="Show">
+    <arg name="device_node" direction="in" type="o"/>
+    <arg name="edition_mode" direction="in" type="b"/>
+</method>
+</interface>
+</node>`;
 
 var PadOsdService = new Lang.Class({
     Name: 'PadOsdService',
diff --git a/js/ui/remoteSearch.js b/js/ui/remoteSearch.js
index c6c5a29ca..3b847af5b 100644
--- a/js/ui/remoteSearch.js
+++ b/js/ui/remoteSearch.js
@@ -12,53 +12,55 @@ const Search = imports.ui.search;
 
 const KEY_FILE_GROUP = 'Shell Search Provider';
 
-const SearchProviderIface = '<node> \
-<interface name="org.gnome.Shell.SearchProvider"> \
-<method name="GetInitialResultSet"> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="out" /> \
-</method> \
-<method name="GetSubsearchResultSet"> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="out" /> \
-</method> \
-<method name="GetResultMetas"> \
-    <arg type="as" direction="in" /> \
-    <arg type="aa{sv}" direction="out" /> \
-</method> \
-<method name="ActivateResult"> \
-    <arg type="s" direction="in" /> \
-</method> \
-</interface> \
-</node>';
-
-const SearchProvider2Iface = '<node> \
-<interface name="org.gnome.Shell.SearchProvider2"> \
-<method name="GetInitialResultSet"> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="out" /> \
-</method> \
-<method name="GetSubsearchResultSet"> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="in" /> \
-    <arg type="as" direction="out" /> \
-</method> \
-<method name="GetResultMetas"> \
-    <arg type="as" direction="in" /> \
-    <arg type="aa{sv}" direction="out" /> \
-</method> \
-<method name="ActivateResult"> \
-    <arg type="s" direction="in" /> \
-    <arg type="as" direction="in" /> \
-    <arg type="u" direction="in" /> \
-</method> \
-<method name="LaunchSearch"> \
-    <arg type="as" direction="in" /> \
-    <arg type="u" direction="in" /> \
-</method> \
-</interface> \
-</node>';
+const SearchProviderIface = `
+<node>
+<interface name="org.gnome.Shell.SearchProvider">
+<method name="GetInitialResultSet">
+    <arg type="as" direction="in" />
+    <arg type="as" direction="out" />
+</method>
+<method name="GetSubsearchResultSet">
+    <arg type="as" direction="in" />
+    <arg type="as" direction="in" />
+    <arg type="as" direction="out" />
+</method>
+<method name="GetResultMetas">
+    <arg type="as" direction="in" />
+    <arg type="aa{sv}" direction="out" />
+</method>
+<method name="ActivateResult">
+    <arg type="s" direction="in" />
+</method>
+</interface>
+</node>`;
+
+const SearchProvider2Iface = `
+<node>
+<interface name="org.gnome.Shell.SearchProvider2">
+<method name="GetInitialResultSet">
+    <arg type="as" direction="in" />
+    <arg type="as" direction="out" />
+</method>
+<method name="GetSubsearchResultSet">
+    <arg type="as" direction="in" />
+    <arg type="as" direction="in" />
+    <arg type="as" direction="out" />
+</method>
+<method name="GetResultMetas">
+    <arg type="as" direction="in" />
+    <arg type="aa{sv}" direction="out" />
+</method>
+<method name="ActivateResult">
+    <arg type="s" direction="in" />
+    <arg type="as" direction="in" />
+    <arg type="u" direction="in" />
+</method>
+<method name="LaunchSearch">
+    <arg type="as" direction="in" />
+    <arg type="u" direction="in" />
+</method>
+</interface>
+</node>`;
 
 var SearchProviderProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProviderIface);
 var SearchProvider2ProxyInfo = Gio.DBusInterfaceInfo.new_for_xml(SearchProvider2Iface);
diff --git a/js/ui/screencast.js b/js/ui/screencast.js
index bf5d954c8..91514e3a0 100644
--- a/js/ui/screencast.js
+++ b/js/ui/screencast.js
@@ -8,29 +8,30 @@ const Signals = imports.signals;
 
 const Main = imports.ui.main;
 
-const ScreencastIface = '<node> \
-<interface name="org.gnome.Shell.Screencast"> \
-<method name="Screencast"> \
-    <arg type="s" direction="in" name="file_template"/> \
-    <arg type="a{sv}" direction="in" name="options"/> \
-    <arg type="b" direction="out" name="success"/> \
-    <arg type="s" direction="out" name="filename_used"/> \
-</method> \
-<method name="ScreencastArea"> \
-    <arg type="i" direction="in" name="x"/> \
-    <arg type="i" direction="in" name="y"/> \
-    <arg type="i" direction="in" name="width"/> \
-    <arg type="i" direction="in" name="height"/> \
-    <arg type="s" direction="in" name="file_template"/> \
-    <arg type="a{sv}" direction="in" name="options"/> \
-    <arg type="b" direction="out" name="success"/> \
-    <arg type="s" direction="out" name="filename_used"/> \
-</method> \
-<method name="StopScreencast"> \
-    <arg type="b" direction="out" name="success"/> \
-</method> \
-</interface> \
-</node>';
+const ScreencastIface = `
+<node>
+<interface name="org.gnome.Shell.Screencast">
+<method name="Screencast">
+    <arg type="s" direction="in" name="file_template"/>
+    <arg type="a{sv}" direction="in" name="options"/>
+    <arg type="b" direction="out" name="success"/>
+    <arg type="s" direction="out" name="filename_used"/>
+</method>
+<method name="ScreencastArea">
+    <arg type="i" direction="in" name="x"/>
+    <arg type="i" direction="in" name="y"/>
+    <arg type="i" direction="in" name="width"/>
+    <arg type="i" direction="in" name="height"/>
+    <arg type="s" direction="in" name="file_template"/>
+    <arg type="a{sv}" direction="in" name="options"/>
+    <arg type="b" direction="out" name="success"/>
+    <arg type="s" direction="out" name="filename_used"/>
+</method>
+<method name="StopScreencast">
+    <arg type="b" direction="out" name="success"/>
+</method>
+</interface>
+</node>`;
 
 var ScreencastService = new Lang.Class({
     Name: 'ScreencastService',
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
index 356a8ccfa..653454256 100644
--- a/js/ui/screenshot.js
+++ b/js/ui/screenshot.js
@@ -16,50 +16,51 @@ const Lightbox = imports.ui.lightbox;
 const Main = imports.ui.main;
 const Tweener = imports.ui.tweener;
 
-const ScreenshotIface = '<node> \
-<interface name="org.gnome.Shell.Screenshot"> \
-<method name="ScreenshotArea"> \
-    <arg type="i" direction="in" name="x"/> \
-    <arg type="i" direction="in" name="y"/> \
-    <arg type="i" direction="in" name="width"/> \
-    <arg type="i" direction="in" name="height"/> \
-    <arg type="b" direction="in" name="flash"/> \
-    <arg type="s" direction="in" name="filename"/> \
-    <arg type="b" direction="out" name="success"/> \
-    <arg type="s" direction="out" name="filename_used"/> \
-</method> \
-<method name="ScreenshotWindow"> \
-    <arg type="b" direction="in" name="include_frame"/> \
-    <arg type="b" direction="in" name="include_cursor"/> \
-    <arg type="b" direction="in" name="flash"/> \
-    <arg type="s" direction="in" name="filename"/> \
-    <arg type="b" direction="out" name="success"/> \
-    <arg type="s" direction="out" name="filename_used"/> \
-</method> \
-<method name="Screenshot"> \
-    <arg type="b" direction="in" name="include_cursor"/> \
-    <arg type="b" direction="in" name="flash"/> \
-    <arg type="s" direction="in" name="filename"/> \
-    <arg type="b" direction="out" name="success"/> \
-    <arg type="s" direction="out" name="filename_used"/> \
-</method> \
-<method name="SelectArea"> \
-    <arg type="i" direction="out" name="x"/> \
-    <arg type="i" direction="out" name="y"/> \
-    <arg type="i" direction="out" name="width"/> \
-    <arg type="i" direction="out" name="height"/> \
-</method> \
-<method name="FlashArea"> \
-    <arg type="i" direction="in" name="x"/> \
-    <arg type="i" direction="in" name="y"/> \
-    <arg type="i" direction="in" name="width"/> \
-    <arg type="i" direction="in" name="height"/> \
-</method> \
-<method name="PickColor"> \
-    <arg type="a{sv}" direction="out" name="result"/> \
-</method> \
-</interface> \
-</node>';
+const ScreenshotIface = `
+<node>
+<interface name="org.gnome.Shell.Screenshot">
+<method name="ScreenshotArea">
+    <arg type="i" direction="in" name="x"/>
+    <arg type="i" direction="in" name="y"/>
+    <arg type="i" direction="in" name="width"/>
+    <arg type="i" direction="in" name="height"/>
+    <arg type="b" direction="in" name="flash"/>
+    <arg type="s" direction="in" name="filename"/>
+    <arg type="b" direction="out" name="success"/>
+    <arg type="s" direction="out" name="filename_used"/>
+</method>
+<method name="ScreenshotWindow">
+    <arg type="b" direction="in" name="include_frame"/>
+    <arg type="b" direction="in" name="include_cursor"/>
+    <arg type="b" direction="in" name="flash"/>
+    <arg type="s" direction="in" name="filename"/>
+    <arg type="b" direction="out" name="success"/>
+    <arg type="s" direction="out" name="filename_used"/>
+</method>
+<method name="Screenshot">
+    <arg type="b" direction="in" name="include_cursor"/>
+    <arg type="b" direction="in" name="flash"/>
+    <arg type="s" direction="in" name="filename"/>
+    <arg type="b" direction="out" name="success"/>
+    <arg type="s" direction="out" name="filename_used"/>
+</method>
+<method name="SelectArea">
+    <arg type="i" direction="out" name="x"/>
+    <arg type="i" direction="out" name="y"/>
+    <arg type="i" direction="out" name="width"/>
+    <arg type="i" direction="out" name="height"/>
+</method>
+<method name="FlashArea">
+    <arg type="i" direction="in" name="x"/>
+    <arg type="i" direction="in" name="y"/>
+    <arg type="i" direction="in" name="width"/>
+    <arg type="i" direction="in" name="height"/>
+</method>
+<method name="PickColor">
+    <arg type="a{sv}" direction="out" name="result"/>
+</method>
+</interface>
+</node>`;
 
 var ScreenshotService = new Lang.Class({
     Name: 'ScreenshotService',
diff --git a/js/ui/scripting.js b/js/ui/scripting.js
index c96ebd1f9..b325eb10d 100644
--- a/js/ui/scripting.js
+++ b/js/ui/scripting.js
@@ -68,19 +68,20 @@ function waitLeisure() {
     return callback => { cb = callback; };
 }
 
-const PerfHelperIface = '<node> \
-<interface name="org.gnome.Shell.PerfHelper"> \
-<method name="CreateWindow"> \
-    <arg type="i" direction="in" /> \
-    <arg type="i" direction="in" /> \
-    <arg type="b" direction="in" /> \
-    <arg type="b" direction="in" /> \
-    <arg type="b" direction="in" /> \
-</method> \
-<method name="WaitWindows" /> \
-<method name="DestroyWindows" /> \
-</interface> \
-</node>';
+const PerfHelperIface = `
+<node>
+<interface name="org.gnome.Shell.PerfHelper">
+<method name="CreateWindow">
+    <arg type="i" direction="in" />
+    <arg type="i" direction="in" />
+    <arg type="b" direction="in" />
+    <arg type="b" direction="in" />
+    <arg type="b" direction="in" />
+</method>
+<method name="WaitWindows" />
+<method name="DestroyWindows" />
+</interface>
+</node>`;
 
 var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
 function PerfHelper() {
diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js
index 4d60ef45b..871fe9924 100644
--- a/js/ui/shellDBus.js
+++ b/js/ui/shellDBus.js
@@ -14,70 +14,72 @@ const Main = imports.ui.main;
 const Screenshot = imports.ui.screenshot;
 const ViewSelector = imports.ui.viewSelector;
 
-const GnomeShellIface = '<node> \
-<interface name="org.gnome.Shell"> \
-<method name="Eval"> \
-    <arg type="s" direction="in" name="script" /> \
-    <arg type="b" direction="out" name="success" /> \
-    <arg type="s" direction="out" name="result" /> \
-</method> \
-<method name="FocusSearch"/> \
-<method name="ShowOSD"> \
-    <arg type="a{sv}" direction="in" name="params"/> \
-</method> \
-<method name="ShowMonitorLabels"> \
-    <arg type="a{uv}" direction="in" name="params" /> \
-</method> \
-<method name="ShowMonitorLabels2"> \
-    <arg type="a{sv}" direction="in" name="params" /> \
-</method> \
-<method name="HideMonitorLabels" /> \
-<method name="FocusApp"> \
-    <arg type="s" direction="in" name="id"/> \
-</method> \
-<method name="ShowApplications" /> \
-<method name="GrabAccelerator"> \
-    <arg type="s" direction="in" name="accelerator"/> \
-    <arg type="u" direction="in" name="flags"/> \
-    <arg type="u" direction="out" name="action"/> \
-</method> \
-<method name="GrabAccelerators"> \
-    <arg type="a(su)" direction="in" name="accelerators"/> \
-    <arg type="au" direction="out" name="actions"/> \
-</method> \
-<method name="UngrabAccelerator"> \
-    <arg type="u" direction="in" name="action"/> \
-    <arg type="b" direction="out" name="success"/> \
-</method> \
-<signal name="AcceleratorActivated"> \
-    <arg name="action" type="u" /> \
-    <arg name="parameters" type="a{sv}" /> \
-</signal> \
-<property name="Mode" type="s" access="read" /> \
-<property name="OverviewActive" type="b" access="readwrite" /> \
-<property name="ShellVersion" type="s" access="read" /> \
-</interface> \
-</node>';
-
-const ScreenSaverIface = '<node> \
-<interface name="org.gnome.ScreenSaver"> \
-<method name="Lock"> \
-</method> \
-<method name="GetActive"> \
-    <arg name="active" direction="out" type="b" /> \
-</method> \
-<method name="SetActive"> \
-    <arg name="value" direction="in" type="b" /> \
-</method> \
-<method name="GetActiveTime"> \
-    <arg name="value" direction="out" type="u" /> \
-</method> \
-<signal name="ActiveChanged"> \
-    <arg name="new_value" type="b" /> \
-</signal> \
-<signal name="WakeUpScreen" /> \
-</interface> \
-</node>';
+const GnomeShellIface = `
+<node>
+<interface name="org.gnome.Shell">
+<method name="Eval">
+    <arg type="s" direction="in" name="script" />
+    <arg type="b" direction="out" name="success" />
+    <arg type="s" direction="out" name="result" />
+</method>
+<method name="FocusSearch"/>
+<method name="ShowOSD">
+    <arg type="a{sv}" direction="in" name="params"/>
+</method>
+<method name="ShowMonitorLabels">
+    <arg type="a{uv}" direction="in" name="params" />
+</method>
+<method name="ShowMonitorLabels2">
+    <arg type="a{sv}" direction="in" name="params" />
+</method>
+<method name="HideMonitorLabels" />
+<method name="FocusApp">
+    <arg type="s" direction="in" name="id"/>
+</method>
+<method name="ShowApplications" />
+<method name="GrabAccelerator">
+    <arg type="s" direction="in" name="accelerator"/>
+    <arg type="u" direction="in" name="flags"/>
+    <arg type="u" direction="out" name="action"/>
+</method>
+<method name="GrabAccelerators">
+    <arg type="a(su)" direction="in" name="accelerators"/>
+    <arg type="au" direction="out" name="actions"/>
+</method>
+<method name="UngrabAccelerator">
+    <arg type="u" direction="in" name="action"/>
+    <arg type="b" direction="out" name="success"/>
+</method>
+<signal name="AcceleratorActivated">
+    <arg name="action" type="u" />
+    <arg name="parameters" type="a{sv}" />
+</signal>
+<property name="Mode" type="s" access="read" />
+<property name="OverviewActive" type="b" access="readwrite" />
+<property name="ShellVersion" type="s" access="read" />
+</interface>
+</node>`;
+
+const ScreenSaverIface = `
+<node>
+<interface name="org.gnome.ScreenSaver">
+<method name="Lock">
+</method>
+<method name="GetActive">
+    <arg name="active" direction="out" type="b" />
+</method>
+<method name="SetActive">
+    <arg name="value" direction="in" type="b" />
+</method>
+<method name="GetActiveTime">
+    <arg name="value" direction="out" type="u" />
+</method>
+<signal name="ActiveChanged">
+    <arg name="new_value" type="b" />
+</signal>
+<signal name="WakeUpScreen" />
+</interface>
+</node>`;
 
 var GnomeShell = new Lang.Class({
     Name: 'GnomeShellDBus',
@@ -293,43 +295,44 @@ var GnomeShell = new Lang.Class({
     ShellVersion: Config.PACKAGE_VERSION
 });
 
-const GnomeShellExtensionsIface = '<node> \
-<interface name="org.gnome.Shell.Extensions"> \
-<method name="ListExtensions"> \
-    <arg type="a{sa{sv}}" direction="out" name="extensions" /> \
-</method> \
-<method name="GetExtensionInfo"> \
-    <arg type="s" direction="in" name="extension" /> \
-    <arg type="a{sv}" direction="out" name="info" /> \
-</method> \
-<method name="GetExtensionErrors"> \
-    <arg type="s" direction="in" name="extension" /> \
-    <arg type="as" direction="out" name="errors" /> \
-</method> \
-<signal name="ExtensionStatusChanged"> \
-    <arg type="s" name="uuid"/> \
-    <arg type="i" name="state"/> \
-    <arg type="s" name="error"/> \
-</signal> \
-<method name="InstallRemoteExtension"> \
-    <arg type="s" direction="in" name="uuid"/> \
-    <arg type="s" direction="out" name="result"/> \
-</method> \
-<method name="UninstallExtension"> \
-    <arg type="s" direction="in" name="uuid"/> \
-    <arg type="b" direction="out" name="success"/> \
-</method> \
-<method name="LaunchExtensionPrefs"> \
-    <arg type="s" direction="in" name="uuid"/> \
-</method> \
-<method name="ReloadExtension"> \
-    <arg type="s" direction="in" name="uuid"/> \
-</method> \
-<method name="CheckForUpdates"> \
-</method> \
-<property name="ShellVersion" type="s" access="read" /> \
-</interface> \
-</node>';
+const GnomeShellExtensionsIface = `
+<node>
+<interface name="org.gnome.Shell.Extensions">
+<method name="ListExtensions">
+    <arg type="a{sa{sv}}" direction="out" name="extensions" />
+</method>
+<method name="GetExtensionInfo">
+    <arg type="s" direction="in" name="extension" />
+    <arg type="a{sv}" direction="out" name="info" />
+</method>
+<method name="GetExtensionErrors">
+    <arg type="s" direction="in" name="extension" />
+    <arg type="as" direction="out" name="errors" />
+</method>
+<signal name="ExtensionStatusChanged">
+    <arg type="s" name="uuid"/>
+    <arg type="i" name="state"/>
+    <arg type="s" name="error"/>
+</signal>
+<method name="InstallRemoteExtension">
+    <arg type="s" direction="in" name="uuid"/>
+    <arg type="s" direction="out" name="result"/>
+</method>
+<method name="UninstallExtension">
+    <arg type="s" direction="in" name="uuid"/>
+    <arg type="b" direction="out" name="success"/>
+</method>
+<method name="LaunchExtensionPrefs">
+    <arg type="s" direction="in" name="uuid"/>
+</method>
+<method name="ReloadExtension">
+    <arg type="s" direction="in" name="uuid"/>
+</method>
+<method name="CheckForUpdates">
+</method>
+<property name="ShellVersion" type="s" access="read" />
+</interface>
+</node>`;
 
 var GnomeShellExtensions = new Lang.Class({
     Name: 'GnomeShellExtensionsDBus',
diff --git a/js/ui/shellMountOperation.js b/js/ui/shellMountOperation.js
index dee7799e3..9be0a4650 100644
--- a/js/ui/shellMountOperation.js
+++ b/js/ui/shellMountOperation.js
@@ -436,38 +436,39 @@ var ShellProcessesDialog = new Lang.Class({
 });
 Signals.addSignalMethods(ShellProcessesDialog.prototype);
 
-const GnomeShellMountOpIface = '<node> \
-<interface name="org.Gtk.MountOperationHandler"> \
-<method name="AskPassword"> \
-    <arg type="s" direction="in" name="object_id"/> \
-    <arg type="s" direction="in" name="message"/> \
-    <arg type="s" direction="in" name="icon_name"/> \
-    <arg type="s" direction="in" name="default_user"/> \
-    <arg type="s" direction="in" name="default_domain"/> \
-    <arg type="u" direction="in" name="flags"/> \
-    <arg type="u" direction="out" name="response"/> \
-    <arg type="a{sv}" direction="out" name="response_details"/> \
-</method> \
-<method name="AskQuestion"> \
-    <arg type="s" direction="in" name="object_id"/> \
-    <arg type="s" direction="in" name="message"/> \
-    <arg type="s" direction="in" name="icon_name"/> \
-    <arg type="as" direction="in" name="choices"/> \
-    <arg type="u" direction="out" name="response"/> \
-    <arg type="a{sv}" direction="out" name="response_details"/> \
-</method> \
-<method name="ShowProcesses"> \
-    <arg type="s" direction="in" name="object_id"/> \
-    <arg type="s" direction="in" name="message"/> \
-    <arg type="s" direction="in" name="icon_name"/> \
-    <arg type="ai" direction="in" name="application_pids"/> \
-    <arg type="as" direction="in" name="choices"/> \
-    <arg type="u" direction="out" name="response"/> \
-    <arg type="a{sv}" direction="out" name="response_details"/> \
-</method> \
-<method name="Close"/> \
-</interface> \
-</node>';
+const GnomeShellMountOpIface = `
+<node>
+<interface name="org.Gtk.MountOperationHandler">
+<method name="AskPassword">
+    <arg type="s" direction="in" name="object_id"/>
+    <arg type="s" direction="in" name="message"/>
+    <arg type="s" direction="in" name="icon_name"/>
+    <arg type="s" direction="in" name="default_user"/>
+    <arg type="s" direction="in" name="default_domain"/>
+    <arg type="u" direction="in" name="flags"/>
+    <arg type="u" direction="out" name="response"/>
+    <arg type="a{sv}" direction="out" name="response_details"/>
+</method>
+<method name="AskQuestion">
+    <arg type="s" direction="in" name="object_id"/>
+    <arg type="s" direction="in" name="message"/>
+    <arg type="s" direction="in" name="icon_name"/>
+    <arg type="as" direction="in" name="choices"/>
+    <arg type="u" direction="out" name="response"/>
+    <arg type="a{sv}" direction="out" name="response_details"/>
+</method>
+<method name="ShowProcesses">
+    <arg type="s" direction="in" name="object_id"/>
+    <arg type="s" direction="in" name="message"/>
+    <arg type="s" direction="in" name="icon_name"/>
+    <arg type="ai" direction="in" name="application_pids"/>
+    <arg type="as" direction="in" name="choices"/>
+    <arg type="u" direction="out" name="response"/>
+    <arg type="a{sv}" direction="out" name="response_details"/>
+</method>
+<method name="Close"/>
+</interface>
+</node>`;
 
 var ShellMountOperationType = {
     NONE: 0,
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index 7ffc8f767..c81f8362e 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
 const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
 
-const RfkillManagerInterface = '<node> \
-<interface name="org.gnome.SettingsDaemon.Rfkill"> \
-<property name="BluetoothAirplaneMode" type="b" access="readwrite" /> \
-<property name="BluetoothHasAirplaneMode" type="b" access="read" /> \
-<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" /> \
-</interface> \
-</node>';
+const RfkillManagerInterface = `
+<node>
+<interface name="org.gnome.SettingsDaemon.Rfkill">
+<property name="BluetoothAirplaneMode" type="b" access="readwrite" />
+<property name="BluetoothHasAirplaneMode" type="b" access="read" />
+<property name="BluetoothHardwareAirplaneMode" type="b" access="readwrite" />
+</interface>
+</node>`;
 
 const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
 
diff --git a/js/ui/status/brightness.js b/js/ui/status/brightness.js
index 55c5b0f34..50640d2db 100644
--- a/js/ui/status/brightness.js
+++ b/js/ui/status/brightness.js
@@ -11,11 +11,12 @@ const Slider = imports.ui.slider;
 const BUS_NAME = 'org.gnome.SettingsDaemon.Power';
 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Power';
 
-const BrightnessInterface = '<node> \
-<interface name="org.gnome.SettingsDaemon.Power.Screen"> \
-<property name="Brightness" type="i" access="readwrite"/> \
-</interface> \
-</node>';
+const BrightnessInterface = `
+<node>
+<interface name="org.gnome.SettingsDaemon.Power.Screen">
+<property name="Brightness" type="i" access="readwrite"/>
+</interface>
+</node>`;
 
 const BrightnessProxy = Gio.DBusProxy.makeProxyWrapper(BrightnessInterface);
 
diff --git a/js/ui/status/location.js b/js/ui/status/location.js
index e59a50397..b5d6c7dd3 100644
--- a/js/ui/status/location.js
+++ b/js/ui/status/location.js
@@ -40,29 +40,31 @@ function accuracyLevelToString(accuracyLevel) {
     return 'NONE';
 }
 
-var GeoclueIface = '<node> \
-  <interface name="org.freedesktop.GeoClue2.Manager"> \
-    <property name="InUse" type="b" access="read"/> \
-    <property name="AvailableAccuracyLevel" type="u" access="read"/> \
-    <method name="AddAgent"> \
-      <arg name="id" type="s" direction="in"/> \
-    </method> \
-  </interface> \
-</node>';
+var GeoclueIface = `
+<node>
+  <interface name="org.freedesktop.GeoClue2.Manager">
+    <property name="InUse" type="b" access="read"/>
+    <property name="AvailableAccuracyLevel" type="u" access="read"/>
+    <method name="AddAgent">
+      <arg name="id" type="s" direction="in"/>
+    </method>
+  </interface>
+</node>`;
 
 const GeoclueManager = Gio.DBusProxy.makeProxyWrapper(GeoclueIface);
 
-var AgentIface = '<node> \
-  <interface name="org.freedesktop.GeoClue2.Agent"> \
-    <property name="MaxAccuracyLevel" type="u" access="read"/> \
-    <method name="AuthorizeApp"> \
-      <arg name="desktop_id" type="s" direction="in"/> \
-      <arg name="req_accuracy_level" type="u" direction="in"/> \
-      <arg name="authorized" type="b" direction="out"/> \
-      <arg name="allowed_accuracy_level" type="u" direction="out"/> \
-    </method> \
-  </interface> \
-</node>';
+var AgentIface = `
+<node>
+  <interface name="org.freedesktop.GeoClue2.Agent">
+    <property name="MaxAccuracyLevel" type="u" access="read"/>
+    <method name="AuthorizeApp">
+      <arg name="desktop_id" type="s" direction="in"/>
+      <arg name="req_accuracy_level" type="u" direction="in"/>
+      <arg name="authorized" type="b" direction="out"/>
+      <arg name="allowed_accuracy_level" type="u" direction="out"/>
+    </method>
+  </interface>
+</node>`;
 
 var Indicator = new Lang.Class({
     Name: 'LocationIndicator',
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index bf3a2bac6..3e3d0d1d2 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -51,25 +51,26 @@ var PortalHelperResult = {
     RECHECK: 2
 };
 
-const PortalHelperIface = '<node> \
-<interface name="org.gnome.Shell.PortalHelper"> \
-<method name="Authenticate"> \
-    <arg type="o" direction="in" name="connection" /> \
-    <arg type="s" direction="in" name="url" /> \
-    <arg type="u" direction="in" name="timestamp" /> \
-</method> \
-<method name="Close"> \
-    <arg type="o" direction="in" name="connection" /> \
-</method> \
-<method name="Refresh"> \
-    <arg type="o" direction="in" name="connection" /> \
-</method> \
-<signal name="Done"> \
-    <arg type="o" name="connection" /> \
-    <arg type="u" name="result" /> \
-</signal> \
-</interface> \
-</node>';
+const PortalHelperIface = `
+<node>
+<interface name="org.gnome.Shell.PortalHelper">
+<method name="Authenticate">
+    <arg type="o" direction="in" name="connection" />
+    <arg type="s" direction="in" name="url" />
+    <arg type="u" direction="in" name="timestamp" />
+</method>
+<method name="Close">
+    <arg type="o" direction="in" name="connection" />
+</method>
+<method name="Refresh">
+    <arg type="o" direction="in" name="connection" />
+</method>
+<signal name="Done">
+    <arg type="o" name="connection" />
+    <arg type="u" name="result" />
+</signal>
+</interface>
+</node>`;
 const PortalHelperProxy = Gio.DBusProxy.makeProxyWrapper(PortalHelperIface);
 
 function signalToIcon(value) {
diff --git a/js/ui/status/nightLight.js b/js/ui/status/nightLight.js
index f2523b5f3..f369d3df2 100644
--- a/js/ui/status/nightLight.js
+++ b/js/ui/status/nightLight.js
@@ -10,12 +10,13 @@ const PopupMenu = imports.ui.popupMenu;
 const BUS_NAME = 'org.gnome.SettingsDaemon.Color';
 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Color';
 
-const ColorInterface = '<node> \
-<interface name="org.gnome.SettingsDaemon.Color"> \
-  <property name="DisabledUntilTomorrow" type="b" access="readwrite"/> \
-  <property name="NightLightActive" type="b" access="read"/> \
-</interface> \
-</node>';
+const ColorInterface = `
+<node>
+<interface name="org.gnome.SettingsDaemon.Color">
+  <property name="DisabledUntilTomorrow" type="b" access="readwrite"/>
+  <property name="NightLightActive" type="b" access="read"/>
+</interface>
+</node>`;
 
 const ColorProxy = Gio.DBusProxy.makeProxyWrapper(ColorInterface);
 
diff --git a/js/ui/status/power.js b/js/ui/status/power.js
index a2bfd75a0..cf57d8cf1 100644
--- a/js/ui/status/power.js
+++ b/js/ui/status/power.js
@@ -13,17 +13,18 @@ const PopupMenu = imports.ui.popupMenu;
 const BUS_NAME = 'org.freedesktop.UPower';
 const OBJECT_PATH = '/org/freedesktop/UPower/devices/DisplayDevice';
 
-const DisplayDeviceInterface = '<node> \
-<interface name="org.freedesktop.UPower.Device"> \
-  <property name="Type" type="u" access="read"/> \
-  <property name="State" type="u" access="read"/> \
-  <property name="Percentage" type="d" access="read"/> \
-  <property name="TimeToEmpty" type="x" access="read"/> \
-  <property name="TimeToFull" type="x" access="read"/> \
-  <property name="IsPresent" type="b" access="read"/> \
-  <property name="IconName" type="s" access="read"/> \
-</interface> \
-</node>';
+const DisplayDeviceInterface = `
+<node>
+<interface name="org.freedesktop.UPower.Device">
+  <property name="Type" type="u" access="read"/>
+  <property name="State" type="u" access="read"/>
+  <property name="Percentage" type="d" access="read"/>
+  <property name="TimeToEmpty" type="x" access="read"/>
+  <property name="TimeToFull" type="x" access="read"/>
+  <property name="IsPresent" type="b" access="read"/>
+  <property name="IconName" type="s" access="read"/>
+</interface>
+</node>`;
 
 const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
 
diff --git a/js/ui/status/rfkill.js b/js/ui/status/rfkill.js
index 989a4f9ed..ecc874596 100644
--- a/js/ui/status/rfkill.js
+++ b/js/ui/status/rfkill.js
@@ -11,13 +11,14 @@ const PopupMenu = imports.ui.popupMenu;
 const BUS_NAME = 'org.gnome.SettingsDaemon.Rfkill';
 const OBJECT_PATH = '/org/gnome/SettingsDaemon/Rfkill';
 
-const RfkillManagerInterface = '<node> \
-<interface name="org.gnome.SettingsDaemon.Rfkill"> \
-<property name="AirplaneMode" type="b" access="readwrite" /> \
-<property name="HardwareAirplaneMode" type="b" access="read" /> \
-<property name="ShouldShowAirplaneMode" type="b" access="read" /> \
-</interface> \
-</node>';
+const RfkillManagerInterface = `
+<node>
+<interface name="org.gnome.SettingsDaemon.Rfkill">
+<property name="AirplaneMode" type="b" access="readwrite" />
+<property name="HardwareAirplaneMode" type="b" access="read" />
+<property name="ShouldShowAirplaneMode" type="b" access="read" />
+</interface>
+</node>`;
 
 const RfkillManagerProxy = Gio.DBusProxy.makeProxyWrapper(RfkillManagerInterface);
 
diff --git a/js/ui/status/thunderbolt.js b/js/ui/status/thunderbolt.js
index 0c543190c..efb401a16 100644
--- a/js/ui/status/thunderbolt.js
+++ b/js/ui/status/thunderbolt.js
@@ -14,40 +14,42 @@ const PanelMenu = imports.ui.panelMenu;
 
 /* Keep in sync with data/org.freedesktop.bolt.xml */
 
-const BoltClientInterface = '<node> \
-  <interface name="org.freedesktop.bolt1.Manager"> \
-    <property name="Probing" type="b" access="read"></property> \
-    <property name="AuthMode" type="s" access="readwrite"></property> \
-    <method name="EnrollDevice"> \
-      <arg type="s" name="uid" direction="in"> </arg> \
-      <arg type="s" name="policy" direction="in"> </arg> \
-      <arg type="s" name="flags" direction="in"> </arg> \
-      <arg name="device" direction="out" type="o"> </arg> \
-    </method> \
-    <signal name="DeviceAdded"> \
-      <arg name="device" type="o"> </arg> \
-    </signal> \
-  </interface> \
-</node>';
-
-const BoltDeviceInterface = '<node> \
-  <interface name="org.freedesktop.bolt1.Device"> \
-    <property name="Uid" type="s" access="read"></property> \
-    <property name="Name" type="s" access="read"></property> \
-    <property name="Vendor" type="s" access="read"></property> \
-    <property name="Type" type="s" access="read"></property> \
-    <property name="Status" type="s" access="read"></property> \
-    <property name="Parent" type="s" access="read"></property> \
-    <property name="SysfsPath" type="s" access="read"></property> \
-    <property name="Stored" type="b" access="read"></property> \
-    <property name="Policy" type="s" access="read"></property> \
-    <property name="Key" type="s" access="read"></property> \
-    <property name="Label" type="s" access="read"></property> \
-    <property name="ConnectTime" type="t" access="read"></property> \
-    <property name="AuthorizeTime" type="t" access="read"></property> \
-    <property name="StoreTime" type="t" access="read"></property> \
-  </interface> \
-</node>';
+const BoltClientInterface = `
+<node>
+  <interface name="org.freedesktop.bolt1.Manager">
+    <property name="Probing" type="b" access="read"></property>
+    <property name="AuthMode" type="s" access="readwrite"></property>
+    <method name="EnrollDevice">
+      <arg type="s" name="uid" direction="in"> </arg>
+      <arg type="s" name="policy" direction="in"> </arg>
+      <arg type="s" name="flags" direction="in"> </arg>
+      <arg name="device" direction="out" type="o"> </arg>
+    </method>
+    <signal name="DeviceAdded">
+      <arg name="device" type="o"> </arg>
+    </signal>
+  </interface>
+</node>`;
+
+const BoltDeviceInterface = `
+<node>
+  <interface name="org.freedesktop.bolt1.Device">
+    <property name="Uid" type="s" access="read"></property>
+    <property name="Name" type="s" access="read"></property>
+    <property name="Vendor" type="s" access="read"></property>
+    <property name="Type" type="s" access="read"></property>
+    <property name="Status" type="s" access="read"></property>
+    <property name="Parent" type="s" access="read"></property>
+    <property name="SysfsPath" type="s" access="read"></property>
+    <property name="Stored" type="b" access="read"></property>
+    <property name="Policy" type="s" access="read"></property>
+    <property name="Key" type="s" access="read"></property>
+    <property name="Label" type="s" access="read"></property>
+    <property name="ConnectTime" type="t" access="read"></property>
+    <property name="AuthorizeTime" type="t" access="read"></property>
+    <property name="StoreTime" type="t" access="read"></property>
+  </interface>
+</node>`;
 
 const BoltDeviceProxy = Gio.DBusProxy.makeProxyWrapper(BoltDeviceInterface);
 
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 36d8a9fb5..b6627e253 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -42,19 +42,20 @@ var ONE_SECOND = 1000; // in ms
 const GSD_WACOM_BUS_NAME = 'org.gnome.SettingsDaemon.Wacom';
 const GSD_WACOM_OBJECT_PATH = '/org/gnome/SettingsDaemon/Wacom';
 
-const GsdWacomIface = '<node name="/org/gnome/SettingsDaemon/Wacom"> \
-<interface name="org.gnome.SettingsDaemon.Wacom"> \
-  <method name="SetGroupModeLED"> \
-    <arg name="device_path" direction="in" type="s"/> \
-    <arg name="group" direction="in" type="u"/> \
-    <arg name="mode" direction="in" type="u"/> \
-  </method> \
-  <method name="SetOLEDLabels"> \
-    <arg name="device_path" direction="in" type="s"/> \
-    <arg name="labels" direction="in" type="as"/> \
-  </method> \
-  </interface> \
-</node>';
+const GsdWacomIface = `
+<node name="/org/gnome/SettingsDaemon/Wacom">
+<interface name="org.gnome.SettingsDaemon.Wacom">
+  <method name="SetGroupModeLED">
+    <arg name="device_path" direction="in" type="s"/>
+    <arg name="group" direction="in" type="u"/>
+    <arg name="mode" direction="in" type="u"/>
+  </method>
+  <method name="SetOLEDLabels">
+    <arg name="device_path" direction="in" type="s"/>
+    <arg name="labels" direction="in" type="as"/>
+  </method>
+  </interface>
+</node>`;
 
 const GsdWacomProxy = Gio.DBusProxy.makeProxyWrapper(GsdWacomIface);
 


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