After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 771051 - Launching dropbox from nautilus no longer works
Launching dropbox from nautilus no longer works
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: general
3.21.x
Other Linux
: Normal normal
: 3.22
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 771887 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-09-08 11:34 UTC by Christoph Reiter (lazka)
Modified: 2016-09-23 19:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
application: add dummy --no-desktop cmd option (1018 bytes, patch)
2016-09-12 12:24 UTC, Carlos Soriano
committed Details | Review

Description Christoph Reiter (lazka) 2016-09-08 11:34:03 UTC
1) Right click on the tray icon
2) Select "Open Dropbox Folder"

Expected:

The folder gets opened.

Actual:

Nothing happens.

----

Looking at the journal output I see:

"dropbox.desktop[2085]: Unknown option --no-desktop"

Maybe this option could be re-added as a no-op (with deprecation) to keep dropbox working for now?
Comment 1 Carlos Soriano 2016-09-08 11:39:06 UTC
ugh... okay, I guess we should threat command line options as "public API".

But please file a bug (idk how they work) on them and write here so we can track the progress.
Comment 2 Christoph Reiter (lazka) 2016-09-08 15:32:37 UTC
Hm, I couldn't find anything besides their forum for reporting bugs. Also I don't really know what dropbox should do... call gnome-open/xdg-open instead?
Comment 3 Carlos Soriano 2016-09-09 06:57:09 UTC
(In reply to Christoph Reiter (lazka) from comment #2)
> Hm, I couldn't find anything besides their forum for reporting bugs. Also I
> don't really know what dropbox should do... call gnome-open/xdg-open instead?

Yes, we have this https://www.freedesktop.org/wiki/Specifications/file-manager-interface/

Running Nautilus directly with command lines arguments is what not to do nowadays.
If they only want Nautilus (since they only have integration support for Nautilus), they can use DBUS for activating it with org.gnome.Nautilus.open, or the preferred and actual correct way, use freedesktop interface to fire the file manager that the distro/user has as default file manager.

The --no-desktop option in the past was not really necessary here afaik, since Nautilus already checks if there is someone handling the desktop already.

Can you post on the forum with this info then? Thanks a lot.
Comment 4 Christoph Reiter (lazka) 2016-09-09 08:48:46 UTC
Created a post: https://www.dropboxforum.com/hc/en-us/community/posts/211197506


I'd still like to see the option back for 3.22. Dropbox isn't the only one using it: https://codesearch.debian.net/search?q=nautilus.*--no-desktop&perpkg=1
Comment 5 Carlos Soriano 2016-09-12 08:02:50 UTC
(In reply to Christoph Reiter (lazka) from comment #4)
> Created a post:
> https://www.dropboxforum.com/hc/en-us/community/posts/211197506
> 
> 

Thanks

> I'd still like to see the option back for 3.22. Dropbox isn't the only one
> using it:
> https://codesearch.debian.net/search?q=nautilus.*--no-desktop&perpkg=1

Ugh. Yes it's going to be back as a no-op (so the behaviour will be exactly the same as before with --no-desktop enabled).
However those packages need to be fixed, they shouldn't call directly Nautilus.
Comment 6 Carlos Soriano 2016-09-12 12:24:26 UTC
Created attachment 335363 [details] [review]
application: add dummy --no-desktop cmd option

Since there are few apps that are using it.
Comment 7 Carlos Soriano 2016-09-12 12:25:01 UTC
Attachment 335363 [details] pushed as 7a038b4 - application: add dummy --no-desktop cmd option
Comment 8 Christoph Reiter (lazka) 2016-09-13 16:40:43 UTC
Thanks!
Comment 9 Dima Ryazanov 2016-09-23 17:28:08 UTC
*** Bug 771887 has been marked as a duplicate of this bug. ***
Comment 10 Dima Ryazanov 2016-09-23 18:11:40 UTC
Former Dropbox engineer here. I implemented (some of) the logic for running nautilus; sorry about that. I've added an explanation to https://www.dropboxforum.com/hc/en-us/community/posts/211197506 if you're curious. TLDR: lack of standard APIs makes things difficult.
Comment 11 Carlos Soriano 2016-09-23 18:41:21 UTC
(In reply to Dima Ryazanov from comment #10)
> Former Dropbox engineer here. I implemented (some of) the logic for running
> nautilus; sorry about that. I've added an explanation to
> https://www.dropboxforum.com/hc/en-us/community/posts/211197506 if you're
> curious. TLDR: lack of standard APIs makes things difficult.

Hey Dima, thanks for reporting back.

The DBUS interface is a standard, if other file managers lack support for it they need to provide it (I guess here is kinda egg chicken problem). Apart of being standard, it's using the IPC system, which is precisely for this use case.
Using DBUS will you bring Nautilus working, which is what is doing right now, so seems there is no regression in Dropbox case.

Indeed there is a interface to show specific files, it's called ShowItems and it's specified in the link I provided before in comment 3.

Unrelated to this bug report:
We are planning a common interface in freedesktop for cloud providers in order to bring better integration with the desktop (with nice advantages like removing the need of a Nautilus plugin, being cross desktop and i.e. offering paid options directly in Nautilus/Dolphin etc.). The cloud providers I would like to make this working with excellence are Nextcloud (former Owncloud) and Dropbox. Would you have some contact in Dropbox so we can discuss what Dropbox would like to see regarding this? I'm already in touch with Nextcloud developers. My email is csoriano (at) gnome.org.

Looking forward for a fix for this bug and further collaboration :)
Comment 12 Dima Ryazanov 2016-09-23 18:56:09 UTC
Oh, that would be awesome. Let me ask them about it.
Comment 13 Carlos Soriano 2016-09-23 19:01:58 UTC
(In reply to Dima Ryazanov from comment #12)
> Oh, that would be awesome. Let me ask them about it.

Excellent thanks. In case you are curious, this is an example of what Dropbox could need to implement. Just a few lines of C code to provide all the integration. Note that currently it's hosted in org.gtk.* , but when this comes reality and other desktops agree on the interface it will become org.freedesktop.* and it will become an standard.

https://git.gnome.org/browse/gtk+/commit/?h=wip/csoriano/cloud-providers&id=69cca11518a54d49c8f8c7fa7b7bf309c0a48e38
Comment 14 Carlos Soriano 2016-09-23 19:08:23 UTC
More explanation and images of the result in a blog post I did https://csorianognome.wordpress.com/2015/07/07/cloud-providers/

And the specific C part:
https://git.gnome.org/browse/gtk+/tree/tests/testcloudproviderserver.c?h=wip/csoriano/cloud-providers&id=69cca11518a54d49c8f8c7fa7b7bf309c0a48e38

As you can see, they are simple callbacks, and Dropbox would be able to do any process necessary in an asynchronous way, providing status when necessary, etc.
Basically we are free to define any DBUS interface we would like.