bkueng / jumptowindow Goto Github PK
View Code? Open in Web Editor NEWRhythmbox plugin to show a 'Jump to' window when a hotkey is pressed
License: GNU General Public License v3.0
Rhythmbox plugin to show a 'Jump to' window when a hotkey is pressed
License: GNU General Public License v3.0
Hi,
I'm looking at making this plugin to work with all users on my PC.
Thus - I've moved JumpToWindow folder and sub-folders to /usr/lib/rhythmbox/plugins
This works great if you have a song playing.
However, if you first start Rhythmbox obviously no songs are playing. Activating the search window displays the search window but no songs. In a terminal I see this error:
dad@dad-VirtualBox:/usr/lib/rhythmbox/plugins/JumpToWindow/src$ ./activate.py
Traceback (most recent call last):
File "./activate.py", line 10, in
print service_func("")
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in call
return self._proxy_method(_args, *_keywords)
File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in call
*_keywords)
File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Python.AttributeError: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb
retval = candidate_method(self, *args, *_keywords)
File "/usr/lib/rhythmbox/plugins/JumpToWindow/src/init.py", line 41, in dbus_activate
return self.main_window.dbus_activate(str_arg)
File "/usr/lib/rhythmbox/plugins/JumpToWindow/src/init.py", line 90, in dbus_activate
self.make_default_entry_selection()
File "/usr/lib/rhythmbox/plugins/JumpToWindow/src/init.py", line 300, in make_default_entry_selection
self.select_first_item() # fallback if current playing not found
File "/usr/lib/rhythmbox/plugins/JumpToWindow/src/init.py", line 283, in select_first_item
iter=self.modelfilter.get_iter_first()
AttributeError: 'JumpToPlaying' object has no attribute 'modelfilter'
If I then start a song playing and activate the search window again, the window correctly populates with all my songs.
Any ideas what the issue is?
bkueng,
thanks for your tip with regards to using JumpToPlaying to ensure that the activity window in JumpToWindow is populated when first activated.
Myself and the maintainer at webup8.org have noticed the following error:
/usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
import gobject._gobject
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
**
ERROR:/build/buildd/pygobject-3.2.2/gi/_gobject/pygobject.c:929:pygobject_new_full: assertion failed: (tp != NULL)
Aborted
This occurs if I activate Jump To Playing and then Jump To Window - Rhythmbox crashes (it doesn't crash if I firstly activate Jump To Window and then Jump To Playing)
Its repeatable - after the crash, restart rhythmbox - all is OK. Disable both plugins, close down rhythmbox, start it up and then activate JumpToPlaying and then JumpToWindow.
I dont seem to have this same issue with JumpToPlaying with any other plugin.
If you were wondering, I was asking the webup8.org owner to promote your nice plugin.
He was using his PPA containing v2.7 of rhythmbox but I dont think that's significant since I can reproduce this on v2.96 that comes with 12.04 Ubuntu.
Any ideas?
The instruction to add "~/.local/share/rhythmbox.../activate.py" - doesnt seem to work for me as a keyboard shortcut. However adding the full path (i.e. /home/[user]/.local/share.../activate.py" does work - perhaps slight alteration in the instructions?
When the window opens, is there any keyboard shortcuts to the configure/enqueue/play & hide buttons. For me, tabbing to the buttons is not particularly obvious - the focus control is very hard to see.
Hi there,
I see this is a new project - is this still in development?
Reason for the question - I installed via "make install" and activated the plugin in rhythmbox.
Rhythmbox crashed. On subsequent starts I see the following:
"(rhythmbox:7357): Gtk-CRITICAL *_: gtk_box_pack: assertion gtk_widget_get_parent (child) == NULL' failed /usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion
g_type_from_name (name) == 0' failed
import gobject.gobject
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
*
ERROR:/build/buildd/pygobject-3.2.2/gi/_gobject/pygobject.c:929:pygobject_new_full: assertion failed: (tp != NULL)
Aborted
"
Any ideas?
thanks again for the recent updates - excellent.
This is a discussion issue I'm raising.
I'm wondering if its possible to display what the possible keyboard shortcuts are in a newbie friendly way?
I suppose the easiest way would be to add to the preferences dialog the list of keyboard shortcuts available.
More complicated would be a "button" or similar that would either display another window with the list or maybe expand the current window and display the list on the left/right/bottom pane.
what do you think? overkill?
Hello,
I am trying to make a package out of your code for Arch Linux. However, since INSTALL_DIR in Makefile is solidly defined, I have to patch to change the install directory. Can you please make that parameter inputtable so that I can pass desired directory from command line while building?
Something like following will do the trick I guess:
INSTALL_DIR?=$(HOME)/.local/share/rhythmbox/plugins/JumpToWindow
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.