summaryrefslogtreecommitdiff
path: root/extra/gnome-shell
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2012-02-05 14:32:52 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2012-02-05 14:32:52 -0300
commit2699a201e0f70a2e1c2f7a0cab8725321649893d (patch)
treeb9f1b7eaa65592b658bb922714a975725e244d3c /extra/gnome-shell
parent8d1750d5bec9ffb69b499a8452d7c2c52cea70e5 (diff)
parent359d940358dec836dd0acfe9d9caf0b1ff0a97fe (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/bacula/PKGBUILD community/clementine/PKGBUILD community/dbus-sharp-glib/PKGBUILD community/dockmanager/PKGBUILD community/docky/PKGBUILD community/flightgear-atlas/PKGBUILD community/libdesktop-agnostic/PKGBUILD community/openmovieeditor/PKGBUILD community/perl-crypt-openssl-bignum/PKGBUILD community/perl-crypt-openssl-random/PKGBUILD community/perl-crypt-openssl-rsa/PKGBUILD community/tucan/PKGBUILD core/btrfs-progs-unstable/PKGBUILD core/module-init-tools/PKGBUILD core/sqlite3/PKGBUILD.mips64el extra/bogofilter/PKGBUILD extra/dirmngr/PKGBUILD extra/gluezilla/PKGBUILD extra/gnupg/PKGBUILD extra/gnupg2/PKGBUILD extra/gpgme/PKGBUILD extra/kdeaccessibility/PKGBUILD extra/kdelibs/PKGBUILD extra/kdeutils/PKGBUILD extra/libassuan/PKGBUILD extra/libksba/PKGBUILD extra/oxygen-gtk/PKGBUILD extra/pinentry/PKGBUILD extra/pth/PKGBUILD extra/smplayer-themes/PKGBUILD libre/kdeutils-libre/PKGBUILD libre/linux-libre/linux-libre.preset.mips64el
Diffstat (limited to 'extra/gnome-shell')
-rw-r--r--extra/gnome-shell/revert-notificationdaemon-group-based-on-pid-and-titles.patch224
1 files changed, 0 insertions, 224 deletions
diff --git a/extra/gnome-shell/revert-notificationdaemon-group-based-on-pid-and-titles.patch b/extra/gnome-shell/revert-notificationdaemon-group-based-on-pid-and-titles.patch
deleted file mode 100644
index cdb9140bf..000000000
--- a/extra/gnome-shell/revert-notificationdaemon-group-based-on-pid-and-titles.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-From 7e654ab3ca6e8ac75ba5e45c2a411eb1c2904b26 Mon Sep 17 00:00:00 2001
-From: Marina Zhurakhinskaya <marinaz@redhat.com>
-Date: Tue, 20 Dec 2011 05:51:35 +0000
-Subject: notificationDaemon: group sources based on a combination of pid and title
-
-That way different system notifications, such as the ones about battery power
-and the ones about software updates, are shown with separate message tray
-sources.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=664138
----
-diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
-index f40205d..c691efe 100644
---- a/js/ui/notificationDaemon.js
-+++ b/js/ui/notificationDaemon.js
-@@ -92,7 +92,7 @@ NotificationDaemon.prototype = {
- _init: function() {
- DBus.session.exportObject('/org/freedesktop/Notifications', this);
-
-- this._sources = {};
-+ this._sources = [];
- this._senderToPid = {};
- this._notifications = {};
- this._busProxy = new Bus();
-@@ -150,14 +150,30 @@ NotificationDaemon.prototype = {
- }
- },
-
-+ _lookupSource: function(title, pid, trayIcon) {
-+ for (let i = 0; i < this._sources.length; i++) {
-+ let source = this._sources[i];
-+ if (source.pid == pid &&
-+ (source.initialTitle == title || source.trayIcon || trayIcon))
-+ return source;
-+ }
-+ return null;
-+ },
-+
- // Returns the source associated with ndata.notification if it is set.
-- // Otherwise, returns the source associated with the pid if one is
-- // stored in this._sources and the notification is not transient.
-- // Otherwise, creates a new source as long as pid is provided.
-+ // Otherwise, returns the source associated with the title and pid if
-+ // such source is stored in this._sources and the notification is not
-+ // transient. If the existing or requested source is associated with
-+ // a tray icon and passed in pid matches a pid of an existing source,
-+ // the title match is ignored to enable representing a tray icon and
-+ // notifications from the same application with a single source.
-+ //
-+ // If no existing source is found, a new source is created as long as
-+ // pid is provided.
- //
- // Either a pid or ndata.notification is needed to retrieve or
- // create a source.
-- _getSource: function(title, pid, ndata, sender) {
-+ _getSource: function(title, pid, ndata, sender, trayIcon) {
- if (!pid && !(ndata && ndata.notification))
- return null;
-
-@@ -174,20 +190,24 @@ NotificationDaemon.prototype = {
- // with a transient one from the same sender, so we
- // always create a new source object for new transient notifications
- // and never add it to this._sources .
-- if (!isForTransientNotification && this._sources[pid]) {
-- let source = this._sources[pid];
-- source.setTitle(title);
-- return source;
-+ if (!isForTransientNotification) {
-+ let source = this._lookupSource(title, pid, trayIcon);
-+ if (source) {
-+ source.setTitle(title);
-+ return source;
-+ }
- }
-
-- let source = new Source(title, pid, sender);
-+ let source = new Source(title, pid, sender, trayIcon);
- source.setTransient(isForTransientNotification);
-
- if (!isForTransientNotification) {
-- this._sources[pid] = source;
-+ this._sources.push(source);
- source.connect('destroy', Lang.bind(this,
- function() {
-- delete this._sources[pid];
-+ let index = this._sources.indexOf(source);
-+ if (index >= 0)
-+ this._sources.splice(index, 1);
- }));
- }
-
-@@ -261,7 +281,7 @@ NotificationDaemon.prototype = {
- let sender = DBus.getCurrentMessageContext().sender;
- let pid = this._senderToPid[sender];
-
-- let source = this._getSource(appName, pid, ndata, sender);
-+ let source = this._getSource(appName, pid, ndata, sender, null);
-
- if (source) {
- this._notifyForSource(source, ndata);
-@@ -282,7 +302,7 @@ NotificationDaemon.prototype = {
- if (!ndata)
- return;
-
-- source = this._getSource(appName, pid, ndata, sender);
-+ source = this._getSource(appName, pid, ndata, sender, null);
-
- // We only store sender-pid entries for persistent sources.
- // Removing the entries once the source is destroyed
-@@ -432,8 +452,8 @@ NotificationDaemon.prototype = {
- if (!tracker.focus_app)
- return;
-
-- for (let id in this._sources) {
-- let source = this._sources[id];
-+ for (let i = 0; i < this._sources.length; i++) {
-+ let source = this._sources[i];
- if (source.app == tracker.focus_app) {
- source.destroyNonResidentNotifications();
- return;
-@@ -456,12 +476,11 @@ NotificationDaemon.prototype = {
- },
-
- _onTrayIconAdded: function(o, icon) {
-- let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null);
-- source.setTrayIcon(icon);
-+ let source = this._getSource(icon.title || icon.wm_class || _("Unknown"), icon.pid, null, null, icon);
- },
-
- _onTrayIconRemoved: function(o, icon) {
-- let source = this._sources[icon.pid];
-+ let source = this._lookupSource(icon.pid, null, true);
- if (source)
- source.destroy();
- }
-@@ -476,10 +495,12 @@ function Source(title, pid, sender) {
- Source.prototype = {
- __proto__: MessageTray.Source.prototype,
-
-- _init: function(title, pid, sender) {
-+ _init: function(title, pid, sender, trayIcon) {
- MessageTray.Source.prototype._init.call(this, title);
-
-- this._pid = pid;
-+ this.initialTitle = title;
-+
-+ this.pid = pid;
- if (sender)
- // TODO: dbus-glib implementation of watch_name() doesn’t return an id to be used for
- // unwatch_name() or implement unwatch_name(), however when we move to using GDBus implementation,
-@@ -496,7 +517,12 @@ Source.prototype = {
- this.title = this.app.get_name();
- else
- this.useNotificationIcon = true;
-- this._trayIcon = null;
-+
-+ this.trayIcon = trayIcon;
-+ if (this.trayIcon) {
-+ this._setSummaryIcon(this.trayIcon);
-+ this.useNotificationIcon = false;
-+ }
- },
-
- _onNameVanished: function() {
-@@ -523,7 +549,7 @@ Source.prototype = {
- },
-
- handleSummaryClick: function() {
-- if (!this._trayIcon)
-+ if (!this.trayIcon)
- return false;
-
- let event = Clutter.get_current_event();
-@@ -544,11 +570,11 @@ Source.prototype = {
- let id = global.connect('notify::stage-input-mode', Lang.bind(this,
- function () {
- global.disconnect(id);
-- this._trayIcon.click(event);
-+ this.trayIcon.click(event);
- }));
- Main.overview.hide();
- } else {
-- this._trayIcon.click(event);
-+ this.trayIcon.click(event);
- }
- return true;
- },
-@@ -557,31 +583,25 @@ Source.prototype = {
- if (this.app)
- return;
-
-- this.app = Shell.WindowTracker.get_default().get_app_from_pid(this._pid);
-+ this.app = Shell.WindowTracker.get_default().get_app_from_pid(this.pid);
- if (!this.app)
- return;
-
- // Only override the icon if we were previously using
- // notification-based icons (ie, not a trayicon) or if it was unset before
-- if (!this._trayIcon) {
-+ if (!this.trayIcon) {
- this.useNotificationIcon = false;
- this._setSummaryIcon(this.app.create_icon_texture (this.ICON_SIZE));
- }
- },
-
-- setTrayIcon: function(icon) {
-- this._setSummaryIcon(icon);
-- this.useNotificationIcon = false;
-- this._trayIcon = icon;
-- },
--
- open: function(notification) {
- this.destroyNonResidentNotifications();
- this.openApp();
- },
-
- _lastNotificationRemoved: function() {
-- if (!this._trayIcon)
-+ if (!this.trayIcon)
- this.destroy();
- },
-
---
-cgit v0.9.0.2