Added CLIFM

Signed-off-by: The-Repo-Club <wayne6324@gmail.com>
This commit is contained in:
The-Repo-Club 2022-09-30 07:18:18 +01:00
parent cfb13fac9f
commit 98112bff64
No known key found for this signature in database
GPG Key ID: E30EC2FBFB05C44F
12 changed files with 859 additions and 0 deletions

View File

@ -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)

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
edit

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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\]"

View File

@ -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