Skip to content

Latest commit

 

History

History
114 lines (95 loc) · 3.98 KB

notes.md

File metadata and controls

114 lines (95 loc) · 3.98 KB

List flatpak apps

flathub/com.github.donadigo.appeditor#18

Bookmarks

portal app chooser

https://blog.elementary.io/a-new-native-file-chooser/ https://github.com/ranchester2/nautilus-as-file-chooser-poc

Ideas:

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

Some crazy/maybe-bad ideas:

  • 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

Similar

custom options cli

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"));