Domyślne aplikacje - Linux
Posted on Sun 28 March 2021 in Tips4Unices • 1 min read
Zrobiłem na szybko skrypt do ustawiania domyślnych aplikacji dla różnych typów MIME. Zaczęło się od ustawiania domyślnego programu dla plików PDF w Alpine. Instalacja Xournall++ (genialny edytor) popsuła mi to co miałem czyli Zathurę. Okazało się i tak, że Alpine korzysta z plików ~/.mailcap albo /etc/mailcap, ale już jakoś poleciało. Nie lubię freedesktop i mam to gdzieś. Musiałem to napisać.
Skryptu nie mam zamiaru rozwijać, kropka. Przy użyciu warto rzucić uwagę na folder przeszukiwania, tu jest tylko /usr/share/applications, a pliki .desktop lubią być porozrzucane. Co za śmietnik! Potrzebne rofi, reszta systemowa.
#!/bin/sh XDGMIME=`which xdg-mime` FILETYPE=$($XDGMIME query filetype "$1") APP=$( find /usr/share/applications -name '*.desktop' -exec grep -l "MimeType=$FILETYPE" {} \; | sed -e 's/^.*\///' -e 's/\.desktop//' | rofi \ -dmenu -i \ -p "Wybierz domyślną aplikację dla typu: $FILETYPE" \ -no-fixed-num-lines \ -width 80 \ -font "Inconsolata 12" \ -hide-scrollbar \ ) $XDGMIME default "$APP.desktop" "$FILETYPE" echo "$APP ustawiona jako domyślna aplikacja otwierająca $FILETYPE"