# fm configuration file. # Each variable is explained below # the terminal emulator, which must be accessible from $PATH terminal: st # configurable colors # Colors for "non normal" files. The list is below. # you can define an ANSI color or an rgb color for any kind of file except "normal" files. # colors for normal files are calculated on the fly from the "palette" values provided above. # List of allowed ANSI colors: # white, black, red, green, blue, yellow, cyan, magenta # light_white, light_black, light_red, light_green, light_blue, light_yellow, light_cyan, light_magenta # Allowed Format for rgb color : # - `rgb(r, g, b)` where r, g and b are integers between 0 and 255 included. # - `#rrggbb` aka hex colors, where rr, gg and bb are hexadecimals colors: # Gradient from start to stop for normal files. # the files are colored randomly according to their extension # ANSI colors won't be linked to their configured values but to the default ANSI values. normal_start: rgb(187, 102, 255) normal_stop: rgb(255, 102, 187) # color for different filekinds # here you can use ANSI values # colors for folders / directory directory: rgb(45, 250, 209) # block device (hard drives...) block: rgb(231, 100, 100) # char devices (ttys, /dev/urandom etc.) char: rgb(230, 189, 87) # fifos fifo: rgb(180, 255, 255) # opened sockets socket: rgb(231, 100, 100) # valid symlinks symlink: rgb(59, 204, 255) # broken symlinks broken: rgb(140, 140, 140) # Colors for menus, headers, footers etc. # The same values are accepted. # first color header_first: rgb(45, 250, 209) # second color header_second: rgb(230, 189, 87) # selected tab border selected_border: rgb(45, 250, 209) # non selected tab border inert_border: rgb(120, 120, 120) # palette of 4 elements, used in menus (second window) palette_1: rgb(45, 250, 209) palette_2: rgb(230, 189, 87) palette_3: rgb(230, 167, 255) palette_4: rgb(59, 204, 255) # keybindings # # You can bind any key to any action. # List of valid actions is accessible from `help` (default key H) and from the readme.md file. # Invalid actions are skipped. keys: 'esc': ResetMode 'up': MoveUp 'down': MoveDown 'left': MoveLeft 'right': MoveRight 'bspace': Backspace 'home': KeyHome 'end': End 'page-down': PageDown 'page-up': PageUp 'enter': Enter 'tab': Tab 'shift-tab': BackTab "'": MarksJump ' ': ToggleFlag '*': FlagAll '-': Back '/': Search '~': Home 'a': ToggleHidden 'c': CopyPaste 'd': NewDir 'e': Exec 'g': KeyHome 'h': MoveLeft 'i': NvimFilepicker 'j': MoveDown 'k': MoveUp 'l': MoveRight 'n': NewFile 'o': OpenFile 'p': CutPaste 'q': Quit 'r': Rename 's': Shell 't': Tree 'u': ClearFlags 'v': ReverseFlags 'x': Delete 'w': RegexMatch 'alt-b': Bulk 'alt-d': ToggleDualPane 'alt-e': EncryptedDrive 'alt-f': Filter 'alt-g': Cd 'alt-m': Chmod 'alt-p': TogglePreviewSecond 'ctrl-c': CopyFilename 'ctrl-f': FuzzyFind 'ctrl-h': Help 'ctrl-g': Shortcut 'ctrl-p': CopyFilepath 'ctrl-q': ResetMode 'ctrl-r': RefreshView 'shift-e': ToggleDisplayFull 'shift-g': End 'shift-L': Symlink 'shift-m': MarksNew 'shift-o': Sort 'shift-p': Preview 'f1': FuzzyFindHelp 'f2': Rename 'f3': Preview 'f4': OpenFile 'f5': CopyPaste 'f6': CutPaste 'f7': NewDir 'f8': Delete 'f9': NewFile 'f10': Quit # Custom command : # * Use a free keybind # * Don't use pipe or redirection, it won't be parsed correctly # * Use full path for the command : `/usr/bin/ls` not `ls` # * You can use expansions : # Expansions : # - %s: the full path of the currently selected file or folder, # - %f: the list of the full paths of the flagged files. # - %e: the extension of the file. # - %n: the filename only. # - %p: the full path of the current directory. # Example: # 'alt-u': "/usr/bin/ls %f" # will run `ls /path/to/the/selected/file`... be won't print anything. custom: # open the selected file with chrome 'alt-u': "/usr/bin/google-chrome-stable %s" # drag & drop the selected file to a GUI application 'shift-d': "/usr/bin/dragon-drop %s" # DO NOT EDIT UNLESS YOU WANT TO ADD AN UNKNOWN TERMINAL EMULATOR # # The flag is used to open a terminal application (TUI, CLI etc.) like bat or htop. # We need to execute the terminal itself and pass it a new command as an argument # It requires a flag which is often, but not always "-e". # See the documentation of your emulator and add the correct argument like below. terminal_emulator_flags: alacritty: "-e" st: "-e" terminology: "-e" kitty: "--" sakura: "-e" lilyterm: "-e" coo: "-r" termite: "-x" yakuake: "-e" guake: "-n" tilda: "-c" terminator: "-x" urxvt: "-e" pantheo: "-t" lxterminal: "-e" mat: "-t" xfce: "-t" konsole: "-e" gnom: "-t" xterm: "-e"