Added upstream patches

enabled/disabled extensions
This commit is contained in:
Victor Seva Lopez
2011-11-12 11:39:10 +00:00
parent 2618620d04
commit 245714aa0c
7 changed files with 446 additions and 2 deletions
+11 -1
View File
@@ -14,6 +14,16 @@ gnome-shell-extensions (3.2.0-1) UNRELEASED; urgency=low
- Removed unused variables.
* debian/watch added.
* No more gnome-shell-extension-* packages.
* debian/patches/upstream
- patch_967aee7aad2accfb38d91ab56b6c5e91d86a2722.diff
popup menu fix
- patch_66242aa76a5d59fb4659551575c1fbb42e50b8fb.diff
dock fix.
- patch_4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7.diff
patch_2bba98d6214cffae2eb5cecb9d7c1f6b6d244052.diff
systemMonitor: Properly enable/disable
* debian/rules
- EXTENSIONS_ENABLED, EXTENSIONS_DISABLED variables
[ Michael Biebl ]
* debian/watch: Track .xz tarballs.
@@ -25,4 +35,4 @@ gnome-shell-extensions (3.2.0-1) UNRELEASED; urgency=low
* debian/rules:
- Include gnome-get-source.mk.
-- Michael Biebl <biebl@debian.org> Mon, 07 Nov 2011 17:59:48 +0100
-- Victor Seva <linuxmaniac@torreviejawireless.org> Sat, 12 Nov 2011 12:19:27 +0100
+4
View File
@@ -0,0 +1,4 @@
upstream/patch_967aee7aad2accfb38d91ab56b6c5e91d86a2722.diff
upstream/patch_66242aa76a5d59fb4659551575c1fbb42e50b8fb.diff
upstream/patch_4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7.diff
upstream/patch_2bba98d6214cffae2eb5cecb9d7c1f6b6d244052.diff
@@ -0,0 +1,42 @@
From 2bba98d6214cffae2eb5cecb9d7c1f6b6d244052 Mon Sep 17 00:00:00 2001
From: Jasper St. Pierre <jstpierre@mecheye.net>
Date: Tue, 25 Oct 2011 18:21:01 +0000
Subject: systemMonitor: Properly enable/disable
https://bugzilla.gnome.org/show_bug.cgi?id=662705
---
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();
}
--
cgit v0.9.0.2
@@ -0,0 +1,311 @@
From 4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7 Mon Sep 17 00:00:00 2001
From: Jason Siefken <siefkenj@gmail.com>
Date: Tue, 11 Oct 2011 09:15:05 +0000
Subject: Added prettier drawing operations and css colors
https://bugzilla.gnome.org/show_bug.cgi?id=661443
---
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;
}
--
cgit v0.9.0.2
@@ -0,0 +1,39 @@
From 66242aa76a5d59fb4659551575c1fbb42e50b8fb Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna@src.gnome.org>
Date: Tue, 18 Oct 2011 08:19:50 +0000
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>
---
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
+}
--
cgit v0.9.0.2
@@ -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
+6 -1
View File
@@ -5,4 +5,9 @@ include /usr/share/cdbs/1/class/gnome.mk
include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
DEB_CONFIGURE_EXTRA_FLAGS := --enable-extensions=all
EXTENSIONS_ENABLED="alternate-tab auto-move-windows workspace-indicator\
alternative-status-menu dock gajim native-window-placement user-theme\
apps-menu drive-menu places-menu windowsNavigator"
EXTENSIONS_DISABLED="systemMonitor xrandr-indicator"
DEB_CONFIGURE_EXTRA_FLAGS := --enable-extensions=$(EXTENSIONS_ENABLED)