################################### # Configuration file for Lira # # Clifm's resource opener # ################################### #----------------------------- # Description #----------------------------- # Commented and blank lines are ignored. # The below settings cover the most common filetypes. # It is recommended to edit this file placing your prefered applications # at the beginning of the apps list to speed up the opening process. # The file is read top to bottom and left to right; the first existent # application found will be used. # Applications defined here are NOT desktop files, but commands (arguments # can be used as well). Bear in mind that these commands will be executed # directly without shell intervention, so that no shell goodies (like pipes, # conditions, loops, etc) are available. In case you need something more # complex than a single command (including shell capabilities) write your # own script and place the path to the script in place of the command. # For example: # X:^text/.*:~/scripts/my_cool_script.sh # Use 'X' to specify a GUI environment and '!X' for non-GUI environments: # X = GUI only # !X = Non-GUI only (like the kernel console or an SSH session) # If the current line applies to both GUI and non-GUI environments, just omit # the X. Ex: 'text/plain=vi # Use 'N' to match file names instead of MIME types. # 'N:.*\.txt$=vi' to open all .txt files with vi (either GUI or non-GUI) # 'X:N:.*\.txt$=geany' (GUI only) # '!X:N:.*\.txt$=vi' (non-GUI only) # Regular expressions are allowed for both file types and file names. # Use the '%f' placeholder to specify the position of the file name to be # opened in the command. Example: # 'mpv %f --no-terminal' -> 'mpv FILE --no-terminal' # If %f is not specified, the file name will be added to the end of the # command. Ex: 'mpv --no-terminal' -> 'mpv --no-terminal FILE' # To silence STDERR and/or STDOUT use !E and !O respectively (they can be # used together). Examples: # Silence STDERR only and run in the foreground: # mpv %f !E # Silence both (STDERR and STDOUT) and run in the background: # mpv %f !EO & # For Ranger users, "!EO" is equivalent to "flag f" in rifle.conf. # The '%x' flag can be used as a shorthand for "%f !EO &". Example: # mpv %x # Running the opening application in the background: # For GUI applications: # APP %x # For terminal applications: # TERM -e APP %x # Replace 'TERM' and 'APP' by the corresponding values. The -e option # might vary depending on the terminal emulator used (TERM). # # Bear in mind that this will hide error messages. To print error # messages compose the command as follows: # cmd %f !O & # This will run 'cmd' in the background silencing STDOUT only. # Note on graphical applications: If the opening application is already # running, the file will be opened, usually in a new tab, and Clifm won't # wait for the file to be closed (because the procecss already returned). # To avoid this, instruct the application to execute a new instance. For example: # geany -i, gedit -s, kate -n, pluma --new-window, and so on. # Environment variables can be used as well. Example: # X:text/plain=$EDITOR %f &;$VISUAL;nano;vi # Use Ranger's rifle (or whatever opener you prefer) to open all files #.*=rifle ################################ # 1. File names/extensions # ################################ # Match a full file name #X:N:some_filename=cmd # Match all file names starting with 'str' #X:N:^str.*=cmd # Match files with extension 'ext' #X:N:.*\.ext$=cmd #----------------------------- # Clifm config files #----------------------------- X:N:(.*\.clifm$|clifmrc)=$EDITOR;$VISUAL;kak;micro;nvim;vim;vi;mg;emacs;nano;mili;leafpad;mousepad;featherpad;gedit -s;kate -n;pluma --new-window !X:N:(.*\.clifm$|clifmrc)=$EDITOR;$VISUAL;kak;micro;nvim;vim;vi;mg;emacs;nano #----------------------------- # Digital books #----------------------------- X:N:.*\.djvu$=djview %x;zathura %x;xreader %x;evince %x;atril %x X:N:.*\.(fb2|epub)$=mupdf %x;zathura %x;xreader %x;ebook-viewer %x;FBReader %x;foliate %x X:N:.*\.mobi$=mupdf %x;ebook-viewer %x;FBReader %x;foliate %x X:N:.*\.(cbr|cbz|cb7|cbt|cba)$=mcomix %x;xreader %x;YACReader %x;qcomicbook %x;zathura %x;foliate %x X:N:.*\.chm$=xchm %x # .abw files are Abiword documents. # These are basically XML, but you most likely want to open it with a word processor. X:N:.*\.abw$=abiword %x;libreoffice %x;soffice %x;ooffice %x ################################ # 2. MIME types # ################################ #----------------------------- # Directories #----------------------------- # Only for the open-with command (ow) and the --open command line switch. # In graphical environments directories will be opened in a new window. X:inode/directory=xterm -e clifm %x;xterm -e vifm %x;pcmanfm %x;thunar %x;xterm -e ncdu %x !X:inode/directory=vifm;ranger;nnn;ncdu #----------------------------- # Web content #----------------------------- X:^text/html$=$BROWSER;surf %x;vimprobable %x;vimprobable2 %x;qutebrowser %x;dwb %x;jumanji %x;luakit %x;uzbl %x;uzbl-tabbed %x;uzbl-browser %x;uzbl-core %x;iceweasel %x;midori %x;opera %x;firefox %x;seamonkey %x;brave %x;chromium-browser %x;chromium %x;google-chrome %x;epiphany %x;konqueror %x;elinks;links2;links;lynx;w3m !X:^text/html$=$BROWSER;elinks;links2;links;lynx;w3m #----------------------------- # Text #----------------------------- X:^text/rtf$=libreoffice %x;soffice %x;ooffice %x X:(^text/.*|application/(json|javascript)|inode/x-empty)=$TERM -e $EDITOR %x;$TERM -e $VISUAL $x;kak;micro;dte;nvim;vim;vi;mg;emacs;nano;mili;leafpad %x;mousepad %x;featherpad %x;nedit %x;kate %x;gedit %x;pluma %x;io.elementary.code %x;liri-text %x;xed %x;atom %x;nota %x;gobby %x;kwrite %x;xedit %x !X:(^text/.*|application/(json|javascript)|inode/x-empty)=$EDITOR;$VISUAL;kak;micro;dte;nvim;vim;vi;mg;emacs;nano #----------------------------- # Office documents #----------------------------- ^application/.*(open|office)document\.spreadsheet.*=sc-im X:^application/(msword|vnd.ms-excel|vnd.ms-powerpoint|.*(open|office)document.*)=libreoffice %x;soffice %x;ooffice %x #----------------------------- # Archives #----------------------------- # Note: 'ad' is Clifm's built-in archives utility (based on atool(1)). Remove it if you # prefer another application. X:^application/(zip|gzip|zstd|x-7z-compressed|x-xz|x-bzip*|x-tar|x-iso9660-image)=ad;xarchiver %x;lxqt-archiver %x;ark %x !X:^application/(zip|gzip|zstd|x-7z-compressed|x-xz|x-bzip*|x-tar|x-iso9660-image)=ad #----------------------------- # PDF #----------------------------- X:.*/pdf$=mupdf %x;sioyek %x;llpp %x;lpdf %x;zathura %x;mupdf-x11 %x;apvlv %x;xpdf %x;xreader %x;evince %x;atril %x;okular %x;epdfview %x;qpdfview %x #----------------------------- # Images #----------------------------- X:^image/gif$=animate %x;pqiv %x;sxiv -a %x;nsxiv -a %x;feh %x X:^image/svg=display;inkscape %x X:^image/.*=sxiv %x;nsxiv %x;pqiv %x;gpicview %x;qview %x;qimgv %x;mirage %x;ristretto %x;loupe %x;eog %x;eom %x;xviewer %x;viewnior %x;nomacs %x;geeqie %x;gwenview %x;gthumb %x;gimp %x !X:^image/.*=fim;img2txt;cacaview;fbi;fbv #----------------------------- # Video and audio #----------------------------- X:^video/.*=ffplay %x;mplayer %x;mplayer2 %x;mpv %x;vlc %x;gmplayer %x;smplayer %x;celluloid %x;qmplayer2 %x;haruna %x;totem %x X:^audio/.*=mpv %x;gmplayer %x;smplayer %x;vlc %x;totem %x;ffplay %x;mplayer;mplayer2 !X:^audio/.*=ffplay -nodisp -autoexit -hide_banner %f !EO;mplayer %f !EO;mpv --no-terminal #----------------------------- # Fonts #----------------------------- X:^font/.*=fontforge;fontpreview #----------------------------- # Torrent #----------------------------- X:application/x-bittorrent=rtorrent;transimission-gtk %x;transmission-qt %x;deluge-gtk %x;ktorrent %x #----------------------------- # Fallback #----------------------------- # Let's fallback to an external opener as last resource .*=handlr open;mimeopen -n;rifle;mimeo;xdg-open;open;