Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to use external editor? #9

Open
JanneM opened this issue Dec 23, 2020 · 4 comments
Open

Unable to use external editor? #9

JanneM opened this issue Dec 23, 2020 · 4 comments

Comments

@JanneM
Copy link

JanneM commented Dec 23, 2020

Tried to use the snap with Vim as external editor. The editor selection dialog only offers editors installed as snaps, and setting the explicit gvim binary in the Joplin settings ("/usr/bin/gvim" and variations thereof) silently fails.

@JGCarroll
Copy link
Owner

Unfortunately, strict snaps (the majority of snaps in the store, ones with sandboxing enabled) and flatpaks can't just access arbitrary filesystem locations, external editors are facilitated using the xdg-flatpak portals integration. This should show more options than just other snaps, but from what I'd guess in order to get Vim to work, you'd need to create a .desktop file for it so it shows up in the start menu, make sure it's marked as an editor for markdown files, and then it should appear in the external apps picker and otherwise work as expected. I certainly recall none snap apps being shown when I've used it.

I might remove the setting for an explicit binary since as you point out it's very misleading, and getting it to work in a way a user expects is a very involved effort and way harder than the option of just not using the snap.

Overall between this and your other posted issue, I think snaps are probably a bad fit for you, at least as much as Joplin goes. Joplin does provide an AppImage and a convienient install/update script for here https://github.com/laurent22/joplin/blob/dev/Joplin_install_and_update.sh, and my post in the other issue hopefully might help you get your data back if you need to recover it.

@JanneM
Copy link
Author

JanneM commented Dec 23, 2020

I've installed the Appimage already, and yes, while I like snaps I feel that for this particular app, the security and isolation features of snaps become a drawback more than a benefit. Still, thank you for your work on this and on snaps in general!

@JGCarroll
Copy link
Owner

Much appreciated!

I think most people don't have an issue with the sandboxing in Joplin in particular, but there's certainly exceptions. I think you're the second person to have a problem with the external editor functionality that I've seen, the sentiments about snaps deleting their user data is fairly common among all snaps and the second I've seen again for this one in particular, and there's a few more complaints about removable-media / accessing files in sandboxed areas, printing, and the worst of them all, broken font glyphs.

While essentially most of these can be fixed by various technical improvements, some of which are already ongoing, I think I need to upgrade the README to have a FAQ so that people can tell in advance if Snap Joplin is a good fit and how to handle the edge cases that do often show up, it's looking pretty bare bones at the moment. It's a very unusual concept to users that synchronising data to various web hosts is easy but opening a text editor is complicated but at least they can told why.

Thanks for your feedback :)!

@JGCarroll
Copy link
Owner

JGCarroll commented Jan 24, 2021

FWIW, there's a Flatpak version of Joplin now.

https://flathub.org/apps/details/net.cozic.joplin_desktop

Although you still have to accomodate for the Flatpak sandbox by writing the path using flatpak-spawn, it has most the advantages of a Snap build but a much more direct work-around for this specific issue. (And it also uses the normal database location too, so solves #10 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants