Before I go off an write something myself, many things we open from our apps are HTTP/S URLs and they go straight to the browser. On Android, it’s possible to assign apps to certain domains. I know I could write a script to do the same in linux, but my question is if there is a solution that already does this.

For those who don’t know how, here’s a superuser page that explains how to handle custom protocols.

This is what I use for now to open videos directly in mpv instead of a browser

~/bin/open-http.sh

#!/usr/bin/env bash
set -eu
# install with `xdg-mime default http-handler.desktop x-scheme-handler/http`
#              `xdg-mime default http-handler.desktop x-scheme-handler/https`
# is https and supported by yt-dlp
if [[ "$1" == "https://"* ]] && yt-dlp --simulate "$1" ; then
    exec mpv "$1"
else
    librewolf "$1" 
fi

http-handler.desktop

[Desktop Entry]
Comment=
Exec=~/bin/open-http.sh %u
MimeType=x-scheme-handler/https;
Name=HTTP Scheme Handler
NoDisplay=false
Path=
PrefersNonDefaultGPU=false
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=

A GUI or just config file would be great.

  • davidgro@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    18 hours ago

    The important part (which is missing by default) is opening different apps for different domains in the same scheme (such as https)