xdg-open — бяка, создающая проблемы на ровном месте. Я давно уже увидел https://github.com/chmln/handlr, но тогда поленился притащить его из AUR'а. Вчера обнаружил, что проект [форкнули](https://github.com/Anomalocaridid/handlr-regex), и в репозитории даже есть пакет handlr-regex. Теперь мне не нужно заниматься дебильными вещами вроде копирования `/usr/share/applications/nvim.desktop` в `~/.local/share/applications/nvim.desktop` и замены `Exec=nvim %F` на `Exec=foot nvim %F` — в `~/.config/mimeapps.list` добавляется `x-scheme-handler/terminal=foot.desktop`, и `Terminal=true` просто работает.
Написал скрипт, который ищет загруженные с youtube видео и открывает их в mpv, а если видео я не загружал — в браузере. Закидываем в `~/.config/handlr/handlr.toml`
```toml
[[handlers]]
exec = "yt %u"
regexes = [ 'https?://(?:www\.)?youtu(?:be\.com|\.be)/(?:watch\?v=)?(.*)' ]
```
и наслаждаемся магией.
