[gwibber/f19] improve scrolling, increase notification bubble timeout, fixes for twitter 1.1, fix soup URI parsing
Tom Callaway
spot at fedoraproject.org
Mon Dec 30 18:47:17 UTC 2013
commit e49058a163e88d0dffdf0a525ae42091b76c9ec2
Author: Tom Callaway <spot at fedoraproject.org>
Date: Mon Dec 30 13:47:15 2013 -0500
improve scrolling, increase notification bubble timeout, fixes for twitter 1.1, fix soup URI parsing, drop identica
gwibber-3.4.2-no-identica.patch | 56 +++++++++++++++++++++++++++++
gwibber-3.4.2-notification-timeout.patch | 21 +++++++++++
gwibber-3.4.2-scroll-events.patch | 42 +++++++++++++++++++++
gwibber-3.4.2-soup-uri-fragment.patch | 11 ++++++
gwibber-3.4.2-twitter-1.1-api-fix-2.patch | 45 +++++++++++++++++++++++
gwibber.spec | 36 ++++++++++++++++++-
6 files changed, 210 insertions(+), 1 deletions(-)
---
diff --git a/gwibber-3.4.2-no-identica.patch b/gwibber-3.4.2-no-identica.patch
new file mode 100644
index 0000000..5a41cd4
--- /dev/null
+++ b/gwibber-3.4.2-no-identica.patch
@@ -0,0 +1,56 @@
+diff -up gwibber-3.4.2/configure.ac.noidentica gwibber-3.4.2/configure.ac
+--- gwibber-3.4.2/configure.ac.noidentica 2013-12-30 13:30:58.440776555 -0500
++++ gwibber-3.4.2/configure.ac 2013-12-30 13:31:03.224770318 -0500
+@@ -277,10 +277,6 @@ AC_CONFIG_FILES([
+ gwibber/microblog/plugins/friendfeed/gtk/Makefile
+ gwibber/microblog/plugins/friendfeed/gtk/friendfeed/Makefile
+ gwibber/microblog/plugins/friendfeed/ui/Makefile
+- gwibber/microblog/plugins/identica/Makefile
+- gwibber/microblog/plugins/identica/gtk/Makefile
+- gwibber/microblog/plugins/identica/gtk/identica/Makefile
+- gwibber/microblog/plugins/identica/ui/Makefile
+ gwibber/microblog/plugins/pingfm/Makefile
+ gwibber/microblog/plugins/pingfm/gtk/Makefile
+ gwibber/microblog/plugins/pingfm/gtk/pingfm/Makefile
+diff -up gwibber-3.4.2/data/icons/hicolor/16x16/apps/Makefile.am.noidentica gwibber-3.4.2/data/icons/hicolor/16x16/apps/Makefile.am
+--- gwibber-3.4.2/data/icons/hicolor/16x16/apps/Makefile.am.noidentica 2013-12-30 13:31:42.901717738 -0500
++++ gwibber-3.4.2/data/icons/hicolor/16x16/apps/Makefile.am 2013-12-30 13:31:48.188710597 -0500
+@@ -4,7 +4,6 @@ icon_DATA = brightkite.png \
+ facebook.png \
+ flickr.png \
+ friendfeed.png \
+- identica.png \
+ jaiku.png \
+ openid.png \
+ pingfm.png \
+diff -up gwibber-3.4.2/data/icons/hicolor/22x22/apps/Makefile.am.noidentica gwibber-3.4.2/data/icons/hicolor/22x22/apps/Makefile.am
+--- gwibber-3.4.2/data/icons/hicolor/22x22/apps/Makefile.am.noidentica 2013-12-30 13:31:26.080739846 -0500
++++ gwibber-3.4.2/data/icons/hicolor/22x22/apps/Makefile.am 2013-12-30 13:31:32.909730896 -0500
+@@ -4,7 +4,6 @@ icon_DATA = brightkite.png \
+ facebook.png \
+ flickr.png \
+ friendfeed.png \
+- identica.png \
+ jaiku.png \
+ openid.png \
+ pingfm.png \
+diff -up gwibber-3.4.2/data/icons/hicolor/scalable/apps/Makefile.am.noidentica gwibber-3.4.2/data/icons/hicolor/scalable/apps/Makefile.am
+--- gwibber-3.4.2/data/icons/hicolor/scalable/apps/Makefile.am.noidentica 2013-12-30 13:31:58.191697310 -0500
++++ gwibber-3.4.2/data/icons/hicolor/scalable/apps/Makefile.am 2013-12-30 13:32:03.458690310 -0500
+@@ -4,7 +4,6 @@ icon_DATA = brightkite.svg \
+ facebook.svg \
+ flickr.svg \
+ friendfeed.svg \
+- identica.svg \
+ jaiku.svg \
+ openid.svg \
+ pingfm.svg \
+diff -up gwibber-3.4.2/gwibber/microblog/plugins/Makefile.am.noidentica gwibber-3.4.2/gwibber/microblog/plugins/Makefile.am
+--- gwibber-3.4.2/gwibber/microblog/plugins/Makefile.am.noidentica 2013-12-30 13:32:16.454673112 -0500
++++ gwibber-3.4.2/gwibber/microblog/plugins/Makefile.am 2013-12-30 13:32:24.134662913 -0500
+@@ -1,4 +1,4 @@
+-SUBDIRS = buzz digg facebook flickr foursquare friendfeed identica pingfm qaiku statusnet twitter
++SUBDIRS = buzz digg facebook flickr foursquare friendfeed pingfm qaiku statusnet twitter
+
+ plugindir = $(datadir)/gwibber/plugins/
+ plugin_PYTHON = \
diff --git a/gwibber-3.4.2-notification-timeout.patch b/gwibber-3.4.2-notification-timeout.patch
new file mode 100644
index 0000000..c34af92
--- /dev/null
+++ b/gwibber-3.4.2-notification-timeout.patch
@@ -0,0 +1,21 @@
+diff -uNrp gwibber-3.4.2.orig/gwibber/microblog/dispatcher.py gwibber-3.4.2/gwibber/microblog/dispatcher.py
+--- gwibber-3.4.2.orig/gwibber/microblog/dispatcher.py 2012-03-27 17:51:44.000000000 +0200
++++ gwibber-3.4.2/gwibber/microblog/dispatcher.py 2013-06-20 16:01:26.462146091 +0200
+@@ -670,7 +670,7 @@ class Dispatcher(dbus.service.Object):
+ if self.notified_errors[error["account"]["service"]] == error["message"]:
+ return
+ if util.can_notify:
+- util.notify(error["account"]["service"], error["message"], icon, 2000)
++ util.notify(error["account"]["service"], error["message"], icon, 5000)
+ self.notified_errors[error["account"]["service"]] = error["message"]
+
+ def perform_async_operation (self, jobs):
+@@ -906,7 +906,7 @@ class Dispatcher(dbus.service.Object):
+ if not image:
+ #FIXME - we need to fix finding service icons in the service
+ image = util.resources.get_ui_asset("%s.png" % message["service"])
+- util.notify(sender_name, notify_text, image, 2000)
++ util.notify(sender_name, notify_text, image, 5000)
+
+ return False
+
diff --git a/gwibber-3.4.2-scroll-events.patch b/gwibber-3.4.2-scroll-events.patch
new file mode 100644
index 0000000..95c45cb
--- /dev/null
+++ b/gwibber-3.4.2-scroll-events.patch
@@ -0,0 +1,42 @@
+diff -uNrp gwibber-3.4.2.orig/libgwibber-gtk/stream-view-tile.vala gwibber-3.4.2/libgwibber-gtk/stream-view-tile.vala
+--- gwibber-3.4.2.orig/libgwibber-gtk/stream-view-tile.vala 2012-04-20 17:24:24.000000000 +0200
++++ gwibber-3.4.2/libgwibber-gtk/stream-view-tile.vala 2013-06-20 13:39:19.486125935 +0200
+@@ -108,6 +108,8 @@ namespace GwibberGtk
+ _to_disconnect = new GLib.List<ulong> ();
+ draw.connect (on_draw);
+
++ this.add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.SCROLL_MASK);
++
+ align = new Gtk.Alignment (0.0f, 0.0f, 1.0f, 1.0f);
+ align.set_padding (our_padding, our_padding, our_padding, our_padding);
+ add (align);
+@@ -127,6 +129,7 @@ namespace GwibberGtk
+ _overlay_avatar_hbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0);
+ _avatar_box.set_size_request (48, 48);
+ _avatar_box.add (_avatar_fixed);
++ _avatar_box.add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.SCROLL_MASK);
+ lalignment.add (_avatar_box);
+
+ vbox = new Gtk.Box (Gtk.Orientation.VERTICAL, 0);
+@@ -217,11 +220,13 @@ namespace GwibberGtk
+ thumb_box = new Gtk.EventBox ();
+ thumb_box.set_visible_window (false);
+ thumb_box.add (thumbnail);
++ thumb_box.add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.SCROLL_MASK);
+ var thumb_hbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0);
+ thumb_hbox.pack_start (thumb_box, false, false, 0);
+ _thumb_expander = new Gtk.Expander.with_mnemonic (_("_Show"));
+ _thumb_expander.set_no_show_all (true);
+ _thumb_expander.add (thumb_hbox);
++ _thumb_expander.add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.SCROLL_MASK);
+ vbox.pack_start (_thumb_expander, false, false, 4);
+ thumb_box.button_release_event.connect (() =>
+ {
+@@ -248,6 +253,7 @@ namespace GwibberGtk
+ reply_to.set_no_show_all(true);
+ reply_to.set_markup ("<span font_weight='light' font_size='small'></span>");
+ reply_to.set_alignment (0.0f, 0.5f);
++ reply_to.add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.SCROLL_MASK);
+ vbox.pack_start (reply_to, false, false, 2);
+
+ retweeted_by = new Gtk.Label ("");
diff --git a/gwibber-3.4.2-soup-uri-fragment.patch b/gwibber-3.4.2-soup-uri-fragment.patch
new file mode 100644
index 0000000..e4ee210
--- /dev/null
+++ b/gwibber-3.4.2-soup-uri-fragment.patch
@@ -0,0 +1,11 @@
+--- gwibber-3.4.2.orig/libgwibber-gtk/stream-view-tile.vala 2013-12-20 23:48:43.794326204 +0100
++++ gwibber-3.4.2/libgwibber-gtk/stream-view-tile.vala 2013-12-20 23:56:26.058485979 +0100
+@@ -183,7 +183,7 @@
+ if (args2[0] == "acct")
+ acct = args2[1];
+ if (args2[0] == "query")
+- query = "#" + args2[1];
++ query = "#" + url.fragment;
+ }
+ if (query.length > 0)
+ {
diff --git a/gwibber-3.4.2-twitter-1.1-api-fix-2.patch b/gwibber-3.4.2-twitter-1.1-api-fix-2.patch
new file mode 100644
index 0000000..1d344c1
--- /dev/null
+++ b/gwibber-3.4.2-twitter-1.1-api-fix-2.patch
@@ -0,0 +1,45 @@
+diff -uNrp gwibber-3.4.2.orig/gwibber/microblog/plugins/twitter/__init__.py gwibber-3.4.2/gwibber/microblog/plugins/twitter/__init__.py
+--- gwibber-3.4.2.orig/gwibber/microblog/plugins/twitter/__init__.py 2013-12-20 23:49:48.193124891 +0100
++++ gwibber-3.4.2/gwibber/microblog/plugins/twitter/__init__.py 2013-12-20 23:52:09.194809505 +0100
+@@ -393,6 +393,9 @@ class Client ():
+ if parse == "list":
+ return [self._list(l) for l in data["lists"]]
+
++ if parse == "status":
++ return [self._message(l) for l in data["statuses"]]
++
+ if single: return [getattr(self, "_%s" % parse)(data)]
+ if parse: return [getattr(self, "_%s" % parse)(m) for m in data]
+ else: return []
+@@ -414,7 +417,7 @@ class Client ():
+ return self._get("statuses/home_timeline.json", include_entities=1, count=count, since_id=since)
+
+ def responses(self, count=util.COUNT, since=None):
+- return self._get("statuses/mentions.json", "responses", include_entities=1, count=count, since_id=since)
++ return self._get("statuses/mentions_timeline.json", "responses", include_entities=1, count=count, since_id=since)
+
+ def private(self, count=util.COUNT, since=None):
+ private = self._get("direct_messages.json", "private", include_entities=1, count=count, since_id=since) or []
+@@ -425,18 +428,18 @@ class Client ():
+ return self._get("statuses/public_timeline.json", include_entities=1)
+
+ def lists(self, **args):
+- following = self._get("%s/lists/subscriptions.json" % self.account["username"], "list") or []
+- lists = self._get("%s/lists.json" % self.account["username"], "list") or []
++ following = self._get("lists/subscriptions.json", screen_name=self.account["username"], parse="list") or []
++ lists = self._get("lists/list.json", screen_name=self.account["username"]) or []
+ return following + lists
+
+ def list(self, user, id, count=util.COUNT, since=None):
+ return self._get("%s/lists/%s/statuses.json" % (user, id), include_entities=1, per_page=count, since_id=since)
+
+ def search(self, query, count=util.COUNT, since=None):
+- return self._search(include_entities=1, q=query, rpp=count, since_id=since)
++ return self._get("search/tweets.json", include_entities=1, q=query, rpp=count, since_id=since, parse="status")
+
+ def tag(self, query, count=util.COUNT, since=None):
+- return self._search(q="#%s" % query, count=count, since_id=since)
++ return self._get("search/tweets.json", include_entities=1, q="#%s" % query, rpp=count, since_id=since, parse="status")
+
+ def delete(self, message):
+ return self._get("statuses/destroy/%s.json" % message["mid"], None, post=True, do=1)
diff --git a/gwibber.spec b/gwibber.spec
index 5f7161b..b3a0bbf 100644
--- a/gwibber.spec
+++ b/gwibber.spec
@@ -2,7 +2,7 @@
Name: gwibber
Version: 3.4.2
-Release: 9%{?dist}
+Release: 10%{?dist}
Epoch: 1
Summary: An open source microblogging client for GNOME developed with Python and GTK
Group: Applications/Internet
@@ -63,6 +63,21 @@ Patch57: gwibber-3.4.2-fix-mkdir-p.patch
# Fix gtkspell3
Patch58: gwibber-3.4.2-gtkspell3-fix.patch
+# Fix soup URI parsing
+Patch59: gwibber-3.4.2-soup-uri-fragment.patch
+
+# Fixes for Twitter 1.1
+Patch60: gwibber-3.4.2-twitter-1.1-api-fix-2.patch
+
+# Increase notification timeout
+Patch61: gwibber-3.4.2-notification-timeout.patch
+
+# Improve scrolling
+Patch62: gwibber-3.4.2-scroll-events.patch
+
+# Drop support for "identi.ca" (it's dead, Jim)
+Patch63: gwibber-3.4.2-no-identica.patch
+
Requires: libsoup, python-pycurl
Requires: python
Requires: dbus-python >= 0.80.2
@@ -145,6 +160,17 @@ Development files for gwibber's libraries.
# Fix gtkspell3
%patch58 -p1 -b .fixgtkspell3
+%patch59 -p1 -b .soup-uri-fix
+%patch60 -p1 -b .twitter11
+%patch61 -p1 -b .timeout5
+%patch62 -p1 -b .scrollfixes
+%patch63 -p1 -b .noidentica
+
+# Kill dead things (identi.ca)
+rm -rf gwibber/microblog/plugins/identica
+rm -rf data/icons/hicolor/16x16/apps/identica.png data/icons/hicolor/22x22/apps/identica.png
+rm -rf data/icons/hicolor/scalable/apps/identica.svg
+
%build
# NOCONFIGURE=true ./autogen.sh
autoreconf -ifv
@@ -228,6 +254,14 @@ fi
%{_datadir}/vala/vapi/gwibber*
%changelog
+* Mon Dec 30 2013 Tom Callaway <spot at fedoraproject.org> - 3.4.2-10
+- Fixes from Fabrice Bellet
+ - Fix scroll events handling
+ - Increase the notification bubble timeout (from 2 secs to 5 secs)
+ - More fixes for twitter 1.1 API
+ - Fix soup URI parsing
+- Drop identi.ca support (they no longer exist)
+
* Mon Nov 11 2013 Tom Callaway <spot at fedoraproject.org> - 3.4.2-9
- add appdata file
- enable gtkspell3 support
More information about the scm-commits
mailing list