Does the python interface allow threads? If so, spawn a worker thread. If no, spawn a new process that does the actual job. This way, you can return control back to nautilus faster, avoiding the “hick-up” as you do heavy IO work.
Stian Skjelstad
Fra: nautilus-list-bounces gnome org [mailto:nautilus-list-bounces gnome org] På vegne av Seemanta Dutta
Sendt: 28. april 2010 15:18
Til: nautilus-list gnome org
Emne: A nautilus script to enqueue folders and files to rhythmbox
Hi Nautilus hackers/users,
First of all hats off to all Nautilus hackers. This is such a fine piece of software. I have been using Linux for more than 10 years now and more particularly Gnome where I find Nautilus extremely well integrated. You guys have done a damn fine job of creating/maintaining Nautilus !
I recently wrote a small python plugin to enqueue files or folders recursively into the rhythmbox play queue. Please find it here: http://seemanta.net/myblog/?p=634. I am not sure if this is the right place to post this. If there is a dedicated mailing list for python extensions for Nautilus, please let me know.
I am however, facing one issue in my script and need your inputs regarding it. Whenever a big folder with several levels of sub-folders and files is selected, there is a high latency in Nautilus during which it seems to become unresponsive. This is because my plugin is creating a list of files that need to be enqueued and this is done recursively. Is there a way to overcome this? I agree, that for huge folders, if I right click the delay might be acceptable. But I think if I simply select a folder, the python plugin should not get invoked.
Any ideas how to make my script run only in case of a right-click and not on normal left click selects ?
regards,
Seemanta