diff --git a/clifm/.config/clifm/colors/default.clifm b/clifm/.config/clifm/colors/default.clifm new file mode 100644 index 000000000..c564e116f --- /dev/null +++ b/clifm/.config/clifm/colors/default.clifm @@ -0,0 +1,223 @@ +# Theme file for CliFM +# Theme name: clifm +# Author: L. Abramovich +# License: GPL3 + +### How do we define colors? +# +# FiletypeColors, InterfaceColors, and ExtColors use the same format used +# by the LS_COLORS environment variable. Thus, "di=01;34" means that (non-empty) +# directories will be printed in bold blue. +# +# Color codes are just traditional ANSI escape sequences less the escape char +# and the final 'm'. +# 4-bit, 8-bit (256 colors), and 24-bit (RGB/HEX) colors are supported. +# Example: +# 31 4-bit +# 38;5;160 8-bit +# 38;2;255;0;0 24-bit (RGB) +# #ff0000 24-bit (HEX) +# +# One attribute can be used for hex colors using a dash and an attribute +# number (RRGGBB-[1-9]), where 1-9 is: +# +# 1: Bold or increased intensity +# 2: Faint, decreased intensity or dim +# 3: Italic (Not widely supported) +# 4: Underline +# 5: Slow blink +# 6: Rapid blink +# 7: Reverse video or invert +# 8: Conceal or hide (Not widely supported) +# 9: Crossed-out or strike +# +# For example, to print bold red color, the hex code is #ff0000-1 + +### Use some variables to hold your color codes +# +# The 'define' keyword allows you to define up to 64 custom color variables. +# They can be used for: +# FiletypeColors +# InterfaceColors +# ExtColors +# DirIconColor +# +# For example, if 'M' is defined as "00;01;36", we can use this color for +# ELN's as follows: "el=M" (see below) + +define D=0 # Default terminal foreground color +#define BD=1 # Bold (keep current color) +define BD=0;1 # Bold (reset foreground color) + +define R=31 # Red +define BR=1;31 # Bold red +define DR=2;31 # Dimmed red +define UDR=4;2;31 # Underlined dimmed red +define UBR=4;1;31 # Underlined bold red + +define G=32 # Green +define BG=1;32 # Bold green +define DG=2;32 # Dimmed green + +define Y=33 # Yellow +define BY=1;33 # Bold yellow +define DY=2;33 # Dimmed yellow + +define B=34 # Blue +define BB=1;34 # Bold blue +define DB=2;34 # Dimmed blue + +define M=35 # Magenta +define BM=1;35 # Bold Magenta +define DM=2;35 # Dimmed magenta +define UM=4;35 # Underlined magenta + +define C=36 # Cyan +define BC=1;36 # Bold cyan +define DC=2;36 # Dimmed cyan +define RC=7;36 # Reverse cyan +define UDC=4;2;36 # Underlined dimmed cyan +define BDC=1;2;36 # Bold dimmed cyan + +define DW=2;37 # Dimmed white +define UDW=4;2;37 # Underlined dimmed white + +# Foreground-background combinations +define URW=4;31;47 # Red foreground, white background +define WR=37;41 # White foreground, red background +# K stands for black (B is used for Blue) +define KY=30;43 # Black foreground, yellow background +define KR=30;41 # Black foreground, red background +define KG=30;42 # Black foreground, green background +# BG is already used for bold green +define BlGr=34;42 # Blue foreground, green background +define WB=37;44 # white foreground, blue background + +### To know what are we applying colors to, we use the following codes: + +## File types +# bd = Block device +# ca = File with capabilities +# cd = Char device +# ed = Empty directory +# ee = Empty executable file +# ex = Executable file +# ef = Empty regular file +# fi = Regular file +# di = Directory +# ln = Symbolic link +# mh = Multi-hardlink file +# nd = Directory with no read permission +# ne = Empty directory with no read permission +# nf = Regular file with no read permission +# no = Unknown +# or = Broken symlink +# ow = Other-writable +# pi = FIFO/pipe +# sg = SGID file +# so = Socket +# st = Sticky (not other-writable) +# su = SUID file +# tw = Sticky and other-writable +# uf = Non-'stat'able file + +## Interface +# bm = Bookmarked directory +# fc = Files counter +# df = Default color +# dl = Dividing line +# el = ELN color +# mi = Misc indicators +# ts = TAB completion suffix +# tt = Tilde for trimmed files +# wc = Welcome message +# wp = Warning prompt + +## Auto-suggestions +# sb = Shell builtins +# sc = External commands and aliases +# sf = File names +# sh = History +# sx = Internal commands and parameters +# sp = BAEJ suggestions pointer + +## Syntax highlighting +# hb = Brackets () [] {} +# hc = Comments +# hd = Paths (slashes) +# he = Expansion operators: * ~ +# hn = Numbers +# hp = Parameters: - +# hq = Quoted strings +# hr = Redirection > +# hs = Process separators | & ; */ +# hv = Variables $ */ +# hw = Wrong, non-existent command name + +## File properties +# dr = Read +# dw = Write +# dxd = Execute (dirs) +# dxr = Execute (reg files) +# dg = UID, GID +# dd = Date +# dz = Size (dirs) +# do = Permissions in octal notation +# dp = Special files (SUID, SGID, etc) +# dn = dash (none) + +## Workspaces +# wsN = Workspace number N + +## Prompt notifications +# em = Errors +# li = Selected files indicator +# nm = Notices +# ti = Trash indicator +# tx = Command line text +# si = Stealth mode indicator +# wm = Warnings +# xs = Exit code: success +# xf = Exit code: failure + +# FiletypeColors defines the color used for file names when listing files, +# just as InterfaceColors defines colors for CliFM's interface. +FiletypeColors="bd=BY:ca=KR:cd=BD:di=BB:ed=DB:ee=G:ef=DY:ex=BG:fi=D:ln=BC:mh=RC:nd=UBR:ne=UDR:nf=UDR:no=URW:or=UDC:ow=BlGr:pi=M:sg=KY:so=BM:st=WB:su=WR:tw=KG:uf=UDW:" + +InterfaceColors="bm=BG:dd=B:df=D:dg=Y:dl=DW:dn=DW:dr=Y:do=C:dp=M:dw=R:dxd=G:dxr=C:dz=G:el=C:em=BR:fc=DB:hb=C:hc=DR:hd=C:he=C:hn=M:hp=C:hq=Y:hr=R:hs=G:hv=G:li=BG:mi=BC:nm=BG:si=BB:sb=DY:sc=DC:sf=UDC:sh=DM:sp=DR:sx=DG:ti=BC:ts=UM:tt=BDC:tx=D:wc=BC:wm=BY:wp=DR:ws1=B:ws2=R:ws3=Y:ws4=G:ws5=C:ws6=C:ws7=C:ws8=C:xf=BR:xs=G:" + +# Colors for specific file extensions +ExtColors="*.tar=BR:*.tgz=BR:*.taz=BR:*.lha=BR:*.lz4=BR:*.lzh=BR:*.lzma=BR:*.tlz=BR:*.txz=BR:*.tzo=BR:*.t7z=BR:*.zip=BR:*.z=BR:*.dz=BR:*.gz=BR:*.lrz=BR:*.lz=BR:*.lzo=BR:*.xz=BR:*.zst=BR:*.tzst=BR:*.bz2=BR:*.bz=BR:*.tbz=BR:*.tbz2=BR:*.tz=BR:*.deb=BR:*.rpm=BR:*.rar=BR:*.cpio=BR:*.7z=BR:*.rz=BR:*.cab=BR:*.jpg=BM:*.JPG=BM:*.jpeg=BM:*.mjpg=BM:*.mjpeg=BM:*.gif=BM:*.GIF=BM:*.bmp=BM:*.xbm=BM:*.xpm=BM:*.png=BM:*.PNG=BM:*.svg=BM:*.pcx=BM:*.mov=BM:*.mpg=BM:*.mpeg=BM:*.m2v=BM:*.mkv=BM:*.webm=BM:*.webp=BM:*.ogm=BM:*.mp4=BM:*.MP4=BM:*.m4v=BM:*.mp4v=BM:*.vob=BM:*.wmv=BM:*.flc=BM:*.avi=BM:*.flv=BM:*.m4a=BY:*.mid=BY:*.midi=BY:*.mp3=BY:*.MP3=BY:*.ogg=BY:*.wav=BY:*.pdf=BR:*.PDF=BR:*.doc=M:*.docx=M:*.xls=M:*.xlsx=M:*.ppt=M:*.pptx=M:*.odt=M:*.ods=M:*.odp=M:*.cache=DW:*.tmp=DW:*.temp=DW:*.log=DW:*.bak=DW:*.bk=DW:*.in=DW:*.out=DW:*.part=DW:*.aux=DW:*.c=BD:*.c++=BD:*.h=BD:*.cc=BD:*.cpp=BD:*.h=BD:*.h++=BD:*.hh=BD:*.go=BD:*.java=BD:*.js=BD:*.lua=BD:*.rb=BD:*.rs=BD:" + +# If icons are enabled, use this color for directories icon +DirIconColor="Y" + +# The prompt used by CliFM. Use the 'prompt' command to check for available +# prompts. Enter 'prompt --help' for more information +# You can use here either prompt codes (see the prompts.clifm file for details) +# or a prompt name defined in the prompts file +Prompt="clifm" + +# Override prompt values (as defined in the prompts file) +#Prompt="" +#Notifications= +#EnableWarningPrompt= +#WarningPrompt="" + +# The string used to construct the line dividing the list of files and +# the prompt (Unicode is supported). Possible values: +# "0": Print just an empty line +# "C": C is a single char. This char is printed up to the end of the screen +# "CCC": 3 or more chars. Only these chars (no more) will be printed +# "": Print a special line drawn with box-drawing characters (not +# supported by all terminals/consoles) +# The color of this line is controlled by the 'dl' code in InterfaceColors +DividingLine="-" + +# If the fzf TAB completion mode is enabled, pass these options to fzf(1): +FzfTabOptions="--color='16,prompt:6,fg+:-1,pointer:4,hl:5,hl+:5,gutter:-1,marker:2' --marker='*' --bind tab:accept,right:accept,left:abort --inline-info --layout=reverse-list" + +# Same options, but colorless +#FzfTabOptions="--color='bw' --marker='*' --bind tab:accept,right:accept,left:abort --inline-info --layout=reverse-list" + +# For more information consult fzf(1) diff --git a/clifm/.config/clifm/keybindings.clifm b/clifm/.config/clifm/keybindings.clifm new file mode 100644 index 000000000..e8f512d77 --- /dev/null +++ b/clifm/.config/clifm/keybindings.clifm @@ -0,0 +1,146 @@ +# Keybindings file for CliFM + +# Emacs style key escapes are the simplest way of setting your +# keybindings. For example, use "action:\C-t" to bind the action name +# 'action' to Ctrl-t +# Note: available action names are defined below + +# If you need some more control, hex, octal, and decimal notation is +# also supported (this is needed for example for function keys). For +# the sake of simplicity, CliFM provides a plugin to easily get the +# adequate codes. +# Use the 'kbgen' plugin (compile it first: gcc -o kbgen kbgen.c) to +# find out the escape code for the key o key sequence you want. Use +# either octal, hexadecimal codes or symbols. +# Ex: For Alt-/ (in rxvt terminals) 'kbgen' will print the following +# lines: +# Hex | Oct | Symbol +# ---- | ---- | ------ +# \x1b | \033 | ESC (\e) +# \x2f | \057 | / +# In this case, the keybinding, if using symbols, is: "\e/:function" +# In case you prefer the hex codes it would be: \x1b\x2f:function. +# GNU emacs escape sequences are also allowed (ex: "\M-a", Alt-a +# in most keyboards, or "\C-r" for Ctrl-r). +# Some codes, especially those involving keys like Ctrl or the arrow +# keys, vary depending on the terminal emulator and the system settings. +# These keybindings should be set up thus on a per terminal basis. +# You can also consult the terminfo database via the infocmp command. +# See terminfo(5) and infocmp(1). + +# Alt-j +previous-dir:\M-j +# Shift-left (rxvt) +previous-dir2:\e[d +# Shift-left (xterm) +previous-dir3:\e[2D +# Shift-left (others) +previous-dir4:\e[1;2D + +# Alt-k +next-dir:\M-k +# Shift-right (rxvt) +next-dir2:\e[c +# Shift-right (xterm) +next-dir3:\e[2C +# Shift-right (others) +next-dir4:\e[1;2C +first-dir:\C-\M-j +last-dir:\C-\M-k + +# Alt-u +parent-dir:\M-u +# Shift-up (rxvt) +parent-dir2:\e[a +# Shift-up (xterm) +parent-dir3:\e[2A +# Shift-up (others) +parent-dir4:\e[1;2A + +# Alt-e +home-dir:\M-e +# Home key (rxvt) +#home-dir2:\e[7~ +# Home key (xterm) +#home-dir3:\e[H +# Home key (Emacs term) +#home-dir4:\e[1~ + +# Alt-r +root-dir:\M-r +# Alt-/ (rxvt) +root-dir2:\e/ +#root-dir3: + +pinned-dir:\M-p +workspace1:\M-1 +workspace2:\M-2 +workspace3:\M-3 +workspace4:\M-4 + +# Help +# F1-3 +show-manpage:\eOP +show-manpage2:\e[11~ +show-cmds:\eOQ +show-cmds2:\e[12~ +show-kbinds:\eOR +show-kbinds2:\e[13~ + +archive-sel:\C-\M-a +bookmark-sel:\C-\M-b +bookmarks:\M-b +clear-line:\M-c +clear-msgs:\M-t +create-file:\M-n +deselect-all:\M-d +export-sel:\C-\M-e +dirs-first:\M-g +lock:\M-o +mountpoints:\M-m +move-sel:\C-\M-n +new-instance:\C-x +next-profile:\C-\M-p +only-dirs:\M-, +open-sel:\C-\M-g +paste-sel:\C-\M-v +prepend-sudo:\M-v +previous-profile:\C-\M-o +rename-sel:\C-\M-r +remove-sel:\C-\M-d +refresh-screen:\C-r +selbox:\M-s +select-all:\M-a +show-dirhist:\M-h +sort-previous:\M-z +sort-next:\M-x +toggle-hidden:\M-i +toggle-hidden2:\M-. +toggle-light:\M-y +toggle-long:\M-l +toggle-max-name-len:\C-\M-l +toggle-disk-usage:\C-\M-i +toggle-virtualdir-full-paths:\M-w +trash-sel:\C-\M-t +untrash-all:\C-\M-u + +# F6-12 +open-mime:\e[17~ +open-jump-db:\e[18~ +edit-color-scheme:\e[19~ +open-keybinds:\e[20~ +open-config:\e[21~ +open-bookmarks:\e[23~ +quit:\e[24~ + +# Plugins +# 1) Make sure your plugin is in the plugins directory (or use any of the +# plugins in there) +# 2) Link pluginx to your plugin using the 'actions edit' command. Ex: +# "plugin1=myplugin.sh" +# 3) Set a keybinding here for pluginx. Ex: "plugin1:\M-7" + +#plugin1: +#plugin2: +#plugin3: +#plugin4: diff --git a/clifm/.config/clifm/profiles/default/actions.clifm b/clifm/.config/clifm/profiles/default/actions.clifm new file mode 100644 index 000000000..12600f50c --- /dev/null +++ b/clifm/.config/clifm/profiles/default/actions.clifm @@ -0,0 +1,39 @@ +###################### +# CliFM actions file # +###################### + +# Define here your custom actions. Actions are custom command names +# bound to a executable file located either in DATADIR/clifm/plugins +# (usually /usr/share/clifm/plugins) or in $XDG_CONFIG_HOME/clifm/plugins. +# Actions can be executed directly from CliFM command line, as if they +# were any other command, and the associated file will be executed +# instead. All parameters passed to the action command will be passed +# to the corresponding plugin as well. + ++=finder.sh +++=jumper.sh +-=fzfnav.sh +*=fzfsel.sh +**=fzfdesel.sh +//=rgfind.sh +_=fzcd.sh +bcp=batch_copy.sh +bn=batch_create.sh +cr=cprm.sh +da=disk_analyzer.sh +dh=fzfdirhist.sh +dr=dragondrop.sh +fdups=fdups.sh +gg=pager.sh +h=fzfhist.sh +i=img_viewer.sh +ih=ihelp.sh +kbgen=kbgen +kd=decrypt.sh +ke=encrypt.sh +music=music_player.sh +ptot=pdf_viewer.sh +rrm=recur_rm.sh +update=update.sh +vid=vid_viewer.sh +wall=wallpaper_setter.sh diff --git a/clifm/.config/clifm/profiles/default/bookmarks.clifm b/clifm/.config/clifm/profiles/default/bookmarks.clifm new file mode 100644 index 000000000..fc22af9cf --- /dev/null +++ b/clifm/.config/clifm/profiles/default/bookmarks.clifm @@ -0,0 +1,6 @@ +### This is the bookmarks file for clifm ### + +# Empty and commented lines are ommited +# The bookmarks syntax is: [shortcut]name:path +# Example: +[c]clifm:/home/repo/.config/clifm/profiles/default diff --git a/clifm/.config/clifm/profiles/default/dirhist.clifm b/clifm/.config/clifm/profiles/default/dirhist.clifm new file mode 100644 index 000000000..e69de29bb diff --git a/clifm/.config/clifm/profiles/default/history.clifm b/clifm/.config/clifm/profiles/default/history.clifm new file mode 100644 index 000000000..366226fb9 --- /dev/null +++ b/clifm/.config/clifm/profiles/default/history.clifm @@ -0,0 +1 @@ +edit diff --git a/clifm/.config/clifm/profiles/default/log.clifm b/clifm/.config/clifm/profiles/default/log.clifm new file mode 100644 index 000000000..e69de29bb diff --git a/clifm/.config/clifm/profiles/default/mimelist.clifm b/clifm/.config/clifm/profiles/default/mimelist.clifm new file mode 100644 index 000000000..e1198709b --- /dev/null +++ b/clifm/.config/clifm/profiles/default/mimelist.clifm @@ -0,0 +1,125 @@ + ################################### + # Configuration file for Lira # + # CliFM's resource opener # + ################################### + +# Commented and blank lines are omitted + +# 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 +# could be used as well). Write you own handmade scripts to open specific +# files if necessary. Ex: X:^text/.*:~/scripts/my_cool_script.sh + +# Use 'X' to specify a GUI environment and '!X' for non-GUI environments, +# like the kernel built-in console or a remote SSH session. + +# Use 'N' to match file names instead of MIME types. + +# 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 --terminal=no' -> 'mpv FILE --terminal=no' +# If %f is not specified, the file name will be added to the end of the +# command. Ex: 'mpv --terminal=no' -> 'mpv --terminal=no FILE' + +# Running the opening application in the background: +# For GUI applications: +# APP %f & +# For terminal applications: +# TERM -e APP %f & +# Replace 'TERM' and 'APP' by the corresponding values. The -e option +# might vary depending on the terminal emulator used (TERM) + +# 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 run a new instance. For example: +# geany -i, gedit -s, kate -n, pluma --new-window, and so on. + +# To silence STDERR and/or STDOUT use !E and !O respectivelly (they could +# 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 & +# or +# mpv %f !E !O & + +# Environment variables could be used as well. Example: +# X:text/plain=$EDITOR %f &;$VISUAL;nano;vi + +########################### +# 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 + +X:N:.*\.djvu$=djview;zathura;evince;atril +X:N:.*\.epub$=mupdf;zathura;ebook-viewer +X:N:.*\.mobi$=ebook-viewer +X:N:.*\.(cbr|cbz)$=zathura +X:N:(.*\.clifm$|clifmrc)=$EDITOR;$VISUAL;kak;micro;nvim;vim;vi;mg;emacs;ed;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;ed;nano + +################## +# MIME types # +################## + +# Directories - only for the open-with command (ow) and the --open command +# line option +# In graphical environments directories will be opened in a new window +X:inode/directory=xterm -e clifm %f &;xterm -e vifm %f &;pcmanfm %f &;thunar %f &;xterm -e ncdu %f & +!X:inode/directory=vifm;ranger;nnn;ncdu + +# Web content +X:^text/html$=$BROWSER;surf;vimprobable;vimprobable2;qutebrowser;dwb;jumanji;luakit;uzbl;uzbl-tabbed;uzbl-browser;uzbl-core;iceweasel;midori;opera;firefox;seamonkey;brave;chromium-browser;chromium;google-chrome;epiphany;konqueror;elinks;links2;links;lynx;w3m +!X:^text/html$=$BROWSER;elinks;links2;links;lynx;w3m + +# Text +#X:^text/x-(c|shellscript|perl|script.python|makefile|fortran|java-source|javascript|pascal)$=geany +X:(^text/.*|application/json|inode/x-empty)=$EDITOR;$VISUAL;kak;micro;dte;nvim;vim;vi;mg;emacs;ed;nano;mili;leafpad;mousepad;featherpad;nedit;kate;gedit;pluma;io.elementary.code;liri-text;xed;atom;nota;gobby;kwrite;xedit +!X:(^text/.*|application/json|inode/x-empty)=$EDITOR;$VISUAL;kak;micro;dte;nvim;vim;vi;mg;emacs;ed;nano + +# Office documents +X:^application/.*(open|office)document.*=libreoffice;soffice;ooffice + +# Archives +# Note: 'ad' is CliFM's built-in archives utility (based on atool). 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 %f &;lxqt-archiver %f &;ark %f & +!X:^application/(zip|gzip|zstd|x-7z-compressed|x-xz|x-bzip*|x-tar|x-iso9660-image)=ad + +# PDF +X:.*/pdf$=mupdf;sioyek;llpp;lpdf;zathura;mupdf-x11;apvlv;xpdf;evince;atril;okular;epdfview;qpdfview + +# Images +X:^image/gif$=animate;pqiv;sxiv -a;nsxiv -a +X:^image/.*=fim;display;sxiv;nsxiv;pqiv;gpicview;qview;qimgv;inkscape;mirage;ristretto;eog;eom;xviewer;viewnior;nomacs;geeqie;gwenview;gthumb;gimp +!X:^image/*=fim;img2txt;cacaview;fbi;fbv + +# Video and audio +X:^video/.*=ffplay;mplayer;mplayer2;mpv;vlc;gmplayer;smplayer;celluloid;qmplayer2;haruna;totem +X:^audio/.*=ffplay -nodisp -autoexit;mplayer;mplayer2;mpv;vlc;gmplayer;smplayer;totem + +# Fonts +X:^font/.*=fontforge;fontpreview + +# Torrent: +X:application/x-bittorrent=rtorrent;transimission-gtk;transmission-qt;deluge-gtk;ktorrent + +# Fallback to another resource opener as last resource +.*=xdg-open;mimeo;mimeopen -n;whippet -m;open;linopen; diff --git a/clifm/.config/clifm/profiles/default/nets.clifm b/clifm/.config/clifm/profiles/default/nets.clifm new file mode 100644 index 000000000..4ecd3d67d --- /dev/null +++ b/clifm/.config/clifm/profiles/default/nets.clifm @@ -0,0 +1,62 @@ +##################################### +# Remotes management file for CliFM # +##################################### + +# Blank and commented lines are omitted + +# The syntax is as follows: + +# A name for this remote. It will be used by the 'net' command +# and will be available for TAB completion +# [work_smb] + +# Comment=My work samba server +# Mountpoint=/home/user/.config/clifm/mounts/work_smb + +# Use %m as a placeholder for Mountpoint +# MountCmd=mount.cifs //WORK_IP/shared %m -o OPTIONS +# UnmountCmd=umount %m + +# Automatically mount this remote at startup +# AutoMount=true + +# Automatically unmount this remote at exit +# AutoUnmount=true + +# A few examples + +# A. Samba share +#[samba_share] +#Comment=my samba share +#Mountpoint="~/.config/clifm/mounts/samba_share" +#MountCmd=sudo mount.cifs //192.168.0.26/resource_name %m -o mapchars,credentials=/etc/samba/credentials/samba_share +#UnmountCmd=sudo umount %m +#AutoUnmount=false +#AutoMount=false + +# B. SSH file system (sshfs) +#[my_ssh] +#Comment=my ssh +#Mountpoint="/media/ssh" +#MountCmd=sshfs user@192.168.0.12: %m -C -p 22 +#UnmountCmd=fusermount3 -u %m +#AutoUnmount=false +#AutoMount=false + +# C. Mounting a local file system +#[local] +#Comment=Local filesystem +#Mountpoint="/media/extra" +#MountCmd=sudo mount -U 1232dsd761278... %m +#UnmountCmd=sudo umount %m +#AutoUnmount=false +#AutoMount=true + +# D. Mounting a removable device +#[USB] +#Comment=My USB drive +#Mountpoint="/media/usb" +#MountCmd=sudo mount -o gid=1000,fmask=113,dmask=002 -U 5647-1... %m +#UnmountCmd=sudo umount %m +#AutoUnmount=true +#AutoMount=false diff --git a/clifm/.config/clifm/profiles/default/profile.clifm b/clifm/.config/clifm/profiles/default/profile.clifm new file mode 100644 index 000000000..95b34a7ad --- /dev/null +++ b/clifm/.config/clifm/profiles/default/profile.clifm @@ -0,0 +1,9 @@ +# This is CliFM's profile file +# +# Write here the commands you want to be executed at startup +# Ex: +#echo "CliFM, the command line file manager"; read -r +# +# Uncommented, non-empty lines are executed line by line. If you +# want a multi-line command, just write a script for it: +#sh /path/to/my/script.sh diff --git a/clifm/.config/clifm/prompts.clifm b/clifm/.config/clifm/prompts.clifm new file mode 100644 index 000000000..4105633eb --- /dev/null +++ b/clifm/.config/clifm/prompts.clifm @@ -0,0 +1,170 @@ +# This file is part of CliFM + +# Prompts for CliFM + +# Do not edit this file directly: use the 'prompt' command instead + +# The regular prompt (just as the warning one, a secondary prompt used +# to highlight invalid/non-existent command names) is built using command +# substitution ($(cmd)), string literals and/or one or more of the +# following escape sequences: + +# The prompt line is build using command substitution ($(cmd)), string +# literals and/or the following escape sequences: +# +# \e: Escape character +# \u: The username +# \H: The full hostname +# \h: The hostname, up to the first dot (.) +# \s: The name of the shell (everything after the last slash) currently +# used by CliFM +# \S: Current workspace number (colored according to wsx code in the color +# scheme file) +# \l: Print an L if running in light mode +# \P: The current profile name +# \n: A newline character +# \r: A carriage return +# \a: A bell character +# \d: The date, in abbreviated form (ex: Tue May 26) +# \t: The time, in 24-hour HH:MM:SS format +# \T: The time, in 12-hour HH:MM:SS format +# \@: The time, in 12-hour am/pm format +# \A: The time, in 24-hour HH:MM format +# \w: The full current working directory, with $HOME abbreviated with a +# tilde +# \W: The basename of $PWD, with $HOME abbreviated with a tilde +# \p: A mix of the two above, it abbreviates the current working directory +# only if longer than PathMax (a value defined in the configuration +# file). +# \z: Exit code of the last executed command (printed in green in case of +# success and in bold red in case of error) +# \$: #, if the effective user ID is 0 (root), and $ otherwise +# \nnn: The character whose ASCII code is the octal value nnn +# \\: A literal backslash +# \[: Begin a sequence of non-printing characters. This is mostly used to +# add color to the prompt line (using full ANSI escape sequences) +# \]: End a sequence of non-printing characters +# +# The following files statistics escape sequences are available as well: +# +# \D: Amount of sub-directories in the current directory +# \R: Amount of regular files in the current directory +# \X: Amount of executable files in the current directory +# \.: Amount of hidden files in the current directory +# \U: Amount of SUID files in the current directory +# \G: Amount of SGID files in the current directory +# \F: Amount of FIFO/pipe files in the current directory +# \K: Amount of socket files in the current directory +# \B: Amount of block device files in the current directory +# \C: Amount of character device files in the current directory +# \x: Amount of files with capabilities in the current directory +# \L: Amount of symbolic links in the current directory +# \o: Amount of broken symbolic links in the current directory +# \M: Amount of multi-link files in the current directory +# \E: Amount of files with extended attributes in the current directory +# \O: Amount of other-writable files in the current directory +# \": Amount of files with the sticky bit set in the current directory +# \?: Amount of files of unknown file type in the current directory +# \!: Amount of unstatable files in the current directory + +# Escape codes to control prompt notifications: +# +# \*: An asterisk + amount of selected files (e.g. *12) +# \%: 'T' + amount of trashed files (e.g. T3) +# \#: Print an 'R' if running as root +# \(: 'E' + amount of error messages (e.g. E2) +# \): 'W' + amount of warning messages (e.g. W2) +# \=: 'N' + amount of notice messages (e.g. N1) +# +# NOTE: Except in the case of \#, nothing is printed if the corresponding +# number is zero (no selected files, no trashed files, and so on) + +# Unicode characters could be inserted by directly pasting the +# corresponding char, or by inserting its hex code: +# echo -ne "paste_your_char" | hexdump -C + +# Set Notifications to false to prevent the automatic insertion of +# root, trash, messages (error, warning, and notice), and selected files +# indicators at the left of the prompt, in which case the prompt code +# should handle itself this data using the appropriate escape codes + +# To permanetly set any of the below prompts edit your color scheme file +# (via the 'cs edit' command), set Prompt to either the prompt code or +# the prompt name you want (e.g. Prompt="classic"), and comment out the +# remaining prompt lines +# +# NOTE: Since the below prompts have been designed for CliFM's default +# color scheme, you might need to edit the one you choose manually to +# make it fit your current color scheme. For example, the last color +# used in the warning prompt should match the 'wp' color defined in your +# color scheme file + +[clifm] +Notifications=true +RegularPrompt="\[\e[0m\][\[\e[0;36m\]\S\[\e[0m\]]\l \A \u:\H \[\e[0;36m\]\w\n\[\e[0m\]<\z\[\e[0m\]> \[\e[0;34m\]\$ \[\e[0m\]" +EnableWarningPrompt=true +WarningPrompt="\[\e[00;02;31m\](!) > " + +#[clifm-colorless] +#Notifications=true +#RegularPrompt="\[\e[0m\][\S]\l \A \u:\H \w\n<\z\[\e[0m\]> \$ " +#EnableWarningPrompt=true +#WarningPrompt="(!) > " + +[clifm-box-drawing] +# The box drawing set isn't supported by all terminals +Notifications=false +RegularPrompt="\[\e[0m\]\[\e[0;36m\]\[\e(0\]lq\[\e(B\]\[\e[0;31m\]\#\[\e[32m\]\*\[\e[36m\]\%\[\e[31m\]\(\[\e[33m\]\)\[\e[32m\]\=\[\e[0m\][\S\[\e[0m\]]\l \A \u:\H \[\e[0;36m\]\w\n\[\e[0;36m\]\[\e(0\]mq\[\e(B\]\[\e[0m\]<\z\[\e[0m\]> \[\e[0;34m\]\$ \[\e[0m\]" +EnableWarningPrompt=true +WarningPrompt="\[\e[0;36m\]\[\e(0\]mq\[\e(B\]\[\e[0m\]<\z\[\e[0m\]> \[\e[1;31m\]\! \[\e[00;02;31m\]" + +[classic] +Notifications=true +RegularPrompt="\[\e[1;32m\][\u@\H] \[\e[1;34m\]\w \[\e[0m\]\$ " +EnableWarningPrompt=true +WarningPrompt="\[\e[1;32m\][\u@\H] \[\e[1;34m\]\w \[\e[1;31m\]! \[\e[00;02;31m\]" + +[security-scanner] +# Print file statistics about the current directory (-:-:-:-) in this order: +# SUID, SGID, other-writable, and executable files +Notifications=true +RegularPrompt="\[\e[0m\][\[\e[0;36m\]\S\[\e[0m\]]\l \[\e[0m\]\[\e[1;31m\]\U\[\e[0m\]:\[\e[1;33m\]\G\[\e[0m\]:\[\e[1;34m\]\O\[\e[0m\]:\[\e[1;32m\]\X\[\e[0m\] \A \[\e[0;36m\]\w\n\[\e[0m\]<\z\[\e[0m\]> \[\e[0;34m\]\$ \[\e[0m\]" +EnableWarningPrompt=true +WarningPrompt="\[\e[00;02;31m\](!) > " + +[curves] +Notifications=false +RegularPrompt="\[\e[00;01;32m\]╭─\[\e[0m\]\[\e[1;32m\]\*\[\e[1;36m\]\%\[\e[1;31m\]\(\[\e[1;33m\]\)\[\e[1;32m\]\=\[\e[0m\][\S\[\e[0m\]]\[\e[01;32m\]─\[\e[0m\](\u:\H)\[\e[01;32m\]─\[\e[0m\][\[\e[00;36m\]\w\[\e[0m\]]\n\[\e[01;32m\]╰─\[\e[1;0m\]<\z\[\e[0m\]> \[\e[34m\]λ\[\e[0m\] " +EnableWarningPrompt=true +WarningPrompt="\[\e[0m\]\[\e[01;32m\]╰─\[\e[1;0m\]<\z\[\e[0m\]> \[\e[0;31m\]λ\[\e[00;02;31m\] " + +# The prompts below require a patched Nerdfont +[firestarter] +Notifications=false +RegularPrompt="\[\e[01;38;5;124m\]╭─\[\e[38;5;124m\]\[\e[37;48;5;124m\]\[\e[1;37m\]\#\[\e[32m\]\*\[\e[36m\]\%\[\e[37m\]\(\[\e[33m\]\)\[\e[32m\]\=\[\e[00;37;48;5;124m\][\S\[\e[37;48;5;124m\]] \[\e[0;48;5;124m\]\A \[\e[00;38;5;124;43m\]\[\e[00;30;43m\] \u:\H \[\e[00;33;48;5;124m\]\[\e[00;37;48;5;124m\] \w \[\e[00;38;5;124m\]\[\e[0m\]\n\[\e[01;38;5;124m\]╰─▶ \[\e[0m\]" +EnableWarningPrompt=true +WarningPrompt="\[\e[00;01;38;5;124m\]╰─\[\e[0;38;5;124m\]▶ \[\e[00;02;31m\]" + +[cold-winter] +Notifications=false +RegularPrompt="\[\e[00;37;100m\]\[\e[1;31m\]\#\[\e[32m\]\*\[\e[36m\]\%\[\e[31m\]\(\[\e[33m\]\)\[\e[32m\]\=\[\e[0;37;100m\][\S\[\e[00;37;100m\]] \A \[\e[00;90;46m\] \[\e[0;30;46m\]\u:\H \[\e[0;36;100m\] \[\e[00;37;100m\]\w \[\e[00;90;40m\] \n \[\e[1;90m\]\[\e[0m\] " +EnableWarningPrompt=true +WarningPrompt=" \[\e[0m\]\[\e[1;2;31m\] \[\e[00;02;31m\]" + +[spot] +Notifications=false +RegularPrompt="\[\e[00;38;5;0;48;5;53m\] \[\e[31m\]\#\[\e[32m\]\*\[\e[36m\]\%\[\e[31m\]\(\[\e[34m\]\)\[\e[32m\]\=\[\e[00;37;48;5;53m\][\S\[\e[37m\]] \[\e[38;5;53;48;5;178m\] \[\e[00;38;5;0;48;5;178m\]\A \u:\H \w \[\e[00;38;5;178;48;5;0m\]\[\e[0;40m\]\n\[\e[0;38;5;254;48;5;53m\] \$ \[\e[0;38;5;53;48;5;0m\] \[\e[0m\] " +EnableWarningPrompt=true +WarningPrompt="\n\[\e[0;37;48;5;124m\] \x \[\e[0;38;5;124;48;5;0m\] \[\e[00;02;31m\] " + +[artic-particles] +Notifications=false +RegularPrompt="\[\e[00;37;48;5;18m\] \A \[\e[00;38;5;18;47m\] \u:\H \[\e[00;37;48;5;18m\] \w \[\e[00;38;5;18;40m\] \n\[\e[00;37;48;5;18m\] \$ \[\e[00;38;5;18;40m\] " +EnableWarningPrompt=true +WarningPrompt="\[\e[00;02;31;47m\] \$ \[\e[00;37;0m\] \[\e[00;02;31m\]" + +[green-beret] +Notifications=false +RegularPrompt="╭─\[\e[0;38;5;239;48;5;0m\]\[\e[0;38;5;15;48;5;239m\]\[\e[31m\]\#\[\e[38;5;76m\]\*\[\e[36m\]\%\[\e[31m\]\(\[\e[33m\]\)\[\e[32m\]\=\[\e[38;5;15m\][\S\[\e[38;5;15m\]]  \A \[\e[0;38;5;239;48;5;70m\]\[\e[0;38;5;0;48;5;70m\] \w \[\e[0;38;5;70;48;5;0m\]\n\[\e[0;40m\]╰─\[\e[0;38;5;70;48;5;0m\]▶\[\e[0;40m\] " +EnableWarningPrompt=true +WarningPrompt="\[\e[0;40m\]╰─\[\e[0;38;5;9;48;5;0m\]▶ \[\e[00;02;31m\]" diff --git a/clifm/.config/clifm/readline.clifm b/clifm/.config/clifm/readline.clifm new file mode 100644 index 000000000..4690579d8 --- /dev/null +++ b/clifm/.config/clifm/readline.clifm @@ -0,0 +1,78 @@ +# Readline keybindings for CliFM + +# For the complete list of Readline options see: +# https://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html#Readline-Init-File-Syntax + +#$include /etc/inputrc + +# Color files by types +set colored-stats on +# Append char to indicate type +set visible-stats on +# Mark symlinked directories +set mark-symlinked-directories on +# Color the common prefix +set colored-completion-prefix on +# Color the common prefix in menu-complete +set menu-complete-display-prefix on +# Disable paste protection +set enable-bracketed-paste on + +set show-all-if-ambiguous on +set completion-ignore-case on + +set meta-flag on +set input-meta on +set output-meta on + +$if mode=emacs + +# For linux console and RH/Debian xterm +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word +"\e[1;5C": forward-word +"\e[1;5D": backward-word + +# For rxvt +"\x1b\x4f\x64": backward-word +"\x1b\x4f\x63": forward-word + +# A few keybinds to avoid conflicts with CliFM specific keybinds +"\C-d": +"\e\e": +"\C-r\C-r": re-read-init-file +"\C-p\C-p": exchange-point-and-mark +"\C-zA": do-lowercase-version +"\C-zB": do-lowercase-version +"\C-zC": do-lowercase-version +"\C-zD": do-lowercase-version +"\C-zE": do-lowercase-version +"\C-zF": do-lowercase-version +"\C-zG": do-lowercase-version +"\C-zH": do-lowercase-version +"\C-zI": do-lowercase-version +"\C-zJ": do-lowercase-version +"\C-zK": do-lowercase-version +"\C-zL": do-lowercase-version +"\C-zM": do-lowercase-version +"\C-zN": do-lowercase-version +"\C-zO": do-lowercase-version +"\C-zP": do-lowercase-version +"\C-zQ": do-lowercase-version +"\C-zR": do-lowercase-version +"\C-zS": do-lowercase-version +"\C-zT": do-lowercase-version +"\C-zU": do-lowercase-version +"\C-zV": do-lowercase-version +"\C-zW": do-lowercase-version +"\C-zX": do-lowercase-version +"\C-zY": do-lowercase-version +"\C-zZ": do-lowercase-version + +# History completion based on prefix +#"\e[A": history-search-backward +#"\e[B": history-search-forward + +$endif