# xdgurl An install helper program for desktop stuff. Copyright: 2016, Akira Ohgaki License: GPL-3+ ## How to install For Ubuntu/Debian system, you can use "install.sh" in the project to install the program. $ sh install.sh And you can use "uninstall.sh" to uninstall the program. $ sh uninstall.sh ## How to use #### From web browser Open XDG-URL by click a links, or type XDG-URL in browser's address bar. In firefox, you can get a program selection window when first time to open XDG-URL, and you can choose "xdgurl" as custom URL handler. If you can not get a program selection window, you need set the xdgurl program as custom URL handler for xdg:// scheme in browser's settings. #### From command-line terminal Execute xdgurl program with argument XDG-URL. $ xdgurl "XDG-URL" ## XDG-URL XDG-URL is a custom URL that represent the installation method for desktop stuff. [scheme]://[command]?[query string] For example: xdg://install?url=http%3A%2F%2Fexample.com%2Ficons.tar.gz&type=icons #### Scheme * xdg * xdgs "xdgs" scheme is the same of the xdg scheme for now, it's a reserved name for secure protocol in the future. #### Command * download * install Command "download" will download the file from specified URL to local destination of specified install-type. Command "install" will make file downloading and trigger installation process. #### Query string XDG-URL's query string is an option of command. *All query string values should be urlencoded.* **url** = File URL of desktop stuff Must be set. **type** = Install-type Optional. Default is "downloads". Available install-type: Install-type | Local destination -------------|------------------ downloads | ~/Downloads documents | ~/Documents pictures | ~/Pictures music | ~/Music videos | ~/Videos wallpapers | ~/.local/share/wallpapers fonts | ~/.fonts cursors | ~/.icons icons | ~/.local/share/icons emoticons | ~/.local/share/emoticons themes | ~/.themes emerald_themes | ~/.emerald/themes enlightenment_themes | ~/.e/e/themes enlightenment_backgrounds | ~/.e/e/backgrounds fluxbox_styles | ~/.fluxbox/styles pekwm_themes | ~/.pekwm/themes icewm_themes | ~/.icewm/themes plasma_plasmoids | ~/.local/share/plasma/plasmoids plasma_look_and_feel | ~/.local/share/plasma/look-and-feel plasma_desktopthemes | ~/.local/share/plasma/desktoptheme kwin_effects | ~/.local/share/kwin/effects kwin_scripts | ~/.local/share/kwin/scripts kwin_tabbox | ~/.local/share/kwin/tabbox aurorae_themes | ~/.local/share/aurorae/themes dekorator_themes | ~/.local/share/deKorator/themes qtcurve | ~/.local/share/QtCurve color_schemes | ~/.local/share/color-schemes gnome_shell_extensions | ~/.local/share/gnome-shell/extensions cinnamon_applets | ~/.local/share/cinnamon/applets cinnamon_desklets | ~/.local/share/cinnamon/desklets cinnamon_extensions | ~/.local/share/cinnamon/extensions nautilus_scripts | ~/.local/share/nautilus/scripts amarok_scripts | ~/.kde/share/apps/amarok/scripts yakuake_skins | ~/.kde/share/apps/yakuake/skins cairo_clock_themes | ~/.cairo-clock/themes Available alias name of the install-type: Alias | Install-type ------|------------- gnome_shell_themes | themes cinnamon_themes | themes gtk2_themes | themes gtk3_themes | themes metacity_themes | themes xfwm4_themes | themes openbox_themes | themes kvantum_themes | themes compiz_themes | emerald_themes beryl_themes | emerald_themes plasma4_plasmoids | plasma_plasmoids plasma5_plasmoids | plasma_plasmoids plasma5_look_and_feel | plasma_look_and_feel plasma5_desktopthemes | plasma_desktopthemes plasma_color_schemes | color_schemes **filename** = Alternative file name Optional. This option is useful if the download URL does not represent the file name.