Tuesday, December 21, 2010

Introducing Dropbox integration for Dolphin

Hello all,

About a week ago I was looking for a plugin that integrates Dropbox within the KDE filemanager Dolphin. Seems like this didn't exist yet. The demand for it is pretty high it seems:

That's why I decided to develop dolphin-box-plugin and blog about it. What the plugin currently does is:
  • Show sync feedback with icon overlays
  • Provide custom context menus
As screenshots usually say more then a thousand words: 






















So how do you get these goodies?

Currently you can get the sourcecode at:

Or download the (K)Ubuntu 10.10 64bit package (I know, I should create more packages)

After installing the files, either from source or from the deb, you have to enable the plugin by doing the following:
  • Restart Dolphin
  • Settings --> Configure Dolphin --> Services
  • Check Dropbox
  • Restart Dolphin
Let me know if you have any problems!

As they would say it: Happy syncin'!

Please note that i'm not affiliated with Dropbox in any way, hence the sucky plugin name.


46 comments:

  1. how does this relate to kfilebox?

    ReplyDelete
  2. Well this is actually an addition to KFilebox. This plugin doesn't actually download the Dropbox daemon as Kfilebox does. It just show the state of the folders in Dolphin. I'll write a blogpost on how to get Nautiles-less Dropbox integration in KDE soon.

    ReplyDelete
  3. http://kde-apps.org/content/show.php/Dropbox+ServiceMenu?content=124416

    this is the plugin i use. whats the difference to the one u are about to write?

    ReplyDelete
  4. Well this plugin draws overlay icons to show the syncing state of a folder and it provides some other service menus that are not possible with the above plugin like Browse on Dropbox site (which opens a browser and logs you in automatically)

    ReplyDelete
  5. Thanks for dolphin-box-plugin :)

    Pardus package: http://svn.pardus.org.tr/pardus/playground/maidis/Dropbox/dolphin-box-plugin

    A Turkish writing about plugin / service: http://svn.pardus.org.tr/pardus/playground/maidis/Dropbox/dolphin-box-plugin

    ReplyDelete
  6. A Turkish writing about plugin / service :)
    http://anilozbek.blogspot.com/2010/12/dolphin-icin-dropbox-servisi.html

    ReplyDelete
  7. Oh, what a great Christmas present! :-) I have been waiting for this. Any chance there will be a 32bit Kubuntu package?
    And how about working together with the author of the ubuntuone integration, so that the way of using both plugins will be similar, may be they could even share code?

    http://apachelog.wordpress.com/2010/08/19/ubuntu-one-the-kde-way/

    http://apachelog.wordpress.com/2010/08/21/ubuntu-one-technical-aspects/

    ReplyDelete
  8. If you want to provide packages for the major distro's, check out build.opensuse.org - there you can build packages for the latest 2-3 releases of fedora, openSUSE, Debian, Ubuntu, Mandriva and a bunch more distro's via the webinterface. If you bump into any issues, ask on #opensuse-buildservice or mail me on jos @ opensuse ;-)

    ReplyDelete
  9. Do you have a bugzilla page where we can report bugs? I have my dropbox folder located on an SD card and I can have a hard link to it from my home folder. This means that I have /media/sdcard/Dropbox and /home/myuser/Dropbox. The latter points to the former. If I browse /media/sdcard/Dropbox in Dolphin, I see all of the icons. If I browse /home/myuser/Dropbox, I do not see the icons even though it is the same locaiton.

    ReplyDelete
  10. @Trichard: I actually wrote such a blog post a while ago (having dropbox in kde without nautilus) http://dreadknight666.com/2009/07/dropbox-in-kde-linux/

    ReplyDelete
  11. Your package depends on libkio5 4:4.5.4 but kubuntu oficial version is 4.5.1

    Anyway, this is a very expected integration. I also suggest build.opensuse.org for you.

    ReplyDelete
  12. Good work on creating this plugin!

    Just wondering: I find the "copy public link" more important than the dropbox website or previous versions. Is it possible to implement this feature in the future?

    ReplyDelete
  13. @maidis:
    Thanks alot!

    @mark-wege:
    I'll be working on more packages soon. Ubuntuone might be next after ironing out some things :)

    @jospoortvliet and luizluca:
    I already know about opensuse buildservice but i find it all kind of hard to use. I'm working on it though. Thanks for the suggestion

    @Dave Greengas:
    Peter Penz requested a component on bugs.kde.org . I think you can report it there already. I'll have it assigned to me when the component is there. Thanks for testing!

    @Dread Knight:
    Looks nice! I guess i don't have to do that anymore.

    @JurianS:
    When a file is in the public folder, the "copy public link" menu should be there. I could create a "copy to public folder and get link" kind of feature like the kde-apps menus does. Please file a wish on BKO.

    ReplyDelete
  14. btw, I do think that opensuse buildservice is a great project. ;)

    ReplyDelete
  15. Hey, I somehow managed to compile & install ist :-) Here is my feedback:
    - I normally work with the detailled view. In this view the overlay icons are (naturally) not much to see and can not be really differenciated from each other. Would be good, if there was a solution (e.g. a separate icon collumn. Or additionally the overlay would be also shown in the information sidebar.
    - Would be good, if the Dropbox-folder in the places sidebar get the overlay too.
    - Also it would be good, if the icon overlay would be also shown in the open/save dialogues of KDE.

    ReplyDelete
  16. Thanks for the feedback mark.
    -Well, of course the overlay size depends on your icon size. However, when a folder or file is not synced, it also get's another color. I think that should be sufficient. Maybe a green checked icon wouldn't hurt indeed.
    -Good idea!
    -I don't know if this is possible but I'll have a look.

    ReplyDelete
  17. I'm having lots of troubles with compiling the source from git... :/

    When I try cmake says that theres the following error occured:
    „-- Could NOT find LIBKONQ (missing: LIBKONQ_INCLUDE_DIR LIBKONQ_LIBRARY)
    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    LIBKONQ_INCLUDE_DIR (ADVANCED)
    used as include directory in directory /home/marc/Downloads/dolphin-box-plugin
    LIBKONQ_LIBRARY (ADVANCED)
    linked by target "dolphin-box-plugin" in directory /home/marc/Downloads/dolphin-box-plugin

    -- Configuring incomplete, errors occurred!“

    What's wrong??

    ReplyDelete
  18. Marc:

    As the error message is saying: You need the package called libkonq-dev or something similar.

    ReplyDelete
  19. can you please rebuilt the ubuntu package?
    it is not working with 10.10.


    greetings,
    sebastian

    ReplyDelete
  20. just installed it, and now I can see indicator icons on my shared folder.
    damn nice shit :) I really hated to use nautilus on KDE coz it's slow to startup and seems like it always keeps running after closing it.

    ReplyDelete
  21. if someone looking for ebuild - it is attached at
    http://www.calculate-linux.ru/issues/197

    thanks for plugin

    ReplyDelete
  22. I'd be super nice to have an ubuntu ppa for this and kfilebox.

    ReplyDelete
  23. Hello and thnx for this useful little app!

    I have a small problem with the "copy public link" option. After selecting it, I don't get a link to paste, neither with Ctrl+V nor with middle mouse click.

    Could I be missing some depencency? This is the pkgbuild I use under Chakra: http://www.chakra-project.org/ccr/pkgbuild_view.php?p=dolphin-box-plugin-git-kfilebox

    ReplyDelete
  24. Copy public link anyone?

    I mean Crashdows client has it so why it hasn't?

    ReplyDelete
  25. Great plugin. Thanks!

    How ever I moved to kubuntu 11.04 and it doesn't work.. Can u please pack for 11.04? Thanks!

    ReplyDelete
  26. I made packages for Ubuntu Lucid, Maverick and Natty and i`ve put them in a PPA.

    To install them use this instructions :

    sudo add-apt-repository ppa:venerix/blug
    sudo aptitude update
    sudo aptitude install dolphin-box-plugin-git

    Then follow the instructions to activate it.

    ReplyDelete
  27. Hej,

    your plugin is basically awesome :)
    However, when I use it together with the git-plugin, the git-plugin doesn't work anymore.

    ReplyDelete
  28. yep, also svn plugin too doesn't work with dropbox plugin for a while on my Pardus system (KDE 4.6.3).

    ReplyDelete
  29. Hmm, i haven't really thought about that but that's a problem indeed. I'll take a look if i can fix this in the next couple of weeks.

    ReplyDelete
  30. is there any news about git-svn vs dropbox plugin conflict?

    ReplyDelete
  31. I really like the Dropbox plugin. Just compiled and installed it. I would also like it if it were localizeable – at least in the *.desktop files, if not using the full gettext solution.

    ReplyDelete
  32. Is it working for anybody on oneiric? It's not on my system..

    ReplyDelete
  33. I was trying to build this from sources on Fedora 16, but it wouldn't work. Everything would build, I'd the get plugin entry in the "Source Control" list, but I wouldn't get any status icons. Finally, I've figured it out, so I thought I'd share the solution. Run cmake with the following command:

    cmake . -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`

    ReplyDelete
  34. thanks avitebskiy, that made the trick for me :)

    ReplyDelete
  35. oooh, I already found what seems to be a bug: dolphin crashes when opening a specific folder in the Dropbox folder. The crash doesn't occur if the plugin is deactivated. Some other people have already reported the same problem:

    https://bugs.kde.org/show_bug.cgi?id=273233

    ReplyDelete
  36. Generate public URL don't work with filenema with space inside

    ReplyDelete
  37. this doesn't seem to work with symlinks. In my home folder, my Dropbox folder is a link back to /raid/files/Dropbox. If I navigate to that folder, the integration works. If I navigate to ~/Dropbox, the integration does not work.

    ReplyDelete
  38. A nice article also for those people who need arguments for preferring the command line over GUI cklicking :)
    http://www.rosebudmag.com/tech-toys/cool-apps-smartphone-iphone

    ReplyDelete
  39. I could use your help. I hope you are still around.

    I have a dependency problem. Your package looks for libkonq5 which is no longer available. It has been replaced by libkonq-common, but you package does not look for that. I don't have enough knowledge to tell it to use the newer library or resource, or hack the install script so it looks for what I have.

    $ sudo dpkg -i dolphin-box-plugin_0.1-1_amd64.deb
    Selecting previously unselected package dolphin-box-plugin.
    (Reading database ... 583702 files and directories currently installed.)
    Unpacking dolphin-box-plugin (from dolphin-box-plugin_0.1-1_amd64.deb) ...
    dpkg: dependency problems prevent configuration of dolphin-box-plugin:
    dolphin-box-plugin depends on libkonq5 (>= 4:4.4.1); however:
    Package libkonq5 is not installed.

    dpkg: error processing dolphin-box-plugin (--install):
    dependency problems - leaving unconfigured
    Errors were encountered while processing:
    dolphin-box-plugin
    $ sudo apt-get install libkonq5
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package libkonq5 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    libkonq-common:i386 libkonq-common

    E: Package 'libkonq5' has no installation candidate
    $ sudo apt-get install libkonq-common
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    libkonq-common is already the newest version.
    You might want to run 'apt-get -f install' to correct these:
    The following packages have unmet dependencies:
    dolphin-box-plugin : Depends: libkonq5 (>= 4:4.4.1) but it is not installable
    E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

    ReplyDelete
  40. Could you please create a tarball with snapshot of code (as it seems to be done and stable) and put it somewhere?

    ReplyDelete
  41. I tried to install this plugin, it compiles fine, it appears in the Services list, but it doesn't show any icons in my Dropbox.
    Running Dolphin from command line shows no error in the console, even if I put intentionally wrong code in the source; maybe it's not even loading the plugin?

    ReplyDelete
  42. I can't see the plugin in the Services list. I compiled and installed it to /usr/local, and rebooted the computer. Using Dolphin 2.1 on Kubuntu 12.10. Not sure how to troubleshoot from here.

    ReplyDelete
  43. This plugin need to be updated and tested for last KDE. Need feedback.

    ReplyDelete
  44. Dolphin's Dropbox plugin lives at KDE Projects now:

    https://projects.kde.org/projects/kde/kdesdk/dolphin-plugins/repository/revisions/master/show/dropbox

    I don't have access a Linux machine for a while and I don't know plugin's status.

    ReplyDelete