flathub/com.github.donadigo.appeditor#18
- https://www.reddit.com/r/gnome/comments/o4e7a6/nautilus_as_a_file_chooser_with_thumbnails/
- https://gist.github.com/danbst/936774d9135ff0556bdb9dd864ec4e5b
- jitsi/jitsi-meet-electron#509
- https://www.choosyosx.com/
- https://alternativeto.net/software/choosy/
- https://braus.properlypurple.com/
- flatpak/xdg-desktop-portal#126
- flatpak/xdg-desktop-portal#472
- flathub/org.gnome.Lollypop#99
- https://github.com/flathub/com.github.donadigo.appeditor/blob/master/com.github.donadigo.appeditor.json
- flatpak/flatpak#1286
- https://news.ycombinator.com/item?id=28576147
- https://edoceo.com/sys/xfce-custom-uri-handler
https://blog.elementary.io/a-new-native-file-chooser/ https://github.com/ranchester2/nautilus-as-file-chooser-poc
Junction is also an experiment to improve file and url handling on the Linux desktop - specially on GNOME - by taking inspiration from various systems and possibly doing some of the work usually left to the browser or file manager.
If you have any idea worth exploring in that area please feel free to open an issue.
Help welcome! Feel free to open an issue and I'd be happy to assist.
- "Remember for"
- No application to handle this type - search for one?
- Ctrl+Click / Ctrl+Enter to open in multiple applications
- Ctrl shows a checkbox to open in multiple apps
- Desktop actions - e.g. open in new window / private window
- Implement
org.freedesktop.impl.portal.AppChooser
- For files
- Open/reveal in file manager
- Remember application for pattern
- Remember application for file type
- Replace home dir path with ~
- Replace
file:///
with/
- Open file read only (or copy)
- For URLs
- HTTPS Everywhere / hsts support
- Removes tracking elements from URLs
- Remember application for domain/pattern
- Remember application for content-type
- Firefox profiles
- Protect against homograph attack
- URL rewrite (e.g.
https://meet.jit.si/example
->jitsi-meet://example
) - Hide scheme if
https
- https://publicsuffix.org/list/ support for rules
- Customizable (show/hide URI bar and so on)
- Open with any application
- Hide specific applications
- mailto pattern matching
- Search bar
- Open multiple URLs one by one then select app
- History of uris
- Read from clipboard when opening
- Open in Terminal
- mailto to web
- put http warning behind setting
- API similar to https://www.choosyosx.com/api
- mastodon/mastodon#8127
- Scriptable
- Stylable
- Browser extension (trigger Junction from browser links)
- Protect from malicious domains / URLs
- Parental control
- URL/file preview
- share intent https://wiki.gnome.org/Design/OS/Sharing
- allow desktop applications to be primary application of an url origin
application.add_main_option(
"super-long-name",
"short-name",
GLib.OptionFlags.NONE,
GLib.OptionArg.STRING,
"description",
"arg_description",
);
application.connect("handle-local-options", (self, options) => {
log("handle local options");
log(options);
return -1;
});
// and then in command-line handler
// log(applicationCommandLine.get_options_dict().lookup("super-long-name"));