pub const CONFIG_FOLDER: &str = "~/.config/fm";
pub const CONFIG_PATH: &str = "~/.config/fm/config.yaml";
pub const SESSION_PATH: &str = "~/.config/fm/session.yaml";
pub const OPENER_PATH: &str = "~/.config/fm/opener.yaml";
pub const TUIS_PATH: &str = "~/.config/fm/tuis.yaml";
pub const CLI_PATH: &str = "~/.config/fm/cli.yaml";
pub const PREVIEWER_PATH: &str = "~/.config/fm/previewer.yaml";
pub const INPUT_HISTORY_PATH: &str = "~/.config/fm/log/input_history.log";
pub const SYNTECT_THEMES_PATH: &str = "~/.config/fm/syntect_themes/";
pub const NORMAL_LOG_PATH: &str = "~/.config/fm/log/fm.log";
pub const ACTION_LOG_PATH: &str = "~/.config/fm/log/action_logger.log";
pub const REPOSITORIES_PATH: &str = "/tmp/fm/plugin/cloned_repositories";
pub const PLUGIN_LIBSO_PATH: &str = "~/.local/share/fm/plugins";
pub const TRASH_FOLDER_FILES: &str = "~/.local/share/Trash/files";
pub const TRASH_FOLDER_INFO: &str = "~/.local/share/Trash/info";
pub const TRASH_INFO_EXTENSION: &str = ".trashinfo";
pub const MARKS_FILEPATH: &str = "~/.config/fm/marks.cfg";
pub const TMP_FOLDER_PATH: &str = "/tmp";
pub const TMP_THUMBNAILS_DIR: &str = "/tmp/fm-thumbnails";
pub const SYNTECT_DEFAULT_THEME: &str = "monokai";
pub const SETSID: &str = "setsid";
pub const OPENER_AUDIO: (&str, bool) = ("mocp", true);
pub const OPENER_IMAGE: (&str, bool) = ("viewnior", false);
pub const OPENER_OFFICE: (&str, bool) = ("libreoffice", false);
pub const OPENER_READABLE: (&str, bool) = ("zathura", false);
pub const OPENER_TEXT: (&str, bool) = ("nvim", true);
pub const OPENER_DEFAULT: (&str, bool) = ("xdg-open", false);
pub const OPENER_VECT: (&str, bool) = ("inkscape", false);
pub const OPENER_VIDEO: (&str, bool) = ("mpv", false);
pub const NORMAL_PERMISSIONS_STR: [&str; 8] =
["---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"];
pub const SETUID_PERMISSIONS_STR: [&str; 8] =
["--S", "--s", "-wS", "-ws", "r-S", "r-s", "rwS", "rws"];
pub const SETGID_PERMISSIONS_STR: [&str; 8] = SETUID_PERMISSIONS_STR;
pub const STICKY_PERMISSIONS_STR: [&str; 8] =
["--T", "--t", "-w-", "-wt", "r-T", "r-t", "rwT", "rwt"];
pub const HELP_FIRST_SENTENCE: &str = " fm: a dired / ranger like file manager. ";
pub const HELP_SECOND_SENTENCE: &str = " Keybindings ";
pub const LOG_FIRST_SENTENCE: &str = " Logs: ";
pub const LOG_SECOND_SENTENCE: &str = " Last actions affecting the file tree";
pub const THUMBNAIL_PATH_PNG: &str = "/tmp/fm_thumbnail.png";
pub const THUMBNAIL_PATH_JPG: &str = "/tmp/fm_thumbnail.jpg";
pub const THUMBNAIL_PATH_NO_EXT: &str = "/tmp/fm_thumbnail";
pub const CALC_PDF_PATH: &str = "/tmp/fm_calc.pdf";
pub const HARDCODED_SHORTCUTS: [&str; 9] = [
"/",
"/dev",
"/etc",
"/mnt",
"/opt",
"/run/media",
"/tmp",
"/usr",
"/var",
];
pub const RG_EXECUTABLE: &str = "rg --line-number --color=never .";
pub const GREP_EXECUTABLE: &str = "grep -rI --line-number .";
pub const SSHFS_EXECUTABLE: &str = "sshfs";
pub const NOTIFY_EXECUTABLE: &str = "notity-send";
pub const EJECT_EXECUTABLE: &str = "eject";
pub const ENCRYPTED_DEVICE_BINDS: &str = "m: mount -- u: unmount -- g: go to mount point";
pub const SORT_LINES: [&str; 9] = [
"Type the initial",
"",
"k: by kind (default)",
"n: by name",
"m: by modification time",
"s: by size",
"e: by extension",
"",
"r: reverse current sort",
];
pub const REMOTE_LINES: [&str; 5] = [
"Mount a directory with sshfs",
"Type the arguments as below, separated by a space.",
"Port and local path are optional",
"",
"username hostname:port remote_path local_path",
];
pub const CLOUD_NEWDIR_LINES: [&str; 1] = ["Create a new directory in current cloud path"];
pub const CHMOD_LINES: [&str; 5] = [
"Type an octal like \"754\", a text like \"rwxr.xr..\" or \"a+x\"",
"",
"4: read",
"2: write",
"1: execute",
];
pub const FILTER_LINES: [&str; 6] = [
"Type the initial of the filter and an expression if needed",
"",
"n {name}: by name",
"e {extension}: by extension",
"d: only directories",
"a: reset",
];
pub const PASSWORD_LINES_SUDO: [&str; 2] = [
"Type your sudo password.",
"It will be forgotten immediatly after use.",
];
pub const PASSWORD_LINES_DEVICE: [&str; 2] = [
"Type the device passkey.",
"It will be forgotten immediatly after use.",
];
pub const SHELL_LINES: [&str; 13] = [
"Type a shell command",
"",
"`sudo` commands are supported.",
"Pipes, redirections ( | < > >> ) and shell specific syntax (*) aren't supported.",
"",
"Some expression can be expanded:",
"%s: the selected file",
"%f: the flagged files",
"%e: the extension of the file",
"%n: the filename only",
"%d: the full path of the current directory",
"%t: execute the command in the same window",
"%c: the current clipboard as a string",
];
pub const NVIM_ADDRESS_LINES: [&str; 4] = [
"Type the Neovim RPC address.",
"",
"You can get it from Neovim with :",
"`:echo v:servername`",
];
pub const REGEX_LINES: [&str; 3] = [
"Type a regular expression",
"",
"Flag every file in current directory matching the typed regex",
];
pub const NEWDIR_LINES: [&str; 3] = [
"mkdir a new directory",
"",
"Nothing is done if the directory already exists",
];
pub const NEWFILE_LINES: [&str; 3] = [
"touch a new file",
"",
"Nothing is done if the file already exists",
];
pub const RENAME_LINES: [&str; 3] = [
"rename the selected file",
"",
"Nothing is done if the file already exists",
];
pub const TRASH_CONFIRM_LINE: &str =
"Up, Down: navigation - Enter: restore the selected file - x: delete permanently - ";
pub const MEDIAINFO: &str = "mediainfo";
pub const UEBERZUG: &str = "ueberzug";
pub const FONTIMAGE: &str = "fontimage";
pub const FFMPEG: &str = "ffmpeg";
pub const RSVG_CONVERT: &str = "rsvg-convert";
pub const JUPYTER: &str = "jupyter";
pub const PANDOC: &str = "pandoc";
pub const ISOINFO: &str = "isoinfo";
pub const SS: &str = "ss";
pub const MKDIR: &str = "mkdir";
pub const MOUNT: &str = "mount";
pub const UMOUNT: &str = "umount";
pub const LSBLK: &str = "lsblk";
pub const CRYPTSETUP: &str = "cryptsetup";
pub const UDISKSCTL: &str = "udisksctl";
pub const GIO: &str = "gio";
pub const UDEVADM: &str = "udevadm";
pub const NVIM: &str = "nvim";
pub const BSDTAR: &str = "bsdtar";
pub const SEVENZ: &str = "7z";
pub const LIBREOFFICE: &str = "libreoffice";
pub const LAZYGIT: &str = "lazygit";
pub const NCDU: &str = "ncdu";
pub const TRANSMISSION_SHOW: &str = "transmission-show";
pub const ZOXIDE: &str = "zoxide";
pub const PDFTOPPM: &str = "pdftoppm";
pub const PDFINFO: &str = "pdfinfo";
pub const PDFTOTEXT: &str = "pdftotext";
pub const READELF: &str = "readelf";
pub const DIR_ICON: &str = " ";