|
|
580c05 |
From daf38420dcdd70c090cf146973f0b3f4522a532c Mon Sep 17 00:00:00 2001
|
|
|
b97e22 |
From: Rui Matos <tiagomatos@gmail.com>
|
|
|
b97e22 |
Date: Fri, 8 Nov 2013 11:36:04 +0100
|
|
|
b97e22 |
Subject: [PATCH 1/2] shellDBus: Add a DBus method to load a single extension
|
|
|
b97e22 |
|
|
|
b97e22 |
This allows e.g. gnome-tweak-tool to install an extension from a zip
|
|
|
b97e22 |
file and load it into the running shell.
|
|
|
b97e22 |
---
|
|
|
b97e22 |
js/ui/shellDBus.js | 20 ++++++++++++++++++++
|
|
|
b97e22 |
1 file changed, 20 insertions(+)
|
|
|
b97e22 |
|
|
|
b97e22 |
diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js
|
|
|
580c05 |
index a87ea41..f8b05f4 100644
|
|
|
b97e22 |
--- a/js/ui/shellDBus.js
|
|
|
b97e22 |
+++ b/js/ui/shellDBus.js
|
|
|
580c05 |
@@ -283,6 +283,10 @@ const GnomeShellExtensionsIface = '<node> \
|
|
|
580c05 |
</method> \
|
|
|
580c05 |
<method name="CheckForUpdates"> \
|
|
|
580c05 |
</method> \
|
|
|
580c05 |
+<method name="LoadUserExtension"> \
|
|
|
580c05 |
+ <arg type="s" direction="in" name="uuid"/> \
|
|
|
580c05 |
+ <arg type="b" direction="out" name="success"/> \
|
|
|
580c05 |
+</method> \
|
|
|
580c05 |
<property name="ShellVersion" type="s" access="read" /> \
|
|
|
580c05 |
</interface> \
|
|
|
580c05 |
</node>';
|
|
|
580c05 |
@@ -385,6 +389,22 @@ const GnomeShellExtensions = new Lang.Class({
|
|
|
b97e22 |
ExtensionDownloader.checkForUpdates();
|
|
|
b97e22 |
},
|
|
|
b97e22 |
|
|
|
b97e22 |
+ LoadUserExtension: function(uuid) {
|
|
|
b97e22 |
+ let extension = ExtensionUtils.extensions[uuid];
|
|
|
b97e22 |
+ if (extension)
|
|
|
b97e22 |
+ return true;
|
|
|
b97e22 |
+
|
|
|
b97e22 |
+ let dir = Gio.File.new_for_path(GLib.build_filenamev([global.userdatadir, 'extensions', uuid]));
|
|
|
b97e22 |
+ try {
|
|
|
b97e22 |
+ extension = ExtensionUtils.createExtensionObject(uuid, dir, ExtensionUtils.ExtensionType.PER_USER);
|
|
|
b97e22 |
+ ExtensionSystem.loadExtension(extension);
|
|
|
b97e22 |
+ } catch (e) {
|
|
|
b97e22 |
+ log('Could not load user extension from %s'.format(dir.get_path()));
|
|
|
b97e22 |
+ return false;
|
|
|
b97e22 |
+ }
|
|
|
b97e22 |
+ return true;
|
|
|
b97e22 |
+ },
|
|
|
b97e22 |
+
|
|
|
b97e22 |
ShellVersion: Config.PACKAGE_VERSION,
|
|
|
b97e22 |
|
|
|
b97e22 |
_extensionStateChanged: function(_, newState) {
|
|
|
b97e22 |
--
|
|
|
580c05 |
2.3.3
|
|
|
b97e22 |
|