diff options
author | Michał Masłowski <mtjm@mtjm.eu> | 2013-04-30 13:59:14 +0200 |
---|---|---|
committer | Michał Masłowski <mtjm@mtjm.eu> | 2013-04-30 13:59:14 +0200 |
commit | c9f24b5e67b10a25e7ffa9afaefbd6ca76342940 (patch) | |
tree | d40774a5451822f227e9b59122fae865b02d0254 /community/cinnamon | |
parent | e7fca19e8659c6c5b6fbb34527b129e655514f1e (diff) | |
parent | 08483ba66f8da1bbec05f93e5e3493d3794c02bb (diff) |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts:
community/cinnamon-control-center/PKGBUILD
community/fbshot/PKGBUILD
community/fltk2/PKGBUILD
community/log4cpp/PKGBUILD
community/pion/PKGBUILD
Diffstat (limited to 'community/cinnamon')
-rw-r--r-- | community/cinnamon/PKGBUILD | 14 | ||||
-rw-r--r-- | community/cinnamon/fallback-helpers.patch | 7 | ||||
-rw-r--r-- | community/cinnamon/gnome-3.8.patch | 849 | ||||
-rw-r--r-- | community/cinnamon/switch-applications.patch | 24 |
4 files changed, 581 insertions, 313 deletions
diff --git a/community/cinnamon/PKGBUILD b/community/cinnamon/PKGBUILD index 698a40277..364d90813 100644 --- a/community/cinnamon/PKGBUILD +++ b/community/cinnamon/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 88934 2013-04-25 02:04:16Z bgyorgy $ +# $Id: PKGBUILD 89378 2013-04-29 01:43:41Z bgyorgy $ # Maintainer: Alexandre Filgueira <alexfilgueira@cinnarch.com> # Contributor: M0Rf30 # Contributor: unifiedlinux # Contributor: CReimer pkgname=cinnamon -pkgver=1.7.4 -pkgrel=3 +pkgver=1.7.7 +pkgrel=1 pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience" arch=('i686' 'x86_64' 'mips64el') url="http://cinnamon.linuxmint.com/" @@ -30,12 +30,12 @@ source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/tarball/ "gnome-3.8.patch" "switch-applications.patch" "fallback-helpers.patch") -md5sums=('95260dc968ca9be32c265b35df2dd49d' +md5sums=('a0ed2648d1d95edeac2e45e2c11508fe' '2b1ece84416c3e4de030be15f1774d82' 'c3f25b06d345d9d36c197cd96e08f496' - 'cf2efbe1a5c48e1be53a0e8e4b7c3181' - '16258907bf51cd8c1569263791ffa620' - 'f7aa8ace9c9543ba2fd66bd530244fed') + '5136c2901dfda09e8b969a8b62b59209' + '3880fa4c5234771644e5b57a1ade4456' + '0dac5a546bf16921a4fdde8525366a24') build() { cd ${srcdir}/linuxmint-Cinnamon* diff --git a/community/cinnamon/fallback-helpers.patch b/community/cinnamon/fallback-helpers.patch index 6fe318bd9..b6810cdba 100644 --- a/community/cinnamon/fallback-helpers.patch +++ b/community/cinnamon/fallback-helpers.patch @@ -3,7 +3,7 @@ diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/session +++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon2d.session 2013-04-25 01:30:35.435650613 +0200 @@ -1,5 +1,5 @@ [GNOME Session] - Name=Cinnamon 2D + Name=Cinnamon (Software Rendering) -RequiredComponents=cinnamon2d;gnome-settings-daemon; +RequiredComponents=cinnamon2d;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper; DesktopName=GNOME @@ -11,11 +11,10 @@ diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/session diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session --- linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-15 15:55:01.000000000 +0200 +++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-25 01:30:33.645607769 +0200 -@@ -1,6 +1,6 @@ +@@ -1,5 +1,5 @@ [GNOME Session] Name=Cinnamon -RequiredComponents=cinnamon;gnome-settings-daemon; +RequiredComponents=cinnamon;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper; - IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated - FallbackSession=cinnamon2d DesktopName=GNOME + diff --git a/community/cinnamon/gnome-3.8.patch b/community/cinnamon/gnome-3.8.patch index 61cd9180f..f27131aa5 100644 --- a/community/cinnamon/gnome-3.8.patch +++ b/community/cinnamon/gnome-3.8.patch @@ -1,7 +1,7 @@ -From f4020d3960fa96a101bdb1c3ac1e1a452dbbf48c Mon Sep 17 00:00:00 2001 +From 2ba97ed278777fcb96b86cd58e9176536585ad2d Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Fri, 19 Apr 2013 13:19:50 -0400 -Subject: [PATCH 01/15] Disable XInput on cinnamon startup (for 3.8 compat) +Subject: [PATCH 01/16] Disable XInput on cinnamon startup (for 3.8 compat) This has no effect on < 1.14 clutter --- @@ -24,10 +24,10 @@ index 418fb60..ac90d91 100644 1.8.1.6 -From cc68659ecdd9e43128ec2b4555479f930c0d1ccd Mon Sep 17 00:00:00 2001 +From 72133f97fbd99c78169cec49e18b97da3edba524 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Fri, 19 Apr 2013 13:21:40 -0400 -Subject: [PATCH 02/15] Explain change +Subject: [PATCH 02/16] Explain change --- src/main.c | 4 +++- @@ -55,10 +55,10 @@ index ac90d91..9d37975 100644 1.8.1.6 -From f3777b3b2733b965bd348c7175ee67ee268aee06 Mon Sep 17 00:00:00 2001 +From 28210e29e3e0d81c68320b9511574a168f5779e4 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Tue, 16 Apr 2013 17:01:30 -0400 -Subject: [PATCH 03/15] Add backgroundManager - this is needed for gnome 3.8 +Subject: [PATCH 03/16] Add backgroundManager - this is needed for gnome 3.8 compatibility, as gnome-settings-daemon no longer handles the desktop background. @@ -107,10 +107,10 @@ index 0aa47c5..a2a9479 100644 PKG_CHECK_MODULES(TRAY, gtk+-3.0) PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0) diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in -index ffbad92..6f55477 100644 +index f12f8c5..939ea70 100644 --- a/data/org.cinnamon.gschema.xml.in +++ b/data/org.cinnamon.gschema.xml.in -@@ -720,6 +720,23 @@ +@@ -746,6 +746,23 @@ </key> </schema> @@ -134,7 +134,7 @@ index ffbad92..6f55477 100644 <schema id="org.cinnamon.background" path="/org/cinnamon/background/"> <key name="mode" type="s"> <default>"wallpaper"</default> -@@ -750,8 +767,60 @@ +@@ -776,8 +793,60 @@ This key defines the delay for the slideshow. </description> </key> @@ -253,7 +253,7 @@ index f964aed..4a38c84 100644 class BackgroundSidePage (SidePage): def __init__(self, name, icon, keywords, advanced, content_box): - SidePage.__init__(self, name, icon, keywords, advanced, content_box) + SidePage.__init__(self, name, icon, keywords, advanced, content_box, True) - self._gnome_background_schema = Gio.Settings("org.gnome.desktop.background") self._cinnamon_background_schema = Gio.Settings("org.cinnamon.background") self._add_wallpapers_dialog = AddWallpapersDialog() @@ -296,7 +296,7 @@ index f964aed..4a38c84 100644 advanced_options_box.pack_start(hbox, False, False, 0) self.content_box.show_all() diff --git a/js/ui/main.js b/js/ui/main.js -index 11920a4..5cae372 100644 +index 74154ab..99aee95 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -86,6 +86,7 @@ let _cssStylesheet = null; @@ -317,7 +317,7 @@ index 11920a4..5cae372 100644 // the color is used as the default contents for the Muffin root background // actor so set it anyways. diff --git a/src/Makefile.am b/src/Makefile.am -index 51413aa..6efce18 100644 +index 3bab29c..6bac83c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -105,6 +105,7 @@ cinnamon_public_headers_h = \ @@ -820,20 +820,20 @@ index 0000000..9a56e32 1.8.1.6 -From 590a48961f2c7a1b18fb914a1d7212ffcdf03017 Mon Sep 17 00:00:00 2001 +From c971d472a88f8ea725b2bef33715016e111732d9 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Tue, 16 Apr 2013 18:28:16 -0400 -Subject: [PATCH 04/15] Change default background +Subject: [PATCH 04/16] Change default background --- data/org.cinnamon.gschema.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in -index 6f55477..35b0972 100644 +index 939ea70..6d8c82d 100644 --- a/data/org.cinnamon.gschema.xml.in +++ b/data/org.cinnamon.gschema.xml.in -@@ -782,7 +782,7 @@ +@@ -808,7 +808,7 @@ </_description> </key> <key name="picture-uri" type="s"> @@ -846,20 +846,20 @@ index 6f55477..35b0972 100644 1.8.1.6 -From ac8b0954c7506ae88059e488539f88d55329f070 Mon Sep 17 00:00:00 2001 +From 0147459229b449757bac9a92c173c4bd3c2f9eca Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Tue, 16 Apr 2013 18:41:16 -0400 -Subject: [PATCH 05/15] Use distro-agnostic background.. +Subject: [PATCH 05/16] Use distro-agnostic background.. --- data/org.cinnamon.gschema.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in -index 35b0972..0d01089 100644 +index 6d8c82d..567dca8 100644 --- a/data/org.cinnamon.gschema.xml.in +++ b/data/org.cinnamon.gschema.xml.in -@@ -782,7 +782,7 @@ +@@ -808,7 +808,7 @@ </_description> </key> <key name="picture-uri" type="s"> @@ -872,33 +872,33 @@ index 35b0972..0d01089 100644 1.8.1.6 -From 81dbccb60231744999463a5b84c7c36358570929 Mon Sep 17 00:00:00 2001 +From 706d244a9dbe2ace9860044e2245a285d8473f47 Mon Sep 17 00:00:00 2001 From: dalcde <dalcde@yahoo.com.hk> Date: Mon, 15 Apr 2013 18:34:48 +0800 -Subject: [PATCH 06/15] [GDbus] Port DBus to GDBus (AltLinux patch) +Subject: [PATCH 06/16] [GDbus] Port DBus to GDBus (AltLinux patch) --- - .../applets/brightness@cinnamon.org/applet.js | 39 ++-- - .../cinnamon/applets/power@cinnamon.org/applet.js | 102 +++++---- - .../cinnamon/applets/sound@cinnamon.org/applet.js | 244 +++++---------------- + .../applets/brightness@cinnamon.org/applet.js | 39 +- + .../cinnamon/applets/power@cinnamon.org/applet.js | 102 ++-- + .../cinnamon/applets/sound@cinnamon.org/applet.js | 511 ++++++--------------- .../cinnamon/applets/xrandr@cinnamon.org/applet.js | 19 +- - js/misc/gnomeSession.js | 147 ++++--------- - js/misc/modemManager.js | 79 ++++--- - js/misc/screenSaver.js | 89 ++++---- + js/misc/gnomeSession.js | 147 ++---- + js/misc/modemManager.js | 79 ++-- + js/misc/screenSaver.js | 89 ++-- js/ui/appletManager.js | 1 - - js/ui/automountManager.js | 106 +++++---- - js/ui/autorunManager.js | 27 +-- - js/ui/calendar.js | 71 +++--- - js/ui/cinnamonDBus.js | 96 ++++---- - js/ui/endSessionDialog.js | 79 ++++--- - js/ui/keyboard.js | 48 ++-- + js/ui/automountManager.js | 106 ++--- + js/ui/autorunManager.js | 27 +- + js/ui/calendar.js | 71 +-- + js/ui/cinnamonDBus.js | 96 ++-- + js/ui/endSessionDialog.js | 79 ++-- + js/ui/keyboard.js | 48 +- js/ui/layout.js | 14 +- - js/ui/magnifierDBus.js | 134 +++++++---- + js/ui/magnifierDBus.js | 134 ++++-- js/ui/main.js | 6 - js/ui/messageTray.js | 13 +- - js/ui/notificationDaemon.js | 193 ++++++++-------- - js/ui/scripting.js | 34 ++- - 20 files changed, 688 insertions(+), 853 deletions(-) + js/ui/notificationDaemon.js | 193 ++++---- + js/ui/scripting.js | 34 +- + 20 files changed, 774 insertions(+), 1034 deletions(-) diff --git a/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js index 9cbda80..9087b25 100644 @@ -1064,12 +1064,11 @@ index c342fe7..b6b2bcd 100644 this.menu = new Applet.AppletPopupMenu(this, orientation); this.menuManager.addMenu(this.menu); - -- this.set_applet_icon_symbolic_name('battery-missing'); ++ + //this.set_applet_icon_symbolic_name('battery-missing'); - this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH); - this._smProxy = new SettingsManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH); - -+ -+ //this.set_applet_icon_symbolic_name('battery-missing'); + this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH); + this._smProxy = new SettingsManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH); + @@ -1080,10 +1079,10 @@ index c342fe7..b6b2bcd 100644 this._devicesChanged(); }, -- _devicesChanged: function() { -- this.set_applet_icon_symbolic_name('battery-missing'); +- _devicesChanged: function() { - this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) { - if (icon) { +- this.set_applet_icon_symbolic_name('battery-missing'); - let gicon = Gio.icon_new_for_string(icon); - this._applet_icon.gicon = gicon; - this.actor.show(); @@ -1109,7 +1108,7 @@ index c342fe7..b6b2bcd 100644 this._readOtherDevices(); this._updateLabel(); diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js -index 1113b1e..5bfaf26 100644 +index 50c4e1e..c8427ac 100644 --- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js +++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js @@ -1,7 +1,6 @@ @@ -1120,7 +1119,7 @@ index 1113b1e..5bfaf26 100644 const Lang = imports.lang; const Cinnamon = imports.gi.Cinnamon; const Clutter = imports.gi.Clutter; -@@ -12,90 +11,45 @@ const Gvc = imports.gi.Gvc; +@@ -12,95 +11,50 @@ const Gvc = imports.gi.Gvc; const Pango = imports.gi.Pango; const Tooltips = imports.ui.tooltips; @@ -1167,7 +1166,7 @@ index 1113b1e..5bfaf26 100644 - inSignature: '', - outSignature: '' }, - { name: 'SetPosition', -- inSignature: 'a{ov}', +- inSignature: 'ox', - outSignature: '' }], - properties: [{ name: 'Metadata', - signature: 'a{sv}', @@ -1234,7 +1233,7 @@ index 1113b1e..5bfaf26 100644 +<property name='Metadata' access='read' type='a{sv}' /> +<property name='Shuffle' access='readwrite' type='b' /> +<property name='Rate' access='readwrite' type='d' /> -+<property name='LoopStatus' access='readwrite' type='b' /> ++<property name='LoopStatus' access='readwrite' type='s' /> +<property name='Volume' access='readwrite' type='d' /> +<property name='PlaybackStatus' access='read' type='s' /> +<property name='Position' access='read' type='x' /> @@ -1250,27 +1249,28 @@ index 1113b1e..5bfaf26 100644 /* global values */ let icon_path = "/usr/share/cinnamon/theme/"; -@@ -112,120 +66,20 @@ const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */ +-let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer", "qmmp" ]; +-let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer", "qmmp" ]; ++let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer" ]; ++let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer" ]; + /* dummy vars for translation */ + let x = _("Playing"); + x = _("Paused"); +@@ -112,131 +66,20 @@ const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */ const ICON_SIZE = 28; -function Prop() { - this._init.apply(this, arguments); -+var PropProxy = Gio.DBusProxy.makeProxyWrapper(PropIFace); -+function Prop(owner, initCallback, cancellable) { -+ return new PropProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable); - } - +-} +- -Prop.prototype = { - _init: function(owner) { - DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this); - } -+var MediaServer2Proxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2IFace); -+function MediaServer2(owner, initCallback, cancellable) { -+ return new MediaServer2Proxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable); - } +-} -DBus.proxifyPrototype(Prop.prototype, PropIFace) - +- -function MediaServer2() { - this._init.apply(this, arguments); -} @@ -1293,13 +1293,19 @@ index 1113b1e..5bfaf26 100644 - callback(this, quit); - })); - } --} ++var PropProxy = Gio.DBusProxy.makeProxyWrapper(PropIFace); ++function Prop(owner, initCallback, cancellable) { ++ return new PropProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable); + } -DBus.proxifyPrototype(MediaServer2.prototype, MediaServer2IFace) -- + -function MediaServer2Player() { - this._init.apply(this, arguments); --} -- ++var MediaServer2Proxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2IFace); ++function MediaServer2(owner, initCallback, cancellable) { ++ return new MediaServer2Proxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable); + } + -MediaServer2Player.prototype = { - _init: function(owner) { - this._owner = owner; @@ -1333,6 +1339,9 @@ index 1113b1e..5bfaf26 100644 - callback(this, position); - })); - }, +- setPosition: function(value) { +- this.SetRemote('Position', value); +- }, - getShuffle: function(callback) { - this.GetRemote('Shuffle', Lang.bind(this, - function(shuffle, ex) { @@ -1371,6 +1380,14 @@ index 1113b1e..5bfaf26 100644 - else - value = "None" - this.SetRemote('LoopStatus', value); +- }, +- getCanSeek: function(callback) { +- this.GetRemote('CanSeek', Lang.bind(this, +- function(canSeek, err) { +- if (!err) { +- callback(this, canSeek); +- } +- })); - } +var MediaServer2PlayerProxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2PlayerIFace); +function MediaServer2Player(owner, initCallback, cancellable) { @@ -1380,15 +1397,427 @@ index 1113b1e..5bfaf26 100644 function TrackInfo() { this._init.apply(this, arguments); -@@ -715,7 +569,7 @@ MyApplet.prototype = { +@@ -355,7 +198,6 @@ Player.prototype = { + _init: function(system_status_button, owner) { + PopupMenu.PopupMenuSection.prototype._init.call(this); + +- this.showPosition = true; // @todo: Get from settings + this._owner = owner; + this._system_status_button = system_status_button; + this._name = this._owner.split('.')[3]; +@@ -389,7 +231,7 @@ Player.prototype = { + this.infos_top.add_actor(this._artist.getActor()); + this.infos_bottom.add_actor(this._album.getActor()); + this.infos_top.add_actor(this._title.getActor()); +- ++ this.infos_bottom.add_actor(this._time.getActor()); + this._trackInfosTop.set_child(this.infos_top); + this._trackInfosBottom.set_child(this.infos_bottom); + +@@ -414,90 +256,39 @@ Player.prototype = { + this._trackControls.set_child(this.controls); + this.addActor(this._trackControls); + +- this._seekControls = new St.Bin({style_class: 'sound-seek', x_align: St.Align.START}); +- this.seekControls = new St.BoxLayout({style_class: 'sound-seek-box'}); +- this.seekControls.add_actor(this._time.getActor()); +- +- this._positionSlider = new PopupMenu.PopupSliderMenuItem(0); +- this._positionSlider.connect('value-changed', Lang.bind(this, function(item) { +- let time = item._value * this._songLength; +- this._time.setLabel(this._formatTime(time) + " / " + this._formatTime(this._songLength)); +- })); +- this._positionSlider.connect('drag-end', Lang.bind(this, function(item) { +- let time = item._value * this._songLength; +- this._time.setLabel(this._formatTime(time) + " / " + this._formatTime(this._songLength)); +- this._wantedSeekValue = Math.round(time * 1000000); +- this._mediaServerPlayer.SetPositionRemote(this._trackObj, time * 1000000); +- })); +- +- this.sliderBin = new St.Bin({style_class: 'sound-seek-slider'}); +- this.sliderBin.set_child(this._positionSlider.actor); +- this.seekControls.add_actor(this.sliderBin); +- this._seekControls.set_child(this.seekControls); +- this.addActor(this._seekControls); +- +- this._mediaServer.getRaise(Lang.bind(this, function(sender, raise) { +- if (raise) { +- this._raiseButton = new ControlButton('go-up', +- Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); })); +- this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player")); +- this.controls.add_actor(this._raiseButton.getActor()); +- } +- })); +- +- this._mediaServer.getQuit(Lang.bind(this, function(sender, quit) { +- if (quit) { +- this._quitButton = new ControlButton('window-close', +- Lang.bind(this, function () { this._mediaServer.QuitRemote(); })); +- this.controls.add_actor(this._quitButton.getActor()); +- this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player")); +- } +- })); ++ let CanRaise = this._mediaServer.CanRaise; ++ let CanQuit = this._mediaServer.CanQuit; ++ if (CanRaise) { ++ this._raiseButton = new ControlButton('go-up', ++ Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); })); ++ this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player")); ++ this.controls.add_actor(this._raiseButton.getActor()); ++ } ++ if (CanQuit) { ++ this._quitButton = new ControlButton('window-close', ++ Lang.bind(this, function () { this._mediaServer.QuitRemote(); })); ++ this.controls.add_actor(this._quitButton.getActor()); ++ this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player")); ++ } + + /* this players don't support seek */ +- if (support_seek.indexOf(this._name) == -1) { ++ if (support_seek.indexOf(this._name) == -1) + this._time.hide(); +- this.showPosition = false; +- this._positionSlider.hide(); +- } + this._getStatus(); + this._trackId = {}; + this._getMetadata(); + this._currentTime = 0; + this._getPosition(); +- this._wantedSeekValue = 0; +- this._updatePositionSlider(); + +- this._prop.connect('PropertiesChanged', Lang.bind(this, function(sender, iface, value) { ++ this._prop.connectSignal('PropertiesChanged', Lang.bind(this, function(sender, iface, value) { + if (value["PlaybackStatus"]) +- this._setStatus(iface, value["PlaybackStatus"]); ++ this._setStatus(value["PlaybackStatus"]); + if (value["Metadata"]) +- this._setMetadata(iface, value["Metadata"]); +- //qmmp +- if(sender._dbusBusName == 'org.mpris.MediaPlayer2.qmmp') { +- if (value["playbackStatus"]) +- this._setStatus(iface, value["playbackStatus"]); +- if (value["metadata"]) +- this._setMetadata(sender, value["metadata"]); +- } ++ this._setMetadata(value["Metadata"]); + })); + +- this._mediaServerPlayer.connect('Seeked', Lang.bind(this, function(sender, value) { +- if (value > 0) { +- this._setPosition(value); +- } +- // Seek initiated by the position slider +- else if (this._wantedSeekValue > 0) { +- // Some broken gstreamer players (Banshee) reports always 0 +- // when the track is seeked so we set the position at the +- // value we set on the slider +- this._setPosition(this._wantedSeekValue); +- } +- // Seek value send by the player +- else +- this._setPosition(value); +- +- this._wantedSeekValue = 0; ++ this._mediaServerPlayer.connectSignal('Seeked', Lang.bind(this, function(sender, iface, [value]) { ++ this._setPosition(sender, value); + })); + + Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition)); +@@ -512,45 +303,26 @@ Player.prototype = { + this._playerInfo.setText(this._getName() + " - " + _(status)); + }, + +- _updatePositionSlider: function(position) { +- this._mediaServerPlayer.getCanSeek(Lang.bind(this, function(sender, canSeek) { +- this._canSeek = canSeek; +- +- if (this._songLength == 0 || position == false) +- this._canSeek = false +- +- // Clem: The following code was commented out. When the next song started, it resulted in hiding the sound menu, making it hard for the user to repeatedly click on the next song button. +- // There's probably a better fix and this was not tested with players which don't support seeking, but it fixes the regression created by the slider (apparently when the slider is hidden it closes the menu) +- // if (this._playerStatus == "Playing" && this._canSeek && this.showPosition) +- // this._positionSlider.actor.show(); +- // else +- // this._positionSlider.actor.hide(); +- })); +- }, +- +- _setPosition: function(value) { +- if (value == null && this._playerStatus != 'Stopped') { +- this._updatePositionSlider(false); +- } +- else { +- this._currentTime = value / 1000000; +- this._updateTimer(); +- } ++ _setPosition: function(sender, value) { ++ this._stopTimer(); ++ this._currentTime = value / 1000000; ++ this._updateTimer(); ++ if (this._playerStatus == "Playing") ++ this._runTimer(); + }, + + _getPosition: function() { +- this._mediaServerPlayer.getPosition(Lang.bind(this, function(sender, value) { +- this._setPosition(value); +- })); ++ this._setPosition(this._mediaServerPlayer.Position); ++ Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition)); + }, + +- _setMetadata: function(sender, metadata) { ++ _setMetadata: function(metadata) { + if (metadata["mpris:length"]) { + // song length in secs +- this._songLength = metadata["mpris:length"] / 1000000; ++ this._songLength = metadata["mpris:length"].unpack() / 1000000; + // FIXME upstream + if (this._name == "quodlibet") +- this._songLength = metadata["mpris:length"] / 1000; ++ this._songLength = metadata["mpris:length"].unpack() / 1000; + // reset timer + this._stopTimer(); + if (this._playerStatus == "Playing") +@@ -559,26 +333,29 @@ Player.prototype = { + this._stopTimer(); + } + if (metadata["xesam:artist"]) +- this._artist.setLabel(metadata["xesam:artist"].toString()); ++ this._artist.setLabel(metadata["xesam:artist"].unpack()); + else + this._artist.setLabel(_("Unknown Artist")); + if (metadata["xesam:album"]) +- this._album.setLabel(metadata["xesam:album"].toString()); ++ this._album.setLabel(metadata["xesam:album"].unpack()); + else + this._album.setLabel(_("Unknown Album")); + if (metadata["xesam:title"]) +- this._title.setLabel(metadata["xesam:title"].toString()); ++ this._title.setLabel(metadata["xesam:title"].unpack()); + else + this._title.setLabel(_("Unknown Title")); +- +- if (metadata["mpris:trackid"]) { +- this._trackObj = metadata["mpris:trackid"]; +- } ++ /*if (metadata["mpris:trackid"]) { ++ this._trackId = { ++ _init: function() { ++ DBus.session.proxifyObject(this, this._owner, metadata["mpris:trackid"]); ++ } ++ } ++ }*/ + + let change = false; + if (metadata["mpris:artUrl"]) { +- if (this._trackCoverFile != metadata["mpris:artUrl"].toString()) { +- this._trackCoverFile = metadata["mpris:artUrl"].toString(); ++ if (this._trackCoverFile != metadata["mpris:artUrl"].unpack()) { ++ this._trackCoverFile = metadata["mpris:artUrl"].unpack(); + change = true; + } + } +@@ -600,8 +377,7 @@ Player.prototype = { + cover.read_async(null, null, Lang.bind(this, this._onReadCover)); + } + else { +- cover_path = decodeURIComponent(this._trackCoverFile); +- cover_path = cover_path.replace("file://", ""); ++ cover_path = decodeURIComponent(this._trackCoverFile.substr(7)); + this._showCover(cover_path); + } + } +@@ -611,13 +387,10 @@ Player.prototype = { + }, + + _getMetadata: function() { +- this._mediaServerPlayer.getMetadata(Lang.bind(this, +- this._setMetadata +- )); ++ this._setMetadata(this._mediaServerPlayer.Metadata); + }, + +- _setStatus: function(sender, status) { +- this._updatePositionSlider(); ++ _setStatus: function(status) { + this._playerStatus = status; + if (status == "Playing") { + this._playButton.setIcon("media-playback-pause"); +@@ -631,53 +404,39 @@ Player.prototype = { + this._playButton.setIcon("media-playback-start"); + this._stopTimer(); + } +- + this._playerInfo.setImage("player-" + status.toLowerCase()); + this._setName(status); + }, + + _getStatus: function() { +- this._mediaServerPlayer.getPlaybackStatus(Lang.bind(this, +- this._setStatus +- )); ++ this._setStatus(this._mediaServerPlayer.PlaybackStatus); + }, + + _updateRate: function() { +- this._mediaServerPlayer.getRate(Lang.bind(this, function(sender, rate) { +- this._rate = rate; +- })); ++ this._rate = this._mediaServerPlayer.Rate; + }, + + _updateTimer: function() { +- if (this.showPosition && this._canSeek) { +- if (!isNaN(this._currentTime) && !isNaN(this._songLength) && this._currentTime > 0) +- this._positionSlider.setValue(this._currentTime / this._songLength); +- else +- this._positionSlider.setValue(0); +- } + this._time.setLabel(this._formatTime(this._currentTime) + " / " + this._formatTime(this._songLength)); + }, + + _runTimer: function() { +- if (this._playerStatus == 'Playing') { +- this._timeoutId = Mainloop.timeout_add_seconds(1, Lang.bind(this, this._runTimer)); +- this._currentTime += 1; +- this._updateTimer(); +- } ++ /*if (!Tweener.resumeTweens(this)) { ++ Tweener.addTween(this, ++ { time: this._songLength - this._currentTime, ++ transition: 'linear', ++ onUpdate: Lang.bind(this, this._updateTimer) }); ++ }*/ + }, + + _pauseTimer: function() { +- if (this._timeoutId != 0) { +- Mainloop.source_remove(this._timeoutId); +- this._timeoutId = 0; +- } +- this._updateTimer(); ++ //Tweener.pauseTweens(this); + }, + + _stopTimer: function() { ++ /*Tweener.removeTweens(this); + this._currentTime = 0; +- this._pauseTimer(); +- this._updateTimer(); ++ this._updateTimer();*/ + }, + + _formatTime: function(s) { +@@ -771,7 +530,7 @@ MediaPlayerLauncher.prototype = { + }, + + activate: function (event) { +- this._menu.actor.hide(); ++ this._menu.actor.hide(); + this._app.activate_full(-1, event.get_time()); + return true; + } +@@ -799,7 +558,7 @@ MyApplet.prototype = { this._players = {}; // watch players for (var p=0; p<compatible_players.length; p++) { - DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], false, -+ Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], false, ++ Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], Gio.BusNameWatcherFlags.NONE, Lang.bind(this, this._addPlayer), Lang.bind(this, this._removePlayer) ); +@@ -930,7 +689,7 @@ MyApplet.prototype = { + return Object.keys(this._players).length; + }, + +- _addPlayer: function(owner) { ++ _addPlayer: function(connection, owner) { + // ensure menu is empty + this._cleanup(); + this._volumeControlShown = false; +@@ -945,12 +704,12 @@ MyApplet.prototype = { + this._readOutput(); + }, + +- _removePlayer: function(owner) { ++ _removePlayer: function(connection, owner) { + delete this._players[owner]; + this._cleanup(); + this._volumeControlShown = false; + for (owner in this._players) { +- this._addPlayer(owner); ++ this._addPlayer(connection, owner); + } + this.menu.emit('players-loaded', true); + +@@ -974,21 +733,21 @@ MyApplet.prototype = { + this._volumeControlShown = true; + + if (this._nbPlayers()==0){ +- this._availablePlayers = new Array(); ++ this._availablePlayers = new Array(); + let appsys = Cinnamon.AppSystem.get_default(); + let allApps = appsys.get_all(); + let listedDesktopFiles = new Array(); + for (let y=0; y<allApps.length; y++) { +- let app = allApps[y]; +- let entry = app.get_tree_entry(); +- let path = entry.get_desktop_file_path(); +- for (var p=0; p<compatible_players.length; p++) { ++ let app = allApps[y]; ++ let entry = app.get_tree_entry(); ++ let path = entry.get_desktop_file_path(); ++ for (var p=0; p<compatible_players.length; p++) { + let desktopFile = compatible_players[p]+".desktop"; +- if (path.indexOf(desktopFile) != -1 && listedDesktopFiles.indexOf(desktopFile) == -1) { +- this._availablePlayers.push(app); ++ if (path.indexOf(desktopFile) != -1 && listedDesktopFiles.indexOf(desktopFile) == -1) { ++ this._availablePlayers.push(app); + listedDesktopFiles.push(desktopFile); +- } +- } ++ } ++ } + } + + if (this._availablePlayers.length > 0){ +@@ -1137,19 +896,19 @@ MyApplet.prototype = { + this._mutedChanged (null, null, '_output'); + this._volumeChanged (null, null, '_output'); + let sinks = this._control.get_sinks(); +- this._selectDeviceItem.menu.removeAll(); +- for (let i = 0; i < sinks.length; i++) { +- let sink = sinks[i]; +- let menuItem = new PopupMenu.PopupMenuItem(sink.get_description()); +- if (sinks[i].get_id() == this._output.get_id()) { +- menuItem.setShowDot(true); +- } +- menuItem.connect('activate', Lang.bind(this, function() { +- log('Changing default sink to ' + sink.get_description()); +- this._control.set_default_sink(sink); +- })); +- this._selectDeviceItem.menu.addMenuItem(menuItem); +- } ++ this._selectDeviceItem.menu.removeAll(); ++ for (let i = 0; i < sinks.length; i++) { ++ let sink = sinks[i]; ++ let menuItem = new PopupMenu.PopupMenuItem(sink.get_description()); ++ if (sinks[i].get_id() == this._output.get_id()) { ++ menuItem.setShowDot(true); ++ } ++ menuItem.connect('activate', Lang.bind(this, function() { ++ log('Changing default sink to ' + sink.get_description()); ++ this._control.set_default_sink(sink); ++ })); ++ this._selectDeviceItem.menu.addMenuItem(menuItem); ++ } + } else { + this._outputSlider.setValue(0); + this.setIconName('audio-volume-muted-symbolic'); diff --git a/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js index 0dcf74d..c2d152a 100644 --- a/files/usr/share/cinnamon/applets/xrandr@cinnamon.org/applet.js @@ -2512,7 +2941,7 @@ index f55cf93..69edb51 100644 function KeyboardSource() { this._init.apply(this, arguments); diff --git a/js/ui/layout.js b/js/ui/layout.js -index 76303b9..b97459e 100644 +index 3446e7a..7523b6f 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -488,12 +488,14 @@ Chrome.prototype = { @@ -2721,14 +3150,14 @@ index 72bba26..4d21797 100644 -DBus.conformExport(CinnamonMagnifier.prototype, MagnifierIface); -DBus.conformExport(CinnamonMagnifierZoomRegion.prototype, ZoomRegionIface); diff --git a/js/ui/main.js b/js/ui/main.js -index 5cae372..180db5c 100644 +index 99aee95..b602915 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -1,7 +1,6 @@ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- const Clutter = imports.gi.Clutter; --const DBus = imports.dbus; +-const DBus= imports.dbus; const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; const Gtk = imports.gi.Gtk; @@ -3112,15 +3541,14 @@ index 42c4f6d..9163d29 100644 1.8.1.6 -From d85e078c0ed09a8b9f8d3ea2ebec1043b6d150c1 Mon Sep 17 00:00:00 2001 +From 135d2228bbf6d3b1be5f90e0e599cd3880e06d93 Mon Sep 17 00:00:00 2001 From: dalcde <dalcde@yahoo.com.hk> Date: Tue, 16 Apr 2013 16:58:30 +0800 -Subject: [PATCH 07/15] [GDBus][Sound/Power Applet] Fix dbus port issues +Subject: [PATCH 07/16] [GDBus][Sound/Power Applet] Fix dbus port issues --- - .../cinnamon/applets/power@cinnamon.org/applet.js | 2 +- - .../cinnamon/applets/sound@cinnamon.org/applet.js | 83 ++++++++++------------ - 2 files changed, 37 insertions(+), 48 deletions(-) + files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js index b6b2bcd..fad39ab 100644 @@ -3135,204 +3563,14 @@ index b6b2bcd..fad39ab 100644 this._devicesChanged(); } catch (e) { -diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js -index 5bfaf26..52b8cde 100644 ---- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js -+++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js -@@ -37,7 +37,7 @@ const MediaServer2PlayerIFace = <interface name="org.mpris.MediaPlayer2.Player"> - <property name='Metadata' access='read' type='a{sv}' /> - <property name='Shuffle' access='readwrite' type='b' /> - <property name='Rate' access='readwrite' type='d' /> --<property name='LoopStatus' access='readwrite' type='b' /> -+<property name='LoopStatus' access='readwrite' type='s' /> - <property name='Volume' access='readwrite' type='d' /> - <property name='PlaybackStatus' access='read' type='s' /> - <property name='Position' access='read' type='x' /> -@@ -256,23 +256,20 @@ Player.prototype = { - this._trackControls.set_child(this.controls); - this.addActor(this._trackControls); - -- this._mediaServer.getRaise(Lang.bind(this, function(sender, raise) { -- if (raise) { -- this._raiseButton = new ControlButton('go-up', -- Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); })); -- this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player")); -- this.controls.add_actor(this._raiseButton.getActor()); -- } -- })); -- -- this._mediaServer.getQuit(Lang.bind(this, function(sender, quit) { -- if (quit) { -- this._quitButton = new ControlButton('window-close', -- Lang.bind(this, function () { this._mediaServer.QuitRemote(); })); -- this.controls.add_actor(this._quitButton.getActor()); -- this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player")); -- } -- })); -+ let CanRaise = this._mediaServer.CanRaise; -+ let CanQuit = this._mediaServer.CanQuit; -+ if (CanRaise) { -+ this._raiseButton = new ControlButton('go-up', -+ Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); })); -+ this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player")); -+ this.controls.add_actor(this._raiseButton.getActor()); -+ } -+ if (CanQuit) { -+ this._quitButton = new ControlButton('window-close', -+ Lang.bind(this, function () { this._mediaServer.QuitRemote(); })); -+ this.controls.add_actor(this._quitButton.getActor()); -+ this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player")); -+ } - - /* this players don't support seek */ - if (support_seek.indexOf(this._name) == -1) -@@ -283,14 +280,14 @@ Player.prototype = { - this._currentTime = 0; - this._getPosition(); - -- this._prop.connect('PropertiesChanged', Lang.bind(this, function(sender, iface, value) { -+ this._prop.connectSignal('PropertiesChanged', Lang.bind(this, function(sender, iface, value) { - if (value["PlaybackStatus"]) -- this._setStatus(iface, value["PlaybackStatus"]); -+ this._setStatus(value["PlaybackStatus"]); - if (value["Metadata"]) -- this._setMetadata(iface, value["Metadata"]); -+ this._setMetadata(value["Metadata"]); - })); - -- this._mediaServerPlayer.connect('Seeked', Lang.bind(this, function(sender, value) { -+ this._mediaServerPlayer.connectSignal('Seeked', Lang.bind(this, function(sender, iface, [value]) { - this._setPosition(sender, value); - })); - -@@ -315,19 +312,17 @@ Player.prototype = { - }, - - _getPosition: function() { -- this._mediaServerPlayer.getPosition(Lang.bind(this, -- this._setPosition -- )); -+ this._setPosition(this._mediaServerPlayer.Position); - Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition)); - }, - -- _setMetadata: function(sender, metadata) { -+ _setMetadata: function(metadata) { - if (metadata["mpris:length"]) { - // song length in secs -- this._songLength = metadata["mpris:length"] / 1000000; -+ this._songLength = metadata["mpris:length"].unpack() / 1000000; - // FIXME upstream - if (this._name == "quodlibet") -- this._songLength = metadata["mpris:length"] / 1000; -+ this._songLength = metadata["mpris:length"].unpack() / 1000; - // reset timer - this._stopTimer(); - if (this._playerStatus == "Playing") -@@ -338,15 +333,15 @@ Player.prototype = { - this._stopTimer(); - } - if (metadata["xesam:artist"]) -- this._artist.setLabel(metadata["xesam:artist"].toString()); -+ this._artist.setLabel(metadata["xesam:artist"].unpack()); - else - this._artist.setLabel(_("Unknown Artist")); - if (metadata["xesam:album"]) -- this._album.setLabel(metadata["xesam:album"].toString()); -+ this._album.setLabel(metadata["xesam:album"].unpack()); - else - this._album.setLabel(_("Unknown Album")); - if (metadata["xesam:title"]) -- this._title.setLabel(metadata["xesam:title"].toString()); -+ this._title.setLabel(metadata["xesam:title"].unpack()); - else - this._title.setLabel(_("Unknown Title")); - /*if (metadata["mpris:trackid"]) { -@@ -359,8 +354,8 @@ Player.prototype = { - - let change = false; - if (metadata["mpris:artUrl"]) { -- if (this._trackCoverFile != metadata["mpris:artUrl"].toString()) { -- this._trackCoverFile = metadata["mpris:artUrl"].toString(); -+ if (this._trackCoverFile != metadata["mpris:artUrl"].unpack()) { -+ this._trackCoverFile = metadata["mpris:artUrl"].unpack(); - change = true; - } - } -@@ -392,12 +387,10 @@ Player.prototype = { - }, - - _getMetadata: function() { -- this._mediaServerPlayer.getMetadata(Lang.bind(this, -- this._setMetadata -- )); -+ this._setMetadata(this._mediaServerPlayer.Metadata); - }, - -- _setStatus: function(sender, status) { -+ _setStatus: function(status) { - this._playerStatus = status; - if (status == "Playing") { - this._playButton.setIcon("media-playback-pause"); -@@ -416,15 +409,11 @@ Player.prototype = { - }, - - _getStatus: function() { -- this._mediaServerPlayer.getPlaybackStatus(Lang.bind(this, -- this._setStatus -- )); -+ this._setStatus(this._mediaServerPlayer.PlaybackStatus); - }, - - _updateRate: function() { -- this._mediaServerPlayer.getRate(Lang.bind(this, function(sender, rate) { -- this._rate = rate; -- })); -+ this._rate = this._mediaServerPlayer.Rate; - }, - - _updateTimer: function() { -@@ -569,7 +558,7 @@ MyApplet.prototype = { - this._players = {}; - // watch players - for (var p=0; p<compatible_players.length; p++) { -- Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], false, -+ Gio.DBus.session.watch_name('org.mpris.MediaPlayer2.'+compatible_players[p], Gio.BusNameWatcherFlags.NONE, - Lang.bind(this, this._addPlayer), - Lang.bind(this, this._removePlayer) - ); -@@ -700,7 +689,7 @@ MyApplet.prototype = { - return Object.keys(this._players).length; - }, - -- _addPlayer: function(owner) { -+ _addPlayer: function(connection, owner) { - // ensure menu is empty - this._cleanup(); - this._volumeControlShown = false; -@@ -715,12 +704,12 @@ MyApplet.prototype = { - this._readOutput(); - }, - -- _removePlayer: function(owner) { -+ _removePlayer: function(connection, owner) { - delete this._players[owner]; - this._cleanup(); - this._volumeControlShown = false; - for (owner in this._players) { -- this._addPlayer(owner); -+ this._addPlayer(connection, owner); - } - this.menu.emit('players-loaded', true); - -- 1.8.1.6 -From 02da490ff9d33b050e7a10171b5795aee67d1645 Mon Sep 17 00:00:00 2001 +From 5880ce34538ec2791b5e58cc3ffc07e41c189c82 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Fri, 19 Apr 2013 19:09:18 -0400 -Subject: [PATCH 08/15] Fix gicon error - power applet +Subject: [PATCH 08/16] Fix gicon error - power applet --- files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js | 2 +- @@ -3355,10 +3593,10 @@ index fad39ab..3a13eab 100644 1.8.1.6 -From 3d78b5c929e7e3b0ee24d4b537492740e7bebf2f Mon Sep 17 00:00:00 2001 +From 647bd58c93541acdba11cd11d586d2cb08a0a4eb Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Fri, 19 Apr 2013 19:44:33 -0400 -Subject: [PATCH 09/15] Remove unused +Subject: [PATCH 09/16] Remove unused --- src/cinnamon-background-manager.c | 34 ---------------------------------- @@ -3427,10 +3665,10 @@ index 9d95250..67427ed 100644 1.8.1.6 -From d08b882470b135591fb99bd9ff7c63619fcaea82 Mon Sep 17 00:00:00 2001 +From 7a8233638187d00798cf3a4b66a27d707eaec804 Mon Sep 17 00:00:00 2001 From: dalcde <dalcde@yahoo.com.hk> Date: Sat, 20 Apr 2013 15:42:13 +0800 -Subject: [PATCH 10/15] [GDBus][Power applet] Some fixes and cleanup +Subject: [PATCH 10/16] [GDBus][Power applet] Some fixes and cleanup --- .../cinnamon/applets/power@cinnamon.org/applet.js | 52 ++++++---------------- @@ -3549,10 +3787,10 @@ index 3a13eab..5f81d91 100644 1.8.1.6 -From c93e9746b321ad6d0aa38ec28c15fe7b3f18f8f7 Mon Sep 17 00:00:00 2001 +From 1a74c4a4d010a6ddcd2350b1ea298710bc1c08b1 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Sat, 20 Apr 2013 10:59:54 -0400 -Subject: [PATCH 11/15] Move CLUTTER_DISABLE_XINPUT to session startup file +Subject: [PATCH 11/16] Move CLUTTER_DISABLE_XINPUT to session startup file --- files/usr/bin/gnome-session-cinnamon | 2 +- @@ -3586,10 +3824,10 @@ index 9d37975..418fb60 100644 1.8.1.6 -From de1719e63518884cad6c9d63d508f737eab35d49 Mon Sep 17 00:00:00 2001 +From dfa107fd874866da2f634c65a90e2c13a447464c Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Sat, 20 Apr 2013 12:23:29 -0400 -Subject: [PATCH 12/15] Add Xinput disable to cinnamon2d +Subject: [PATCH 12/16] Add Xinput disable to cinnamon2d --- files/usr/bin/cinnamon2d | 2 +- @@ -3607,10 +3845,10 @@ index 1eced99..7f42517 100755 1.8.1.6 -From 15d57d1c15f34d44b23f74b21929d996d4465afb Mon Sep 17 00:00:00 2001 +From 28b39b2372a571ddcc1298f34f2d7e653f6b2e96 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Sat, 20 Apr 2013 12:29:43 -0400 -Subject: [PATCH 13/15] Fix session file +Subject: [PATCH 13/16] Fix session file --- files/usr/bin/gnome-session-cinnamon | 2 +- @@ -3629,10 +3867,10 @@ index 56c37f5..31c9eff 100755 1.8.1.6 -From 03436393c322fd97d8216c3481d28cd34833c656 Mon Sep 17 00:00:00 2001 +From aba3a7666d3679e5803862af07edc47e7b093b11 Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Sat, 20 Apr 2013 12:36:45 -0400 -Subject: [PATCH 14/15] Add cinnamon3d command +Subject: [PATCH 14/16] Add cinnamon3d command --- files/usr/bin/cinnamon3d | 2 ++ @@ -3651,10 +3889,10 @@ index 0000000..4891783 1.8.1.6 -From 850da270967622b95be9e0c5edd8e230eb4be5a1 Mon Sep 17 00:00:00 2001 +From 3e1cdf6d88ade9abe5a0b8773b565d345c01f2cb Mon Sep 17 00:00:00 2001 From: Michael Webster <miketwebster@gmail.com> Date: Sat, 20 Apr 2013 12:37:26 -0400 -Subject: [PATCH 15/15] Fix perms +Subject: [PATCH 15/16] Fix perms --- files/usr/bin/cinnamon3d | 0 @@ -3667,3 +3905,58 @@ new mode 100755 -- 1.8.1.6 + +From 7904eaf179918f4f97b328f2b5f340776544ca49 Mon Sep 17 00:00:00 2001 +From: Michael Webster <miketwebster@gmail.com> +Date: Mon, 22 Apr 2013 18:27:39 -0400 +Subject: [PATCH 16/16] Sledgehammer merge of: + +f251f0b77d01cb9a80212b1dce2538c60a5bf59e + +Don't ask... +--- + .../share/cinnamon/applets/sound@cinnamon.org/applet.js | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js +index c8427ac..a7b2e09 100644 +--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js +@@ -53,8 +53,8 @@ const MediaServer2PlayerIFace = <interface name="org.mpris.MediaPlayer2.Player"> + + /* global values */ + let icon_path = "/usr/share/cinnamon/theme/"; +-let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer" ]; +-let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer" ]; ++let compatible_players = [ "clementine", "mpd", "exaile", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "guayadeque", "amarok", "googlemusicframe", "xbmc", "noise", "xnoise", "gmusicbrowser", "spotify", "audacious", "vlc", "beatbox", "songbird", "pithos", "gnome-mplayer", "nuvolaplayer", "qmmp"]; ++let support_seek = [ "clementine", "banshee", "rhythmbox", "rhythmbox3", "pragha", "quodlibet", "amarok", "noise", "xnoise", "gmusicbrowser", "spotify", "vlc", "beatbox", "gnome-mplayer", "qmmp" ]; + /* dummy vars for translation */ + let x = _("Playing"); + x = _("Paused"); +@@ -285,6 +285,13 @@ Player.prototype = { + this._setStatus(value["PlaybackStatus"]); + if (value["Metadata"]) + this._setMetadata(value["Metadata"]); ++ // qmmp ++ if (sender._dbusBusName == 'org.mpris.MediaPlayer2.qmmp') { ++ if (value["playbackStatus"]) ++ this._setStatus(value["playbackStatus"]); ++ if (value["metadata"]) ++ this._setMetadata(value["metadata"]); ++ } + })); + + this._mediaServerPlayer.connectSignal('Seeked', Lang.bind(this, function(sender, iface, [value]) { +@@ -377,7 +384,8 @@ Player.prototype = { + cover.read_async(null, null, Lang.bind(this, this._onReadCover)); + } + else { +- cover_path = decodeURIComponent(this._trackCoverFile.substr(7)); ++ cover_path = decodeURIComponent(this._trackCoverFile; ++ cover_path = cover_path.replace("file://", ""); + this._showCover(cover_path); + } + } +-- +1.8.1.6 + diff --git a/community/cinnamon/switch-applications.patch b/community/cinnamon/switch-applications.patch index ce2e31825..1254a7ce4 100644 --- a/community/cinnamon/switch-applications.patch +++ b/community/cinnamon/switch-applications.patch @@ -12,30 +12,6 @@ diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/lib/cinnamon-settings/modul [_("Run dialog (must restart Cinnamon)"), "org.gnome.desktop.wm.keybindings", "panel-run-dialog", True, "cinnamon"], [_("Menu button (must restart Cinnamon)"), "org.cinnamon.muffin", "overlay-key", False, "cinnamon"], -diff -Naur linuxmint-Cinnamon-b41bad0.orig/js/ui/altTab.js linuxmint-Cinnamon-b41bad0/js/ui/altTab.js ---- linuxmint-Cinnamon-b41bad0.orig/js/ui/altTab.js 2013-04-15 15:55:01.000000000 +0200 -+++ linuxmint-Cinnamon-b41bad0/js/ui/altTab.js 2013-04-24 21:22:38.309568355 +0200 -@@ -203,9 +203,9 @@ - } - } else if (binding == 'switch-group-backward') { - this._select(0, this._appIcons[0].cachedWindows.length - 1); -- } else if (binding == 'switch-windows-backward') { -+ } else if (binding == 'switch-applications-backward') { - this._select(this._appIcons.length - 1); -- } else if (binding == 'no-switch-windows') { -+ } else if (binding == 'no-switch-applications') { - this._select(0); - } else if (this._appIcons.length == 1) { - this._select(0); -@@ -296,7 +296,7 @@ - return false; - } - Main.wm.showWorkspaceOSD(); -- that.refresh('no-switch-windows'); -+ that.refresh('no-switch-applications'); - return true; - }; - let keysym = event.get_key_symbol(); diff -Naur linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js --- linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js 2013-04-15 15:55:01.000000000 +0200 +++ linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js 2013-04-24 21:21:22.447677094 +0200 |