diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2011-11-06 01:42:59 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2011-11-06 01:42:59 +0000 |
commit | e2d339c6934c6f19cfc038b42ba68f6f21c47938 (patch) | |
tree | ebe614f67b7fc4898c5f2edddfbf013888273ae9 /gnome-extra | |
parent | Add eselect module for setting systemwide gnome shell extensions defaults fro... (diff) | |
download | historical-e2d339c6934c6f19cfc038b42ba68f6f21c47938.tar.gz historical-e2d339c6934c6f19cfc038b42ba68f6f21c47938.tar.bz2 historical-e2d339c6934c6f19cfc038b42ba68f6f21c47938.zip |
Add extensions for gnome-base/gnome-shell from the gnome overlay.
Package-Manager: portage-2.2.0_alpha72/cvs/Linux x86_64
Diffstat (limited to 'gnome-extra')
9 files changed, 596 insertions, 0 deletions
diff --git a/gnome-extra/gnome-shell-extensions/ChangeLog b/gnome-extra/gnome-shell-extensions/ChangeLog new file mode 100644 index 000000000000..655392e4dceb --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for gnome-extra/gnome-shell-extensions +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-shell-extensions/ChangeLog,v 1.1 2011/11/06 01:42:59 tetromino Exp $ + +*gnome-shell-extensions-3.2.0-r2 (06 Nov 2011) + + 06 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> + +gnome-shell-extensions-3.2.0-r2.ebuild, + +files/gnome-shell-extensions-3.2.0-dock-gnome-3.2.patch, + +files/gnome-shell-extensions-3.2.0-dock-popup-menus.patch, + +files/gnome-shell-extensions-3.2.0-gnome-3.2.1.patch, + +files/gnome-shell-extensions-3.2.0-systemMonitor-CSS.patch, + +files/gnome-shell-extensions-3.2.0-systemMonitor-enable-disable.patch, + +metadata.xml: + Add extensions for gnome-base/gnome-shell from the gnome overlay. + diff --git a/gnome-extra/gnome-shell-extensions/Manifest b/gnome-extra/gnome-shell-extensions/Manifest new file mode 100644 index 000000000000..7621ac27215b --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/Manifest @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX gnome-shell-extensions-3.2.0-dock-gnome-3.2.patch 1314 RMD160 3cce30f237aa1693a11a2504876fa70091520f1d SHA1 0f5eb14a6b6e8eb396d1b92e2b1bdaec6744989a SHA256 56fee61a739ce7e3f6531c01ae2aca56ee29eca889778de3feff1a74374a714a +AUX gnome-shell-extensions-3.2.0-dock-popup-menus.patch 1383 RMD160 37b8f574ca908c69fa09719a2850e53b74a8dd7f SHA1 f78742c180eb53818430ad12bc6d5dc5cdb29676 SHA256 9f6d5e8bd0c3127065267a26392af828261cc6c8b6be65ee171fa2b6b1e9e233 +AUX gnome-shell-extensions-3.2.0-gnome-3.2.1.patch 1185 RMD160 d259ea2cf8745dbf839107f3b3837f2fb870ae2d SHA1 ff5f3d4da7ecf8785f687dec03bf31d376afab6c SHA256 f942f3392a83813e0ac234e29d59754dde6e4cf472f21fc759e3846b7f212e4f +AUX gnome-shell-extensions-3.2.0-systemMonitor-CSS.patch 11707 RMD160 e5b73f585b271b0c5ff3a8c783aeed899844ee2b SHA1 9978de03f2e7d42c02bd22fddc0e8d2fd7bbb96f SHA256 22d28d73fb3469b7738270f5d16a57cb00ad2f93611ea12a0f4c949f1f8e878e +AUX gnome-shell-extensions-3.2.0-systemMonitor-enable-disable.patch 1422 RMD160 307d8b62a5255e541670702557e9bf2c0d7b05d5 SHA1 8d79a5cb2e5a229c6653799dbe0bf7d46211e693 SHA256 76ac6bfcfa31d814b6d6efe103602d83d74d0ab9341db59afd373a103ad60957 +DIST gnome-shell-extensions-3.2.0.tar.xz 123724 RMD160 ab32152b0425c95a22e85e5b571ba76ed97968f9 SHA1 3db7b57b1d77e240701cf7dfd0e021dec2c0698b SHA256 dfbd5b7baed71219c6855c1b15c323b6e66a2163af8f9a1c2431d6ce90784f98 +EBUILD gnome-shell-extensions-3.2.0-r2.ebuild 2619 RMD160 0408a393bad7370b9f3734a85af646daed04b1bf SHA1 652645033df743995402e7e980065ed48423bcb3 SHA256 0da09946b727c247e6894f3e1be8b1a5fc189a255ffc0207533697c03a70171f +MISC ChangeLog 796 RMD160 e3cedd06b18968e94278b95c5269246f339f1b03 SHA1 178b31c471f0556a9156fcd0ab2af8002b5297ef SHA256 27c9c742ec5fcf5d728fe79902a51f4dbe984eb8ba12f255c6d810f4e81513e4 +MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.18 (GNU/Linux) + +iF4EAREIAAYFAk615igACgkQdjK8w9WeBnDIWwD/YmY1gah047wvV5jGIX7FwxNE +YGnNuI912Sl+4ysxnJAA+gOjDdOnULRHUYAu4T88Q6KfTEzp30NNLM1zRsPack+G +=wOE5 +-----END PGP SIGNATURE----- diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-gnome-3.2.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-gnome-3.2.patch new file mode 100644 index 000000000000..776c73700dc8 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-gnome-3.2.patch @@ -0,0 +1,43 @@ +From 66242aa76a5d59fb4659551575c1fbb42e50b8fb Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna <gcampagna@src.gnome.org> +Date: Tue, 18 Oct 2011 10:19:50 +0200 +Subject: [PATCH 1/2] Make dock extension actually work with gnome-3.2 + +Without this patch dock is invisible, but reacts on mouse clicks + +Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> +--- + extensions/dock/extension.js | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/extensions/dock/extension.js b/extensions/dock/extension.js +index 240f8a8..02c9650 100644 +--- a/extensions/dock/extension.js ++++ b/extensions/dock/extension.js +@@ -304,7 +304,6 @@ Dock.prototype = { + this.actor.show(); + })); + Main.layoutManager.addChrome(this.actor); +- this.actor.lower_bottom(); + + //hidden + this._settings.connect('changed::'+DOCK_POSITION_KEY, Lang.bind(this, function (){ +@@ -372,6 +371,8 @@ Dock.prototype = { + + this.actor.connect('leave-event', Lang.bind(this, this._hideDock)); + this.actor.connect('enter-event', Lang.bind(this, this._showDock)); ++ ++ this._hideDock(); + }, + + destroy: function() { +@@ -861,4 +862,4 @@ function enable() { + function disable() { + dock.destroy(); + dock = null; +-} +\ No newline at end of file ++} +-- +1.7.7.2 + diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-popup-menus.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-popup-menus.patch new file mode 100644 index 000000000000..e2cc380f3779 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-dock-popup-menus.patch @@ -0,0 +1,33 @@ +From 967aee7aad2accfb38d91ab56b6c5e91d86a2722 Mon Sep 17 00:00:00 2001 +From: Stefan 'psYchotic' Zwanenburg <stefanhetzwaantje@gmail.com> +Date: Wed, 12 Oct 2011 01:16:18 +0000 +Subject: dock: Fix popup menus + +The dock popup menus weren't working because a signal had been renamed +('popup' -> 'open-state-changed'). + +https://bugzilla.gnome.org/show_bug.cgi?id=661484 +--- +diff --git a/extensions/dock/extension.js b/extensions/dock/extension.js +index 47cd76f..240f8a8 100644 +--- a/extensions/dock/extension.js ++++ b/extensions/dock/extension.js +@@ -682,7 +682,7 @@ DockIcon.prototype = { + this._menu.connect('activate-window', Lang.bind(this, function (menu, window) { + this.activateWindow(window); + })); +- this._menu.connect('popup', Lang.bind(this, function (menu, isPoppedUp) { ++ this._menu.connect('open-state-changed', Lang.bind(this, function (menu, isPoppedUp) { + if (!isPoppedUp){ + //Restore value of autohidedock + this._dock._restoreHideDock(); +@@ -776,7 +776,6 @@ DockIconMenu.prototype = { + this._source = source; + + this.connect('activate', Lang.bind(this, this._onActivate)); +- this.connect('open-state-changed', Lang.bind(this, this._onOpenStateChanged)); + + this.actor.add_style_class_name('dock-menu'); + +-- +cgit v0.9.0.2 diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-gnome-3.2.1.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-gnome-3.2.1.patch new file mode 100644 index 000000000000..3d7b408157df --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-gnome-3.2.1.patch @@ -0,0 +1,29 @@ +Ensure that extensions are marked as compatible with gnome-shell-3.2 +(meaning 3.2.*), not just 3.2.0. + +diff --git a/extensions/alternate-tab/metadata.json.in b/extensions/alternate-tab/metadata.json.in +index d811b54..8aa86e3 100644 +--- a/extensions/alternate-tab/metadata.json.in ++++ b/extensions/alternate-tab/metadata.json.in +@@ -3,7 +3,7 @@ + "name": "AlternateTab", + "description": "A replacement for Alt-Tab, allows to cycle between windows and does not group by application", + "original-authors": [ "jw@bargsten.org", "thomas.bouffon@gmail.com" ], +-"shell-version": [ "@shell_current@" ], ++"shell-version": [ "@shell_current@", "3.2" ], + "localedir": "@LOCALEDIR@", + "url": "@url@" + } +diff --git a/extensions/dock/metadata.json.in b/extensions/dock/metadata.json.in +index dce4a88..96237b4 100644 +--- a/extensions/dock/metadata.json.in ++++ b/extensions/dock/metadata.json.in +@@ -3,7 +3,7 @@ + "name": "Dock", + "description": "A dock for the GNOME Shell -- displays favorite and running applications", + "original-author": "tclaesson@gmail.com", +-"shell-version": [ "@shell_current@" ], ++"shell-version": [ "@shell_current@", "3.2" ], + "localedir": "@LOCALEDIR@", + "url": "@url@" + } diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-CSS.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-CSS.patch new file mode 100644 index 000000000000..dd8822d7b1d8 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-CSS.patch @@ -0,0 +1,316 @@ +From 4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7 Mon Sep 17 00:00:00 2001 +From: Jason Siefken <siefkenj@gmail.com> +Date: Tue, 11 Oct 2011 02:15:05 -0700 +Subject: Added prettier drawing operations and css colors + +https://bugzilla.gnome.org/show_bug.cgi?id=661443 +--- + extensions/systemMonitor/extension.js | 186 ++++++++++++++++++++++-------- + extensions/systemMonitor/stylesheet.css | 25 +++-- + 2 files changed, 152 insertions(+), 59 deletions(-) + +diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js +index db7fe59..39801ab 100644 +--- a/extensions/systemMonitor/extension.js ++++ b/extensions/systemMonitor/extension.js +@@ -9,6 +9,9 @@ const Shell = imports.gi.Shell; + + const Main = imports.ui.main; + ++const INDICATOR_UPDATE_INTERVAL = 500; ++const INDICATOR_NUM_GRID_LINES = 3; ++ + let _cpuIndicator; + let _memIndicator; + let _box; +@@ -19,29 +22,24 @@ function Indicator() { + + Indicator.prototype = { + _init: function() { +- this._initValues(); +- this.actor = new St.DrawingArea({ style_class: "extension-systemMonitor-indicator-area", +- reactive: true}); +- this.actor.connect('repaint', Lang.bind(this, this._draw)); +- this.actor.connect('button-press-event', function() { ++ this._initValues(); ++ this.drawing_area = new St.DrawingArea({ reactive: true }); ++ this.drawing_area.width = 100; this.drawing_area.height = 100; ++ this.drawing_area.connect('repaint', Lang.bind(this, this._draw)); ++ this.drawing_area.connect('button-press-event', function() { + let app = Shell.AppSystem.get_default().lookup_app('gnome-system-monitor.desktop'); + app.open_new_window(-1); + }); + +- this._timeoutId = Mainloop.timeout_add(250, Lang.bind(this, function () { +- this._updateValues(); +- this.actor.queue_repaint(); +- return true; +- })); +- }, ++ this.actor = new St.Bin({ style_class: "extension-systemMonitor-indicator-area", ++ reactive: true}); ++ this.actor.add_actor(this.drawing_area); + +- destroy: function() { +- if (this._timeoutId) { +- Mainloop.source_remove(this._timeoutId); +- this._timeoutId = 0; +- } +- +- this.actor.destroy(); ++ Mainloop.timeout_add(INDICATOR_UPDATE_INTERVAL, Lang.bind(this, function () { ++ this._updateValues(); ++ this.drawing_area.queue_repaint(); ++ return true; ++ })); + }, + + _initValues: function() { +@@ -54,23 +52,83 @@ Indicator.prototype = { + let [width, height] = area.get_surface_size(); + let themeNode = this.actor.get_theme_node(); + let cr = area.get_context(); +- for (let i = this.values.length - 1; i >= 0; i--) { +- let color = themeNode.get_color(this.values[i].color); +- cr.moveTo(0, height); +- let k; +- for (k = 0; k < this.values[i].values.length; k++) { +- cr.lineTo(k, (1 - this.values[i].values[k]) * height); ++ ++ //draw the background grid ++ let color = themeNode.get_color(this.gridColor); ++ let gridOffset = Math.floor(height / (INDICATOR_NUM_GRID_LINES + 1)); ++ for (let i = 1; i <= INDICATOR_NUM_GRID_LINES; ++i) { ++ cr.moveTo(0, i * gridOffset + .5); ++ cr.lineTo(width, i * gridOffset + .5); ++ } ++ Clutter.cairo_set_source_color(cr, color); ++ cr.setLineWidth(1); ++ cr.setDash([4,1], 0); ++ cr.stroke(); ++ ++ //draw the foreground ++ ++ function makePath(values, reverse, nudge) { ++ if (nudge == null) { ++ nudge = 0; + } +- if (k > width) +- this.values[i].values.shift(); +- cr.lineTo(k, height); +- cr.lineTo(0, height); +- cr.closePath(); +- Clutter.cairo_set_source_color(cr, color); ++ //if we are going in reverse, we are completing the bottom of a chart, so use lineTo ++ if (reverse) { ++ cr.lineTo(values.length - 1, (1 - values[values.length - 1]) * height + nudge); ++ for (let k = values.length - 2; k >= 0; --k) { ++ cr.lineTo(k, (1 - values[k]) * height + nudge); ++ } ++ } else { ++ cr.moveTo(0, (1 - values[0]) * height + nudge); ++ for (let k = 1; k < values.length; ++k) { ++ cr.lineTo(k, (1 - values[k]) * height + nudge); ++ } + +- cr.fill(); ++ } ++ } ++ ++ let renderStats = this.renderStats; ++ ++ // Make sure we don't have more sample points than pixels ++ renderStats.map(Lang.bind(this, function(k){ ++ let stat = this.stats[k]; ++ if (stat.values.length > width) { ++ stat.values = stat.values.slice(stat.values.length - width, stat.values.length); ++ } ++ })); ++ ++ for (let i = 0; i < renderStats.length; ++i) { ++ let stat = this.stats[renderStats[i]]; ++ // We outline at full opacity and fill with 40% opacity ++ let outlineColor = themeNode.get_color(stat.color); ++ let color = new Clutter.Color(outlineColor); ++ color.alpha = color.alpha * .4; ++ ++ // Render the background between us and the next level ++ makePath(stat.values, false); ++ // If there is a process below us, render the cpu between us and it, otherwise, ++ // render to the bottom of the chart ++ if (i == renderStats.length - 1) { ++ cr.lineTo(stat.values.length - 1, height); ++ cr.lineTo(0, height); ++ cr.closePath(); ++ } else { ++ let nextStat = this.stats[renderStats[i+1]]; ++ makePath(nextStat.values, true); ++ } ++ cr.closePath() ++ Clutter.cairo_set_source_color(cr, color); ++ cr.fill(); ++ ++ // Render the outline of this level ++ makePath(stat.values, false, .5); ++ Clutter.cairo_set_source_color(cr, outlineColor); ++ cr.setLineWidth(1.0); ++ cr.setDash([], 0); ++ cr.stroke(); + } ++ + } ++ + }; + + function CpuIndicator() { +@@ -80,14 +138,28 @@ function CpuIndicator() { + CpuIndicator.prototype = { + __proto__: Indicator.prototype, + ++ _init: function() { ++ Indicator.prototype._init.call(this); ++ this.gridColor = '-grid-color'; ++ this.renderStats = [ 'cpu-user', 'cpu-sys', 'cpu-iowait' ]; ++ ++ // Make sure renderStats is sorted as necessary for rendering ++ let renderStatOrder = {'cpu-total': 0, 'cpu-user': 1, 'cpu-sys': 2, 'cpu-iowait': 3}; ++ this.renderStats = this.renderStats.sort(function(a,b) { ++ return renderStatOrder[a] - renderStatOrder[b]; ++ }); ++ }, ++ + _initValues: function() { + this._prev = new GTop.glibtop_cpu; + GTop.glibtop_get_cpu(this._prev); + +- this.values = []; +- this.values.push({color: "-cpu-user-color", values: []}); +- this.values.push({color: "-cpu-sys-color", values: []}); +- this.values.push({color: "-cpu-iowait-color", values: []}); ++ this.stats = { ++ 'cpu-user': {color: '-cpu-user-color', values: []}, ++ 'cpu-sys': {color: '-cpu-sys-color', values: []}, ++ 'cpu-iowait': {color: '-cpu-iowait-color', values: []}, ++ 'cpu-total': {color: '-cpu-total-color', values: []} ++ }; + }, + + _updateValues: function() { +@@ -98,15 +170,16 @@ CpuIndicator.prototype = { + let user = cpu.user - this._prev.user; + let sys = cpu.sys - this._prev.sys; + let iowait = cpu.iowait - this._prev.iowait; ++ let idle = cpu.idle - this._prev.idle; + +- t = user / total; +- this.values[0].values.push(t); +- +- t += sys / total; +- this.values[1].values.push(t); + t += iowait / total; +- this.values[2].values.push(t); +- ++ this.stats['cpu-iowait'].values.push(t); ++ t += sys / total; ++ this.stats['cpu-sys'].values.push(t); ++ t += user / total; ++ this.stats['cpu-user'].values.push(t); ++ this.stats['cpu-total'].values.push(1 - idle / total); ++ + this._prev = cpu; + } + }; +@@ -117,24 +190,37 @@ function MemoryIndicator() { + + MemoryIndicator.prototype = { + __proto__: Indicator.prototype, ++ ++ _init: function() { ++ Indicator.prototype._init.call(this); ++ this.gridColor = '-grid-color'; ++ this.renderStats = [ 'mem-user', 'mem-other', 'mem-cached' ]; ++ ++ // Make sure renderStats is sorted as necessary for rendering ++ let renderStatOrder = { 'mem-cached': 0, 'mem-other': 1, 'mem-user': 2 }; ++ this.renderStats = this.renderStats.sort(function(a,b) { ++ return renderStatOrder[a] - renderStatOrder[b]; ++ }); ++ }, + + _initValues: function() { + this.mem = new GTop.glibtop_mem; +- this.values = []; +- this.values.push({ color: "-mem-user-color", values: [] }); +- this.values.push({ color: "-mem-other-color", values: [] }); +- this.values.push({ color: "-mem-cached-color", values: [] }); ++ this.stats = { ++ 'mem-user': { color: "-mem-user-color", values: [] }, ++ 'mem-other': { color: "-mem-other-color", values: [] }, ++ 'mem-cached': { color: "-mem-cached-color", values: [] } ++ }; + }, + + _updateValues: function() { + GTop.glibtop_get_mem(this.mem); + + let t = this.mem.user / this.mem.total; +- this.values[0].values.push(t); ++ this.stats['mem-user'].values.push(t); + t += (this.mem.used - this.mem.user - this.mem.cached) / this.mem.total; +- this.values[1].values.push(t); ++ this.stats['mem-other'].values.push(t); + t += this.mem.cached / this.mem.total; +- this.values[2].values.push(t); ++ this.stats['mem-cached'].values.push(t); + } + }; + +@@ -143,7 +229,7 @@ function init() { + } + + function enable() { +- _cpuIndicator = new CpuIndicator(); ++ _cpuIndicator = new CpuIndicator(); + _memIndicator = new MemoryIndicator(); + _box = new St.BoxLayout({ style_class: 'extension-systemMonitor-container' }); + _box.add(_cpuIndicator.actor); +diff --git a/extensions/systemMonitor/stylesheet.css b/extensions/systemMonitor/stylesheet.css +index 26aad6b..daad48d 100644 +--- a/extensions/systemMonitor/stylesheet.css ++++ b/extensions/systemMonitor/stylesheet.css +@@ -1,16 +1,23 @@ + .extension-systemMonitor-container { + spacing: 5px; ++ padding-left: 5px; ++ padding-right: 5px; ++ padding-bottom: 1px; ++ padding-top: 0px; + } + + .extension-systemMonitor-indicator-area { +- border: 1px solid #000; ++ border: 1px solid #8d8d8d; ++ border-radius: 3px; + width: 100px; +- height: 34px; +- -cpu-user-color: #f00; +- -cpu-sys-color: #0f0; +- -cpu-iowait-color: #00f; +- -mem-user-color: #ff0; +- -mem-cached-color: #0ff; +- -mem-other-color: #111; +- background-color: #fff; ++ height: 30px; ++ -grid-color: #575757; ++ -cpu-total-color: rgb(0,154,62); ++ -cpu-user-color: rgb(69,154,0); ++ -cpu-sys-color: rgb(255,253,81); ++ -cpu-iowait-color: rgb(210,148,0); ++ -mem-user-color: rgb(210,148,0); ++ -mem-cached-color: rgb(90,90,90); ++ -mem-other-color: rgb(205,203,41); ++ background-color: #1e1e1e; + } +-- +1.7.7.2 + diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-enable-disable.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-enable-disable.patch new file mode 100644 index 000000000000..2fd4229ad1fc --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.2.0-systemMonitor-enable-disable.patch @@ -0,0 +1,46 @@ +From 2bba98d6214cffae2eb5cecb9d7c1f6b6d244052 Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" <jstpierre@mecheye.net> +Date: Tue, 25 Oct 2011 14:21:01 -0400 +Subject: systemMonitor: Properly enable/disable + +https://bugzilla.gnome.org/show_bug.cgi?id=662705 +--- + extensions/systemMonitor/extension.js | 9 ++++++++- + 1 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js +index 39801ab..6aa117a 100644 +--- a/extensions/systemMonitor/extension.js ++++ b/extensions/systemMonitor/extension.js +@@ -35,13 +35,18 @@ Indicator.prototype = { + reactive: true}); + this.actor.add_actor(this.drawing_area); + +- Mainloop.timeout_add(INDICATOR_UPDATE_INTERVAL, Lang.bind(this, function () { ++ this._timeout = Mainloop.timeout_add(INDICATOR_UPDATE_INTERVAL, Lang.bind(this, function () { + this._updateValues(); + this.drawing_area.queue_repaint(); + return true; + })); + }, + ++ destroy: function() { ++ Mainloop.source_remove(this._timeout); ++ this.actor.destroy(); ++ }, ++ + _initValues: function() { + }, + +@@ -239,6 +244,8 @@ function enable() { + + function disable() { + _cpuIndicator.destroy(); ++ _cpuIndicator = null; + _memIndicator.destroy(); ++ _memIndicator = null; + _box.destroy(); + } +-- +1.7.7.2 + diff --git a/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.2.0-r2.ebuild b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.2.0-r2.ebuild new file mode 100644 index 000000000000..ae3848c51786 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.2.0-r2.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/gnome-shell-extensions/gnome-shell-extensions-3.2.0-r2.ebuild,v 1.1 2011/11/06 01:42:59 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" + +inherit gnome2 + +DESCRIPTION="JavaScript extensions for GNOME Shell" +HOMEPAGE="http://live.gnome.org/GnomeShell/Extensions" + +LICENSE="GPL-2" +SLOT="0" +IUSE="examples" +KEYWORDS="~amd64 ~x86" + +COMMON_DEPEND=" + >=dev-libs/glib-2.26 + >=gnome-base/gnome-desktop-2.91.6:3[introspection] + >=gnome-base/libgtop-2.28.3[introspection] + app-admin/eselect-gnome-shell-extensions" +RDEPEND="${COMMON_DEPEND} + >=dev-libs/gjs-1.29 + dev-libs/gobject-introspection + =gnome-base/gnome-shell-3.2* + media-libs/clutter:1.0[introspection] + net-libs/telepathy-glib[introspection] + x11-libs/gtk+:3[introspection] + x11-libs/pango[introspection]" +DEPEND="${COMMON_DEPEND} + sys-devel/gettext + >=dev-util/pkgconfig-0.22 + >=dev-util/intltool-0.26 + gnome-base/gnome-common" + +pkg_setup() { + DOCS="NEWS README" + G2CONF="${G2CONF} + --enable-extensions=all + --disable-schemas-compile" +} + +src_prepare() { + gnome2_src_prepare + + # Useful patches from upstream, will be in the next release + epatch "${FILESDIR}/${P}-dock-popup-menus.patch" + epatch "${FILESDIR}/${P}-dock-gnome-3.2.patch" + epatch "${FILESDIR}/${P}-systemMonitor-CSS.patch" + epatch "${FILESDIR}/${P}-systemMonitor-enable-disable.patch" + + # Extensions work with gnome-3.2*, not just 3.2.0 + epatch "${FILESDIR}/${PN}-3.2.0-gnome-3.2.1.patch" + + # xrandr-indicator crashes gnome-shell with <gjs-0.7.15; + # see gnome bug 649077. For simplicity, just disable it for gnome-3.0. + # sed -e 's:\(ALL_EXTENSIONS=.*\)xrandr-indicator:\1:' \ + # -i configure || die +} + +src_install() { + gnome2_src_install + + local example="example@gnome-shell-extensions.gnome.org" + if use examples; then + mv "${ED}usr/share/gnome-shell/extensions/${example}" \ + "${ED}usr/share/doc/${PF}/" || die + else + rm -r "${ED}usr/share/gnome-shell/extensions/${example}" || die + fi +} + +pkg_postinst() { + gnome2_pkg_postinst + + ebegin "Updating list of installed extensions" + eselect gnome-shell-extensions update + eend $? + elog + elog "Installed extensions installed are initially disabled by default." + elog "To change the system default and enable some extensions, you can use" + elog "# eselect gnome-shell-extensions" + elog "Alternatively, you can use the org.gnome.shell enabled-extensions" + elog "gsettings key to change the disabled extension list per-user, or" + elog "use the gnome-extra/gnome-tweak-tool GUI." + elog +} diff --git a/gnome-extra/gnome-shell-extensions/metadata.xml b/gnome-extra/gnome-shell-extensions/metadata.xml new file mode 100644 index 000000000000..da6fd63d0085 --- /dev/null +++ b/gnome-extra/gnome-shell-extensions/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +</pkgmetadata> |