From cb20ec881406b884c42758fab0ddc4f50d6e151a Mon Sep 17 00:00:00 2001 From: Clay Gomera Date: Tue, 21 Feb 2023 20:02:06 -0400 Subject: [PATCH] updated --- new-config/.bash_profile | 30 + new-config/.bashrc | 240 + new-config/.config/btop/btop.conf | 212 + new-config/.config/dunst/critical.png | Bin 0 -> 35927 bytes new-config/.config/dunst/dunstrc | 358 + new-config/.config/dunst/normal.png | Bin 0 -> 3895 bytes new-config/.config/fish/config.fish | 243 + new-config/.config/gtk-3.0/settings.ini | 17 + new-config/.config/hypr/hyprland.conf | 176 + new-config/.config/hypr/hyprpaper.conf | 2 + new-config/.config/lvim/config.lua | 188 + new-config/.config/mpv/input.conf | 12 + new-config/.config/neofetch/config.conf | 779 +++ new-config/.config/newsboat/config | 50 + new-config/.config/newsboat/urls | 42 + new-config/.config/qt5ct/qt5ct.conf | 32 + new-config/.config/qt6ct/qt6ct.conf | 31 + new-config/.config/starship.toml | 33 + new-config/.config/vifm/colors/Default.vifm | 87 + new-config/.config/vifm/scripts/README | 6 + new-config/.config/vifm/scripts/vifmimg | 53 + new-config/.config/vifm/scripts/vifmrun | 15 + new-config/.config/vifm/vifm-help.txt | 6568 +++++++++++++++++++ new-config/.config/vifm/vifminfo.json | 1 + new-config/.config/vifm/vifmrc | 505 ++ new-config/.config/waybar/config | 69 + new-config/.config/waybar/style.css | 168 + new-config/.config/wezterm/wezterm.lua | 33 + new-config/.config/wofi/config | 10 + new-config/.config/wofi/scripts/wofi_emoji | 1859 ++++++ new-config/.config/wofi/scripts/wofi_power | 64 + new-config/.config/wofi/scripts/wofi_scrot | 113 + new-config/.config/wofi/scripts/wofi_wifi | 89 + new-config/.config/wofi/style.css | 57 + new-config/.config/zathura/zathurarc | 54 + new-config/.gitconfig | 4 + new-config/.gtkrc-2.0 | 19 + new-config/.local/bin/hyprland_session | 21 + new-config/.local/bin/lvim | 9 + 39 files changed, 12249 insertions(+) create mode 100644 new-config/.bash_profile create mode 100644 new-config/.bashrc create mode 100644 new-config/.config/btop/btop.conf create mode 100644 new-config/.config/dunst/critical.png create mode 100644 new-config/.config/dunst/dunstrc create mode 100644 new-config/.config/dunst/normal.png create mode 100644 new-config/.config/fish/config.fish create mode 100644 new-config/.config/gtk-3.0/settings.ini create mode 100644 new-config/.config/hypr/hyprland.conf create mode 100644 new-config/.config/hypr/hyprpaper.conf create mode 100644 new-config/.config/lvim/config.lua create mode 100644 new-config/.config/mpv/input.conf create mode 100644 new-config/.config/neofetch/config.conf create mode 100644 new-config/.config/newsboat/config create mode 100644 new-config/.config/newsboat/urls create mode 100644 new-config/.config/qt5ct/qt5ct.conf create mode 100644 new-config/.config/qt6ct/qt6ct.conf create mode 100644 new-config/.config/starship.toml create mode 100644 new-config/.config/vifm/colors/Default.vifm create mode 100644 new-config/.config/vifm/scripts/README create mode 100755 new-config/.config/vifm/scripts/vifmimg create mode 100755 new-config/.config/vifm/scripts/vifmrun create mode 100644 new-config/.config/vifm/vifm-help.txt create mode 100644 new-config/.config/vifm/vifminfo.json create mode 100644 new-config/.config/vifm/vifmrc create mode 100644 new-config/.config/waybar/config create mode 100644 new-config/.config/waybar/style.css create mode 100644 new-config/.config/wezterm/wezterm.lua create mode 100644 new-config/.config/wofi/config create mode 100755 new-config/.config/wofi/scripts/wofi_emoji create mode 100755 new-config/.config/wofi/scripts/wofi_power create mode 100755 new-config/.config/wofi/scripts/wofi_scrot create mode 100755 new-config/.config/wofi/scripts/wofi_wifi create mode 100644 new-config/.config/wofi/style.css create mode 100644 new-config/.config/zathura/zathurarc create mode 100644 new-config/.gitconfig create mode 100644 new-config/.gtkrc-2.0 create mode 100755 new-config/.local/bin/hyprland_session create mode 100755 new-config/.local/bin/lvim diff --git a/new-config/.bash_profile b/new-config/.bash_profile new file mode 100644 index 000000000..ab0979338 --- /dev/null +++ b/new-config/.bash_profile @@ -0,0 +1,30 @@ +#!/bin/bash +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom bash_profile config +## + +### STARTING XSESSION +if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ] +then + #startx -- vt1 -keeptty &>/dev/null + export MOZ_ENABLE_WAYLAND=1 + sh "./.local/bin/hyprland_session" + logout +fi + +### ENVIRONMENT VARIABLES +export EDITOR="lvim" # $EDITOR use lunarvim in terminal +export VISUAL="neovide --neovim-bin ./.local/bin/lvim" # $VISUAL use neovide for lunarvim in GUI +export XDG_DATA_HOME="${XDG_DATA_HOME:="$HOME/.local/share"}" +export XDG_CACHE_HOME="${XDG_CACHE_HOME:="$HOME/.cache"}" +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:="$HOME/.config"}" +export XDG_CURRENT_DESKTOP=hyprland +export XDG_SESSION_TYPE=wayland +export QT_QPA_PLATFORMTHEME=qt5ct +export QT_QPA_PLATFORM=wayland + +### BASHRC +source "$HOME"/.bashrc # Load the bashrc diff --git a/new-config/.bashrc b/new-config/.bashrc new file mode 100644 index 000000000..0256fc80a --- /dev/null +++ b/new-config/.bashrc @@ -0,0 +1,240 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom bash config +## + +### EXPORT ### +export TERM="xterm-256color" # getting proper colors +export HISTCONTROL=ignoredups:erasedups # no duplicate entries + +# use bash-completion, if available +[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ + . /usr/share/bash-completion/bash_completion + +# if not running interactively, don't do anything +[[ $- != *i* ]] && return + +# use neovim for vim if present. +[ -x "$(command -v lvim)" ] && alias vim="lvim" vimdiff="lvim -d" + +# use $XINITRC variable if file exists. +[ -f "$XINITRC" ] && alias startx="startx $XINITRC" + +### SET VI MODE ### +# Comment this line out to enable default emacs-like bindings +set -o vi +bind -m vi-command 'Control-l: clear-screen' +bind -m vi-insert 'Control-l: clear-screen' + +### PATH ### +if [ -d "$HOME/.bin" ] ; + then PATH="$HOME/.bin:$PATH" +fi +if [ -d "$HOME/.local/bin" ] ; + then PATH="$HOME/.local/bin:$PATH" +fi +if [ -d "$HOME/Applications" ] ; + then PATH="$HOME/Applications:$PATH" +fi +if [ -d "$HOME/.config/emacs/bin" ] ; + then PATH="$HOME/.config/emacs/bin:$PATH" +fi + +### CHANGE TITLE OF TERMINALS ### +case ${TERM} in + xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|alacritty|st|konsole*) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"' + ;; + screen*) + PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"' + ;; +esac + +### SHOPT ### +shopt -s autocd # change to named directory +shopt -s cdspell # autocorrects cd misspellings +shopt -s cmdhist # save multi-line commands in history as single line +shopt -s dotglob +shopt -s histappend # do not overwrite history +shopt -s expand_aliases # expand aliases +shopt -s checkwinsize # checks term size when bash regains control + +# ignore upper and lowercase when TAB completion +bind "set completion-ignore-case on" + +# sudo not required for some system commands +for command in cryptsetup mount umount poweroff reboot ; do +alias $command="sudo $command" +done; unset command + +### ARCHIVE EXTRACTION ### +# usage: ex +ex () +{ + if [ -f "$1" ] ; then + case $1 in + *.tar.bz2) tar xjf "$1" ;; + *.tar.gz) tar xzf "$1" ;; + *.bz2) bunzip2 "$1" ;; + *.rar) unrar x "$1" ;; + *.gz) gunzip "$1" ;; + *.tar) tar xf "$1" ;; + *.tbz2) tar xjf "$1" ;; + *.tgz) tar xzf "$1" ;; + *.zip) unzip "$1" ;; + *.Z) uncompress "$1";; + *.7z) 7zz x "$1" ;; + *.deb) ar x "$1" ;; + *.tar.xz) tar xf "$1" ;; + *.tar.zst) unzstd "$1" ;; + *) echo "'$1' cannot be extracted via ex()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + +### ALIASES ### +# navigation +up () { + local d="" + local limit="$1" + + # Default to limit of 1 + if [ -z "$limit" ] || [ "$limit" -le 0 ]; then + limit=1 + fi + + for ((i=1;i<=limit;i++)); do + d="../$d" + done + + # perform cd. Show error if cd fails + if ! cd "$d"; then + echo "Couldn't go up $limit dirs."; + fi +} + +# cd +alias \ + ..="cd .." \ + .2="cd ../.." \ + .3="cd ../../.." \ + .4="cd ../../../.." \ + .5="cd ../../../../.." + +# bat as cat +[ -x "$(command -v bat)" ] && alias cat="bat" + +# Changing "ls" to "exa" +alias \ + ls="exa -al --icons --color=always --group-directories-first" \ + la="exa -a --icons --color=always --group-directories-first" \ + ll="exa -l --icons --color=always --group-directories-first" \ + lt="exa -aT --icons --color=always --group-directories-first" \ + l.='exa -a | grep -E "^\."' + +# function to detect os and assign aliases to package managers +alias \ + pac-up="yay -Syyu" \ + pac-get="yay -S" \ + pac-rmv="yay -Rcns" \ + pac-rmv-sec="yay -R" \ + pac-qry="yay -Ss" \ + pac-cln="yay -Scc" + +# colorize grep output (good for log files) +alias \ + grep="grep --color=auto" \ + egrep="egrep --color=auto" \ + fgrep="fgrep --color=auto" + +# git +alias \ + addup="git add -u" \ + addall="git add ." \ + branch="git branch" \ + checkout="git checkout" \ + clone="git clone" \ + commit="git commit -m" \ + fetch="git fetch" \ + pull="git pull origin" \ + push="git push origin" \ + stat="git status" \ + tag="git tag" \ + newtag="git tag -a" + +# adding flags +alias \ + df="df -h" \ + free="free -m" + +# newsboat +[ -x "$(command -v newsboat)" ] && alias newsboat="newsboat -u ~/.config/newsboat/urls" + +# multimedia scripts +alias \ + fli="flix-cli" \ + ani="ani-cli" \ + aniq="ani-cli -q" + +# audio +alias \ + mx="pulsemixer" \ + amx="alsamixer" \ + mk="cmus" \ + ms="cmus" \ + music="cmus" + +# power management +alias \ + po="systemctl poweroff" \ + sp="systemctl suspend" \ + rb="systemctl reboot" + +# file management +alias \ + fm="$HOME/.config/vifm/scripts/vifmrun" \ + file="$HOME/.config/vifm/scripts/vifmrun" \ + flm="$HOME/.config/vifm/scripts/vifmrun" \ + vifm="$HOME/.config/vifm/scripts/vifmrun" \ + rm="rm -vI" \ + mv="mv -iv" \ + cp="cp -iv" \ + mkd="mkdir -pv" + +# ps +alias \ + psa="ps auxf" \ + psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" \ + psmem="ps auxf | sort -nr -k 4" \ + pscpu="ps auxf | sort -nr -k 3" + +# youtube +alias \ + yta-aac="yt-dlp --extract-audio --audio-format aac" \ + yta-best="yt-dlp --extract-audio --audio-format best" \ + yta-flac="yt-dlp --extract-audio --audio-format flac" \ + yta-m4a="yt-dlp --extract-audio --audio-format m4a" \ + yta-mp3="yt-dlp --extract-audio --audio-format mp3" \ + yta-opus="yt-dlp --extract-audio --audio-format opus" \ + yta-vorbis="yt-dlp --extract-audio --audio-format vorbis" \ + yta-wav="yt-dlp --extract-audio --audio-format wav" \ + ytv-best="yt-dlp -f bestvideo+bestaudio" \ + yt="ytfzf -ftsl" \ + ytm="ytfzf -mtsl" + +# network and bluetooth +alias \ + netstats="nmcli dev" \ + wfi="nmtui-connect" \ + wfi-scan="nmcli dev wifi rescan && nmcli dev wifi list" \ + wfi-edit="nmtui-edit" \ + wfi-on="nmcli radio wifi on" \ + wfi-off="nmcli radio wifi off" \ + blt="bluetoothctl" + +### SETTING THE STARSHIP PROMPT ### +eval "$(starship init bash)" diff --git a/new-config/.config/btop/btop.conf b/new-config/.config/btop/btop.conf new file mode 100644 index 000000000..a13cdc93d --- /dev/null +++ b/new-config/.config/btop/btop.conf @@ -0,0 +1,212 @@ +#? Config file for btop v. 1.2.13 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/usr/share/btop/themes/gruvbox_dark_v2.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace. +shown_boxes = "cpu mem net proc" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 200 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" \ No newline at end of file diff --git a/new-config/.config/dunst/critical.png b/new-config/.config/dunst/critical.png new file mode 100644 index 0000000000000000000000000000000000000000..b36d5b22a20e64ebccc255f41e6a4fc5114c7482 GIT binary patch literal 35927 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 P00000NkvXXu0mjf^B0Xh literal 0 HcmV?d00001 diff --git a/new-config/.config/dunst/dunstrc b/new-config/.config/dunst/dunstrc new file mode 100644 index 000000000..c4daec285 --- /dev/null +++ b/new-config/.config/dunst/dunstrc @@ -0,0 +1,358 @@ +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + # Show how many messages are currently hidden (because of geometry). + indicate_hidden = yes + + # Shrink window if it's smaller than the width. Will be ignored if + # width is 0. + shrink = no + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). + transparency = 30 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#fb4934" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = auto + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + idle_threshold = 120 + + ### Text ### + font = mononoki Nerd Font 10 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Split notifications into multiple lines if they don't fit into + # geometry. + word_wrap = yes + + # When word_wrap is set to no, specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Align icons left/right/off + icon_position = left + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 32 + + # Paths to default icons. + icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/qutebrowser + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 7 + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines action of mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: If the notification has exactly one action, or one is marked as default, + # invoke it. If there are multiple and no default, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + mouse_left_click = do_action + mouse_middle_click = close_all + mouse_right_click = close_current + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#282828" + foreground = "#ebdbd2" + timeout = 5 + # Icon for notifications with low urgency, uncomment to enable + icon = /home/drk/.config/dunst/normal.png + +[urgency_normal] + background = "#282828" + foreground = "#ebdbd2" + timeout = 5 + # Icon for notifications with normal urgency, uncomment to enable + icon = /home/drk/.config/dunst/normal.png + +[urgency_critical] + background = "#900000" + foreground = "#ebdbd2" + frame_color = "#ff0000" + timeout = 5 + # Icon for notifications with critical urgency, uncomment to enable + icon = /home/drk/.config/dunst/critical.png + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# timeout +# urgency +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: if you don't want a notification to be displayed, set the format +# to "". +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# format = "" + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/new-config/.config/dunst/normal.png b/new-config/.config/dunst/normal.png new file mode 100644 index 0000000000000000000000000000000000000000..505e12c93392262f693add945b7fdf9e671f7dd7 GIT binary patch literal 3895 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 literal 0 HcmV?d00001 diff --git a/new-config/.config/fish/config.fish b/new-config/.config/fish/config.fish new file mode 100644 index 000000000..a28b73f5c --- /dev/null +++ b/new-config/.config/fish/config.fish @@ -0,0 +1,243 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom fish config +## + +### ADDING TO THE PATH +# First line removes the path; second line sets it. Without the first line, +# your path gets massive and fish becomes very slow. +set -e fish_user_paths +set -U fish_user_paths $HOME/.bin $HOME/.local/bin $HOME/.config/emacs/bin $HOME/Applications /var/lib/flatpak/exports/bin/ $fish_user_paths + +### EXPORT ### +set fish_greeting # Supresses fish's intro message +set TERM "xterm-256color" # Sets the terminal type +set EDITOR "lvim" # $EDITOR use lvim in terminal +set VISUAL "neovide --neovim-bin ./.local/bin/lvim" # $VISUAL use neovide for lvim in GUI mode + +### SET BAT AS MANPAGER +set -x MANPAGER "sh -c 'col -bx | bat -l man -p'" + +### SET EITHER DEFAULT EMACS MODE OR VI MODE ### +function fish_user_key_bindings + # fish_default_key_bindings + fish_vi_key_bindings +end +### END OF VI MODE ### + +### AUTOCOMPLETE AND HIGHLIGHT COLORS ### +set fish_color_normal brcyan +set fish_color_autosuggestion '#504945' +set fish_color_command brcyan +set fish_color_error '#fb4934' +set fish_color_param brcyan + + +### FUNCTIONS ### +# Functions needed for !! and !$ +function __history_previous_command + switch (commandline -t) + case "!" + commandline -t $history[1]; commandline -f repaint + case "*" + commandline -i ! + end +end + +function __history_previous_command_arguments + switch (commandline -t) + case "!" + commandline -t "" + commandline -f history-token-search-backward + case "*" + commandline -i '$' + end +end + +# The bindings for !! and !$ +if [ "$fish_key_bindings" = "fish_vi_key_bindings" ]; + bind -Minsert ! __history_previous_command + bind -Minsert '$' __history_previous_command_arguments +else + bind ! __history_previous_command + bind '$' __history_previous_command_arguments +end + +# Function for creating a backup file +# ex: backup file.txt +# result: copies file as file.txt.bak +function backup --argument filename + cp $filename $filename.bak +end + +# Function for copying files and directories, even recursively. +# ex: copy DIRNAME LOCATIONS +# result: copies the directory and all of its contents. +function copy + set count (count $argv | tr -d \n) + if test "$count" = 2; and test -d "$argv[1]" + set from (echo $argv[1] | trim-right /) + set to (echo $argv[2]) + command cp -r $from $to + else + command cp $argv + end +end + +# Function for printing a column (splits input on whitespace) +# ex: echo 1 2 3 | coln 3 +# output: 3 +function coln + while read -l input + echo $input | awk '{print $'$argv[1]'}' + end +end + +# Function for printing a row +# ex: seq 3 | rown 3 +# output: 3 +function rown --argument index + sed -n "$index p" +end + +# Function for ignoring the first 'n' lines +# ex: seq 10 | skip 5 +# results: prints everything but the first 5 lines +function skip --argument n + tail +(math 1 + $n) +end + +# Function for taking the first 'n' lines +# ex: seq 10 | take 5 +# results: prints only the first 5 lines +function take --argument number + head -$number +end +### END OF FUNCTIONS ### + +### ALIASES ### +# navigation +alias ..='cd ..' +alias ...='cd ../..' +alias .3='cd ../../..' +alias .4='cd ../../../..' +alias .5='cd ../../../../..' + +# vim and emacs +alias vim='lvim' +alias vimdiff='lvim -d' + +# newsboat +alias newsboat='newsboat -u ~/.config/newsboat/urls' + +# bat as cat +alias cat='bat' + +# Changing "ls" to "exa" +alias ls='exa -al --color=always --group-directories-first' # my preferred listing +alias la='exa -a --color=always --group-directories-first' # all files and dirs +alias ll='exa -l --color=always --group-directories-first' # long format +alias lt='exa -aT --color=always --group-directories-first' # tree listing +alias l.='exa -a | egrep "^\."' + +# pacman and yay +alias pac-up='yay -Syyu && yay -Syyua' # update the system +alias pac-get='yay -S' # install a program +alias pac-rmv='yay -Rcns' # remove a program +alias pac-rmv-sec='yay -R' # remove a program (secure way) +alias pac-qry='yay -Ss' # search for a program +alias pac-cln='yay -Scc && paru -Rns (pacman -Qtdq)' # clean cache & remove orphaned packages + +# neofetch is f***** slow +alias neofetch="pfetch" + +# Colorize grep output (good for log files) +alias grep='grep --color=auto' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' + +# file management +alias cp='cp -iv' +alias mv='mv -iv' +alias rm='rm -vI' +alias mkd='mkdir -pv' +alias mkdir='mkdir -pv' +alias fm='./.config/vifm/scripts/vifmrun' +alias vifm='./.config/vifm/scripts/vifmrun' +alias file='./.config/vifm/scripts/vifmrun' +alias flm='./.config/vifm/scripts/vifmrun' + +# audio +alias mx='pulsemixer' +alias amx='alsamixer' +alias mk='cmus' +alias ms='cmus' +alias music='cmus' + +# multimedia scripts +alias fli='flix-cli' +alias ani='ani-cli' +alias aniq='ani-cli -q' + +# adding flags +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB + +# ps +alias psa="ps auxf" +alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" +alias psmem='ps auxf | sort -nr -k 4' +alias pscpu='ps auxf | sort -nr -k 3' + +# git +alias addup='git add -u' +alias addall='git add .' +alias branch='git branch' +alias checkout='git checkout' +alias clone='git clone' +alias commit='git commit -m' +alias fetch='git fetch' +alias pull='git pull origin' +alias push='git push origin' +alias tag='git tag' +alias newtag='git tag -a' + +# power management +alias po='systemctl poweroff' +alias sp='systemctl suspend' +alias rb='systemctl reboot' + +# youtube- +alias yta-aac="yt-dlp --extract-audio --audio-format aac " +alias yta-best="yt-dlp --extract-audio --audio-format best " +alias yta-flac="yt-dlp --extract-audio --audio-format flac " +alias yta-m4a="yt-dlp --extract-audio --audio-format m4a " +alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 " +alias yta-opus="yt-dlp --extract-audio --audio-format opus " +alias yta-vorbis="yt-dlp --extract-audio --audio-format vorbis " +alias yta-wav="yt-dlp --extract-audio --audio-format wav " +alias ytv-best="yt-dlp -f bestvideo+bestaudio " +alias yt='ytfzf -ftsl' +alias youtube='ytfzf -ftsl' +alias ytm='ytfzf -mtsl' +alias youtube-music='ytfzf -mtsl' + +# the terminal rickroll +alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash' + +# Mocp must be launched with bash instead of Fish! +alias mocp="bash -c mocp" + +# network and bluetooth +alias netstats='nmcli dev' +alias wfi='nmtui-connect' +alias wfi-scan='nmcli dev wifi rescan && nmcli dev wifi list' +alias wfi-edit='nmtui-edit' +alias wfi-on='nmcli radio wifi on' +alias wfi-off='nmcli radio wifi off' +alias blt='bluetoothctl' + +### SETTING THE STARSHIP PROMPT ### +starship init fish | source diff --git a/new-config/.config/gtk-3.0/settings.ini b/new-config/.config/gtk-3.0/settings.ini new file mode 100644 index 000000000..f183132cf --- /dev/null +++ b/new-config/.config/gtk-3.0/settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=gruvbox-dark-gtk +gtk-icon-theme-name=oomox-gruvbox-dark +gtk-font-name=Mononoki Nerd Font 10 +gtk-cursor-theme-name=Simp1e-Gruvbox-Dark +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=1 diff --git a/new-config/.config/hypr/hyprland.conf b/new-config/.config/hypr/hyprland.conf new file mode 100644 index 000000000..5ed1a0025 --- /dev/null +++ b/new-config/.config/hypr/hyprland.conf @@ -0,0 +1,176 @@ +# Autostart +exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP +exec-once /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +exec-once = /usr/lib/xdg-desktop-portal +exec-once = /usr/lib/xdg-desktop-portal-wlr +exec-once = dunst --config ~/.config/dunst/dunstrc +exec-once = hyprpaper +exec-once = waybar + +# Monitors +monitor=,preferred,auto,1 + +# Input +input { + kb_layout = us,es + kb_options = grp:shift_caps_toggle + follow_mouse = 1 + touchpad { + natural_scroll = yes + } + sensitivity = -0.2 # -1.0 - 1.0, 0 means no modification. +} + +# General +general { + gaps_in = 5 + gaps_out = 8 + border_size = 3 + col.active_border = rgb(9d0006) rgb(fb4934) 45deg + col.inactive_border = rgb(504945) + layout = master +} + +# Decorations +decoration { + rounding = 5 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +# Animations +animations { + enabled = yes + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +# Dwindle layout config +dwindle { + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +# Master layout config +master { + no_gaps_when_only = true + new_is_master = false +} + +# Mouse gestures +gestures { + workspace_swipe = on +} + +# Misc +misc { + disable_hyprland_logo = true + disable_splash_rendering = true + mouse_move_enables_dpms = true + enable_swallow = true + swallow_regex = ^(wezterm)$ +} + +device:epic mouse V1 { + sensitivity = -0.5 +} + +# Window rules +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + +$supMod = SUPER +$altMod = ALT +$conMod = CONTROL + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $supMod, RETURN, exec, wezterm +bind = $supMod, Q, killactive, +bind = $supMod_$conMod_SHIFT, Q, exit, +bind = $supMod, D, exec, pkill wofi || wofi --show drun +bind = $supMod, V, togglefloating, +bind = $supMod, P, pseudo, # dwindle +bind = $supMod, J, togglesplit, # dwindle + +# Move focus with supMod + arrow keys +bind = $supMod, h, movefocus, l +bind = $supMod, l, movefocus, r +bind = $supMod, k, movefocus, u +bind = $supMod, j, movefocus, d + +# Switch workspaces with supMod + [0-9] +bind = $supMod, 1, workspace, 1 +bind = $supMod, 2, workspace, 2 +bind = $supMod, 3, workspace, 3 +bind = $supMod, 4, workspace, 4 +bind = $supMod, 5, workspace, 5 +bind = $supMod, 6, workspace, 6 +bind = $supMod, 7, workspace, 7 +bind = $supMod, 8, workspace, 8 +bind = $supMod, 9, workspace, 9 +bind = $supMod, 0, workspace, 10 + +# Apps +bind = $supMod, E, exec, wezterm start --class editor -- ./.local/bin/lvim +bind = $supMod, W, exec, firefox +bind = $supMod, F, exec, wezterm start --class file_manager -- ./.config/vifm/scripts/vifmrun +bind = $supMod, M, exec, wezterm start --class music_player -- cmus + +# Quick terminal scripts/commands +bind = $supMod_$altMod, T, exec, wezterm start --class tut -- tut +bind = $supMod_$altMod, F, exec, wezterm start --class flix_cli -- flix-cli +bind = $supMod_$altMod, A, exec, wezterm start --class ani_cli -- ani-cli +bind = $supMod_$altMod, Y, exec, wezterm start --class ytfzf -- ytfzf -flstT chafa +bind = $supMod_$altMod, M, exec, wezterm start --class ytfzf_music -- ytfzf -mlstT chafa +bind = $supMod_$altMod, P, exec, wezterm start --class pulsemixer -- pulsemixer +bind = $supMod_$altMod, O, exec, wezterm start --class alsamixer -- alsamixer +bind = $supMod_$altMod, R, exec, wezterm start --class newsboat -- newsboat + +# Quick wofi scripts +bind = $supMod_$conMod, W, exec, $HOME/.config/wofi/scripts/wofi_wifi +bind = $supMod_$conMod, E, exec, $HOME/.config/wofi/scripts/wofi_emoji +bind = $supMod_$conMod, S, exec, $HOME/.config/wofi/scripts/wofi_scrot +bind = $supMod_SHIFT, Q, exec, $HOME/.config/wofi/scripts/wofi_power + +# Move active window to a workspace with supMod + SHIFT + [0-9] +bind = $supMod SHIFT, 1, movetoworkspace, 1 +bind = $supMod SHIFT, 2, movetoworkspace, 2 +bind = $supMod SHIFT, 3, movetoworkspace, 3 +bind = $supMod SHIFT, 4, movetoworkspace, 4 +bind = $supMod SHIFT, 5, movetoworkspace, 5 +bind = $supMod SHIFT, 6, movetoworkspace, 6 +bind = $supMod SHIFT, 7, movetoworkspace, 7 +bind = $supMod SHIFT, 8, movetoworkspace, 8 +bind = $supMod SHIFT, 9, movetoworkspace, 9 +bind = $supMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with supMod + scroll +bind = $supMod, mouse_down, workspace, e+1 +bind = $supMod, mouse_up, workspace, e-1 + +# Move/resize windows with supMod + LMB/RMB and dragging +bindm = $supMod, mouse:272, movewindow +bindm = $supMod, mouse:273, resizewindow + +# Volume +bindl=, XF86AudioRaiseVolume, exec, pamixer -i 5 +bindl=, XF86AudioLowerVolume, exec, pamixer -d 5 +bindl=, XF86AudioMute, exec, pamixer -t +bindl=, XF86AudioMicMute, exec, pamixer --default-source -t +bindl=, XF86MonBrightnessUp, exec, light -A 10 +bindl=, XF86MonBrightnessDown, exec, light -U 10 +bindl=, XF86Display, exec, wdisplays diff --git a/new-config/.config/hypr/hyprpaper.conf b/new-config/.config/hypr/hyprpaper.conf new file mode 100644 index 000000000..62fb49f55 --- /dev/null +++ b/new-config/.config/hypr/hyprpaper.conf @@ -0,0 +1,2 @@ +preload = ~/Pictures/Wallpapers/300.jpg +wallpaper = eDP-1,contain:~/Pictures/Wallpapers/300.jpg diff --git a/new-config/.config/lvim/config.lua b/new-config/.config/lvim/config.lua new file mode 100644 index 000000000..7192c72c0 --- /dev/null +++ b/new-config/.config/lvim/config.lua @@ -0,0 +1,188 @@ +--[[ +lvim is the global options object + +Linters should be +filled in as strings with either +a global executable or a path to +an executable +]] +-- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT + +-- general +vim.opt.guifont = { "mononoki Nerd Font", ":h7" } +lvim.log.level = "warn" +lvim.format_on_save.enabled = false +lvim.colorscheme = "gruvbox" +lvim.transparent_window = true +-- to disable icons and use a minimalist setup, uncomment the following +-- lvim.use_icons = false + +-- keymappings [view all the defaults by pressing Lk] +lvim.leader = "space" +-- add your own keymapping +lvim.keys.normal_mode[""] = ":w" +-- lvim.keys.normal_mode[""] = ":BufferLineCycleNext" +-- lvim.keys.normal_mode[""] = ":BufferLineCyclePrev" +-- unmap a default keymapping +-- vim.keymap.del("n", "") +-- override a default keymapping +-- lvim.keys.normal_mode[""] = ":q" -- or vim.keymap.set("n", "", ":q" ) + +-- Change Telescope navigation to use j and k for navigation and n and p for history in both input and normal mode. +-- we use protected-mode (pcall) just in case the plugin wasn't loaded yet. +-- local _, actions = pcall(require, "telescope.actions") +-- lvim.builtin.telescope.defaults.mappings = { +-- -- for input mode +-- i = { +-- [""] = actions.move_selection_next, +-- [""] = actions.move_selection_previous, +-- [""] = actions.cycle_history_next, +-- [""] = actions.cycle_history_prev, +-- }, +-- -- for normal mode +-- n = { +-- [""] = actions.move_selection_next, +-- [""] = actions.move_selection_previous, +-- }, +-- } + +-- Change theme settings +-- lvim.builtin.theme.options.dim_inactive = true +-- lvim.builtin.theme.options.style = "storm" + +-- Use which-key to add extra bindings with the leader-key prefix +-- lvim.builtin.which_key.mappings["P"] = { "Telescope projects", "Projects" } +-- lvim.builtin.which_key.mappings["t"] = { +-- name = "+Trouble", +-- r = { "Trouble lsp_references", "References" }, +-- f = { "Trouble lsp_definitions", "Definitions" }, +-- d = { "Trouble document_diagnostics", "Diagnostics" }, +-- q = { "Trouble quickfix", "QuickFix" }, +-- l = { "Trouble loclist", "LocationList" }, +-- w = { "Trouble workspace_diagnostics", "Workspace Diagnostics" }, +-- } + +-- TODO: User Config for predefined plugins +-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile +lvim.builtin.alpha.active = true +lvim.builtin.alpha.mode = "dashboard" +lvim.builtin.terminal.active = true +lvim.builtin.nvimtree.setup.view.side = "left" +lvim.builtin.nvimtree.setup.renderer.icons.show.git = false + +-- if you don't want all the parsers change this to a table of the ones you want +lvim.builtin.treesitter.ensure_installed = { + "bash", + "c", + "c_sharp", + "javascript", + "json", + "lua", + "python", + "typescript", + "tsx", + "css", + "rust", + "java", + "yaml", + "toml", +} + +lvim.builtin.treesitter.ignore_install = { "haskell" } +lvim.builtin.treesitter.highlight.enable = true + +-- generic LSP settings + +-- -- make sure server will always be installed even if the server is in skipped_servers list +-- lvim.lsp.installer.setup.ensure_installed = { +-- "sumneko_lua", +-- "jsonls", +-- } +-- -- change UI setting of `LspInstallInfo` +-- -- see +-- lvim.lsp.installer.setup.ui.check_outdated_servers_on_open = false +-- lvim.lsp.installer.setup.ui.border = "rounded" +-- lvim.lsp.installer.setup.ui.keymaps = { +-- uninstall_server = "d", +-- toggle_server_expand = "o", +-- } + +-- ---@usage disable automatic installation of servers +-- lvim.lsp.installer.setup.automatic_installation = false + +-- ---configure a server manually. !!Requires `:LvimCacheReset` to take effect!! +-- ---see the full default list `:lua print(vim.inspect(lvim.lsp.automatic_configuration.skipped_servers))` +-- vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" }) +-- local opts = {} -- check the lspconfig documentation for a list of all possible options +-- require("lvim.lsp.manager").setup("pyright", opts) + +-- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. !!Requires `:LvimCacheReset` to take effect!! +-- ---`:LvimInfo` lists which server(s) are skipped for the current filetype +-- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server) +-- return server ~= "emmet_ls" +-- end, lvim.lsp.automatic_configuration.skipped_servers) + +-- -- you can set a custom on_attach function that will be used for all the language servers +-- -- See +-- lvim.lsp.on_attach_callback = function(client, bufnr) +-- local function buf_set_option(...) +-- vim.api.nvim_buf_set_option(bufnr, ...) +-- end +-- --Enable completion triggered by +-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") +-- end + +-- -- set a formatter, this will override the language server formatting capabilities (if it exists) +-- local formatters = require "lvim.lsp.null-ls.formatters" +-- formatters.setup { +-- { command = "black", filetypes = { "python" } }, +-- { command = "isort", filetypes = { "python" } }, +-- { +-- -- each formatter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration +-- command = "prettier", +-- ---@usage arguments to pass to the formatter +-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` +-- extra_args = { "--print-with", "100" }, +-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. +-- filetypes = { "typescript", "typescriptreact" }, +-- }, +-- } + +-- -- set additional linters +-- local linters = require "lvim.lsp.null-ls.linters" +-- linters.setup { +-- { command = "flake8", filetypes = { "python" } }, +-- { +-- -- each linter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration +-- command = "shellcheck", +-- ---@usage arguments to pass to the formatter +-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` +-- extra_args = { "--severity", "warning" }, +-- }, +-- { +-- command = "codespell", +-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. +-- filetypes = { "javascript", "python" }, +-- }, +-- } + +-- Additional Plugins +lvim.plugins = { + {"lunarvim/colorschemes"}, + {"iamcco/markdown-preview.nvim"}, + {"ellisonleao/gruvbox.nvim"}, +} + +-- Autocommands (https://neovim.io/doc/user/autocmd.html) +-- vim.api.nvim_create_autocmd("BufEnter", { +-- pattern = { "*.json", "*.jsonc" }, +-- -- enable wrap mode for json files only +-- command = "setlocal wrap", +-- }) +-- vim.api.nvim_create_autocmd("FileType", { +-- pattern = "zsh", +-- callback = function() +-- -- let treesitter use bash highlight for zsh files as well +-- require("nvim-treesitter.highlight").attach(0, "bash") +-- end, +-- }) diff --git a/new-config/.config/mpv/input.conf b/new-config/.config/mpv/input.conf new file mode 100644 index 000000000..593273e45 --- /dev/null +++ b/new-config/.config/mpv/input.conf @@ -0,0 +1,12 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom mpv config +## + +l seek 5 +h seek -5 +j seek -60 +k seek 60 +S cycle sub diff --git a/new-config/.config/neofetch/config.conf b/new-config/.config/neofetch/config.conf new file mode 100644 index 000000000..6048c9630 --- /dev/null +++ b/new-config/.config/neofetch/config.conf @@ -0,0 +1,779 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom neofetch config +## + +print_info() { + prin " " + info "$(color 1)๏Œƒ OS " distro + info "$(color 2)๏Œš VER" kernel + info "$(color 3)๏™ UP " uptime + info "$(color 4)๏ฃ– PKG" packages + info "$(color 5)๏›ƒ DE " de + info "$(color 6)๎‰ฆ CPU" cpu + info "$(color 7)๎‰ฆ GPU" gpu + info "$(color 8)๏กš MEM" memory + prin "$(color 1)๏„‘ $(color 2)๏„‘ $(color 3)๏„‘ $(color 4)๏„‘ $(color 5)๏„‘ $(color 6)๏„‘ $(color 7)๏„‘ $(color 8)๏„‘" +} +#### TITLE +# Hide/Show Fully qualified domain name. +# Default: 'off' +# Values: 'on', 'off' +# Flag: --title_fqdn +title_fqdn="off" + + +#### KERNEL +# Shorten the output of the kernel function. +# Default: 'on' +# Values: 'on', 'off' +# Flag: --kernel_shorthand +# Supports: Everything except *BSDs (except PacBSD and PC-BSD) +# Example: +# on: '4.8.9-1-ARCH' +# off: 'Linux 4.8.9-1-ARCH' +kernel_shorthand="on" + + +#### DISTRO +# Shorten the output of the distro function +# Default: 'off' +# Values: 'on', 'tiny', 'off' +# Flag: --distro_shorthand +# Supports: Everything except Windows and Haiku +distro_shorthand="off" + +# Show/Hide OS Architecture. +# Show 'x86_64', 'x86' and etc in 'Distro:' output. +# Default: 'on' +# Values: 'on', 'off' +# Flag: --os_arch +# Example: +# on: 'Arch Linux x86_64' +# off: 'Arch Linux' +os_arch="on" + + +#### UPTIME +# Shorten the output of the uptime function +# Default: 'on' +# Values: 'on', 'tiny', 'off' +# Flag: --uptime_shorthand +# Example: +# on: '2 days, 10 hours, 3 mins' +# tiny: '2d 10h 3m' +# off: '2 days, 10 hours, 3 minutes' +uptime_shorthand="on" + + +#### MEMORY +# Show memory pecentage in output. +# Default: 'off' +# Values: 'on', 'off' +# Flag: --memory_percent +# Example: +# on: '1801MiB / 7881MiB (22%)' +# off: '1801MiB / 7881MiB' +memory_percent="off" + +# Change memory output unit. +# Default: 'mib' +# Values: 'kib', 'mib', 'gib' +# Flag: --memory_unit +# Example: +# kib '1020928KiB / 7117824KiB' +# mib '1042MiB / 6951MiB' +# gib: ' 0.98GiB / 6.79GiB' +memory_unit="mib" + + +#### PACKAGES +# Show/Hide Package Manager names. +# Default: 'tiny' +# Values: 'on', 'tiny' 'off' +# Flag: --package_managers +# Example: +# on: '998 (pacman), 8 (flatpak), 4 (snap)' +# tiny: '908 (pacman, flatpak, snap)' +# off: '908' +package_managers="on" + + +#### SHELL +# Show the path to $SHELL +# Default: 'off' +# Values: 'on', 'off' +# Flag: --shell_path +# Example: +# on: '/bin/bash' +# off: 'bash' +shell_path="off" + +# Show $SHELL version +# Default: 'on' +# Values: 'on', 'off' +# Flag: --shell_version +# Example: +# on: 'bash 4.4.5' +# off: 'bash' +shell_version="on" + + +#### CPU +# CPU speed type +# Default: 'bios_limit' +# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. +# Flag: --speed_type +# Supports: Linux with 'cpufreq' +# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. +speed_type="bios_limit" + +# CPU speed shorthand +# Default: 'off' +# Values: 'on', 'off'. +# Flag: --speed_shorthand +# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz +# +# Example: +# on: 'i7-6500U (4) @ 3.1GHz' +# off: 'i7-6500U (4) @ 3.100GHz' +speed_shorthand="off" + +# Enable/Disable CPU brand in output. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_brand +# +# Example: +# on: 'Intel i7-6500U' +# off: 'i7-6500U (4)' +cpu_brand="on" + +# CPU Speed +# Hide/Show CPU speed. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --cpu_speed +# +# Example: +# on: 'Intel i7-6500U (4) @ 3.1GHz' +# off: 'Intel i7-6500U (4)' +cpu_speed="on" + +# CPU Cores +# Display CPU cores in output +# +# Default: 'logical' +# Values: 'logical', 'physical', 'off' +# Flag: --cpu_cores +# Support: 'physical' doesn't work on BSD. +# +# Example: +# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) +# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) +# off: 'Intel i7-6500U @ 3.1GHz' +cpu_cores="logical" + +# CPU Temperature +# Hide/Show CPU temperature. +# Note the temperature is added to the regular CPU function. +# +# Default: 'off' +# Values: 'C', 'F', 'off' +# Flag: --cpu_temp +# Supports: Linux, BSD +# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable +# coretemp kernel module. This only supports newer Intel processors. +# +# Example: +# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2ยฐC]' +# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0ยฐF]' +# off: 'Intel i7-6500U (4) @ 3.1GHz' +cpu_temp="off" + + +# GPU + + +# Enable/Disable GPU Brand +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gpu_brand +# +# Example: +# on: 'AMD HD 7950' +# off: 'HD 7950' +gpu_brand="on" + +# Which GPU to display +# +# Default: 'all' +# Values: 'all', 'dedicated', 'integrated' +# Flag: --gpu_type +# Supports: Linux +# +# Example: +# all: +# GPU1: AMD HD 7950 +# GPU2: Intel Integrated Graphics +# +# dedicated: +# GPU1: AMD HD 7950 +# +# integrated: +# GPU1: Intel Integrated Graphics +gpu_type="all" + + +# Resolution + + +# Display refresh rate next to each monitor +# Default: 'off' +# Values: 'on', 'off' +# Flag: --refresh_rate +# Supports: Doesn't work on Windows. +# +# Example: +# on: '1920x1080 @ 60Hz' +# off: '1920x1080' +refresh_rate="off" + + +# Gtk Theme / Icons / Font + + +# Shorten output of GTK Theme / Icons / Font +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --gtk_shorthand +# +# Example: +# on: 'Numix, Adwaita' +# off: 'Numix [GTK2], Adwaita [GTK3]' +gtk_shorthand="off" + + +# Enable/Disable gtk2 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk2 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Adwaita [GTK3]' +gtk2="on" + +# Enable/Disable gtk3 Theme / Icons / Font +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --gtk3 +# +# Example: +# on: 'Numix [GTK2], Adwaita [GTK3]' +# off: 'Numix [GTK2]' +gtk3="on" + + +# IP Address + + +# Website to ping for the public IP +# +# Default: 'http://ident.me' +# Values: 'url' +# Flag: --ip_host +public_ip_host="http://ident.me" + +# Public IP timeout. +# +# Default: '2' +# Values: 'int' +# Flag: --ip_timeout +public_ip_timeout=2 + + +# Desktop Environment + + +# Show Desktop Environment version +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --de_version +de_version="on" + + +# Disk + + +# Which disks to display. +# The values can be any /dev/sdXX, mount point or directory. +# NOTE: By default we only show the disk info for '/'. +# +# Default: '/' +# Values: '/', '/dev/sdXX', '/path/to/drive'. +# Flag: --disk_show +# +# Example: +# disk_show=('/' '/dev/sdb1'): +# 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 823G / 893G (93%)' +# +# disk_show=('/'): +# 'Disk (/): 74G / 118G (66%)' +# +disk_show=('/') + +# Disk subtitle. +# What to append to the Disk subtitle. +# +# Default: 'mount' +# Values: 'mount', 'name', 'dir', 'none' +# Flag: --disk_subtitle +# +# Example: +# name: 'Disk (/dev/sda1): 74G / 118G (66%)' +# 'Disk (/dev/sdb2): 74G / 118G (66%)' +# +# mount: 'Disk (/): 74G / 118G (66%)' +# 'Disk (/mnt/Local Disk): 74G / 118G (66%)' +# 'Disk (/mnt/Videos): 74G / 118G (66%)' +# +# dir: 'Disk (/): 74G / 118G (66%)' +# 'Disk (Local Disk): 74G / 118G (66%)' +# 'Disk (Videos): 74G / 118G (66%)' +# +# none: 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +# 'Disk: 74G / 118G (66%)' +disk_subtitle="mount" + +# Disk percent. +# Show/Hide disk percent. +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --disk_percent +# +# Example: +# on: 'Disk (/): 74G / 118G (66%)' +# off: 'Disk (/): 74G / 118G' +disk_percent="on" + + +# Song + + +# Manually specify a music player. +# +# Default: 'auto' +# Values: 'auto', 'player-name' +# Flag: --music_player +# +# Available values for 'player-name': +# +# amarok +# audacious +# banshee +# bluemindo +# clementine +# cmus +# deadbeef +# deepin-music +# dragon +# elisa +# exaile +# gnome-music +# gmusicbrowser +# gogglesmm +# guayadeque +# io.elementary.music +# iTunes +# juk +# lollypop +# mocp +# mopidy +# mpd +# muine +# netease-cloud-music +# olivia +# playerctl +# pogo +# pragha +# qmmp +# quodlibet +# rhythmbox +# sayonara +# smplayer +# spotify +# strawberry +# tauonmb +# tomahawk +# vlc +# xmms2d +# xnoise +# yarock +music_player="mpd" + +# Format to display song information. +# +# Default: '%artist% - %album% - %title%' +# Values: '%artist%', '%album%', '%title%' +# Flag: --song_format +# +# Example: +# default: 'Song: Jet - Get Born - Sgt Major' +song_format="%artist% - %album% - %title%" + +# Print the Artist, Album and Title on separate lines +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --song_shorthand +# +# Example: +# on: 'Artist: The Fratellis' +# 'Album: Costello Music' +# 'Song: Chelsea Dagger' +# +# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' +song_shorthand="off" + +# 'mpc' arguments (specify a host, password etc). +# +# Default: '' +# Example: mpc_args=(-h HOST -P PASSWORD) +mpc_args=() + + +# Text Colors + + +# Text Colors +# +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --colors +# +# Each number represents a different part of the text in +# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' +# +# Example: +# colors=(distro) - Text is colored based on Distro colors. +# colors=(4 6 1 8 8 6) - Text is colored in the order above. +colors=(distro) + + +# Text Options + + +# Toggle bold text +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bold +bold="on" + +# Enable/Disable Underline +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --underline +underline_enabled="on" + +# Underline character +# +# Default: '-' +# Values: 'string' +# Flag: --underline_char +underline_char="-" + + +# Info Separator +# Replace the default separator with the specified string. +# +# Default: ':' +# Flag: --separator +# +# Example: +# separator="->": 'Shell-> bash' +# separator=" =": 'WM = dwm' +separator=":" + + +# Color Blocks + + +# Color block range +# The range of colors to print. +# +# Default: '0', '15' +# Values: 'num' +# Flag: --block_range +# +# Example: +# +# Display colors 0-7 in the blocks. (8 colors) +# neofetch --block_range 0 7 +# +# Display colors 0-15 in the blocks. (16 colors) +# neofetch --block_range 0 15 +block_range=(0 15) + +# Toggle color blocks +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --color_blocks +color_blocks="on" + +# Color block width in spaces +# +# Default: '3' +# Values: 'num' +# Flag: --block_width +block_width=3 + +# Color block height in lines +# +# Default: '1' +# Values: 'num' +# Flag: --block_height +block_height=1 + +# Color Alignment +# +# Default: 'auto' +# Values: 'auto', 'num' +# Flag: --col_offset +# +# Number specifies how far from the left side of the terminal (in spaces) to +# begin printing the columns, in case you want to e.g. center them under your +# text. +# Example: +# col_offset="auto" - Default behavior of neofetch +# col_offset=7 - Leave 7 spaces then print the colors +col_offset="auto" + +# Progress Bars + + +# Bar characters +# +# Default: '-', '=' +# Values: 'string', 'string' +# Flag: --bar_char +# +# Example: +# neofetch --bar_char 'elapsed' 'total' +# neofetch --bar_char '-' '=' +bar_char_elapsed="-" +bar_char_total="=" + +# Toggle Bar border +# +# Default: 'on' +# Values: 'on', 'off' +# Flag: --bar_border +bar_border="on" + +# Progress bar length in spaces +# Number of chars long to make the progress bars. +# +# Default: '15' +# Values: 'num' +# Flag: --bar_length +bar_length=15 + +# Progress bar colors +# When set to distro, uses your distro's logo colors. +# +# Default: 'distro', 'distro' +# Values: 'distro', 'num' +# Flag: --bar_colors +# +# Example: +# neofetch --bar_colors 3 4 +# neofetch --bar_colors distro 5 +bar_color_elapsed="distro" +bar_color_total="distro" + + +# Info display +# Display a bar with the info. +# +# Default: 'off' +# Values: 'bar', 'infobar', 'barinfo', 'off' +# Flags: --cpu_display +# --memory_display +# --battery_display +# --disk_display +# +# Example: +# bar: '[---=======]' +# infobar: 'info [---=======]' +# barinfo: '[---=======] info' +# off: 'info' +cpu_display="off" +memory_display="off" +battery_display="off" +disk_display="off" + + +# Backend Settings + + +# Image backend. +# +# Default: 'ascii' +# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', +# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' +# Flag: --backend +image_backend="ascii" + +# Image Source +# +# Which image or ascii file to display. +# +# Default: 'auto' +# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' +# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' +# Flag: --source +# +# NOTE: 'auto' will pick the best image source for whatever image backend is used. +# In ascii mode, distro ascii art will be used and in an image mode, your +# wallpaper will be used. +image_source="auto" + + +#### ASCII OPTIONS +# Ascii distro +# Which distro's ascii art to display. +# Default: 'auto' +# Values: 'auto', 'distro_name' +# Flag: --ascii_distro +# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS", +# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs, +# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock, +# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD, +# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS, +# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, +# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin, +# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary, +# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD, +# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo, +# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, +# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, +# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite, +# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, +# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib, +# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner, +# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba, +# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD, +# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint, +# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix, +# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, +# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, +# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz, +# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, +# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, +# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio, +# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin, +# and IRIX have ascii logos +# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants. +# Use '{distro name}_old' to use the old logos. +# NOTE: Ubuntu has flavor variants. +# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME, +# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors. +# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu, +# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android, +# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola, +# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS, +# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian, +# postmarketOS, and Void have a smaller logo variant. +# Use '{distro name}_small' to use the small variants. +ascii_distro="arch_small" + +# Ascii Colors +# Default: 'distro' +# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' +# Flag: --ascii_colors +# Example: +# ascii_colors=(distro) - Ascii is colored based on Distro colors. +# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. +ascii_colors=(distro) + +# Bold ascii logo +# Whether or not to bold the ascii logo. +# Default: 'on' +# Values: 'on', 'off' +# Flag: --ascii_bold +ascii_bold="on" + +#### IMAGE OPTIONS +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + +# Thumbnail directory +# Default: '~/.cache/thumbnails/neofetch' +# Values: 'dir' +thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" + +# Crop mode +# Default: 'normal' +# Values: 'normal', 'fit', 'fill' +# Flag: --crop_mode +# See this wiki page to learn about the fit and fill options. +# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F +crop_mode="normal" + +# Crop offset +# Note: Only affects 'normal' crop mode. +# Default: 'center' +# Values: 'northwest', 'north', 'northeast', 'west', 'center' +# 'east', 'southwest', 'south', 'southeast' +# Flag: --crop_offset +crop_offset="center" + +# Image size +# The image is half the terminal width by default. +# Default: 'auto' +# Values: 'auto', '00px', '00%', 'none' +# Flags: --image_size +# --size +image_size="auto" + +# Gap between image and text +# Default: '3' +# Values: 'num', '-num' +# Flag: --gap +gap=3 + +# Image offsets +# Only works with the w3m backend. +# Default: '0' +# Values: 'px' +# Flags: --xoffset +# --yoffset +yoffset=0 +xoffset=0 + +# Image background color +# Only works with the w3m backend. +# Default: '' +# Values: 'color', 'blue' +# Flag: --bg_color diff --git a/new-config/.config/newsboat/config b/new-config/.config/newsboat/config new file mode 100644 index 000000000..4886a962a --- /dev/null +++ b/new-config/.config/newsboat/config @@ -0,0 +1,50 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom newsboat config +## +show-read-feeds yes +auto-reload yes +reload-threads 10 + +bind-key j down +bind-key k up +bind-key j next articlelist +bind-key k prev articlelist +bind-key J next-feed articlelist +bind-key K prev-feed articlelist +bind-key G end +bind-key g home +bind-key d pagedown +bind-key u pageup +bind-key l open +bind-key h quit +bind-key a toggle-article-read +bind-key n next-unread +bind-key N prev-unread +bind-key D pb-download +bind-key U show-urls +bind-key x pb-delete + +color listnormal cyan default +color listfocus black yellow standout bold +color listnormal_unread blue default +color listfocus_unread yellow default bold +color info red black bold +color article white default bold + +highlight all "---.*---" yellow +highlight feedlist ".*(0/0))" black +highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold +highlight article "(^Link:.*|^Date:.*)" default default +highlight article "https?://[^ ]+" green default +highlight article "^(Title):.*$" blue default +highlight article "\\[[0-9][0-9]*\\]" magenta default bold +highlight article "\\[image\\ [0-9]+\\]" green default bold +highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold +highlight article ":.*\\(link\\)$" cyan default +highlight article ":.*\\(image\\)$" blue default +highlight article ":.*\\(embedded flash\\)$" magenta default + +browser w3m diff --git a/new-config/.config/newsboat/urls b/new-config/.config/newsboat/urls new file mode 100644 index 000000000..8efda449c --- /dev/null +++ b/new-config/.config/newsboat/urls @@ -0,0 +1,42 @@ +http://static.fsf.org/fsforg/rss/news.xml "~FSF News" +http://static.fsf.org/fsforg/rss/blogs.xml "~FSF Blogs" +https://dot.kde.org/rss.xml "~KDE Dot News" +https://planet.kde.org/global/atom.xml "~Planet KDE" +https://pointieststick.com/feed/ "~This Week on KDE" +https://www.kdeblog.com/rss "~KDE Blog" +https://thisweek.gnome.org/index.xml "~This Week on GNOME" +https://www.omgubuntu.co.uk/feed "~OMG Ubuntu!" +https://blog.thunderbird.net/feed/ "~The Thunderbird Blog" +https://thelinuxexp.com/feed.xml "~The Linux Experiment" +https://techhut.tv/feed/ "~Techhut Media" +https://itsfoss.com/rss/ "~Its FOSS!" +https://thelinuxcast.org/feed/feed.xml "~The Linux Cast" +https://9to5linux.com/feed/atom "~9to5Linux" +https://blog.elementary.io/feed.xml "~elementary OS Blog" +https://blog.zorin.com/index.xml "~Zorin OS Blog" +http://blog.linuxmint.com/?feed=rss2 "~Linux Mint Blog" +https://lukesmith.xyz/rss.xml "~Luke Smith" +https://notrelated.xyz/rss "~Not Related" +https://landchad.net/rss.xml "~Landchad" +https://based.cooking/rss.xml "~Based Cooking" +https://artixlinux.org/feed.php "~Artix Linux" +https://www.archlinux.org/feeds/news/ "~Arch Linux" +https://switchedtolinux.com/tutorials?format=feed&type=rss "~Switched to Linux - Tutorials" +https://switchedtolinux.com/tin-foil-hat-time?format=feed&type=rss "~Switched to Linux - Tin Foil Hat Time" +https://switchedtolinux.com/news?format=feed&type=rss "~Switched to Linux - Weekly News Roundup" +https://switchedtolinux.com/linux/distros?format=feed&type=rss "~Switched to Linux - Distros" +https://switchedtolinux.com/linux/software/?format=feed&type=rss "~Switched to Linux - Software" +https://switchedtolinux.com/linux/desktop-environments/?format=feed&type=rss "~Switched to Linux - Desktop Environments" +https://www.gamingonlinux.com/article_rss.php "~Gaming on linux" +https://hackaday.com/blog/feed/ "~Hackaday" +https://opensource.com/feed "~Opensource" +https://linux.softpedia.com/backend.xml "~Softpedia Linux" +https://www.zdnet.com/topic/linux/rss.xml "~Zdnet Linux" +https://www.phoronix.com/rss.php "~Phoronix" +https://www.computerworld.com/index.rss "~Computerworld" +https://www.networkworld.com/category/linux/index.rss "~Networkworld Linux" +https://betanews.com/feed "~Betanews Linux" +http://lxer.com/module/newswire/headlines.rss "~Lxer" +https://distrowatch.com/news/dwd.xml "~Distrowatch" +https://odysee.com/$/rss/@blenderdumbass:f "~Blender Dumbass" +https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton" diff --git a/new-config/.config/qt5ct/qt5ct.conf b/new-config/.config/qt5ct/qt5ct.conf new file mode 100644 index 000000000..25ebe2528 --- /dev/null +++ b/new-config/.config/qt5ct/qt5ct.conf @@ -0,0 +1,32 @@ +[Appearance] +color_scheme_path=/usr/share/qt5ct/colors/airy.conf +custom_palette=false +icon_theme=Papirus-Dark +standard_dialogs=gtk2 +style=gtk2 + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0$\0m\0o\0n\0o\0n\0o\0k\0i\0 \0N\0\x65\0r\0\x64\0 \0\x46\0o\0n\0t@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0K\x10) +general=@Variant(\0\0\0@\0\0\0$\0m\0o\0n\0o\0n\0o\0k\0i\0 \0N\0\x65\0r\0\x64\0 \0\x46\0o\0n\0t@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0K\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x3\xc0\0\0\0\x32\0\0\a\x7f\0\0\x4\x37\0\0\x3\xc1\0\0\0\x33\0\0\a~\0\0\x4\x36\0\0\0\0\0\0\0\0\a\x80\0\0\x3\xc1\0\0\0\x33\0\0\a~\0\0\x4\x36) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/new-config/.config/qt6ct/qt6ct.conf b/new-config/.config/qt6ct/qt6ct.conf new file mode 100644 index 000000000..aa88b4acf --- /dev/null +++ b/new-config/.config/qt6ct/qt6ct.conf @@ -0,0 +1,31 @@ +[Appearance] +color_scheme_path=/usr/share/qt6ct/colors/airy.conf +custom_palette=false +standard_dialogs=gtk2 +style=qt6gtk2 + +[Fonts] +fixed="mononoki Nerd Font,10,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold" +general="mononoki Nerd Font,10,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold" + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x32\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\x32\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x32\0\0\a\x7f\0\0\x4\x37) + +[Troubleshooting] +force_raster_widgets=1 +ignored_applications=@Invalid() diff --git a/new-config/.config/starship.toml b/new-config/.config/starship.toml new file mode 100644 index 000000000..da6c4f2a8 --- /dev/null +++ b/new-config/.config/starship.toml @@ -0,0 +1,33 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom starship prompt config +## + +add_newline = false + +[line_break] +disabled = true + +[character] +error_symbol = "[๏”](bold red) " +success_symbol = "[๏”](bold green)" + +[directory] +truncation_length = 5 +home_symbol = "๏€• " +format = "[$path](bold italic yellow) " + +[hostname] +ssh_only = false +disabled = false +style = "italic #87A752" + +[package] +disabled = true + +[username] +show_always = true +style_user = "bold red" +format = "[$user]($style)[ in ](white)" diff --git a/new-config/.config/vifm/colors/Default.vifm b/new-config/.config/vifm/colors/Default.vifm new file mode 100644 index 000000000..1647f96c3 --- /dev/null +++ b/new-config/.config/vifm/colors/Default.vifm @@ -0,0 +1,87 @@ +" You can edit this file by hand. +" The " character at the beginning of a line comments out the line. +" Blank lines are ignored. + +" The Default color scheme is used for any directory that does not have +" a specified scheme and for parts of user interface like menus. A +" color scheme set for a base directory will also +" be used for the sub directories. + +" The standard ncurses colors are: +" Default = -1 = None, can be used for transparency or default color +" Black = 0 +" Red = 1 +" Green = 2 +" Yellow = 3 +" Blue = 4 +" Magenta = 5 +" Cyan = 6 +" White = 7 + +" Light versions of colors are also available (they set bold +" attribute in terminals with less than 16 colors): +" LightBlack +" LightRed +" LightGreen +" LightYellow +" LightBlue +" LightMagenta +" LightCyan +" LightWhite + +" Available attributes (some of them can be combined): +" bold +" underline +" reverse or inverse +" standout +" italic (on unsupported systems becomes reverse) +" combine +" none + +" Vifm supports 256 colors you can use color numbers 0-255 +" (requires properly set up terminal: set your TERM environment variable +" (directly or using resources) to some color terminal name (e.g. +" xterm-256color) from /usr/lib/terminfo/; you can check current number +" of colors in your terminal with tput colors command) + +" highlight group cterm=attrs ctermfg=foreground_color ctermbg=background_color + +highlight clear + +highlight Win cterm=none ctermfg=white ctermbg=black +highlight Directory cterm=bold ctermfg=cyan ctermbg=default +highlight Link cterm=bold ctermfg=yellow ctermbg=default +highlight BrokenLink cterm=bold ctermfg=red ctermbg=default +highlight HardLink cterm=none ctermfg=yellow ctermbg=default +highlight Socket cterm=bold ctermfg=magenta ctermbg=default +highlight Device cterm=bold ctermfg=red ctermbg=default +highlight Fifo cterm=bold ctermfg=cyan ctermbg=default +highlight Executable cterm=bold ctermfg=green ctermbg=default +highlight Selected cterm=bold ctermfg=magenta ctermbg=default +highlight CurrLine cterm=bold,reverse ctermfg=default ctermbg=default +highlight TopLine cterm=none ctermfg=black ctermbg=white +highlight TopLineSel cterm=bold ctermfg=black ctermbg=default +highlight StatusLine cterm=bold ctermfg=black ctermbg=white +highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black +highlight CmdLine cterm=none ctermfg=white ctermbg=black +highlight ErrorMsg cterm=none ctermfg=red ctermbg=black +highlight Border cterm=none ctermfg=black ctermbg=white +highlight OtherLine ctermfg=default ctermbg=default +highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white +highlight SuggestBox cterm=bold ctermfg=default ctermbg=default +highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red +highlight AuxWin ctermfg=default ctermbg=default +highlight TabLine cterm=none ctermfg=white ctermbg=black +highlight TabLineSel cterm=bold,reverse ctermfg=default ctermbg=default +highlight User1 ctermfg=default ctermbg=default +highlight User2 ctermfg=default ctermbg=default +highlight User3 ctermfg=default ctermbg=default +highlight User4 ctermfg=default ctermbg=default +highlight User5 ctermfg=default ctermbg=default +highlight User6 ctermfg=default ctermbg=default +highlight User7 ctermfg=default ctermbg=default +highlight User8 ctermfg=default ctermbg=default +highlight User9 ctermfg=default ctermbg=default +highlight OtherWin ctermfg=default ctermbg=default +highlight LineNr ctermfg=default ctermbg=default +highlight OddLine ctermfg=default ctermbg=default diff --git a/new-config/.config/vifm/scripts/README b/new-config/.config/vifm/scripts/README new file mode 100644 index 000000000..769495228 --- /dev/null +++ b/new-config/.config/vifm/scripts/README @@ -0,0 +1,6 @@ +This directory is dedicated for user-supplied scripts/executables. +vifm modifies its PATH environment variable to let user run those +scripts without specifying full path. All subdirectories are added +as well. File in a subdirectory overrules file with the same name +in parent directories. Restart might be needed to recognize files +in newly created or renamed subdirectories. \ No newline at end of file diff --git a/new-config/.config/vifm/scripts/vifmimg b/new-config/.config/vifm/scripts/vifmimg new file mode 100755 index 000000000..e5d8763a0 --- /dev/null +++ b/new-config/.config/vifm/scripts/vifmimg @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +readonly ID_PREVIEW="preview" + +#AUTO_REMOVE="yes" +# By enabling this option the script will remove the preview file after it is drawn +# and by doing so the preview will always be up-to-date with the file. +# This however, requires more CPU and therefore affects the overall performance. + +if [ -e "$FIFO_UEBERZUG" ]; then + if [[ "$1" == "draw" ]]; then + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="${PWD}/$6") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "videopreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" + [[ ! -f "/tmp${PWD}/$6.png" ]] && ffmpegthumbnailer -i "${PWD}/$6" -o "/tmp${PWD}/$6.png" -s 0 -q 10 + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="/tmp${PWD}/$6.png") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "gifpreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" && convert -coalesce "${PWD}/$6" "/tmp${PWD}/$6/$6.png" + for frame in $(ls -1 /tmp${PWD}/$6/$6*.png | sort -V); do + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="$frame") \ + > "$FIFO_UEBERZUG" + # Sleep between frames to make the animation smooth. + sleep .07 + done + + elif [[ "$1" == "pdfpreview" ]]; then + echo -e "Loading preview..\nFile: $6" + [[ ! -d "/tmp${PWD}/$6/" ]] && mkdir -p "/tmp${PWD}/$6/" + [[ ! -f "/tmp${PWD}/$6.png" ]] && pdftoppm -png -singlefile "$6" "/tmp${PWD}/$6" + declare -p -A cmd=([action]=add [identifier]="$ID_PREVIEW" + [x]="$2" [y]="$3" [width]="$4" [height]="$5" \ + [path]="/tmp${PWD}/$6.png") \ + > "$FIFO_UEBERZUG" + + elif [[ "$1" == "clear" ]]; then + declare -p -A cmd=([action]=remove [identifier]="$ID_PREVIEW") \ + > "$FIFO_UEBERZUG" + [[ ! -z $AUTO_REMOVE ]] && [[ -f "/tmp${PWD}/$6.png" ]] && rm -f "/tmp${PWD}/$6.png" + [[ ! -z $AUTO_REMOVE ]] && [[ -d "/tmp${PWD}/$6/" ]] && rm -rf "/tmp${PWD}/$6/" + + fi +fi diff --git a/new-config/.config/vifm/scripts/vifmrun b/new-config/.config/vifm/scripts/vifmrun new file mode 100755 index 000000000..9eda32a99 --- /dev/null +++ b/new-config/.config/vifm/scripts/vifmrun @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +export FIFO_UEBERZUG="/tmp/vifm-ueberzug-${PPID}" + +function cleanup { + rm "$FIFO_UEBERZUG" 2>/dev/null + pkill -P $$ 2>/dev/null +} + +rm "$FIFO_UEBERZUG" 2>/dev/null +mkfifo "$FIFO_UEBERZUG" +trap cleanup EXIT +tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser bash & + +vifm +cleanup diff --git a/new-config/.config/vifm/vifm-help.txt b/new-config/.config/vifm/vifm-help.txt new file mode 100644 index 000000000..df216c383 --- /dev/null +++ b/new-config/.config/vifm/vifm-help.txt @@ -0,0 +1,6568 @@ +VIFM(1) General Commands Manual VIFM(1) + +NAME + vifm - vi file manager + +SYNOPSIS + vifm [OPTION]... + vifm [OPTION]... path + vifm [OPTION]... path path + +DESCRIPTION + Vifm is an ncurses based file manager with vi like keybindings. If you + use vi, vifm gives you complete keyboard control over your files + without having to learn a new set of commands. + +OPTIONS + vifm starts in the current directory unless it is given a different + directory on the command line or 'vifminfo' option includes "savedirs" + (in which case last visited directories are used as defaults). + + - Read list of files from standard input stream and compose custom + view out of them (see "Custom views" section). Current working + directory is used as a base for relative paths. + + Starts Vifm in the specified path. + + + Starts Vifm in the specified paths. + + Specifying two directories triggers split view even when vifm was in + single-view mode on finishing previous run. To suppress this behaviour + :only command can be put in the vifmrc file. + + When only one path argument is found on command-line, the left/top pane + is automatically set as the current view. + + Paths to files are also allowed in case you want vifm to start with + some archive opened. + + --select + Open parent directory of the given path and select specified + file in it. + + -f Makes vifm instead of opening files write selection to + $VIFM/vimfiles and quit. + + --choose-files |- + Sets output file to write selection into on exit instead of + opening files. "-" means standard output. Use empty value to + disable it. + + --choose-dir |- + Sets output file to write last visited directory into on exit. + "-" means standard output. Use empty value to disable it. + + --delimiter + Sets separator for list of file paths written out by vifm. + Empty value means null character. Default is new line + character. + + --on-choose + Sets command to be executed on selected files instead of opening + them. The command may use any of macros described in "Command + macros" section below. The command is executed once for whole + selection. + + --logging[=] + Log some operational details $VIFM/log. If the optional startup + log path is specified and permissions allow to open it for + writing, then logging of early initialization (before value of + $VIFM is determined) is put there. + + --server-list + List available server names and exit. + + --server-name + Name of target or this instance (sequential numbers are appended + on name conflict). + + --remote + Sends the rest of the command line to another instance of vifm, + --server-name is treated just like any other argument and should + precede --remote on the command line. When there is no server, + quits silently. There is no limit on how many arguments can be + processed. One can combine --remote with -c or + + to execute commands in already running instance of + vifm. See also "Client-Server" section below. + + --remote-expr + passes expression to vifm server and prints result. See also + "Client-Server" section below. + + -c or + + Run command-line mode on startup. Commands in such + arguments are executed in the order they appear in command line. + Commands with spaces or special symbols must be enclosed in + double or single quotes or all special symbols should be escaped + (the exact syntax strongly depends on shell). "+" argument is + equivalent to "$" and thus picks last item of of the view. + + --help, -h + Show a brief command summary and exit vifm. + + --version, -v + Show version information and quit. + + --no-configs + Skip reading vifmrc and vifminfo. + + + See "Startup" section below for the explanations on $VIFM. + +General keys + Ctrl-C or Escape + cancel most operations (see "Cancellation" section below), clear + all selected files. + + Ctrl-L clear and redraw the screen. + +Basic Movement + The basic vi key bindings are used to move through the files and pop-up + windows. + + k, gk, or Ctrl-P + move cursor up one line. + + j, gj or Ctrl-N + move cursor down one line. + + h when 'lsview' is off move up one directory (moves to parent + directory node in tree view), otherwise move left one file. + + l when 'lsview' is off move into a directory or launch a file, + otherwise move right one file. See "Selection" section below. + + gg move to the first line of the file list. + + G move to the last line in the file list. + + gh go up one directory regardless of view representation (regular, + ls-like). Also can be used to leave custom views including tree + view. + + gl or Enter + enter directory or launch a file. See "Selection" section + below. + + H move to the first file in the window. + + M move to the file in the middle of the window. + + L move to the last file in the window. + + Ctrl-F or Page Down + move forward one page. + + Ctrl-B or Page Up + move back one page. + + Ctrl-D jump back one half page. + + Ctrl-U jump forward one half page. + + n% move to the file that is n percent from the top of the list (for + example 25%). + + 0 or ^ move cursor to the first column. See 'lsview' option + description. + + $ move cursor to the last column. See 'lsview' option + description. + + Space switch file lists. + + gt switch to the next tab (wrapping around). + + {n}gt switch to the tab number {n} (wrapping around). + + gT switch to the previous tab (wrapping around). + + {n}gT switch to {n}-th previous tab. + +Movement with Count + Most movement commands also accept a count, 12j would move down 12 + files. + + [count]% + move to percent of the file list. + + [count]j + move down [count] files. + + [count]k + move up [count] files. + + [count]G or [count]gg + move to list position [count]. + + [count]h + go up [count] directories. + +Scrolling panes + zt redraw pane with file in top of list. + + zz redraw pane with file in center of list. + + zb redraw pane with file in bottom of list. + + Ctrl-E scroll pane one line down. + + Ctrl-Y scroll pane one line up. + +Pane manipulation + Second character can be entered with or without Control key. + + Ctrl-W H + move the pane to the far left. + + Ctrl-W J + move the pane to the very bottom. + + Ctrl-W K + move the pane to the very top. + + Ctrl-W L + move the pane to the far right. + + + Ctrl-W h + switch to the left pane. + + Ctrl-W j + switch to the pane below. + + Ctrl-W k + switch to the pane above. + + Ctrl-W l + switch to the right pane. + + + Ctrl-W b + switch to bottom-right window. + + Ctrl-W t + switch to top-left window. + + + Ctrl-W p + switch to previous window. + + Ctrl-W w + switch to other pane. + + + Ctrl-W o + leave only one pane. + + Ctrl-W s + split window horizontally. + + Ctrl-W v + split window vertically. + + + Ctrl-W x + exchange panes. + + Ctrl-W z + quit preview pane or view modes. + + + Ctrl-W - + decrease size of the view by count. + + Ctrl-W + + increase size of the view by count. + + Ctrl-W < + decrease size of the view by count. + + Ctrl-W > + increase size of the view by count. + + + Ctrl-W | + set current view size to count. + + Ctrl-W _ + set current view size to count. + + Ctrl-W = + make size of two views equal. + + For Ctrl-W +, Ctrl-W -, Ctrl-W <, Ctrl-W >, Ctrl-W | and Ctrl-W _ + commands count can be given before and/or after Ctrl-W. The resulting + count is a multiplication of those two. So "2 Ctrl-W 2 -" decreases + window size by 4 lines or columns. + + Ctrl-W | and Ctrl-W _ maximise current view by default. + +Marks + Marks are set the same way as they are in vi. + + You can use these characters for marks [a-z][A-Z][0-9]. + + m[a-z][A-Z][0-9] + set a mark for the file at the current cursor position. + + '[a-z][A-Z][0-9] + navigate to the file set for the mark. + + + There are also several special marks that can't be set manually: + + - ' (single quote) - previously visited directory of the view, thus + hitting '' allows switching between two last locations + + - < - the first file of the last visually selected block + + - > - the last file of the last visually selected block + +Searching + /regular expression pattern + search for files matching regular expression in forward + direction and advance cursor to next match. + + / perform forward search with top item of search pattern history. + + ?regular expression pattern + search for files matching regular expression in backward + direction and advance cursor to previous match. + + ? perform backward search with top item of search pattern history. + + Trailing slash for directories is taken into account, so /\/ searches + for directories and symbolic links to directories. At the moment // + works too, but this can change in the future, so consider escaping the + slash if not typing pattern by hand. + + Matches are automatically selected if 'hlsearch' is set. Enabling + 'incsearch' makes search interactive. 'ignorecase' and 'smartcase' + options affect case sensitivity of search queries as well as local + filter and other things detailed in the description of 'caseoptions'. + + + [count]n + go to the next file matching last search pattern. Takes last + search direction into account. + + [count]N + go to the previous file matching last search pattern. Takes + last search direction into account. + + If 'hlsearch' option is set, hitting n/N to perform search and go to + the first matching item resets current selection in normal mode. It is + not the case if search was already performed on files in the directory, + thus selection is not reset after clearing selection with escape key + and hitting n/N key again. + + Note: vifm uses extended regular expressions for / and ?. + + + [count]f[character] + search forward for file with [character] as first character in + name. Search wraps around the end of the list. + + [count]F[character] + search backward for file with [character] as first character in + name. Search wraps around the end of the list. + + [count]; + find the next match of f or F. + + [count], + find the previous match of f or F. + + Note: f, F, ; and , wrap around list beginning and end when they are + used alone and they don't wrap when they are used as selectors. + +File Filters + There are three basic file filters: + + - dot files filter (does not affect "." and ".." special directories, + whose appearance is controlled by the 'dotdirs' option), see + 'dotfiles' option; + + - permanent filter; + + - local filter (see description of the "=" normal mode command). + + Permanent filter essentially allows defining a group of files names + which are not desirable to be seen by default, like temporary or backup + files, which might be created alongside normal ones. Just like you + don't usually need to see hidden dot files (files starting with a dot). + Local filter on the other hand is for temporary immediate filtering of + file list at hand, to get rid of uninterested files in the view or to + make it possible to use % range in a :command. + + For the purposes of more deterministic editing permanent filter is + split into two parts: + + - one edited explicitly via :filter command; + + - another one which is edited implicitly via zf shortcut. + + Files are tested against both parts and a match counts if at least one + of the parts matched. + + + Each file list has its own copy of each filter. + + Filtered files are not checked in / search or :commands. + + Files and directories are filtered separately. This is done by + appending a slash to a directory name before testing whether it matches + the filter. Examples: + + + " filter directories which names end with '.files' + :filter /^.*\.files\/$/ + + " filter files which names end with '.d' + :filter {*.d} + + " filter files and directories which names end with '.o' + :filter /^.*\.o\/?$/ + + Note: vifm uses extended regular expressions. + + The basic vim folding key bindings are used for managing filters. + + + za toggle visibility of dot files. + + zo show dot files. + + zm hide dot files. + + zf add selected files to permanent filter. + + zO reset permanent filter. + + zR save and reset all filters. + + zr clear local filter. + + zM restore all filters (undoes last zR). + + zd exclude selection or current file from a custom view. Does + nothing for regular view. For tree view excluding directory + excludes that sub-tree. For compare views zd hides group of + adjacent identical files, count can be specified as 1 to exclude + just single file or selected items instead. Files excluded this + way are not counted as filtered out and can't be returned unless + view is reloaded. + + =regular expression pattern + filter out files that don't match regular expression. Whether + view is updated as regular expression is changed depends on the + value of the 'incsearch' option. This kind of filter is + automatically reset when directory is changed. + +Tree-related Keys + While some of the keys make sense outside of tree-view, they are most + useful in trees. + + [z go to first sibling of current entry. + + ]z go to last sibling of current entry. + + zj go to next directory sibling of current entry or do nothing. + + zk go to previous directory sibling of current entry or do nothing. + + zx toggle fold under the cursor or parent entry of the current file + if cursor is not on a directory. + +Other Normal Mode Keys + [count]: + enter command line mode. [count] generates range. + + q: open external editor to prompt for command-line command. See + "Command line editing" section for details. + + q/ open external editor to prompt for search pattern to be searched + in forward direction. See "Command line editing" section for + details. + + q? open external editor to prompt for search pattern to be searched + in backward direction. See "Command line editing" section for + details. + + q= open external editor to prompt for filter pattern. See "Command + line editing" section for details. Unlike other q{x} commands + this one doesn't work in Visual mode. + + [count]!! and [count]! + enter command line mode with entered ! command. [count] + modifies range. + + Ctrl-O go backwards through directory history of current view. + Nonexistent directories are automatically skipped. + + Ctrl-I if 'cpoptions' contains "t" flag, and switch active + pane just like does, otherwise it goes forward through + directory history of current view. Nonexistent directories are + automatically skipped. + + Ctrl-G show a dialog with detailed information about current file. See + "Menus and dialogs" section for controls. + + Shift-Tab + enter view mode (works only after activating view pane with + :view command). + + ga calculate directory size. Uses cached directory sizes when + possible for better performance. As a special case calculating + size of ".." entry results in calculation of size of current + directory. + + gA like ga, but force update. Ignores old values of directory + sizes. + + If file under cursor is selected, each selected item is processed, + otherwise only current file is updated. + + gf find link destination (like l with 'followlinks' off, but also + finds directories). On Windows additionally follows .lnk-files. + + gF Same as gf, but resolves final path of the chain of symbolic + links. + + gr only for MS-Windows + same as l key, but tries to run program with administrative + privileges. + + av go to visual mode into selection amending state preserving + current selection. + + gv go to visual mode restoring last selection. + + [reg]gs + when no register is specified, restore last t selection (similar + to what gv does for visual mode selection). If register is + present, then all files listed in that register and which are + visible in current view are selected. + + gu + make names of selected files lowercase. + + [count]guu and [count]gugu + make names of [count] files starting from the current one + lowercase. Without [count] only current file is affected. + + gU + make names of selected files uppercase. + + [count]gUU and [count]gUgU + make names of [count] files starting from the current one + uppercase. Without [count] only current file is affected. + + e explore file in the current pane. + + i handle file (even if it's an executable and 'runexec' option is + set). + + cw change word is used to rename a file or files. If multiple + files are selected, behaves as :rename command run without + arguments. + + cW change WORD is used to change only name of file (without + extension). + + cl change link target. + + co only for *nix + change file owner. + + cg only for *nix + change file group. + + [count]cp + change file attributes (permission on *nix and properties on + Windows). If [count] is specified, it's treated as numerical + argument for non-recursive `chmod` command (of the form + [0-7]{3,4}). See "Menus and dialogs" section for controls. + + [count]C + clone file [count] times. + + [count]dd or d[count]selector + move selected file or files to trash directory (if 'trash' + option is set, otherwise delete). See "Trash directory" section + below. + + [count]DD or D[count]selector + like dd and d, but omitting trash directory (even when + 'trash' option is set). + + Y, [count]yy or y[count]selector + yank selected files. + + p copy yanked files to the current directory or move the files to + the current directory if they were deleted with dd or :d[elete] + or if the files were yanked from trash directory. See "Trash + directory" section below. + + P move the last yanked files. The advantage of using P instead of + d followed by p is that P moves files only once. This isn't + important in case you're moving files in the same file system + where your home directory is, but using P to move files on some + other file system (or file systems, in case you want to move + files from fs1 to fs2 and your home is on fs3) can save your + time. + + al put symbolic links with absolute paths. + + rl put symbolic links with relative paths. + + t select or unselect (tag) the current file. + + u undo last change. + + Ctrl-R redo last change. + + dp in compare view of "ofboth grouppaths" kind, makes corresponding + entry of the other pane equal to the current one. The semantics + is as follows: + - nothing done for identical entries + - if file is missing in current view, its pair gets removed + - if file is missing or differs in other view, it's replaced + - file pairs are defined by matching relative paths + File removal obeys 'trash' option. When the option is enabled, + the operation can be undone/redone (although results won't be + visible automatically). + Unlike in Vim, this operation is performed on a single line + rather than a set of adjacent changes. + + do same as dp, but applies changes in the opposite direction. + + v or V enter visual mode, clears current selection. + + [count]Ctrl-A + increment first number in file name by [count] (1 by default). + + [count]Ctrl-X + decrement first number in file name by [count] (1 by default). + + ZQ same as :quit!. + + ZZ same as :quit. + + . repeat last command-line command (not normal mode command) of + this run (does nothing right after startup or :restart command). + The command doesn't depend on command-line history and can be + used with completely disabled history. + + ( go to previous group. Groups are defined by primary sorting + key. For name and iname members of each group have same first + letter, for all other sorting keys vifm uses size, uid, ... + + ) go to next group. See ( key description above. + + { speeds up navigation to closest previous entry of the opposite + type by moving to the first file backwards when cursor is on a + directory and to the first directory backwards when cursor is on + a file. This is essentially a special case of ( that is locked + on "dirs". + + } same as {, but in forward direction. + + [c go to previous mismatched entry in directory comparison view or + do nothing. + + ]c go to next mismatched entry in directory comparison view or do + nothing. + + [d go to previous directory entry or do nothing. + + ]d go to next directory entry or do nothing. + + [r same as :siblprev. + + ]r same as :siblnext. + + [R same as :siblprev!. + + ]R same as :siblnext!. + + [s go to previous selected entry or do nothing. + + ]s go to next selected entry or do nothing. + +Using Count + You can use count with commands like yy. + + [count]yy + yank count files starting from current cursor position downward. + + Or you can use count with motions passed to y, d or D. + + d[count]j + delete (count + 1) files starting from current cursor position + upward. + +Registers + vifm supports multiple registers for temporary storing list of yanked + or deleted files. + + Registers should be specified by hitting double quote key followed by a + register name. Count is specified after register name. By default + commands use unnamed register, which has double quote as its name. + + Though all commands accept registers, most of commands ignores them + (for example H or Ctrl-U). Other commands can fill register or append + new files to it. + + Presently vifm supports ", _, a-z and A-Z characters as register names. + + As mentioned above " is unnamed register and has special meaning of the + default register. Every time when you use named registers (a-z and A- + Z) unnamed register is updated to contain same list of files as the + last used register. + + _ is black hole register. It can be used for writing, but its list is + always empty. + + Registers with names from a to z and from A to Z are named ones. + Lowercase registers are cleared before adding new files, while + uppercase aren't and should be used to append new files to the existing + file list of appropriate lowercase register (A for a, B for b, ...). + + Registers can be changed on :empty command if they contain files under + trash directory (see "Trash directory" section below). + + Registers do not contain one file more than once. + + Example: + + "a2yy + + puts names of two files to register a (and to the unnamed register), + + "Ad + + removes one file and append its name to register a (and to the unnamed + register), + + p or "ap or "Ap + + inserts previously yanked and deleted files into current directory. + +Selectors + y, d, D, !, gu and gU commands accept selectors. You can combine them + with any of selectors below to quickly remove or yank several files. + + Most of selectors are like vi motions: j, k, gg, G, H, L, M, %, f, F, + ;, comma, ', ^, 0 and $. But there are some additional ones. + + a all files in current view. + + s selected files. + + S all files except selected. + + Examples: + + - dj - delete file under cursor and one below; + + - d2j - delete file under cursor and two below; + + - y6gg - yank all files from cursor position to 6th file in the list. + + When you pass a count to whole command and its selector they are + multiplied. So: + + - 2d2j - delete file under cursor and four below; + + - 2dj - delete file under cursor and two below; + + - 2y6gg - yank all files from cursor position to 12th file in the + list. + +Visual Mode + Visual mode has two generic operating submodes: + + - plain selection as it is in Vim; + + - selection editing submode. + + Both modes select files in range from cursor position at which visual + mode was entered to current cursor position (let's call it "selection + region"). Each of two borders can be adjusted by swapping them via "o" + or "O" keys and updating cursor position with regular cursor motion + keys. Obviously, once initial cursor position is altered this way, + real start position becomes unavailable. + + Plain Vim-like visual mode starts with cleared selection, which is not + restored on rejecting selection ("Escape", "Ctrl-C", "v", "V"). + Contrary to it, selection editing doesn't clear previously selected + files and restores them after reject. Accepting selection by + performing an operation on selected items (e.g. yanking them via "y") + moves cursor to the top of current selection region (not to the top + most selected file of the view). + + In turn, selection editing supports three types of editing (look at + statusbar to know which one is currently active): + + - append - amend selection by selecting elements in selection region; + + - remove - amend selection by deselecting elements in selection + region; + + - invert - amend selection by inverting selection of elements in + selection region. + + No matter how you activate selection editing it starts in "append". + One can switch type of operation (in the order given above) via "Ctrl- + G" key. + + Almost all normal mode keys work in visual mode, but instead of + accepting selectors they operate on selected items. + + Enter save selection and go back to normal mode not moving cursor. + + av leave visual mode if in amending mode (restores previous + selection), otherwise switch to amending selection mode. + + gv restore previous visual selection. + + v, V, Ctrl-C or Escape + leave visual mode if not in amending mode, otherwise switch to + normal visual selection. + + Ctrl-G switch type of amending by round robin scheme: append -> remove + -> invert. + + : enter command line mode. Selection is cleared on leaving the + mode. + + o switch active selection bound. + + O switch active selection bound. + + gu, u make names of selected files lowercase. + + gU, U make names of selected files uppercase. + + cw same as running :rename command without arguments. + +View Mode + This mode tries to imitate the less program. List of builtin shortcuts + can be found below. Shortcuts can be customized using :qmap, :qnoremap + and :qunmap command-line commands. + + Shift-Tab, Tab, q, Q, ZZ + return to normal mode. + + [count]e, [count]Ctrl-E, [count]j, [count]Ctrl-N, [count]Enter + scroll forward one line (or [count] lines). + + [count]y, [count]Ctrl-Y, [count]k, [count]Ctrl-K, [count]Ctrl-P + scroll backward one line (or [count] lines). + + [count]f, [count]Ctrl-F, [count]Ctrl-V, [count]Space + scroll forward one window (or [count] lines). + + [count]b, [count]Ctrl-B, [count]Alt-V + scroll backward one window (or [count] lines). + + [count]z + scroll forward one window (and set window to [count]). + + [count]w + scroll backward one window (and set window to [count]). + + [count]Alt-Space + scroll forward one window, but don't stop at end-of-file. + + [count]d, [count]Ctrl-D + scroll forward one half-window (and set half-window to [count]). + + [count]u, [count]Ctrl-U + scroll backward one half-window (and set half-window to + [count]). + + r, Ctrl-R, Ctrl-L + repaint screen. + + R reload view preserving scroll position. + + F toggle automatic forwarding. Roughly equivalent to periodic + file reload and scrolling to the bottom. The behaviour is + similar to `tail -F` or F key in less. + + a switch to the next viewer. Does nothing for preview constructed + via %q macro. + + A switch to the previous viewer. Does nothing for preview + constructed via %q macro. + + i toggle raw mode (ignoring of defined viewers). Does nothing for + preview constructed via %q macro. + + [count]/pattern + search forward for ([count]-th) matching line. + + [count]?pattern + search backward for ([count]-th) matching line. + + [count]n + repeat previous search (for [count]-th occurrence). + + [count]N + repeat previous search in reverse direction (for [count]-th + occurrence). + + [count]g, [count]<, [count]Alt-< + scroll to the first line of the file (or line [count]). + + [count]G, [count]>, [count]Alt-> + scroll to the last line of the file (or line [count]). + + [count]p, [count]% + scroll to the beginning of the file (or N percent into file). + + v invoke an editor to edit the current file being viewed. The + command for editing is taken from the 'vicmd' or 'vixcmd' option + value and extended with middle line number prepended by a plus + sign and name of the current file. + + All "Ctrl-W x" keys work the same was as in Normal mode. Active mode + is automatically changed on navigating among windows. When less-like + mode activated on file preview is left using one by "Ctrl-W x" keys, + its state is stored until another file is displayed using preview (it's + possible to leave the mode, hide preview pane, do something else, then + get back to the file and show preview pane again with previously stored + state in it). + +Command line Mode + These keys are available in all submodes of the command line mode: + command, search, prompt and filtering. + + Down, Up, Left, Right, Home, End and Delete are extended keys and they + are not available if vifm is compiled with --disable-extended-keys + option. + + Esc, Ctrl-C + leave command line mode, cancels input. Cancelled input is + saved into appropriate history and can be recalled later. + + Ctrl-M, Enter + execute command and leave command line mode. + + Ctrl-I, Tab + complete command or its argument. + + Shift-Tab + complete in reverse order. + + Ctrl-_ stop completion and return original input. + + Ctrl-B, Left + move cursor to the left. + + Ctrl-F, Right + move cursor to the right. + + Ctrl-A, Home + go to line beginning. + + Ctrl-E, End + go to line end. + + Alt-B go to the beginning of previous word. + + Alt-F go to the end of next word. + + Ctrl-U remove characters from cursor position till the beginning of + line. + + Ctrl-K remove characters from cursor position till the end of line. + + Ctrl-H, Backspace + remove character before the cursor. + + Ctrl-D, Delete + remove character under the cursor. + + Ctrl-W remove characters from cursor position till the beginning of + previous word. + + Alt-D remove characters from cursor position till the beginning of + next word. + + Ctrl-T swap the order of current and previous character and move cursor + forward or, if cursor past the end of line, swap the order of + two last characters in the line. + + Alt-. insert last part of previous command to current cursor position. + Each next call will insert last part of older command. + + Ctrl-G edit command-line content in external editor. See "Command line + editing" section for details. + + Ctrl-N recall more recent command-line from history. + + Ctrl-P recall older command-line from history. + + Up recall more recent command-line from history, that begins as the + current command-line. + + Down recall older command-line from history, that begins as the + current command-line. + + Ctrl-] trigger abbreviation expansion. + +Pasting special values + The shortcuts listed below insert specified values into current cursor + position. Last key of every shortcut references value that it inserts: + - c - [c]urrent file + - d - [d]irectory path + - e - [e]xtension of a file name + - r - [r]oot part of a file name + - t - [t]ail part of directory path + + - a - [a]utomatic filter + - m - [m]anual filter + - = - local filter, which is bound to "=" in normal mode + + Values related to filelist in current pane are available through Ctrl-X + prefix, while values from the other pane have doubled Ctrl-X key as + their prefix (doubled Ctrl-X is presumably easier to type than + uppercase letters; it's still easy to remap the keys to correspond to + names of similar macros). + + Ctrl-X c + name of the current file of the active pane. + + Ctrl-X d + path to the current directory of the active pane. + + Ctrl-X e + extension of the current file of the active pane. + + Ctrl-X r + name root of current file of the active pane. + + Ctrl-X t + the last component of path to the current directory of the + active pane. + + Ctrl-X Ctrl-X c + name of the current file of the inactive pane. + + Ctrl-X Ctrl-X d + path to the current directory of the inactive pane. + + Ctrl-X Ctrl-X e + extension of the current file of the inactive pane. + + Ctrl-X Ctrl-X r + name root of current file of the inactive pane. + + Ctrl-X Ctrl-X t + the last component of path to the current directory of the + inactive pane. + + + Ctrl-X a + value of implicit permanent filter (old name "automatic") of the + active pane. + + Ctrl-X m + value of explicit permanent filter (old name "manual") of the + active pane. + + Ctrl-X = + value of local filter of the active pane. + + + Ctrl-X / + last pattern from search history. + +Command line editing + vifm provides a facility to edit several kinds of data, that is usually + edited in command-line mode, in external editor (using command + specified by 'vicmd' or 'vixcmd' option). This has at least two + advantages over built-in command-line mode: + - one can use full power of Vim to edit text; + - finding and reusing history entries becomes possible. + + The facility is supported by four input submodes of the command-line: + - command; + - forward search; + - backward search; + - file rename (see description of cw and cW normal mode keys). + + Editing command-line using external editor is activated by the Ctrl-G + shortcut. It's also possible to do almost the same from Normal and + Visual modes using q:, q/ and q? commands. + + Temporary file created for the purpose of editing the line has the + following structure: + + 1. First line, which is either empty or contains text already entered + in command-line. + + 2. 2nd and all other lines with history items starting with the most + recent one. Altering this lines in any way won't change history + items stored by vifm. + + After editing application is finished the first line of the file is + taken as the result of operation, when the application returns zero + exit code. If the application returns an error (see :cquit command in + Vim), all the edits made to the file are ignored, but the initial value + of the first line is saved in appropriate history. + +More Mode + This is the mode that appears when status bar content is so big that it + doesn't fit on the screen. One can identify the mode by "-- More --" + message at the bottom. + + The following keys are handled in this mode: + + + Enter, Ctrl-J, j or Down + scroll one line down. + + Backspace, k or Up + scroll one line up. + + + d scroll one page (half of a screen) down. + + u scroll one page (half of a screen) up. + + + Space, f or PageDown + scroll down a screen. + + b or PageUp + scroll up a screen. + + + G scroll to the bottom. + + g scroll to the top. + + + q, Escape or Ctrl-C + quit the mode. + + : switch to command-line mode. + +Commands + Commands are executed with :command_name + + Commented out lines should start with the double quote symbol ("), + which may be preceded by whitespace characters intermixed with colons. + Inline comments can be added at the end of the line after double quote + symbol, only last line of a multi-line command can contain such + comment. Not all commands support inline comments as their syntax + conflicts with names of registers and fields where double quotes are + allowed. + + Most of the commands have two forms: complete and the short one. + Example: + + :noh[lsearch] + + This means the complete command is nohlsearch, and the short one is + noh. + + Most of command-line commands completely reset selection in the current + view. However, there are several exceptions: + + - `:invert s` most likely leaves some files selected; + + - :normal command (when it doesn't leave command-line mode); + + - :if and :else commands don't affect selection on successful + execution. + + '|' can be used to separate commands, so you can give multiple commands + in one line. If you want to use '|' in an argument, precede it with + '\'. + + These commands see '|' as part of their arguments even when it's + escaped: + + :[range]! + :autocmd + :cabbrev + :cmap + :cnoreabbrev + :cnoremap + :command + :dmap + :dnoremap + :filetype + :fileviewer + :filextype + :map + :mmap + :mnoremap + :nmap + :nnoremap + :noremap + :normal + :qmap + :qnoremap + :vmap + :vnoremap + :wincmd + :windo + :winrun + + To be able to use another command after one of these, wrap it with the + :execute command. An example: + + if filetype('.') == 'reg' | execute '!!echo regular file' | endif + + :[count] + + :number + move to the file number. + :12 would move to the 12th file in the list. + :0 move to the top of the list. + :$ move to the bottom of the list. + + :[count]command + The only builtin :[count]command are :[count]d[elete] and + :[count]y[ank]. + + :d3 would delete three files starting at the current file position + moving down. + + :3d would delete one file at the third line in the list. + + :command [args] + + :[range]!program + execute command via shell. Accepts macros. + + :[range]!command & + + same as above, but the command is run in the background using vifm's + means. + + Programs that write to stderr create error dialogs showing errors of + the command. + + Note the space before ampersand symbol, if you omit it, command will be + run in the background using job control of your shell. + + Accepts macros. + + :!! + + :[range]!!command + same as :!, but pauses before returning. + + :!! repeat the last command. + + :alink + + :[range]alink[!?] + create absolute symbolic links to files in directory of inactive + view. With "?" prompts for destination file names in an editor. + "!" forces overwrite. + + :[range]alink[!] path + create absolute symbolic links to files in directory specified + by the path (absolute or relative to directory of inactive + view). + + :[range]alink[!] name1 name2... + create absolute symbolic links of files in directory of other + view giving each next link a corresponding name from the + argument list. + + :apropos + + :apropos keyword... + create a menu of items returned by the apropos command. + Selecting an item in the menu opens corresponding man page. By + default the command relies on the external "apropos" utility, + which can be customized by altering value of the 'aproposprg' + option. See "Menus and dialogs" section for controls. + + :autocmd + + :au[tocmd] {event} {pat} {cmd} + register autocommand for the {event}, which can be: + - DirEnter - triggered after directory is changed + Event name is case insensitive. + + {pat} is a comma-separated list of modified globs patterns, + which can contain tilde or environment variables. All paths use + slash ('/') as directory separator. The pattern can start with + a '!', which negates it. Patterns that do not contain slashes + are matched against the last item of the path only (e.g. "dir" + in "/path/dir"). Literal comma can be entered by doubling it. + Two modifications to globs matching are as follows: + - * - never matches a slash (i.e., can signify single + directory level) + - ** - matches any character (i.e., can match path of + arbitrary depth) + + {cmd} is a :command or several of them separated with '|'. + + Examples of patterns: + - conf.d - matches conf.d directory anywhere + - *.d - matches directories ending with ".d" anywhere + - **.git - matches something.git, but not .git anywhere + - **/.git/** - matches /path/.git/objects, but not /path/.git + - **/.git/**/ - matches /path/.git/ only (because of trailing + slash) + - /etc/* - matches /etc/conf.d/, /etc/X11, but not + /etc/X11/fs + - /etc/**/*.d - matches /etc/conf.d, /etc/X11/conf.d, etc. + - /etc/**/* - matches /etc/ itself and any file below it + - /etc/**/** - matches /etc/ itself and any file below it + + :au[tocmd] [{event}] [{pat}] + list those autocommands that match given event-pattern + combination. + {event} and {pat} can be omitted to list all autocommands. To + list any autocommands for specific pattern one can use * + placeholder in place of {event}. + + :au[tocmd]! [{event}] [{pat}] + remove autocommands that match given event-pattern combination. + Syntax is the same as for listing above. + + :apropos + repeat last :apropos command. + + :bmark + + :bmark tag1 [tag2 [tag3...]] + bookmark current directory with specified tags. + + :bmark! path tag1 [tag2 [tag3...]] + same as :bmark, but allows bookmarking specific path instead of + current directory. This is for use in vifmrc and for + bookmarking files. + + Path can contain macros that expand to single path (%c, %C, %d, + %D) or those that can expand to multiple paths, but contain only + one (%f, %F, %rx). The latter is done for convenience on using + the command interactively. Complex macros that include spaces + (e.g. "%c:gs/ /_") should be escaped. + + :bmarks + + :bmarks + display all bookmarks in a menu. + + :bmarks [tag1 [tag2...]] + display menu of bookmarks that include all of the specified + tags. See "Menus and dialogs" section for controls. + + :bmgo + + :bmgo [tag1 [tag2...]] + when there are more than one match acts exactly like :bmarks, + otherwise navigates to single match immediately (and fails if + there is no match). + + :cabbrev + + :ca[bbrev] + display menu of command-line mode abbreviations. See "Menus and + dialogs" section for controls. + + :ca[bbrev] lhs-prefix + display command-line mode abbreviations which left-hand side + starts with specified prefix. + + :ca[bbrev] lhs rhs + register new or overwrites existing abbreviation for command- + line mode. rhs can contain spaces and any special sequences + accepted in rhs of mappings (see "Mappings" section below). + Abbreviations are expanded non-recursively. + + :cnoreabbrev + + :cnorea[bbrev] + display menu of command-line mode abbreviations. See "Menus and + dialogs" section for controls. + + :cnorea[bbrev] lhs-prefix + display command-line mode abbreviations which left-hand side + starts with specified prefix. + + :cnorea[bbrev] lhs rhs + same as :cabbrev, but mappings in rhs are ignored during + expansion. + + :cd + + :cd or :cd ~ or :cd $HOME + change to home directory. + + :cd - go to the last visited directory. + + :cd ~/dir + change directory to ~/dir. + + :cd /curr/dir /other/dir + change directory of the current pane to /curr/dir and directory + of the other pane to /other/dir. Relative paths are assumed to + be relative to directory of current view. Command won't fail if + one of directories is invalid. All forms of the command accept + macros. + + :cd! /dir + same as :cd /dir /dir. + + :cds + + :cds[!] pattern string + navigate to path obtained by substituting first match in current + path. Arguments can include slashes, but starting first + argument with a separator will activate below form of the + command. Specifying "!" changes directory of both panes. + + Available flags: + + - i - ignore case (the 'ignorecase' and 'smartcase' options are not + used) + + - I - don't ignore case (the 'ignorecase' and 'smartcase' options are + not used) + + :cds[!]/pattern/string/[flags] + same as above, but with :substitute-like syntax. Other + punctuation characters can be used as separators. + + :change + + :c[hange] + show a dialog to alter properties of files. + + :chmod + + :[range]chmod + display file attributes (permission on *nix and properties on + Windows) change dialog. + + :[range]chmod[!] arg... + only for *nix + change permissions for files. See `man 1 chmod` for arg format. + "!" means set permissions recursively. + + :chown + + :[range]chown + only for *nix + same as co key in normal mode. + + :[range]chown [user][:][group] + only for *nix + change owner and/or group of files. Operates on directories + recursively. + + :clone + + :[range]clone[!?] + clones files in current directory. With "?" vifm will open vi + to edit file names. "!" forces overwrite. Macros are expanded. + + :[range]clone[!] path + clones files to directory specified with the path (absolute or + relative to current directory). "!" forces overwrite. Macros + are expanded. + + :[range]clone[!] name1 name2... + clones files in current directory giving each next clone a + corresponding name from the argument list. "!" forces + overwrite. Macros are expanded. + + :colorscheme + + :colo[rscheme]? + print current color scheme name on the status bar. + + :colo[rscheme] + display a menu with a list of available color schemes. You can + choose primary color scheme here. It is used for view if no + directory specific colorscheme fits current path. It's also + used to set border color (except view titles) and colors in + menus and dialogs. See "Menus and dialogs" section for + controls. + + :colo[rscheme] color_scheme_name + change primary color scheme to color_scheme_name. In case of + errors (e.g. some colors are not supported by terminal) either + nothing is changed or color scheme is reset to builtin colors to + ensure that TUI is left in a usable state. + + :colo[rscheme] color_scheme_name directory + associate directory with the color scheme. The directory + argument can be either absolute or relative path when + :colorscheme command is executed from command line, but + mandatory should be an absolute path when the command is + executed in scripts loaded at startup (until vifm is completely + loaded). + + :colo[rscheme] color_scheme_name color_scheme_name... + loads the first color scheme in the order given that exists and + is supported by the terminal. If none matches, current one + remains unchanged. For example: + + " use a separate color scheme for panes which are inside FUSE mounts + execute 'colorscheme in-fuse' &fusehome + + :comclear + + :comc[lear] + remove all user defined commands. + + :command + + :com[mand] + display a menu of user commands. See "Menus and dialogs" + section for controls. + + :com[mand] prefix + display user defined commands that start with the prefix. + + :com[mand] name action[ &] + set or redefine a user command. + Use :com[mand]! to overwrite a previously set command of the + same name. Builtin commands can't be redefined. + User commands must start with an upper or lower case letter. + Command name can't contain special symbols except for a single + trailing '?' or '!'. Numbers are allowed provided that they + don't cause parsing ambiguity (no command name prefix that + precedes a digit can match an existing command unless it has a + digit in the same place), for example: + " good + :command mp3 command + " good + :command mp4 command + :command mp3! command + :command mp4? command + " bad + :command mp command + :command mp44 command + " good + :command mp4c command + + User commands are run in a shell by default (see below for + syntax of other options). To run a command in the background + you must mark it as a background command by adding " &" after + the command's action (e.g., `:com rm rm %f &`). + User commands of all kinds have macros expanded in them. See + "Command macros" section for more information. + + :com[mand] name /pattern + set search pattern. + + :com[mand] name =pattern + set local filter value. + + :com[mand] name filter{:filter args} + set file name filter (see :filter command description). For + example: + + " display only audio files + :command onlyaudio filter/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i + " display everything except audio files + :command noaudio filter!/.+.\(mp3|wav|mp3|flac|ogg|m4a|wma|ape\)$/i + + :com[mand] name :commands + set kind of an alias for internal commands (like in a shell). + Passes range given to alias to an aliased command, so running + :%cp after + :command cp :copy %a + equals + :%copy + + :compare + + :compare [byname | bysize | bycontents | listall | listunique | + listdups | ofboth | ofone | groupids | grouppaths | skipempty]... + compare files in one or two views according to the arguments. + The default is "bycontents listall ofboth grouppaths". See + "Compare views" section below for details. Diff structure is + incompatible with alternative representations, so values of + 'lsview' and 'millerview' options are ignored. + + :copen + + :cope[n] + opens menu with contents of the last displayed menu with + navigation to files by default, if any. + + :copy + + :[range]co[py][!?][ &] + copy files to directory of other view. With "?" prompts for + destination file names in an editor. "!" forces overwrite. + + :[range]co[py][!] path[ &] + copy files to directory specified with the path (absolute or + relative to directory of other view). "!" forces overwrite. + + :[range]co[py][!] name1 name2...[ &] + copy files to directory of other view giving each next file a + corresponding name from the argument list. "!" forces + overwrite. + + :cquit + + :cq[uit][!] + same as :quit, but also aborts directory choosing via + --choose-dir (empties output file) and returns non-zero exit + code. + + :cunabbrev + + :cuna[bbrev] lhs + unregister command-line mode abbreviation by its lhs. + + :cuna[bbrev] rhs + unregister command-line mode abbreviation by its rhs, so that + abbreviation could be removed even after expansion. + + :delbmarks + + :delbmarks + remove bookmarks from current directory. + + :delbmarks tag1 [tag2 [tag3...]] + remove set of bookmarks that include all of the specified tags. + + :delbmarks! + remove all bookmarks. + + :delbmarks! path1 [path2 [path3...]] + remove bookmarks of listed paths. + + :delcommand + + :delc[ommand] user_command + remove user defined command named user_command. + + :delete + + :[range]d[elete][!][ &] + delete selected file or files. "!" means complete removal + (omitting trash). + + :[range]d[elete][!] [reg] [count][ &] + delete selected or [count] files to the reg register. "!" means + complete removal (omitting trash). + + :delmarks + + :delm[arks]! + delete all marks. + + :delm[arks] marks ... + delete specified marks, each argument is treated as a set of + marks. + + :delsession + + :delsession + delete specified session if it was stored previously. Deleting + current session doesn't detach it. + + :display + + :di[splay] + display menu with registers content. + + :di[splay] list ... + display the contents of the numbered and named registers that + are mentioned in list (for example "az to display "", "a and "z + content). + + :dirs + + :dirs display directory stack in a menu. See "Menus and dialogs" + section for controls. + + :echo + + :ec[ho] [...] + evaluate each argument as an expression and output them + separated with a space. See help on :let command for a + definition of . + + :edit + + :[range]e[dit] [file...] + open selected or passed file(s) in editor. Macros and + environment variables are expanded. + + :else + + :el[se] + execute commands until next matching :endif if all other + conditions didn't match. See also help on :if and :endif + commands. + + :elseif + + :elsei[f] {expr1} + execute commands until next matching :elseif, :else or :endif if + conditions of previous :if and :elseif branches were evaluated + to zero. See also help on :if and :endif commands. + + :empty + + :empty permanently remove files from all existing non-empty trash + directories (see "Trash directory" section below). Trash + directories which are specified via %r and/or %u also get + deleted completely. Also remove all operations from undolist + that have no sense after :empty and remove all records about + files located inside directories from all registers. Removal is + performed as background task with undetermined amount of work + and can be checked via :jobs menu. + + :endif + + :en[dif] + end conditional block. See also help on :if and :else commands. + + :execute + + :exe[cute] [...] + evaluate each argument as an expression and join results + separated by a space to get a single string which is then + executed as a command-line command. See help on :let command + for a definition of . + + :exit + + :exi[t][!] + same as :quit. + + :file + + :f[ile][ &] + display menu of programs set for the file type of the current + file. " &" forces running associated program in background. + See "Menus and dialogs" section for controls. + + :f[ile] arg[ &] + run associated command that begins with the arg skipping opening + menu. " &" forces running associated program in background. + + :filetype + + :filet[ype] pattern-list [{descr}]def_prog[ &],[{descr}]prog2[ &],... + associate given program list to each of the patterns. + Associated program (command) is used by handlers of l and Enter + keys (and also in the :file menu). If you need to insert comma + into command just double it (",,"). Space followed by an + ampersand as two last characters of a command means running of + the command in the background. Optional description can be + given to each command to ease understanding of what command will + do in the :file menu. Vifm will try the rest of the programs + for an association when the default isn't found. When program + entry doesn't contain any of vifm macros, name of current file + is appended as if program entry ended with %c macro on *nix and + %"c on Windows. On Windows path to executables containing + spaces can (and should be for correct work with such paths) be + double quoted. See "Patterns" section below for pattern + definition and "Selection" section for how selection is handled. + See also "Automatic FUSE mounts" section below. Example for zip + archives and several actions: + + filetype *.zip,*.jar,*.war,*.ear + \ {Mount with fuse-zip} + \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR, + \ {View contents} + \ zip -sf %c | less, + \ {Extract here} + \ tar -xf %c, + + Note that on OS X when `open` is used to call an app, vifm is + unable to check whether that app is actually available. So if + automatic skipping of programs that aren't there is desirable, + `open` should be replaced with an actual command. + + :filet[ype] filename + list (in menu mode) currently registered patterns that match + specified file name. Same as ":filextype filename". + + :filextype + + :filex[type] pattern-list [{ description }] def_program,program2,... + same as :filetype, but this command is ignored if not running in + X. In X :filextype is equal to :filetype. See "Patterns" + section below for pattern definition and "Selection" section for + how selection is handled. See also "Automatic FUSE mounts" + section below. + + For example, consider the following settings (the order might + seem strange, but it's for the demonstration purpose): + + filetype *.html,*.htm + \ {View in lynx} + \ lynx + filextype *.html,*.htm + \ {Open with dwb} + \ dwb %f %i &, + filetype *.html,*.htm + \ {View in links} + \ links + filextype *.html,*.htm + \ {Open with firefox} + \ firefox %f &, + \ {Open with uzbl} + \ uzbl-browser %f %i &, + + If you're using vifm inside a terminal emulator that is running + in graphical environment (when X is used on *nix; always on + Windows), vifm attempts to run application in this order: + + 1. lynx + 2. dwb + 3. links + 4. firefox + 5. uzbl + + If there is no graphical environment (checked by presence of + non-empty $DISPLAY or $WAYLAND_DISPLAY environment variable on + *nix; never happens on Windows), the list will look like: + + 1. lynx + 2. links + + Just as if all :filextype commands were not there. + + The purpose of such differentiation is to allow comfortable use + of vifm with same settings in desktop environment/through remote + connection (SSH)/in native console. + + Note that on OS X $DISPLAY isn't defined unless you define it, + so :filextype should be used only if you set $DISPLAY in some + way. + + :filext[ype] filename + list (in menu mode) currently registered patterns that match + specified file name. Same as ":filetype filename". + + :fileviewer + + :filev[iewer] pattern-list command1,command2,... + register specified list of commands as viewers for each of the + patterns. Viewer is a command which output is captured and + displayed in one of the panes of vifm after pressing "e" or + running :view command. When the command doesn't contain any of + vifm macros, name of current file is appended as if command + ended with %c macro. Comma escaping and missing commands + processing rules as for :filetype apply to this command. See + "Patterns" section below for pattern definition. Supports Lua + handlers. + + Example for zip archives: + + fileviewer *.zip,*.jar,*.war,*.ear zip -sf %c, echo "No zip to preview:" + + :filev[iewer] filename + list (in menu mode) currently registered patterns that match + specified filename. + + :filter + + :filter[!] {pattern} + filter files matching the pattern out of directory listings. + '!' controls state of filter inversion after updating filter + value (see also 'cpoptions' description). Filter is matched + case sensitively on *nix and case insensitively on Windows. See + "File Filters" and "Patterns" sections. + + Example: + + " filter all files ending in .o from the filelist. + :filter /.o$/ + + + :filter[!] {empty-pattern} + same as above, but use last search pattern as pattern value. + + Example: + + :filter //I + + + :filter + reset filter (set it to an empty string) and show all files. + + :filter! + same as :invert. + + :filter? + show information on local, name and auto filters. + + :find + + :[range]fin[d] pattern + display results of find command in the menu. Searches among + selected files if any. Accepts macros. By default the command + relies on the external "find" utility, which can be customized + by altering value of the 'findprg' option. + + :[range]fin[d] -opt... + same as :find above, but user defines all find arguments. + Searches among selected files if any. + + :[range]fin[d] path -opt... + same as :find above, but user defines all find arguments. + Ignores selection and range. + + :[range]fin[d] + repeat last :find command. + + :finish + + :fini[sh] + stop sourcing a script. Can only be used in a vifm script file. + This is a quick way to skip the rest of the file. + + :goto + + :go[to] + change directory if necessary and put specified path under the + cursor. The path should be existing non-root path. Macros and + environment variables are expanded. + + :grep + + :[range]gr[ep][!] pattern + will show results of grep command in the menu. Add "!" to + request inversion of search (look for lines that do not match + pattern). Searches among selected files if any and no range + given. Ignores binary files by default. By default the command + relies on the external "grep" utility, which can be customized + by altering value of the 'grepprg' option. + + :[range]gr[ep][!] -opt... + same as :grep above, but user defines all grep arguments, which + are not escaped. Searches among selected files if any. + + :[range]gr[ep][!] + repeat last :grep command. "!" of this command inverts "!" in + repeated command. + + :help + + :h[elp] + show the help file. + + :h[elp] argument + is the same as using ':h argument' in vim. Use vifm- + to get help on vifm (tab completion works). This form of the + command doesn't work when 'vimhelp' option is off. + + :hideui + + :hideui + hide interface to show previous commands' output. + + :highlight + + :hi[ghlight] + display information about all highlight groups active at the + moment. + + :hi[ghlight] clear + reset all highlighting to builtin defaults and removed all + filename-specific rules. + + :hi[ghlight] clear ( {pat1,pat2,...} | /regexp/ ) + remove specified rule. + + :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/ ) + display information on given highlight group or file name + pattern of color scheme used in the active view. + + :hi[ghlight] ( group-name | {pat1,pat2,...} | /regexp/[iI] ) + cterm=style | ctermfg=color | ctermbg=color | gui=style | guifg=color | + guibg=color + set style (cterm, gui), foreground (ctermfg, guifg) and/or + background (ctermbg, guibg) parameters of highlight group or + file name pattern for color scheme used in the active view. + + All style values as well as color names are case insensitive. + + Available style values (some of them can be combined): + - bold + - underline + - reverse or inverse + - standout + - italic (on unsupported systems becomes reverse) + - combine - add attributes of current group to attributes of the + parent in group hierarchy (see below) instead of replacing them + - none + + Available group-name values: + - Win - color of all windows (views, dialogs, menus) and default color + for their content (e.g. regular files in views) + - AuxWin - color of auxiliary areas of windows + - OtherWin - color of inactive pane + - Border - color of vertical parts of the border + - TabLine - tab line color (for 'tabscope' set to "global") + - TabLineSel - color of the tip of selected tab (regardless of + 'tabscope') + - TopLine - top line color of the other pane + - TopLineSel - top line color of the current pane + - CmdLine - the command line/status bar color + - ErrorMsg - color of error messages in the status bar + - StatusLine - color of the line above the status bar + - JobLine - color of job line that appears above the status line + - WildMenu - color of the wild menu items + - SuggestBox - color of key suggestion box + - CurrLine - line at cursor position in active view + - OtherLine - line at cursor position in inactive view + - OddLine - color of every second entry line in a pane + - LineNr - line number column of views + - Selected - color of selected files + - Directory - color of directories + - Link - color of symbolic links in the views + - BrokenLink - color of broken symbolic links + - HardLink - color of regular files with more than one hard link + - Socket - color of sockets + - Device - color of block and character devices + - Executable - color of executable files + - Fifo - color of fifo pipes + - CmpMismatch - color of mismatched files in side-by-side comparison + by path + - User1..User9 - 9 colors which can be used via %* 'statusline' macro + + Available colors: + - -1 or default or none - default or transparent + - black and lightblack + - red and lightred + - green and lightgreen + - yellow and lightyellow + - blue and lightblue + - magenta and lightmagenta + - cyan and lightcyan + - white and lightwhite + - 0-255 - corresponding colors from 256-color palette (for ctermfg and + ctermbg) + - #rrggbb - direct ("gui", "true", 24-bit) color in hex-notation, each + of the three compontents are in the range 0x00 to 0xff (for guifg and + guibg) + + Light versions of colors are regular colors with bold attribute set + automatically in terminals that have less than 16 colors. So order of + arguments of :highlight command is important and it's better to put + "cterm" in front of others to prevent it from overwriting attributes + set by "ctermfg" or "ctermbg" arguments. + + For convenience of color scheme authors xterm-like names for 256 color + palette is also supported. The mapping is taken from + http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim + Duplicated entries were altered by adding an underscore followed by + numerical suffix. + + 0 Black 86 Aquamarine1 172 Orange3 + 1 Red 87 DarkSlateGray2 173 LightSalmon3_2 + 2 Green 88 DarkRed_2 174 LightPink3 + 3 Yellow 89 DeepPink4_2 175 Pink3 + 4 Blue 90 DarkMagenta 176 Plum3 + 5 Magenta 91 DarkMagenta_2 177 Violet + 6 Cyan 92 DarkViolet 178 Gold3_2 + 7 White 93 Purple 179 LightGoldenrod3 + 8 LightBlack 94 Orange4_2 180 Tan + 9 LightRed 95 LightPink4 181 MistyRose3 + 10 LightGreen 96 Plum4 182 Thistle3 + 11 LightYellow 97 MediumPurple3 183 Plum2 + 12 LightBlue 98 MediumPurple3_2 184 Yellow3_2 + 13 LightMagenta 99 SlateBlue1 185 Khaki3 + 14 LightCyan 100 Yellow4 186 LightGoldenrod2 + 15 LightWhite 101 Wheat4 187 LightYellow3 + 16 Grey0 102 Grey53 188 Grey84 + 17 NavyBlue 103 LightSlateGrey 189 LightSteelBlue1 + 18 DarkBlue 104 MediumPurple 190 Yellow2 + 19 Blue3 105 LightSlateBlue 191 DarkOliveGreen1 + 20 Blue3_2 106 Yellow4_2 192 + DarkOliveGreen1_2 + 21 Blue1 107 DarkOliveGreen3 193 DarkSeaGreen1_2 + 22 DarkGreen 108 DarkSeaGreen 194 Honeydew2 + 23 DeepSkyBlue4 109 LightSkyBlue3 195 LightCyan1 + 24 DeepSkyBlue4_2 110 LightSkyBlue3_2 196 Red1 + 25 DeepSkyBlue4_3 111 SkyBlue2 197 DeepPink2 + 26 DodgerBlue3 112 Chartreuse2_2 198 DeepPink1 + 27 DodgerBlue2 113 DarkOliveGreen3_2 199 DeepPink1_2 + 28 Green4 114 PaleGreen3_2 200 Magenta2_2 + 29 SpringGreen4 115 DarkSeaGreen3 201 Magenta1 + 30 Turquoise4 116 DarkSlateGray3 202 OrangeRed1 + 31 DeepSkyBlue3 117 SkyBlue1 203 IndianRed1 + 32 DeepSkyBlue3_2 118 Chartreuse1 204 IndianRed1_2 + 33 DodgerBlue1 119 LightGreen_2 205 HotPink + 34 Green3 120 LightGreen_3 206 HotPink_2 + 35 SpringGreen3 121 PaleGreen1 207 MediumOrchid1_2 + 36 DarkCyan 122 Aquamarine1_2 208 DarkOrange + 37 LightSeaGreen 123 DarkSlateGray1 209 Salmon1 + 38 DeepSkyBlue2 124 Red3 210 LightCoral + 39 DeepSkyBlue1 125 DeepPink4_3 211 PaleVioletRed1 + 40 Green3_2 126 MediumVioletRed 212 Orchid2 + 41 SpringGreen3_2 127 Magenta3 213 Orchid1 + 42 SpringGreen2 128 DarkViolet_2 214 Orange1 + 43 Cyan3 129 Purple_2 215 SandyBrown + 44 DarkTurquoise 130 DarkOrange3 216 LightSalmon1 + 45 Turquoise2 131 IndianRed 217 LightPink1 + 46 Green1 132 HotPink3 218 Pink1 + 47 SpringGreen2_2 133 MediumOrchid3 219 Plum1 + 48 SpringGreen1 134 MediumOrchid 220 Gold1 + 49 MediumSpringGreen 135 MediumPurple2 221 + LightGoldenrod2_2 + 50 Cyan2 136 DarkGoldenrod 222 + LightGoldenrod2_3 + 51 Cyan1 137 LightSalmon3 223 NavajoWhite1 + 52 DarkRed 138 RosyBrown 224 MistyRose1 + 53 DeepPink4 139 Grey63 225 Thistle1 + 54 Purple4 140 MediumPurple2_2 226 Yellow1 + 55 Purple4_2 141 MediumPurple1 227 LightGoldenrod1 + 56 Purple3 142 Gold3 228 Khaki1 + 57 BlueViolet 143 DarkKhaki 229 Wheat1 + 58 Orange4 144 NavajoWhite3 230 Cornsilk1 + 59 Grey37 145 Grey69 231 Grey100 + 60 MediumPurple4 146 LightSteelBlue3 232 Grey3 + 61 SlateBlue3 147 LightSteelBlue 233 Grey7 + 62 SlateBlue3_2 148 Yellow3 234 Grey11 + 63 RoyalBlue1 149 DarkOliveGreen3_3 235 Grey15 + 64 Chartreuse4 150 DarkSeaGreen3_2 236 Grey19 + 65 DarkSeaGreen4 151 DarkSeaGreen2 237 Grey23 + 66 PaleTurquoise4 152 LightCyan3 238 Grey27 + 67 SteelBlue 153 LightSkyBlue1 239 Grey30 + 68 SteelBlue3 154 GreenYellow 240 Grey35 + 69 CornflowerBlue 155 DarkOliveGreen2 241 Grey39 + 70 Chartreuse3 156 PaleGreen1_2 242 Grey42 + 71 DarkSeaGreen4_2 157 DarkSeaGreen2_2 243 Grey46 + 72 CadetBlue 158 DarkSeaGreen1 244 Grey50 + 73 CadetBlue_2 159 PaleTurquoise1 245 Grey54 + 74 SkyBlue3 160 Red3_2 246 Grey58 + 75 SteelBlue1 161 DeepPink3 247 Grey62 + 76 Chartreuse3_2 162 DeepPink3_2 248 Grey66 + 77 PaleGreen3 163 Magenta3_2 249 Grey70 + 78 SeaGreen3 164 Magenta3_3 250 Grey74 + 79 Aquamarine3 165 Magenta2 251 Grey78 + 80 MediumTurquoise 166 DarkOrange3_2 252 Grey82 + 81 SteelBlue1_2 167 IndianRed_2 253 Grey85 + 82 Chartreuse2 168 HotPink3_2 254 Grey89 + 83 SeaGreen2 169 HotPink2 255 Grey93 + 84 SeaGreen1 170 Orchid + 85 SeaGreen1_2 171 MediumOrchid1 + + There are two colors (foreground and background) and only one bold + attribute. Thus single bold attribute affects both colors when + "reverse" attribute is used in vifm run inside terminal emulator. At + the same time linux native console can handle boldness of foreground + and background colors independently, but for consistency with terminal + emulators this is available only implicitly by using light versions of + colors. This behaviour might be changed in the future. + + Although vifm supports 256 colors in a sense they are supported by UI + drawing library, whether you will be able to use all of them highly + depends on your terminal. To set up terminal properly, make sure that + $TERM in the environment you run vifm is set to name of 256-color + terminal (on *nixes it can also be set via X resources), e.g. + xterm-256color. One can find list of available terminal names by + listing /usr/lib/terminfo/. Number of colors supported by terminal + with current settings can be checked via "tput colors" command. + + In order to use 24-bit colors one needs a terminal that supports them, + corresponding terminfo record (probably ends in "-direct" like in + "xterm-direct") and $TERM pointing to it. When vifm detects direct + color support "cterm*" values are ignored for groups which have at + least one of "gui*" values set, otherwise they are used after + translating via a builtin palette. + + Here is the hierarchy of highlight groups, which you need to know for + using transparency: + JobLine + SuggestBox + StatusLine + WildMenu + User1..User9 + Border + CmdLine + ErrorMsg + Win + OtherWin + AuxWin + OddLine + File name specific highlights + Directory + Link + BrokenLink + HardLink + Socket + Device + Fifo + Executable + Selected + CurrLine + LineNr (in active pane) + OtherLine + LineNr (in inactive pane) + TopLine + TopLineSel + TabLineSel (for pane tabs) + User1..User9 + TabLine + TabLineSel + User1..User9 + + "none" means default terminal color for highlight groups at the first + level of the hierarchy and transparency for all others. + + Here file name specific highlights mean those configured via globs ({}) + or regular expressions (//). At most one of them is applied per file + entry, namely the first that matches file name, hence order of + :highlight commands might be important in certain cases. + + :history + + :his[tory] + display a menu with list of visited directories. See "Menus and + dialogs" section for controls. + + :his[tory] x + x can be: + d[ir] or . show directory history. + c[md] or : show command line history. + s[earch] or / show search history and search forward on l + key. + f[search] or / show search history and search forward on l + key. + b[search] or ? show search history and search backward on l + key. + i[nput] or @ show prompt history (e.g. on one file + renaming). + fi[lter] or = show filter history (see description of the "=" + normal mode command). + See "Menus and dialogs" section for controls. + + :histnext + + :histnext + same as . The main use case for this command is to work + around the common pain point of and being the same + ASCII character: one could alter the terminal emulator settings + to emit, for example, the `F1` keycode when Ctrl-I is pressed, + then `:noremap :histnext` in vifm, add "t" flag to the + 'cpoptions', and thus have both and working as + expected. + + :histprev + + :histprev + same as . + + :if + + :if {expr1} + start conditional block. Commands are executed until next + matching :elseif, :else or :endif command if {expr1} evaluates + to non-zero, otherwise they are ignored. See also help on :else + and :endif commands. + + Example: + + if $TERM == 'screen.linux' + highlight CurrLine ctermfg=lightwhite ctermbg=lightblack + elseif $TERM == 'tmux' + highlight CurrLine cterm=reverse ctermfg=black ctermbg=white + else + highlight CurrLine cterm=bold,reverse ctermfg=black ctermbg=white + endif + + :invert + + :invert [f] + invert file name filter. + + :invert? [f] + show current filter state. + + :invert s + invert selection. + + :invert o + invert sorting order of the primary sorting key. + + :invert? o + show sorting order of the primary sorting key. + + :jobs + + :jobs display menu of current backgrounded processes. See "Menus and + dialogs" section for controls. + + :let + + :let $ENV_VAR = + set an environment variable. Warning: setting environment + variable to an empty string on Windows removes it. + + :let $ENV_VAR .= + append value to environment variable. + + :let &[l:|g:]opt = + sets option value. + + :let &[l:|g:]opt .= + append value to string option. + + :let &[l:|g:]opt += + increasing option value, adding sub-values. + + :let &[l:|g:]opt -= + decreasing option value, removing sub-values. + + Where could be a single-quoted string, double-quoted string, an + environment variable, function call or a concatanation of any of them + in any order using the '.' operator. Any whitespace is ignored. + + :locate + + :locate filename + use "locate" command to create a menu of filenames. Selecting a + file from the menu will reload the current file list in vifm to + show the selected file. By default the command relies on the + external "locate" utility (it's assumed that its database is + already built), which can be customized by altering value of the + 'locateprg' option. See "Menus and dialogs" section for + controls. + + :locate + repeat last :locate command. + + :ls + + :ls lists windows of active terminal multiplexer (only when terminal + multiplexer is used). This is achieved by issuing proper + command for active terminal multiplexer, thus the list is not + handled by vifm. + + :lstrash + + :lstrash + display a menu with list of files in trash. Each element of the + list is original path of a deleted file, thus the list can + contain duplicates. See "Menus and dialogs" section for + controls. + + :mark + + :[range]ma[rk][?] x [/full/path] [filename] + Set mark x (a-zA-Z0-9) at /full/path and filename. By default + current directory is being used. If no filename was given and + /full/path is current directory then last file in [range] is + used. Using of macros is allowed. Question mark will stop + command from overwriting existing marks. + + :marks + + :marks create a pop-up menu of marks. See "Menus and dialogs" section + for controls. + + :marks list ... + display the contents of the marks that are mentioned in list. + + :media + + :media only for *nix + display media management menu. See "Menus and dialogs" section + for controls. See also 'mediaprg' option. + + :messages + + :mes[sages] + shows previously given messages (up to 50). + + :mkdir + + :[line]mkdir[!] dir ... + create directories at specified paths. The [line] can be used + to pick node in a tree-view. "!" means make parent directories + as needed. Macros are expanded. + + :move + + :[range]m[ove][!?][ &] + move files to directory of other view. With "?" prompts for + destination file names in an editor. "!" forces overwrite. + + :[range]m[ove][!] path[ &] + move files to directory specified with the path (absolute or + relative to directory of other view). "!" forces overwrite. + + :[range]m[ove][!] name1 name2...[ &] + move files to directory of other view giving each next file a + corresponding name from the argument list. "!" forces + overwrite. + + :nohlsearch + + :noh[lsearch] + clear selection in current pane. + + :normal + + :norm[al][!] commands + execute normal mode commands. If "!" is used, user defined + mappings are ignored. Unfinished last command is aborted as if + or was typed. A ":" should be completed as well. + Commands can't start with a space, so put a count of 1 (one) + before it. + + :only + + :on[ly] + switch to a one window view. + + :plugin + + :plugin load + loads all plugins. To be used in configuration file to manually + load plugins at an earlier point. The plugins can be loaded + only once, additional calls will do nothing. + + :plugin blacklist {plugin} + adds {plugin} to the list of plugins to be ignored. + + :plugin whitelist {plugin} + adds {plugin} to the list of plugins to be loaded while ignoring + all other plugins. This list should normally be empty. + + :plugins + + :plugins + open plugins menu. See "Menus and dialogs" section for + controls. + + :popd + + :popd remove pane directories from stack. + + :pushd + + :pushd[!] /curr/dir [/other/dir] + add pane directories to stack and process arguments like :cd + command. + + :pushd exchange the top two items of the directory stack. + + :put + + :[line]pu[t][!] [reg] [ &] + put files from specified register (" by default) into current + directory. The [line] can be used to pick node in a tree-view. + "!" moves files "!" moves files from their original location + instead of copying them. During this operation no confirmation + dialogs will be shown, all checks are performed beforehand. + + :pwd + + :pw[d] show the present working directory. + + :qall + + :qa[ll][!] + exit vifm (add ! to skip saving changes and checking for active + backgrounded commands). + + :quit + + :q[uit][!] + if there is more than one tab, close the current one, otherwise + exit vifm (add ! to skip saving state and checking for active + backgrounded commands). + + :redraw + + :redr[aw] + redraw the screen immediately. + + :registers + + :reg[isters] + display menu with registers content. + + :reg[isters] list ... + display the contents of the numbered and named registers that + are mentioned in list (for example "az to display "", "a and "z + content). + + :regular + + :regular + + switch to regular view leaving custom view. + :rename + + :[range]rename[!] + rename files by editing their names in an editor. "!" renames + files recursively in subdirectories. See "External Renaming" + section. + + :[range]rename name1 name2... + rename each of selected files to a corresponding name. + + :restart + + :restart + free a lot of things (histories, commands, etc.), reread + vifminfo, vifmrc and session files and run startup commands + passed in the argument list, thus losing all unsaved changes + (e.g. recent history or keys mapped after starting this + instance). Session that wasn't yet stored gets reset. + + While many things get reset, some basic UI state and current + locations are preserved, including tabs. + + :restart full + variation of :restart that makes no attempt to preserve + anything. + + :restore + + :[range]restore + restore file from trash directory, doesn't work outside one of + trash directories. See "Trash directory" section below. + + :rlink + + :[range]rlink[!?] + create relative symbolic links to files in directory of other + view. With "?" prompts for destination file names in an editor. + "!" forces overwrite. + + :[range]rlink[!] path + create relative symbolic links of files in directory specified + with the path (absolute or relative to directory of other view). + "!" forces overwrite. + + :[range]rlink[!] name1 name2... + create relative symbolic links of files in directory of other + view giving each next link a corresponding name from the + argument list. "!" forces overwrite. + + :screen + + :screen + toggle whether to use the terminal multiplexer or not. + A terminal multiplexer uses pseudo terminals to allow multiple + windows to be used in the console or in a single xterm. + Starting vifm from terminal multiplexer with appropriate support + turned on will cause vifm to open a new terminal multiplexer + window for each new file edited or program launched from vifm. + This requires screen version 3.9.9 or newer for the screen -X + argument or tmux (1.8 version or newer is recommended). + + :screen! + enable integration with terminal multiplexers. + + :screen? + display whether integration with terminal multiplexers is + enabled. + + Note: the command is called screen for historical reasons (when tmux + wasn't yet supported) and might be changed in future releases, or get + an alias. + + :select + + :[range]select + select files in the given range (current file if no range is + given). + + :select {pattern} + select files that match specified pattern. Possible {pattern} + forms are described in "Patterns" section below. Trailing slash + for directories is taken into account, so `:select! */ | invert + s` selects only files. + + :select //[iI] + same as item above, but reuses last search pattern. + + :select !{external command} + select files from the list supplied by external command. Files + are matched by full paths, relative paths are converted to + absolute ones beforehand. + + :[range]select! [{pattern}] + same as above, but resets previously selected items before + proceeding. + + :session + + :session? + print name of the current session. + + :session + detach current session without saving it. Resets v:session. + + :session name + create or load and switch to a session with the specified name. + Name can't contain slashes. Session active at the moment is + saved before the switch. Session is also automatically saved + when quiting the application in usual ways. Sets v:session. + + :set + + :se[t] display all options that differ from their default value. + + :se[t] all + display all options. + + :se[t] opt1=val1 opt2='val2' opt3="val3" ... + sets given options. For local options both values are set. + You can use following syntax: + - for all options - option, option? and option& + - for boolean options - nooption, invoption and option! + - for integer options - option=x, option+=x and option-=x + - for string options - option=x and option+=x + - for string list options - option=x, option+=x, option-=x and + option^=x + - for enumeration options - option=x, option+=x and option-=x + - for set options - option=x, option+=x, option-=x and + option^=x + - for charset options - option=x, option+=x, option-=x and + option^=x + + the meaning: + - option - turn option on (for boolean) or print its value (for + all others) + - nooption - turn option off + - invoption - invert option state + - option! - invert option state + - option? - print option value + - option& - reset option to its default value + - option=x or option:x - set option to x + - option+=x - add/append x to option + - option-=x - remove (or subtract) x from option + - option^=x - toggle x presence among values of the option + + Option name can be prepended and appended by any number of + whitespace characters. + + :setglobal + + :setg[lobal] + display all global options that differ from their default value. + + :setg[lobal] all + display all global options. + + :setg[lobal] opt1=val1 opt2='val2' opt3="val3" ... + same as :set, but changes/prints only global options or global + values of local options. Changes to the latter might be not + visible until directory is changed. + + :setlocal + + :setl[ocal] + display all local options that differ from their default value. + + :setl[ocal] all + display all local options. + + :setl[ocal] opt1=val1 opt2='val2' opt3="val3" ... + same as :set, but changes/prints only local values of local + options. + + :shell + + :sh[ell][!] + start a shell in current directory. "!" suppresses spawning + dedicated window of terminal multiplexer for a shell. To make + vifm adaptive to environment it uses $SHELL if it's defined, + otherwise 'shell' value is used. + + + :siblnext + + :[count]siblnext[!] + + change directory to [count]th next sibling directory after + current path using value of global sort option of current pane. + "!" enables wrapping. + + For example, say, you're at /boot and root listing starts like + this: + + bin/ + boot/ + dev/ + ... + + Issuing :siblnext will navigate to /dev. + + + :siblprev + + :[count]siblprev[!] + same as :siblnext, but in the opposite direction. + + :sort + + :sor[t] + display dialog with different sorting methods, where one can + select the primary sorting key. When 'viewcolumns' options is + empty and 'lsview' is off, changing primary sorting key will + also affect view look (in particular the second column of the + view will be changed). See "Menus and dialogs" section for + controls. + + :source + + :so[urce] file + read command-line commands from the file. + + :split + + :sp[lit] + switch to a two window horizontal view. + + :sp[lit]! + toggle horizontal window splitting. + + :sp[lit] path + splits the window horizontally to show both file directories. + Also changes other pane to path (absolute or relative to current + directory of active pane). + + :stop + + :st[op] + suspend vifm (same as pressing Ctrl-Z). Does nothing if this + instance isn't running in a shell. The command exists to allow + mapping to the action of Ctrl-Z. + + :substitute + + :[range]s[ubstitute]/pattern/string/[flags] + for each file in range replace a match of pattern with string. + + String can contain \0...\9 to link to capture groups (\0 - all match, + \1 - first group, etc.). + + Pattern is stored in search history. + + Available flags: + + - i - ignore case (the 'ignorecase' and 'smartcase' options are not + used) + + - I - don't ignore case (the 'ignorecase' and 'smartcase' options are + not used) + + - g - substitute all matches in each file name (each g toggles this) + + :[range]s[ubstitute]/pattern + substitute pattern with an empty string. + + :[range]s[ubstitute]//string/[flags] + use last pattern from search history. + + :[range]s[ubstitute] + repeat previous substitution command. + + :sync + + :sync [relative path] + change the other pane to the current pane directory or to some + path relative to the current directory. Using macros is + allowed. + + :sync! change the other pane to the current pane directory and + synchronize cursor position. If current pane displays custom + list of files, position before entering it is used (current one + might not make any sense). + + + :sync! [location | cursorpos | localopts | filters | filelist | tree | + all]... + change enumerated properties of the other pane to match + corresponding properties of the current pane. Arguments have + the following meanings: + + - location - current directory of the pane; + + - cursorpos - cursor position (doesn't make sense without + "location"); + + - localopts - all local options; + + - filters - all filters; + + - filelist - list of files for custom view (implies + "location"); + + - tree - tree structure for tree view (implies "location"); + + - all - all of the above. + + :tabclose + + :tabc[lose] + close current tab, unless it's the only one open at current + scope. + + :tabmove + + :tabm[ove] [N] + without the argument or with `$` as the argument, current tab + becomes the last tab. With the argument, current tab is moved + after the tab with the specified number. Argument of `0` moves + current tab to the first position. + + :tabname + + :tabname [name] + set, update or reset (when no argument is provided) name of the + current tab. + + :tabnew + + :tabnew [path] + create new tab. Accepts optional path for the new tab. Macros + and environment variables are expanded. + + :tabnext + + :tabn[ext] + switch to the next tab (wrapping around). + + :tabn[ext] {n} + go to the tab number {n}. Tab numeration starts with 1. + + :tabonly + + :tabo[nly] + close all tabs but the current one. Closes pane tabs only at + the active side. + + :tabprevious + + :tabp[revious] + switch to the previous tab (wrapping around). + + :tabp[revious] {n} + go to the {n}-th previous tab. Note that :tabnext handles its + argument differently. + + :touch + + :[line]touch file... + create files at specified paths. Aborts on errors. Doesn't + update time of existing files. The [line] can be used to pick + node in a tree-view. Macros are expanded. + + :tr + + :[range]tr/pattern/string/ + for each file in range transliterate the characters which appear + in pattern to the corresponding character in string. When + string is shorter than pattern, it's padded with its last + character. + + :trashes + + :trashes + lists all valid trash directories in a menu. Only non-empty and + writable trash directories are shown. This is exactly the list + of directories that are cleared when :empty command is executed. + + :trashes? + same as :trashes, but also displays size of each trash + directory. + + :tree + + :tree turn pane into tree view with current directory as its root. + The tree view is implemented on top of a custom view, but is + automatically kept in sync with file system state and considers + all the filters. Thus the structure corresponds to what one + would see on visiting the directories manually. As a special + case for trees built out of custom view file-system tracking + isn't performed. + + To leave tree view go up from its root or use gh at any level of + the tree. Any command that changes directory will also do, in + particular, `:cd ..`. + + Tree structure is incompatible with alternative representations, + so values of 'lsview' and 'millerview' options are ignored. + + The "depth" argument specifies nesting level on which loading of + subdirectories won't happen (they will be folded). Values start + at 1. + + :tree! toggle current view in and out of tree mode. + + :undolist + + :undol[ist] + display list of latest changes. Use "!" to see actual commands. + See "Menus and dialogs" section for controls. + + :unlet + + :unl[et][!] $ENV_VAR1 $ENV_VAR2 ... + remove environment variables. Add ! to omit displaying of + warnings about nonexistent variables. + + :unselect + + :[range]unselect + unselect files in the given range (current file if no range is + given). + + :unselect {pattern} + unselect files that match specified pattern. Possible {pattern} + forms are described in "Patterns" section below. Trailing slash + for directories is taken into account, so `:unselect */` + unselects directories. + + :unselect !{external command} + unselect files from the list supplied by external command. + Files are matched by full paths, relative paths are converted to + absolute ones beforehand. + + :unselect //[iI] + same as item above, but reuses last search pattern. + + :version + + :ve[rsion] + show menu with version information. + + :vifm + + :vifm same as :version. + + :view + + :vie[w] + toggle on and off the quick file view (preview of file's + contents). See also 'quickview' option. + + :vie[w]! + turn on quick file view if it's off. + + :volumes + + :volumes + only for MS-Windows + display menu with volume list. Hitting l (or Enter) key opens + appropriate volume in the current pane. See "Menus and dialogs" + section for controls. + + :vsplit + + :vs[plit] + switch to a two window vertical view. + + :vs[plit]! + toggle window vertical splitting. + + :vs[plit] path + split the window vertically to show both file directories. And + changes other pane to path (absolute or relative to current + directory of active pane). + + :wincmd + + :[count]winc[md] {arg} + same as running Ctrl-W [count] {arg}. + + :windo + + :windo [command...] + execute command for each pane (same as :winrun % command). + + :winrun + + :winrun type [command...] + execute command for pane(s), which is determined by type + argument: + - ^ - top-left pane + - $ - bottom-right pane + - % - all panes + - . - current pane + - , - other pane + + :write + + :w[rite] + write current state to vifminfo and session files (if a session + is active). + + :wq + + :wq[!] same as :quit, but ! disables only the check of backgrounded + commands, while state of the application is always written. + :wqall + + :wqa[ll][!] + same as :qall, but ! disables only the check of backgrounded + commands, while state of the application is always written. + + :xall + + :xa[ll][!] + same as :qall. + + :xit + + :x[it][!] + same as :quit. + + :yank + + :[range]y[ank] [reg] [count] + will yank files to the reg register. + + :map lhs rhs + + :map lhs rhs + map lhs key sequence to rhs in normal and visual modes. + + :map! lhs rhs + map lhs key sequence to rhs in command line mode. + + + :cmap :dmap :mmap :nmap :qmap + :vmap + + :cm[ap] lhs rhs + map lhs to rhs in command line mode. + + :dm[ap] lhs rhs + map lhs to rhs in dialog modes. + + :mm[ap] lhs rhs + map lhs to rhs in menu mode. + + :nm[ap] lhs rhs + map lhs to rhs in normal mode. + + :qm[ap] lhs rhs + map lhs to rhs in view mode. + + :vm[ap] lhs rhs + map lhs to rhs in visual mode. + + + :*map + + :cm[ap] + list all maps in command line mode. + + :dm[ap] + list all maps in dialog modes. + + :mm[ap] + list all maps in menu mode. + + :nm[ap] + list all maps in normal mode. + + :qm[ap] + list all maps in view mode. + + :vm[ap] + list all maps in visual mode. + + :*map beginning + + :cm[ap] beginning + list all maps in command line mode that start with the + beginning. + + :dm[ap] beginning + list all maps in dialog modes that start with the beginning. + + :mm[ap] beginning + list all maps in menu mode that start with the beginning. + + :nm[ap] beginning + list all maps in normal mode that start with the beginning. + + :qm[ap] beginning + list all maps in view mode that start with the beginning. + + :vm[ap] beginning + list all maps in visual mode that start with the beginning. + + :noremap + + :no[remap] lhs rhs + map the key sequence lhs to rhs for normal and visual modes, but + don't expand user mappings in rhs. + + :no[remap]! lhs rhs + map the key sequence lhs to rhs for command line mode, but don't + expand user mappings in rhs. + + :cnoremap :dnoremap :mnoremap :nnoremap :qnoremap + :vnoremap + + :cno[remap] lhs rhs + map the key sequence lhs to rhs for command line mode, but don't + expand user mappings in rhs. + + :dn[oremap] lhs rhs + map the key sequence lhs to rhs for dialog modes, but don't + expand user mappings in rhs. + + :mn[oremap] lhs rhs + map the key sequence lhs to rhs for menu mode, but don't expand + user mappings in rhs. + + :nn[oremap] lhs rhs + map the key sequence lhs to rhs for normal mode, but don't + expand user mappings in rhs. + + :qn[oremap] lhs rhs + map the key sequence lhs to rhs for view mode, but don't expand + user mappings in rhs. + + :vn[oremap] lhs rhs + map the key sequence lhs to rhs for visual mode, but don't + expand user mappings in rhs. + + :unmap + + :unm[ap] lhs + remove user mapping of lhs from normal and visual modes. + + :unm[ap]! lhs + remove user mapping of lhs from command line mode. + + :cunmap :dunmap :munmap :nunmap :qunmap + :vunmap + + :cu[nmap] lhs + remove user mapping of lhs from command line mode. + + :du[nmap] lhs + remove user mapping of lhs from dialog modes. + + :mu[nmap] lhs + remove user mapping of lhs from menu mode. + + :nun[map] lhs + remove user mapping of lhs from normal mode. + + :qun[map] lhs + remove user mapping of lhs from view mode. + + :vu[nmap] lhs + remove user mapping of lhs from visual mode. + +Ranges + The ranges implemented include: + 2,3 - from second to third file in the list (including it) + % - the entire directory. + . - the current position in the filelist. + $ - the end of the filelist. + 't - the mark position t. + + Examples: + + :%delete + + would delete all files in the directory. + + :2,4delete + + would delete the files in the list positions 2 through 4. + + :.,$delete + + would delete the files from the current position to the end of the + filelist. + + :3delete4 + + would delete the files in the list positions 3, 4, 5, 6. + + If a backward range is given :4,2delete - an query message is given and + user can chose what to do next. + + The builtin commands that accept a range are :d[elete] and :y[ank]. + +Command macros + The command macros may be used in user commands. + + %a User arguments. When user arguments contain macros, they are + expanded before preforming substitution of %a. + + %c %"c The current file under the cursor. + + %C %"C The current file under the cursor in the other directory. + + %f %"f All of the selected files, but see "Selection" section below. + + %F %"F All of the selected files in the other directory list, but see + "Selection" section below. + + %b %"b Same as %f %F. + + %d %"d Full path to current directory. + + %D %"D Full path to other file list directory. + + %rx %"rx + Full paths to files in the register {x}. In case of invalid + symbol in place of {x}, it's processed with the rest of the line + and default register is used. + + %m Show command output in a menu. + + %M Same as %m, but l (or Enter) key is handled like for :locate and + :find commands. + + %u Process command output as list of paths and compose custom view + out of it. + + %U Same as %u, but implies less list updates inside vifm, which is + absence of sorting at the moment. + + %Iu Same as %u, but gives up terminal before running external + command. + + %IU Same as %U, but gives up terminal before running external + command. + + %S Show command output in the status bar. + + %q Redirect command output to quick view, which is activated if + disabled. + + %s Execute command in horizontally split window of active terminal + multiplexer (ignored if not running inside one). + + %v Same as %s, but splits vertically. + + %n Forbid use of terminal multiplexer to run the command. + + %i Completely ignore command output. For background jobs this + suppresses error dialogs, while still storing errors internally + for viewing via :jobs menu. + + %Pl Pipe list of files to standard input of a command. + + %Pz Same as %Pz, but separates paths by null ('\0') character. + + %pc Marks the end of the main command and the beginning of the clear + command for graphical preview, which is invoked on closing + preview of a file. + + %pd Marks a preview command as one that directly communicates with + the terminal. Beware that this is for things like sixel which + are self-contained sequences that depend only on current cursor + position, using this with anything else is likely to mangle + terminal state. + + The following dimensions and coordinates are in characters: + + %px x coordinate of top-left corner of preview area. + + %py y coordinate of top-left corner of preview area. + + %pw width of preview area. + + %ph height of preview area. + + + Use %% if you need to put a percent sign in your command. + + Note that %i, %Iu, %IU, %m, %M, %n, %q, %s, %S, %u, %U and %v macros + are mutually exclusive. Only the last one of them on the command will + take effect. + + Note that %Pl and %Pz are mutually exclusive. Only the last one of + them on the command will take effect. + + You can use file name modifiers after %c, %C, %f, %F, %b, %d and %D + macros. Supported modifiers are: + + - :p - full path + + - :u - UNC name of path (e.g. "\\server" in + "\\server\share"), Windows only. Expands to current computer name + for not UNC paths. + + - :~ - relative to the home directory + + - :. - relative to current directory + + - :h - head of the file name + + - :t - tail of the file name + + - :r - root of the file name (without last extension) + + - :e - extension of the file name (last one) + + - :s?pat?sub? - substitute the first occurrence of pat with sub. + You can use any character for '?', but it must not occur in pat or + sub. + + - :gs?pat?sub? - like :s, but substitutes all occurrences of pat with + sub. + + See ':h filename-modifiers' in Vim's documentation for the detailed + description. + + Using %x means expand corresponding macro escaping all characters that + have special meaning. And %"x means using of double quotes and escape + only backslash and double quote characters, which is more useful on + Windows systems. + + Position and quantity (if there is any) of %m, %M, %S or %s macros in + the command is unimportant. All their occurrences are removed from the + resulting command. + + %c and %f macros are expanded to file names only, when %C and %F are + expanded to full paths. %f and %F follow this in %b too. + + :com move mv %f %D + set the :move command to move all of the files selected in the + current directory to the other directory. + + The %a macro is replaced with any arguments given to an alias command. + All arguments are considered optional. + :com lsl !!ls -l %a - set the lsl command to execute ls -l with + or without an argument. + + :lsl + will list the directory contents of the current directory. + + :lsl filename + will list only the given filename. + + The macros can also be used in directly executing commands. ":!mv %f + %D" would move the current directory selected files to the other + directory. + + Appending & to the end of a command causes it to be executed in the + background. Typically you want to run two kinds of external commands + in the background: + + - GUI applications that doesn't fork thus block vifm (:!sxiv %f &); + + - console tools that do not work with terminal (:!mv %f %D &). + + You don't want to run terminal commands, which require terminal input + or output something in background because they will mess up vifm's TUI. + Anyway, if you did run such a command, you can use Ctrl-L key to update + vifm's TUI. + + Rewriting the example command with macros given above with + backgrounding: + + %m, %M, %s, %S, %u and %U macros cannot be combined with background + mark (" &") as it doesn't make much sense. + +Command backgrounding + Copy and move operation can take a lot of time to proceed. That's why + vifm supports backgrounding of this two operations. To run :copy, + :move or :delete command in the background just add " &" at the end of + a command. + + For each background operation a new thread is created. Job + cancellation can be requested in the :jobs menu via dd shortcut. + + You can see if command is still running in the :jobs menu. + Backgrounded commands have progress instead of process id at the line + beginning. + + Background operations cannot be undone. + +Cancellation + Note that cancellation works somewhat different on Windows platform due + to different mechanism of break signal propagation. One also might + need to use Ctrl-Break shortcut instead of Ctrl-C. + + There are two types of operations that can be cancelled: + + - file system operations; + + - mounting with FUSE (but not unmounting as it can cause loss of + data); + + - calls of external applications. + + Note that vifm never terminates applications, it sends SIGINT signal + and lets the application quit normally. + + When one of set of operations is cancelled (e.g. copying of 5th file of + 10 files), further operations are cancelled too. In this case undo + history will contain only actually performed operations. + + Cancelled operations are indicated by "(cancelled)" suffix appended to + information message on statusbar. + + File system operations + + Currently the following commands can be cancelled: :alink, :chmod, + :chown, :clone, :copy, :delete, :mkdir, :move, :restore, :rlink, + :touch. File putting (on p/P key) can be cancelled as well. It's not + hard to see that these are mainly long-running operations. + + Cancelling commands when they are repeated for undo/redo operations is + allowed for convenience, but is not recommended as further undo/redo + operations might get blocked by side-effects of partially cancelled + group of operations. + + These commands can't be cancelled: :empty, :rename, :substitute, :tr. + + Mounting with FUSE + + It's not considered to be an error, so only notification on the status + bar is shown. + + External application calls + + Each of this operations can be cancelled: :apropos, :find, :grep, + :locate. + +Selection + If there is a selection, it's stashed before proceeding further unless + file under the cursor is part of that selection. This means that when + macros are expanded for :filetype or :filextype programs, `%f` and `%F` + become equivalent to `%c` and `%C` respectively if current file is not + selected. So you run selection by running one of selected files, + otherwise you're running a single file even if there are other selected + entries. + + When running a selection it must not include broken symbolic links, has + to be consistent and set of file handlers must be compatible. + Consistency means that selection contains either only directories + (including links to them) or only files, but not their mix. + + Compatibility is a more sophisticated check, but it's defined in a + natural way so that you get what you'd expect. The following + properties of selection are taken into account while checking it for + compatibility and deciding how to handle it: + + + 1. If there any files for which handler isn't defined, then all files + are opened using 'vicmd' or 'vixcmd'. + + + 2. If all handlers match the following criteria: + - backgrounded + - include `%c` and/or `%C` + - include neither `%f` nor `%F` + then each file is executed independently of the rest. + + + 3. If all handlers are equal, the common handler is executed. This + handler might ignore selection and process only file under the + cursor. + + + 4. Otherwise, an error is reported, because handlers differ and they + don't support parallel execution. + +Patterns + :highlight, :filetype, :filextype, :fileviewer commands and 'classify' + option support globs, regular expressions and mime types to match file + names or their paths. + + There are six possible ways to write a single pattern: + + 1. [!]{comma-separated-name-globs} + + 2. [!]{{comma-separated-path-globs}} + + 3. [!]/name-regular-expression/[iI] + + 4. [!]//path-regular-expression//[iI] + + 5. [!] + + 6. undecorated-pattern + + First five forms can include leading exclamation mark that negates + pattern matching. + + The last form is implicitly refers to one of others. :highlight does + not accept undecorated form, while :filetype, :filextype, :fileviewer, + :select, :unselect and 'classify' treat it as list of name globs. + + Path patterns receive absolute path of the file that includes its name + component as well. + + To combine several patterns (AND them), make sure you're using one of + the first five forms and write patterns one after another, like this: + {*.vifm} + Mind that if you make a mistake the whole string will be treated as the + sixth form. + + :filetype, :filextype and :fileviewer commands accept comma-separated + list of patterns instead of a single pattern, thus effectively handling + OR operation on them: + {*.vifm},{*.pdf} + Forms that accept comma-separated lists of patterns also process them + as lists of alternatives. + + Patterns with regular expressions + + Regular expression patterns are case insensitive by default, see + description of commands, which might override default behaviour. + + Flags of regular expressions mean the following: + - "i" makes filter case insensitive; + - "I" makes filter case sensitive. They can be repeated multiple + times, but the later one takes precedence (e.g. "iiiI" is equivalent + to "I" and "IiIi" is the same as "i"). + + There are no implicit `^` or `$`, so make sure to specify them + explicitly if the pattern should match the whole name or path. + + Patterns with globs + + "Globs" section below provides short overview of globs and some + important points that one needs to know about them. + + Patterns with mime-types + + Mime type matching is essentially globs matching applied to mime type + of a file instead of its name/path. Note: mime types aren't detected + on Windows. + + Examples + + Associate `evince` to PDF-files only inside `/home/user/downloads/` + directory (excluding its subdirectories): + + :filextype //^/home/user/downloads/[^/]*.pdf$// evince %f + + +Globs + Globs are always case insensitive as it makes sense in general case. + + `*`, `?`, `[` and `]` are treated as special symbols in the pattern. + E.g. + + :filetype * less %c + + matches all files. One can use character classes for escaping, so + + :filetype [*] less %c + + matches only one file name, the one which contains only asterisk + symbol. + + `*` means any number of any characters (possibly an empty substring), + with one exception: asterisk at the pattern beginning doesn't match dot + in the first position. E.g. + + :fileviewer *.zip,*.jar zip -sf %c + + associates using of `zip` program to preview all files with `zip` or + `jar` extensions as listing of their content, but `.file.zip` won't be + matched. + + `?` means any character at this position. E.g. + + :fileviewer ?.out file %c + + calls `file` tool for all files which have exactly one character before + their extension (e.g. a.out, b.out). + + Square brackets designate character class, which means that whole + character class matches against any of characters listed in it. For + example + + :fileviewer *.[ch] highlight -O xterm256 -s dante --syntax c %c + + makes vifm call `highlight` program to colorize source and header files + in C language for a 256-color terminal. Equal command would be + + :fileviewer *.c,*.h highlight -O xterm256 -s dante --syntax c %c + + + Inside square brackets `^` or `!` can be used for symbol class + negotiation and the `-` symbol to set a range. `^` and `!` should + appear right after the opening square bracket. For example + + :filetype *.[!d]/ inspect_dir + + associates `inspect_dir` as additional handler for all directories that + have one character extension unless it's "d" letter. And + + :filetype [0-9].jpg sxiv + + associates `sxiv` picture viewer only for JPEG-files that contain + single digit in their name. + + If you need to include literal comma, which is normally separates + multiple globs, double it. + +:set options + Local options + These are kind of options that are local to a specific view. So + you can set ascending sorting order for left pane and descending + order for right pane. + + In addition to being local to views, each such option also has + two values: + + - local to current directory (value associated with current + location); + + - global to current directory (value associated with the + pane). + + The idea is that current directory can be made a temporary + exception to regular configuration of the view, until directory + change. Use :setlocal for that. :setglobal changes view value + not affecting settings until directory change. :set applies + changes immediately to all values. + + + 'aproposprg' + type: string + default: "apropos %a" + Specifies format for an external command to be invoked by the + :apropos command. The format supports expanding of macros, + specific for a particular *prg option, and %% sequence for + inserting percent sign literally. This option should include + the %a macro to specify placement of arguments passed to the + :apropos command. If the macro is not used, it will be + implicitly added after a space to the value of this option. + + 'autochpos' + type: boolean + default: true + When disabled vifm will set cursor to the first line in the view + after :cd and :pushd commands instead of saved cursor position. + Disabling this will also make vifm clear information about + cursor position in the view history on :cd and :pushd commands + (and on startup if 'autochpos' is disabled in the vifmrc). l + key in the ":history ." and ":trashes" menus are treated like + :cd command. This option also affects marks so that navigating + to a mark doesn't restore cursor position. + + When this option is enabled, more fine grained control over + cursor position is available via 'histcursor' option. + + 'columns' 'co' + type: integer + default: terminal width on startup + Terminal width in characters. + + 'caseoptions' + type: charset + default: "" + This option gives additional control over case sensitivity by + allowing overriding default behaviour to either always be case + sensitive or always be case insensitive. Possible values form + pairs of lower and upper case letters that configure specific + aspect of behaviour: + p - always ignore case of paths during completion. + P - always match case of paths during completion. + g - always ignore case of characters for f/F/;/,. + G - always match case of characters for f/F/;/,. + + At most one item of each pair takes affect, if both or more are + present, only the last one matters. When none of pair's + elements are present, the behaviour is default (depends on + operating system for path completion and on values of + 'ignorecase' and 'smartcase' options for file navigation). + + 'cdpath' 'cd' + type: string list + default: value of $CDPATH with commas instead of colons + Specifies locations to check on changing directory with relative + path that doesn't start with "./" or "../". When non-empty, + current directory is examined after directories listed in the + option. + + This option doesn't affect completion of :cd command. + + Example: + + set cdpath=~ + + This way ":cd bin" will switch to "~/bin" even if directory + named "bin" exists in current directory, while ":cd ./bin" + command will ignore value of 'cdpath'. + + 'chaselinks' + type: boolean + default: false + When enabled path of view is always resolved to real path (with + all symbolic links expanded). + + 'classify' + type: string list + default: ":dir:/" + Specifies file name prefixes and suffixes depending on file type + or name. The format is either of: + - [{prefix}]:{filetype}:[{suffix}] + - [{prefix}]::{pattern}::[{suffix}] + Possible {pattern} forms are described in "Patterns" section + above. + + Priority rules: + - file name patterns have priority over type patterns + - file name patterns are matched in left-to-right order of + their appearance in this option + + Either {prefix} or {suffix} or both can be omitted (which is the + default for all unspecified file types), this means empty + {prefix} and/or {suffix}. {prefix} and {suffix} should consist + of at most eight characters. Elements are separated by commas. + Neither prefixes nor suffixes are part of file names, so they + don't affect commands which operate on file names in any way. + Comma (',') character can be inserted by doubling it. List of + file type names can be found in the description of filetype() + function. + + 'confirm' 'cf' + type: set + default: delete,permdelete + Defines which operations require confirmation: + - delete - moving files to trash (on d or :delete); + - permdelete - permanent deletion of files (on D or :delete! + command or on undo/redo operation). + + 'cpoptions' 'cpo' + type: charset + default: "fst" + Contains a sequence of single-character flags. Each flag + enables behaviour of older versions of vifm. Flags: + - f - when included, running :filter command results in not + inverted (matching files are filtered out) and :filter! in + inverted (matching files are left) filter, when omitted, meaning + of the exclamation mark changes to the opposite; + - s - when included, yy, dd and DD normal mode commands act on + selection, otherwise they operate on current file only; + - t - when included, (thus ) behave as and + switches active pane, otherwise and go forward in + the view history. It's possible to make both and to + work as expected by setting up the terminal to emit a custom + sequence when is pressed; see :histnext for details. + + 'cvoptions' + type: set + default: + Specifies whether entering/leaving custom views triggers events + that normally happen on entering/leaving directories: + - autocmds - trigger autocommands on entering/leaving custom + views; + - localopts - reset local options on entering/leaving custom + views; + - localfilter - reset local filter on entering/leaving custom + views. + + 'deleteprg' + type: string + default: "" + Specifies program to run on files that are permanently removed. + When empty, files are removed as usual, otherwise this command + is invoked on each file by appending its name. If the command + doesn't remove files, they will remain on the file system. + + 'dirsize' + type: enumeration + default: size + Controls how size of directories is displayed in file views. + The following values are possible: + - size - size of directory (i.e., size used to store list of + files) + - nitems - number of entries in the directory (excluding . and + ..) + + Size obtained via ga/gA overwrites this setting so seeing count + of files and occasionally size of directories is possible. + + 'dotdirs' + type: set + default: nonrootparent,treeleafsparent + Controls displaying of dot directories. The following values + are possible: + - rootparent - show "../" in root directory of file system + - nonrootparent - show "../" in non-root directories of file + system + - treeleafsparent - show "../" in empty directories of tree + view + + Note that empty directories always contain "../" entry + regardless of value of this option. "../" disappears at the + moment at least one file is created. + + 'dotfiles' + type: boolean + default: false + Whether dot files are shown in the view. Can be controlled with + z* bindings. + + 'fastrun' + type: boolean + default: false + With this option turned on you can run partially entered + commands with unambiguous beginning using :! (e.g. :!Te instead + of :!Terminal or :!Te). + + 'fillchars' 'fcs' + type: string list + default: "" + Sets characters used to fill borders. + + item default used for + vborder:c ' ' left, middle and right vertical + borders + + If value is omitted, its default value is used. Example: + + set fillchars=vborder:. + + 'findprg' + type: string + default: "find %s %a -print , -type d \( ! -readable -o ! + -executable \) -prune" + Specifies format for an external command to be invoked by the + :find command. The format supports expansion of macros specific + for this particular option and %% sequence for inserting percent + sign literally. The macros are: + + macro value/meaning + %s literal arguments of :find or + list of paths to search in + + %A empty or + literal arguments of :find + %a empty or + literal arguments of :find or + predicate followed by escaped arguments of :find + %p empty or + literal arguments of :find or + escaped arguments (parameters) of :find + + %u redirect output to custom view instead of showing a + menu + %U redirect output to unsorted custom view instead of + showing a menu + + Predicate in %a is "-name" on *nix and "-iname" on Windows. + + If both %u and %U are specified, %U is chosen. + + Some macros can be added implicitly: + - if %s isn't present, it's appended + - if neither of %a, %A and %p is present, %a is appended + - if neither of %s, %a, %A and %p is present, %s and %a are + appended in this order + + The macros slightly change their meaning depending on format of + :find's arguments: + - if the first argument points to an existing directory, %s is + assigned all arguments while %a, %A and %p are left empty + - otherwise: + - %s is assigned a dot (".") meaning current directory or + list of selected file names, if any + - %a, %A and %p are assigned literal arguments when first + argument starts with a dash ("-"), otherwise %a gets an escaped + version of the arguments with a predicate and %p contains + escaped version of the arguments + + Starting with Windows Server 2003 a `where` command is + available. One can configure vifm to use it in the following + way: + + set findprg="where /R %s %A" + + As the syntax of this command is rather limited, one can't use + :find command with selection of more than one item because the + command ignores all directory paths except for the last one. + + When using find port on Windows, another option is to setup + 'findprg' like this: + + set findprg="find %s %a" + + + 'followlinks' + type: boolean + default: true + Follow links on l or Enter. That is navigate to destination + file instead of treating the link as if it were target file. + Doesn't affects links to directories, which are always entered + (use gf key for directories). + + 'fusehome' + type: string + default: "($XDG_DATA_HOME/.local/share | $VIFM)/fuse/" + Directory to be used as a root dir for FUSE mounts. Value of + the option can contain environment variables (in form + "$envname"), which will be expanded (prepend it with a slash to + prevent expansion). The value should expand to an absolute + path. + + If you change this option, vifm won't remount anything. It + affects future mounts only. See "Automatic FUSE mounts" section + below for more information. + + 'gdefault' 'gd' + type: boolean + default: false + When on, 'g' flag is on for :substitute by default. + + 'grepprg' + type: string + default: "grep -n -H -I -r %i %a %s" + Specifies format for an external command to be invoked by the + :grep command. The format supports expanding of macros, + specific for a particular *prg option, and %% sequence for + inserting percent sign literally. This option should include + the %i macro to specify placement of "-v" string when inversion + of results is requested, %a or %A macro to specify placement of + arguments passed to the :grep command and the %s macro to + specify placement of list of files to search in. If some of the + macros are not used, they will be implicitly added after a space + to the value of the 'grepprg' option in the following order: %i, + %a, %s. Note that when neither %a nor %A are specified, it's %a + which is added implicitly. + + Optional %u or %U macro could be used (if both specified %U is + chosen) to force redirection to custom or unsorted custom view + respectively. + + See 'findprg' option for description of difference between %a + and %A. + + Example of setup to use ack (http://beyondgrep.com/) instead of + grep: + + set grepprg='ack -H -r %i %a %s' + + or The Silver Searcher + (https://github.com/ggreer/the_silver_searcher): + + set grepprg='ag --line-numbers %i %a %s' + + + + 'histcursor' + type: set + default: startup,dirmark,direnter + Defines situations when cursor should be moved according to + directory history: + - startup - on loading file lists during startup + - dirmark - after navigating to a mark that doesn't specify + file + - direnter - on opening directory from a file list + + This option has no effect when 'autochpos' is disabled. + + Note that the list is not exhaustive and there are other + situations when cursor is positioned automatically. + + 'history' 'hi' + type: integer + default: 15 + Maximum number of stored items in all histories. + + 'hlsearch' 'hls' + type: boolean + default: true + Automatically select files that are search matches. + + 'iec' type: boolean + default: false + Use KiB, MiB, ... suffixes instead of K, M, ... when printing + size in human-friendly format. + + 'ignorecase' 'ic' + type: boolean + default: false + Ignore case in search patterns (:substitute, / and ? commands), + local filter (but not the rest of filters) and other things + detailed in the description of 'caseoptions'. + + 'incsearch' 'is' + type: boolean + default: false + When this option is set, search and view update for local filter + is be performed starting from initial cursor position each time + search pattern is changed. + + 'iooptions' + type: set + default: + Controls details of file operations. The following values are + available: + - fastfilecloning - perform fast file cloning (copy-on-write), + when available + (available on Linux and btrfs file system). + + 'laststatus' 'ls' + type: boolean + default: true + Controls if status bar is visible. + + 'lines' + type: integer + default: terminal height on startup + Terminal height in lines. + + 'locateprg' + type: string + default: "locate %a" + Specifies format for an external command to be invoked by the + :locate command. The format supports expanding of macros, + specific for a particular *prg option, and %% sequence for + inserting percent sign literally. This option should include + the %a macro to specify placement of arguments passed to the + :locate command. If the macro is not used, it will be + implicitly added after a space to the value of this option. + + Optional %u or %U macro could be used (if both specified %U is + chosen) to force redirection to custom or unsorted custom view + respectively. + + 'mediaprg' + type: string + default: path to bundled script that supports udevil, udisks and + udisks2 + (using udisks2 requires python with dbus module + installed) + OS X: path points to a python script that uses diskutil + {only for *nix} + Specifies command to be used to manage media devices. Used by + :media command. + + The command can be passed the following parameters: + - list -- list media + - mount {device} -- mount a device + - unmount {path} -- unmount given mount point + + The output of `list` subcommand is parsed in search of lines + that start with one of the following prefixes: + - device= - specifies device path (e.g., "/dev/sde") + - label= - specifies optional device label (e.g., "Memory + card") + - info= - specifies arbitrary text to display next to + device (by + default "[label]" is used, if label is + provided) + - mount-point= - specifies a mount point (can be absent or + appear more than once) + + All other lines are ignored. Each `device=` starts a new + section describing a device which should include two other + possible prefixes. + + `list` subcommand is assumed to always succeed, while exit code + of `mount` and `unmount` is taken into account to determine + whether operation was performed successfully. + + 'lsoptions' + type: string list + default: "" + scope: local + + Configures ls-like view. + + item used for + transposed filling view grid by columns rather than by + lines + + + 'lsview' + type: boolean + default: false + scope: local + When this option is set, directory view will be displayed in + multiple columns with file names similar to output of `ls -x` + command. See "ls-like view" section below for format + description. This option has no effect if 'millerview' is on. + + 'milleroptions' + type: string list + default: "lsize:1,csize:1,rsize:1,rpreview:dirs" + scope: local + + Configures miller view. + + item default used for + lsize:num 0 left column + csize:num 1 center column (can't be disabled) + rsize:num 0 right column + rpreview:str dirs right column + + *size specifies ratios of columns. Each ratio is in the range + from 0 to 100 and values are adjusted to fit the limits. Zero + disables a column, but central (main) column can't be disabled. + + rpreview specifies what file-system objects should be previewed + in the right column and can take two values: dirs (only + directories) or all. Both options don't include parent + directory (".."). + + Example of two-column mode which is useful in combination with + :view command: + + set milleroptions=lsize:1,csize:2 + + + 'millerview' + type: boolean + default: false + scope: local + When this option is set, directory view will be displayed in + multiple cascading columns. Ignores 'lsview'. + + 'mintimeoutlen' + type: integer + default: 150 + The fracture of 'timeoutlen' in milliseconds that is waited + between subsequent input polls, which affects various + asynchronous operations (detecting changes made by external + applications, monitoring background jobs, redrawing UI). There + are no strict guarantees, however the higher this value is, the + less is CPU load in idle mode. + + 'number' 'nu' + type: boolean + default: false + scope: local + Print line number in front of each file name when 'lsview' + option is turned off. Use 'numberwidth' to control width of + line number. Also see 'relativenumber'. + + 'numberwidth' 'nuw' + type: integer + default: 4 + scope: local + Minimal number of characters for line number field. + + 'previewoptions' + type: string list + default: "graphicsdelay:50000" + + Tweaks how previewing is done (in quick view, miller view's + column and view mode). + + item default meaning + graphicsdelay:num 0 delay before drawing graphics + (microseconds) + hardgraphicsclear unset redraw screen to get rid of + graphics + toptreestats unset show file counts before the tree + + graphicsdelay is needed if terminal requires some timeout before + it can draw graphics (otherwise it gets lost). + + hardgraphicsclear seems to be necessary to get rid of sixel + graphics in some terminals, where it otherwise lingers. This + can cause flicker on the screen due to erasure followed by + redrawing. + + 'previewprg' + type: string + default: "" + scope: local + + External command to be used instead of preview programs + configured via :fileviewer command. + + Example: + + " always show git log in preview of files inside some repository + au DirEnter '~/git-repo/**/*' setl previewprg='git log --color -- %c 2>&1' + + 'quickview' + type: boolean + default: false + Whether quick view (:view) is currently active or not. + + 'relativenumber' 'rnu' + type: boolean + default: false + scope: local + Print relative line number in front of each file name when + 'lsview' option is turned off. Use 'numberwidth' to control + width of line number. Various combinations of 'number' and + 'relativenumber' lead to such results: + + nonumber number + + norelativenumber | first | 1 first + | second | 2 second + | third | 3 third + + relativenumber | 1 first | 1 first + | 0 second |2 second + | 1 third | 1 third + + + 'rulerformat' 'ruf' + type: string + default: "%l/%S " + Determines the content of the ruler. Its minimal width is 13 + characters and it's right aligned. Following macros are + supported: + %= - separation point between left and right aligned halves of + the line + %l - file number + %L - total number of files in view (including filtered out + ones) + %x - number of files excluded by filters + %0- - old name for %x macro + %P - percentage through file list (All, Top, xx% or Bot), + always 3 in length + %S - number of displayed files + %= - separation point between left and right align items + %% - literal percent sign + %[ - designates beginning of an optional block + %] - designates end of an optional block + + Percent sign can be followed by optional minimum field width. + Add '-' before minimum field width if you want field to be right + aligned. + + Optional blocks are ignored unless at least one macro inside of + them is expanded to a non-empty value. + + Example: + + set rulerformat='%2l-%S%[ +%x%]' + + 'runexec' + type: boolean + default: false + Run executable file on Enter, l or Right Arrow key. Behaviour + of the last two depends on the value of the 'lsview' option. + + 'scrollbind' 'scb' + type: boolean + default: false + When this option is set, vifm will try to keep difference of + scrolling positions of two windows constant. + + 'scrolloff' 'so' + type: integer + default: 0 + Minimal number of screen lines to keep above and below the + cursor. If you want cursor line to always be in the middle of + the view (except at the beginning or end of the file list), set + this option to some large value (e.g. 999). + + 'sessionoptions' 'ssop' + sessionoptions ssop + type: set + default: tui,state,tabs,savedirs,dhistory + An equivalent of 'vifminfo' for sessions, uses the same values. + When both options include the same value, data from session file + has higher priority (data from vifminfo isn't necessarily + completely discarded, instead it's merged with the state of a + session the same way state of multiple instances is merged on + exit). + + 'shell' 'sh' + type: string + default: $SHELL or "/bin/sh" or "cmd" (on MS-Windows) + Full path to the shell to use to run external commands. On *nix + a shell argument can be supplied. + + 'shellcmdflag' 'shcf' + type: string + default: "-c" or "/C" (for cmd.exe on MS-Windows) + Command-line option used to pass a command to 'shell'. It's + used in contexts where command comes from the user. + + Note that using this option to force interactive mode of the + shell is most likely a BAD IDEA. In general interactive host + and interactive child shell can't share the same terminal + session. You can't even run such a shell in background. + Consider writing a wrapper for your shell that preloads aliases + and commands without making the shell interactive and ending up + using it in a way it was not meant to be used. + + Note that this option is ignored when 'shell' is set to + PowerShell due to the internal use of `-encodedCommand`. + + 'shortmess' 'shm' + type: charset + default: "p" + Contains a sequence of single-character flags. Each flag + enables shortening of some message displayed by vifm in the TUI. + Flags: + - L - display only last directory in tab line instead of full + path. + - M - shorten titles in windows of terminal multiplexers + created by vifm down to file name instead of using full path. + - T - truncate status-bar messages in the middle if they are + too long to fit on the command line. "..." will appear in the + middle. + - p - use tilde shortening in view titles. + + + 'showtabline' 'stal' + type: enumeration + default: multiple + Specifies when tab line should be displayed. Possible values: + - never - never display tab line + - multiple - show tab line only when there are at least two + tabs + - always - display tab line always + + Alternatively 0, 1 and 2 Vim-like values are also accepted and + correspond to "never", "multiple" and "always" respectively. + + 'sizefmt' + type: string list + default: "units:iec" + Configures the way size is formatted in human-friendly way. + + item value meaning + units: iec Use 1024 byte units (K or KiB, + etc.). + See 'iec' option. + si Use 1000 byte units (KB, etc.). + precision: i > 0 How many fraction digits to + consider. + {not set} Precision of 1 for integer part + < 10, + 0 otherwise (provides old + behaviour). + space {present} Insert space before unit + symbols. + This is the default. + nospace {present} Do not insert space before unit + symbols. + + Numbers are rounded from zero. Trailing zeros are dropped. + + Example: + + set sizefmt=units:iec,precision:2,nospace + + + 'slowfs' + type: string list + default: "" + only for *nix + A list of mounter fs name beginnings (first column in /etc/mtab + or /proc/mounts) or paths prefixes for fs/directories that work + too slow for you. This option can be used to stop vifm from + making some requests to particular kinds of file systems that + can slow down file browsing. Currently this means don't check + if directory has changed, skip check if target of symbolic links + exists, assume that link target located on slow fs to be a + directory (allows entering directories and navigating to files + via gf). If you set the option to "*", it means all the systems + are considered slow (useful for cygwin, where all the checks + might render vifm very slow if there are network mounts). + + Example for autofs root /mnt/autofs: + + set slowfs+=/mnt/autofs + + 'smartcase' 'scs' + type: boolean + default: false + Overrides the ignorecase option if a pattern contains at least + one upper case character. Only used when 'ignorecase' option is + enabled. + + 'sort' type: string list + default: +name on *nix and +iname on Windows + scope: local + Sets list of sorting keys (first item is primary key, second is + secondary key, etc.): + [+-]ext - extension of files and directories + [+-]fileext - extension of files only + [+-]name - name (including extension) + [+-]iname - name (including extension, ignores case) + [+-]type - file type + (dir/reg/exe/link/char/block/sock/fifo) + [+-]dir - directory grouping (directory < file) + [+-]gid - group id (*nix only) + [+-]gname - group name (*nix only) + [+-]mode - file type derived from its mode (*nix only) + [+-]perms - permissions string (*nix only) + [+-]uid - owner id (*nix only) + [+-]uname - owner name (*nix only) + [+-]nlinks - number of hard links (*nix only) + [+-]inode - inode number (*nix only) + [+-]size - size + [+-]nitems - number of items in a directory (zero for files) + [+-]groups - groups extracted via regexps from 'sortgroups' + [+-]target - symbolic link target (empty for other file + types) + [+-]atime - time accessed (e.g., read, executed) + [+-]ctime - time changed (changes in metadata, like mode) + [+-]mtime - time modified (when file contents is changed) + + Note: look for st_atime, st_ctime and st_mtime in "man 2 stat" + for more information on time keys. + + '+' means ascending sort for this key, and '-' means descending + sort. + + "dir" key is somewhat similar in this regard but it's added + implicitly: when "dir" is not specified, sorting behaves as if + it was the first key in the list. That's why if one wants + sorting algorithm to mix directories and files, "dir" should be + appended to sorting option, for example like this: + + set sort+=dir + + or + + set sort=-size,dir + + Value of the option is checked to include dir key and default + sorting key (name on *nix, iname on Windows). Here is what + happens if one of them is missing: + + - type key is added at the beginning; + + - default key is added at the end; + + all other keys are left untouched (at most they are moved). + + This option also changes view columns according to primary + sorting key set, unless 'viewcolumns' option is not empty. + + 'sortnumbers' + type: boolean + default: false + scope: local + Natural sort of (version) numbers within text. + + 'sortgroups' + type: string + default: "" + scope: local + Sets comma-separated list of regular expressions for group type + of sorting. Double the comma to insert it literally. + + The regular expressions are used to extract substrings of file + names to serve as keys for sorting. It is essentially a way to + ignore uninteresting parts of file names during sorting by name. + + Each expression should contain at least one group or its value + will be considered to be always empty. Also, only the first + match of regular expression is processed. + + The first group divides list of files into sub-groups, each of + which is then sorted by substrings extracted using second + regular expression and so on recursively. + + Example: + set sortgroups=-(todo|done).* + this would group files with "-done" in their names and files + with "-todo" separately. On ascending sorting, group containing + "-done" would appear before the other one. + + 'sortorder' + type: enumeration + default: ascending + Sets sort order for primary key: ascending, descending. + + 'statusline' 'stl' + type: string + default: "" + Determines the content of the status line (the line right above + command-line). Empty string means use same format like in + previous versions. Following macros are supported: + + - %N - line break (increases height of the status line + accordingly), ignores %[ %] blocks + + - %t - file name (considering value of the 'classify' option) + + - %T - symbolic link target (empty for other filetypes) + + - %f - file name relative to current directory (considers + 'classify') + + - %A - file attributes (permissions on *nix or properties on + Windows) + + - %u - user name or uid (if it cannot be resolved) + + - %g - group name or gid (if it cannot be resolved) + + - %s - file size in human readable format + + - %E - size of selected files in human readable format, same as + %s when no files are selected, except that it will never show + size of ../ in visual mode, since it cannot be selected + + - %d - file modification date (uses 'timefmt' option) + + - %D - path of the other pane for single-pane layout + + - %a - amount of free space available on current FS + + - %c - size of current FS + + - %z - short tips/tricks/hints that chosen randomly after one + minute period + + - %{} - evaluate arbitrary vifm expression '', e.g. + '&sort' + + - %* - resets or applies one of User1..User9 highlight groups; + reset happens when width field is 0 or not specified, one of + groups gets picked when width field is in the range from 1 to + 9 + + - all 'rulerformat' macros + + Percent sign can be followed by optional minimum field width. + Add '-' before minimum field width if you want field to be right + aligned. + + On Windows file properties include the following flags (upper + case means flag is on): + A - archive + H - hidden + I - content isn't indexed + R - readonly + S - system + C - compressed + D - directory + E - encrypted + P - reparse point (e.g. symbolic link) + Z - sparse file + + Example without colors: + + set statusline=" %t%= %A %10u:%-7g %15s %20d %{&sort} " + + Example with colors: + + highlight User1 ctermbg=yellow + highlight User2 ctermbg=blue ctermfg=white cterm=bold + set statusline="%1* %-26t %2* %= %1* %A %2* %7u:%-7g %1* %-5s %2* %d " + + + 'suggestoptions' + type: string list + default: + Controls when, for what and how suggestions are displayed. The + following values are available: + - normal - in normal mode; + - visual - in visual mode; + - view - in view mode; + - otherpane - use other pane to display suggestions, when + available; + - delay[:num] - display suggestions after a small delay (to + do not annoy if you just want to type a fast shortcut consisting + of multiple keys), num specifies the delay in ms (500 by + default), 'timeoutlen' at most; + - keys - include shortcuts (commands and selectors); + - foldsubkeys - fold multiple keys with common prefix; + - marks - include marks; + - registers[:num] - include registers, at most num files (5 by + default). + + 'syncregs' + type: string + default: + Specifies identifier of group of instances that share registers + between each other. When several instances of vifm have this + option set to identical value, they automatically synchronize + contents of their registers on operations which use them. + + 'syscalls' + type: boolean + default: false + When disabled, vifm will rely on external applications to + perform file-system operations, otherwise system calls are used + instead (much faster and supports progress tracking). The + option should eventually be removed. Mostly *nix-like systems + are affected. + + 'tablabel' + type: string + default: "" + When non-empty, determines format of the main part of a single + tab's label. + + When empty, tab label is set to either tab name for named tabs + or to view title (usually current path) for unnamed tabs. + + The following macros can appear in the format (see below for + what a flag is): + + - %C - flag of a current tab + + - %N - number of the tab + + - %T - flag of a tree mode + + - %c - description of a custom view + + - %n - name of the tab + + - %p - path of the view (handles filename modifiers) + + - %t - title of the view (affected by 'shortmess' flags) + + - %% - literal percent sign + + - %[ - designates beginning of an optional block + + - %] - designates end of an optional block + + - %*, %0* - resets highlighting + + - %1-%9 - applies one of User1..User9 highlight groups + + In global tabs the view in bullets above refers to currently + active view of that tab. + + Flag macros are a special kind of macros that always expand to + an empty value and are ment to be used inside optional blocks to + control their visibility. + + Optional blocks are ignored unless at least one macro inside of + them is expanded to a non-empty value or is a set flag macro. + + " %[(%n)%] -- optional name of the tab + " %[ -- optional description of the view + " %[%T{tree}%] -- mark of tree mode + " %[{%c}%] -- description of custom view + " @ -- just an extra separator before the path + ' %] + " %p:t -- tail part of view's location + set tablabel=%[(%n)%]%[%[%T{tree}%]%[{%c}%]@%]%p:t + + 'tabprefix' + type: string + default: "[%N:" + Determines prefix of a tab's label. Formatting is done as for + 'tablabel' option. + + 'tabscope' + type: enumeration + default: global + Picks style of tabs, which defines what a single tab contains. + Possible values: + - global - tab describes complete UI of two views and how they + are arranged + - pane - tab is located "inside" a pane and manages it and + quick view + + 'tabstop' 'ts' + type: integer + default: value from curses library + Number of spaces that a Tab in the file counts for. + + 'tabsuffix' + type: string + default: "]" + Determines suffix of a tab's label. Formatting is done as for + 'tablabel' option. + + 'timefmt' + type: string + default: "%m/%d %H:%M" + Format of time in file list. See "man 1 date" or "man 3 + strftime" for details. + + 'timeoutlen' 'tm' + type: integer + default: 1000 + The time in milliseconds that is waited for a mapped key in case + of already typed key sequence is ambiguous. + + 'title' + type: boolean + default: true when title can be restored, false otherwise + When enabled, title of the terminal or terminal multiplexer's + window is updated according to current location. Because not + all terminals support setting title, this works only if `$TERM` + value matches one of the following conditions: + - equals "xterm" or starts with "xterm-" + - equals "rxvt" or starts with "rxvt-" + - equals "screen" or starts with "screen-" + - equals "aterm" + - equals "Eterm" + + 'trash' + type: boolean + default: true + Use trash directory. See "Trash directory" section below. + + 'trashdir' + type: string + default: on *nix: + "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash" + or if $VIFM/Trash doesn't exist + "%r/.vifm-Trash-%u,$XDG_DATA_HOME/vifm/Trash,%r/.vifm-Trash" + on Windows: + "%r/.vifm-Trash,$XDG_DATA_HOME/vifm/Trash" + List of trash directory path specifications, separated with + commas. Each list item either defines an absolute path to trash + directory or a path relative to a mount point root when list + element starts with "%r/". Value of the option can contain + environment variables (of form "$envname"), which will be + expanded (prepend $ with a slash to prevent expansion). + Environment variables are expanded when the option is set. + + On *nix, if element ends with "%u", the mark is replaced with + real user ID and permissions are set so that only that only + owner is able to use it. + Note that even this setup is not completely secure when combined + with "%r/" and it's overall safer to keep files in home + directory, but that implies cost of copying files between + partitions. + + When new file gets cut (deleted) vifm traverses each element of + the option in the order of their appearance and uses first trash + directory that it was able to create or that is already + writable. + + Default value tries to use trash directory per mount point and + falls back to ~/.vifm/Trash on failure. + + Will attempt to create the directory if it does not exist. See + "Trash directory" section below. + + 'tuioptions' 'to' + type: charset + default: "psv" + Each flag configures some aspect of TUI appearance. The flags + are: + p - when included: + * file list inside a pane gets additional single character + padding on left and right sides; + * quick view and view mode get single character padding. + s - when included, left and right borders (side borders, hence + "s" character) are visible. + u - use Unicode characters in the TUI (Unicode ellipsis instead + of "..."). + v - vary width of middle border to equalize view sizes. + + Each pane title contains the path of the listed directory. If + too large, the path is truncated on the left for the active pane + and on the right for the other pane. This can be modified with: + + l - truncation is always on the left. + r - truncation is always on the right. + + 'undolevels' 'ul' + type: integer + default: 100 + Maximum number of changes that can be undone. Note that here + single file operation is used as a unit, not operation, i.e. + deletion of 101 files will exceed default limit. + + 'vicmd' + type: string + default: "vim" + Command used to edit files in various contexts. Ampersand sign + at the end (regardless whether it's preceded by space or not) + means backgrounding of command. + + Background flag is ignored in certain context where vifm waits + for the editor to finish. Such contexts include any command + that spawns editor to change list of file names or a command, + with :rename being one example. `-f` is also appended to + prevent forking in such cases, so the command needs to handle + the flag. + + Additionally `+{num}` and `+'call cursor()'` arguments are used + to position cursor when location is known. + + 'viewcolumns' + type: string + default: "" + scope: local + Format string containing list of columns in the view. When this + option is empty, view columns to show are chosen automatically + using sorting keys (see 'sort') as a base. Value of this option + is ignored if 'lsview' is set. See "Column view" section below + for format description. + + An example of setting the options for both panes (note :windo + command): + + windo set viewcolumns=-{name}..,6{size},11{perms} + + 'vixcmd' + type: string + default: value of 'vicmd' + Same as 'vicmd', but takes precedence over it when running + inside a graphical environment. + + 'vifminfo' + type: set + default: bookmarks,bmarks + Controls what will be saved in the $VIFM/vifminfo file. + + bmarks - named bookmarks (see :bmark command) + bookmarks - marks, except special ones like '< and '> + tui - state of the user interface (sorting, number of + windows, quick + view state, active view) + dhistory - directory history + state - file name and dot filters and terminal + multiplexers integration + state + cs - primary color scheme + savedirs - save last visited directory + chistory - command line history + shistory - search history (/ and ? commands) + phistory - prompt history + fhistory - history of local filter (see description of the + "=" normal mode + command) + dirstack - directory stack overwrites previous stack, unless + stack of + current instance is empty + registers - registers content + tabs - global or pane tabs + options - all options that can be set with the :set command + (obsolete) + filetypes - associated programs and viewers (obsolete) + commands - user defined commands (see :command description) + (obsolete) + + 'vimhelp' + type: boolean + default: false + Use vim help format. + + 'wildmenu' 'wmnu' + type: boolean + default: false + Controls whether possible matches of completion will be shown + above the command line. + + 'wildstyle' + type: enumeration + default: bar + Picks presentation style of wild menu. Possible values: + - bar - one-line with left-to-right cursor + - popup - multi-line with top-to-bottom cursor + + 'wordchars' + type: string list + default: "1-8,14-31,33-255" (that is all non-whitespace + characters) + Specifies which characters in command-line mode should be + considered as part of a word. Value of the option is comma- + separated list of ranges. If both endpoints of a range match, + single endpoint is enough (e.g. "a" = "a-a"). Both endpoints + are inclusive. There are two accepted forms: character + representing itself or number encoding character according to + ASCII table. In case of ambiguous characters (dash, comma, + digit) use numeric form. Accepted characters are in the range + from 0 to 255. Any Unicode character with code greater than 255 + is considered to be part of a word. + + The option affects Alt-D, Alt-B and Alt-F, but not Ctrl-W. This + is intentionally to allow two use cases: + + - Moving by WORDS and deletion by words. + - Moving by words and deletion by WORDS. + + To get the latter use the following mapping: + + cnoremap + + Also used for abbreviations. + + 'wrap' type: boolean + default: true + Controls whether to wrap text in quick view. + + 'wrapscan' 'ws' + type: boolean + default: true + Searches wrap around end of the list. + +Mappings + Map arguments + + LHS of mappings can be preceded by arguments which take the form of + special sequences: + + + Postpone UI updates until RHS is completely processed. + + In case of builtin mapping causing conflict for a user-defined + mapping (e.g., `t` builtin to a partially typed `ta` user- + defined mapping), ignore the builtin mapping and wait for input + indefinitely as opposed to default behaviour of triggering the + builtin mapping after a delay defined by 'timeoutlen'. Example: + + nnoremap tw :set wrap! + nnoremap tn :set number! + nnoremap tr :set relativenumber! + + Special sequences + + Since it's not easy to enter special characters there are several + special sequences that can be used in place of them. They are: + + Enter key. + + Escape key. + + + Space key. + + Less-than character (<). + + provides a way to disable a mapping (by mapping it to ). + + Backspace key (see key conflict description below). + + + Tabulation and Shift+Tabulation keys. + + + Home/End. + + + Arrow keys. + + + PageUp/PageDown. + + + Delete key. and mean different codes, but + is more common. + + + Insert key. + + ,,...,,,,,, + Control + some key (see key conflict description below). + + only for *nix + Control + Space. + + ,,..., + ,,..., Alt + some key. + + ,,..., + ,,..., only for *nix + Alt + Ctrl + some key. + + - + Functional keys. + + - + only for MS-Windows + functional keys with Control key pressed. + + - + only for MS-Windows + functional keys with Alt key pressed. + + - + only for MS-Windows + functional keys with Shift key pressed. + + Note that due to the way terminals process their input, several + keyboard keys might be mapped to single key code, for example: + + - and ; + + - and ; + + - and ; + + - etc. + + Most of the time they are defined consistently and don't cause + surprises, but and are treated differently in different + environments (although they match each other all the time), that's why + they correspond to different keys in vifm. As a consequence, if you + map or be sure to repeat the mapping with the other one so + that it works in all environments. Alternatively, provide your mapping + in one form and add one of the following: + + " if mappings with in the LHS work + map + " if mappings with in the LHS work + map + + Whitespace + + vifm removes whitespace characters at the beginning and end of + commands. That's why you may want to use at the end of rhs in + mappings. For example: + + cmap man + + will put "man " in line when you hit the key in the command line + mode. + +Expression syntax + Supported expressions is a subset of what VimL provides. + + Expression syntax summary, from least to most significant: + + expr1 expr2 + expr2 || expr2 .. logical OR + + expr2 expr3 + expr3 && expr3 .. logical AND + + expr3 expr4 + expr4 == expr4 equal + expr4 != expr4 not equal + expr4 > expr4 greater than + expr4 >= expr4 greater than or equal + expr4 < expr4 smaller than + expr4 <= expr4 smaller than or equal + + expr4 expr5 + expr5 + expr5 .. number addition + expr5 - expr5 .. number subtraction + + expr5 expr6 + expr6 . expr6 .. string concatenation + + expr6 expr7 + - expr6 unary minus + + expr6 unary plus + ! expr6 logical NOT + + expr7 number number constant + "string" string constant, \ is special + 'string' string constant, ' is doubled + &option option value + $VAR environment variable + v:var builtin variable + function(expr1, ...) function call + (expr1) nested expression + + ".." indicates that the operations in this level can be concatenated. + + expr1 + ----- + expr2 || expr2 + + Arguments are converted to numbers before evaluation. + + Result is non-zero if at least one of arguments is non-zero. + + It's right associative and with short-circuiting, so sub-expressions + are evaluated from left to right until result of whole expression is + determined (i.e., until first non-zero) or end of the expression. + + expr2 + ----- + expr3 && expr3 + + Arguments are converted to numbers before evaluation. + + Result is non-zero only if both arguments are non-zero. + + It's right associative and with short-circuiting, so sub-expressions + are evaluated from left to right until result of whole expression is + determined (i.e., until first zero) or end of the expression. + + expr3 + ----- + expr4 {cmp} expr4 + + Compare two expr4 expressions, resulting in a 0 if it evaluates to + false or 1 if it evaluates to true. + + equal == + not equal != + greater than > + greater than or equal >= + smaller than < + smaller than or equal <= + + Examples: + + 'a' == 'a' == 1 + 'a' > 'b' == 1 + 'a' == 'b' == 0 + '2' > 'b' == 0 + 2 > 'b' == 1 + 2 > '1b' == 1 + 2 > '9b' == 0 + -1 == -'1' == 1 + 0 == '--1' == 1 + + expr4 + ----- + expr5 + expr5 .. number addition expr5 - expr5 .. number + subtraction + + Examples: + + 1 + 3 - 3 == 1 + 1 + '2' == 3 + + expr5 + ----- + expr6 . expr6 .. string concatenation + + Examples: + + 'a' . 'b' == 'ab' + 'aaa' . '' . 'c' == 'aaac' + + expr6 + ----- + + - expr6 unary minus + + expr6 unary plus + ! expr6 logical NOT + + For '-' the sign of the number is changed. + For '+' the number is unchanged. + For '!' non-zero becomes zero, zero becomes one. + + A String will be converted to a Number first. + + These operations can be repeated and mixed. Examples: + + --9 == 9 + ---9 == -9 + -+9 == 9 + !-9 == 0 + !'' == 1 + !'x' == 0 + !!9 == 1 + + expr7 + ----- + + number number constant + ----- + + Decimal number. Examples: + + 0 == 0 + 0000 == 0 + 01 == 1 + 123 == 123 + 10000 == 10000 + + string + ------ + "string" string constant + + Note that double quotes are used. + + A string constant accepts these special characters: + \b backspace + \e escape + \n newline + \r return + \t tab + \\ backslash + \" double quote + + Examples: + + "\"Hello,\tWorld!\"" + "Hi,\nthere!" + + literal-string + -------------- + 'string' string constant + + Note that single quotes are used. + + This string is taken as it is. No backslashes are removed or have a + special meaning. The only exception is that two quotes stand for one + quote. + + Examples: + + 'All\slashes\are\saved.' + 'This string contains doubled single quotes ''here''' + + option + ------ + &option option value (local one is preferred, if exists) + &g:option global option value &l:option local + option value + + Examples: + + echo 'Terminal size: '.&columns.'x'.&lines + if &columns > 100 + + Any valid option name can be used here (note that "all" in ":set all" + is a pseudo option). See ":set options" section above. + + environment variable + -------------------- + $VAR environment variable + + The String value of any environment variable. When it is not defined, + the result is an empty string. + + Examples: + + 'This is my $PATH env: ' . $PATH + 'vifmrc at ' . $MYVIFMRC . ' is used.' + + builtin variable + -------------------- + v:var builtin variable + + Information exposed by vifm for use in scripting. + + v:count + count passed to : command, 0 by default. Can be used in mappings to + passthe count to a different command. + v:count1 + same as v:count, but 1 by default. + v:jobcount + number of active jobs (as can be seen in the :jobs menu). + v:session + name of the current session or empty string. + v:servername + See below. + + function call + ------------- + function(expr1, ...) function call + + See "Functions" section below. + + Examples: + + "'" . filetype('.') . "'" + filetype('.') == 'reg' + + expression nesting + ------------------ + (expr1) nested expression + + Groups any other expression of arbitrary complexity enforcing order in + which operators are applied. + + +Functions + USAGE RESULT DESCRIPTION + + chooseopt({opt}) String Queries choose parameters passed on + startup. + executable({expr}) Integer Checks whether {expr} command + available. + expand({expr}) String Expands special keywords in {expr}. + extcached({cache}, {path}, {extcmd}) + String Caches output of {extcmd} per {cache} + and + {path} combination. + filetype({fnum} [, {resolve}]) + String Returns file type from position. + fnameescape({expr}) String Escapes {expr} for use in a :command. + getpanetype() String Returns type of current pane. + has({property}) Integer Checks whether instance has + {property}. + layoutis({type}) Integer Checks whether layout is of type + {type}. + paneisat({loc}) Integer Checks whether current pane is at + {loc}. + system({command}) String Executes shell command and returns + its output. + tabpagenr([{arg}]) Integer Returns number of current or last + tab. + term({command}) String Like system(), but for interactive + commands. + + chooseopt({opt}) + + Retrieves values of options related to file choosing. {opt} can be one + of: + files returns argument of --choose-files or empty string + dir returns argument of --choose-dir or empty string + cmd returns argument of --on-choose or empty string + delimiter returns argument of --delimiter or the default one (\n) + + executable({expr}) + + If {expr} is absolute or relative path, checks whether path destination + exists and refers to an executable, otherwise checks whether command + named {expr} is present in directories listed in $PATH. Checks for + various executable extensions on Windows. Returns boolean value + describing result of the check. + + Example: + + " use custom default viewer script if it's available and installed + " in predefined system directory, otherwise try to find it elsewhere + if executable('/usr/local/bin/defviewer') + fileview * /usr/local/bin/defviewer %c + else + if executable('defviewer') + fileview * defviewer %c + endif + endif + + expand({expr}) + + Expands environment variables and macros in {expr} just like it's done + for command-line commands. Returns a string. See "Command macros" + section above. + + Examples: + + " percent sign + :echo expand('%%') + " the last part of directory name of the other pane + :echo expand('%D:t') + " $PATH environment variable (same as `:echo $PATH`) + :echo expand('$PATH') + + extcached({cache}, {path}, {extcmd}) + + Caches value of {extcmd} external command automatically updating it as + necessary based on monitoring change date of a {path}. The cache is + invalidated when file or its meta-data is updated. A single path can + have multiple caches associated with it. + + {path} value is normalized, but symbolic links in it aren't resolved. + + Example: + + " display number and size of blocks actually used by a file or directory + set statusline+=" Uses: %{ extcached('uses', + expand('%c'), + expand('stat --format=%%bx%%B %c')) }" + + filetype({fnum} [, {resolve}]) + + The result is a string, which represents file type and is one of the + list: + exe executables + reg regular files + link symbolic links + broken broken symbolic links (appears only when resolving) + dir directories + char character devices + block block devices + fifo pipes + sock *nix domain sockets + ? unknown file type (should not normally happen) or + non-file (pseudo-entries in compare view) + + The result can also be an empty string in case of invalid argument. + + Parameter {fnum} can have following values: + - '.' to get type of file under the cursor in the active pane + - numerical value base 1 to get type of file on specified line + number + + Optional parameter {resolve} is treated as a boolean and specifies + whether symbolic links should be resolved. + + fnameescape({expr}) + + Escapes parameter to make it suitable for use as an argument of a + :command. List of escaped characters includes %, which is doubled. + + Usage example: + + " navigate to most recently modified file in current directory + execute 'goto' fnameescape(system('ls -t | head -1')) + + getpanetype() + + Retrieves string describing type of current pane. Possible return + values: + regular regular file listing of some directory + custom custom file list (%u) + very-custom very custom file list (%U) + tree tree view + + has({property}) + + Allows examining internal parameters from scripts to e.g. figure out + environment in which application is running. Returns 1 if property is + true/present, otherwise 0 is returned. Currently the following + properties are supported (anything else will yield 0): + unix runs in *nix-like environment (including Cygwin) + win runs on Windows + + Usage example: + + " skip user/group on Windows + if !has('win') + let $RIGHTS = '%10u:%-7g ' + endif + + execute 'set' 'statusline=" %t%= %A '.$RIGHTS.'%15E %20d "' + + layoutis({type}) + + Checks whether current interface layout is {type} or not, where {type} + can be: + only single-pane mode + split double-pane mode (either vertical or horizontal split) + vsplit vertical split (left and right panes) + hsplit horizontal split (top and bottom panes) + + Usage example: + + " automatically split vertically before enabling preview + :nnoremap w :if layoutis('only') | vsplit | endif | view! + + paneisat({loc}) + + Checks whether position of active pane in current layout matches one of + the following locations: + top pane reaches top border + bottom pane reaches bottom border + left pane reaches left border + right pane reaches right border + + system({command}) + + Runs the command in shell and returns its output (joined standard + output and standard error streams). All trailing newline characters + are stripped to allow easy appending to command output. Ctrl-C should + interrupt the command. + + Use this function to consume output of external commands that don't + require user interaction and term() for interactive commands that make + use of terminal and are capable of handling stream redirection. + + Usage example: + + " command to enter .git/ directory of git-repository (when ran inside one) + command! cdgit :execute 'cd' fnameescape(system('git rev-parse --git-dir')) + + tabpagenr([{arg}]) + + When called without arguments returns number of current tab page base + one. + + When called with "$" as an argument returns number of the last tab page + base one, which is the same as number of tabs. + + term({command}) + + Same as system() function, but user interface is shutdown during the + execution of the command, which makes sure that external interactive + applications won't affect the way terminal is used by vifm. + + Usage example: + + " command to change directory by picking it via fzf + command! fzfcd :execute 'cd' + fnameescape(term('find -type d | fzf 2> /dev/tty')) + +Menus and dialogs + When navigating to some path from a menu there is a difference in end + location depending on whether path has trailing slash or not. Files + normally don't have trailing slashes so "file/" won't work and one can + only navigate to a file anyway. On the other hand with directories + there are two options: navigate to a directory or inside of it. To + allow both use cases, the first one is used on paths like "dir" and the + second one for "dir/". + + Commands + + :range navigate to a menu line. + + :exi[t][!] :q[uit][!] :x[it][!] + leave menu mode. + + :noh[lsearch] + reset search match highlighting. + + :w[rite] {dest} + write all menu lines into file specified by {dest}. + + General + + j, Ctrl-N - move down. + k, Ctrl-P - move up. + Enter, l - select and exit the menu. + Ctrl-L - redraw the menu. + + Escape, Ctrl-C, ZZ, ZQ, q - quit. + + In all menus + + The following set of keys has the same meaning as in normal mode. + + Ctrl-B, Ctrl-F + Ctrl-D, Ctrl-U + Ctrl-E, Ctrl-Y + /, ? + n, N + [count]G, [count]gg + H, M, L + zb, zt, zz + + zh - scroll menu items [count] characters to the right. + zl - scroll menu items [count] characters to the left. + zH - scroll menu items half of screen width characters to the right. + zL - scroll menu items half of screen width characters to the left. + + : - enter command line mode for menus (currently only :exi[t], :q[uit], + :x[it] and :{range} are supported). + + b - interpret content of the menu as list of paths and use it to create + custom view in place of previously active pane. See "Custom views" + section below. + B - same as above, but creates unsorted view. + + v - load menu content into quickfix list of the editor (Vim compatible + by assumption) or if list doesn't have separators after file names + (colons) open each line as a file name. + + + Below is description of additional commands and reaction on selection + in some menus and dialogs. + + Apropos menu + + Selecting menu item runs man on a given topic. Menu won't be closed + automatically to allow view several pages one by one. + + Command-line mode abbreviations menu + + Type dd on an abbreviation to remove it. + + c leaves menu preserving file selection and inserts right-hand side of + selected command into command-line. + + Color scheme menu + + Selecting name of a color scheme applies it the same way as if + ":colorscheme " was executed on the command-line. + + Commands menu + + Selecting command executes it with empty arguments (%a). + + dd on a command to remove. + + Marks menu + + Selecting mark navigates to it. + + dd on a mark to remove it. + + Bookmarks menu + + Selecting a bookmark navigates to it. + + Type dd on a bookmark to remove it. + + gf and e also work to make it more convenient to bookmark files. + + Trash (:lstrash) menu + + r on a file name to restore it from trash. + + dd deletes file under the cursor. + + Trashes (:trashes) menu + + dd empties selected trash in background. + + Directory history and Trashes menus + + Selecting directory name will change directory of the current view as + if :cd command was used. + + Directory stack menu + + Selecting directory name will rotate stack to put selected directory + pair at the top of the stack. + + File (:file) menu + + Commands from vifmrc or typed in command-line are displayed above empty + line. All commands below empty line are from .desktop files. + + c leaves menu preserving file selection and inserts command after :! in + command-line mode. + + Grep, find, locate, bookmarks and user menu with navigation (%M macro) + + gf - navigate previously active view to currently selected item. + Leaves menu mode except for grep menu. Pressing Enter key has the same + effect. + + e - open selected path in the editor, stays in menu mode. + + c - leave menu preserving file selection and insert file name after :! + in command-line mode. + + User menu without navigation (%m macro) + + c leaves menu preserving file selection and inserts whole line after :! + in command-line mode. + + Grep menu + + Selecting file (via Enter or l key) opens it in editor set by 'vicmd' + at given line number. Menu won't be closed automatically to allow + viewing more than one result. + + See above for "gf" and "e" keys description. + + Command-line history menu + + Selecting an item executes it as command-line command, search query or + local filter. + + c leaves menu preserving file selection and inserts line into command- + line of appropriate kind. + + Volumes menu + + Selecting a drive navigates previously active pane to the root of that + drive. + + Fileinfo dialog + + Enter, q - close dialog + + Sort dialog + + h, Space - switch ascending/descending. + q - close dialog + + One shortcut per sorting key (see the dialog). + + Attributes (permissions or properties) dialog + + h, Space - check/uncheck. + q - close dialog + r - (*nix only) (un)set all read bits + w - (*nix only) (un)set all write bits + x - (*nix only) (un)set all execute bits + s - (*nix only) (un)set all special (SetUID, SetGID, Sticky) bits + e - (*nix only) (un)set recursion (for directories only) + + Item states: + + - * - checked flag. + + - X - means that it has different value for files in selection. + + - d (*nix only) - (only for execute flags) means u-x+X, g-x+X or o-x+X + argument for the chmod program. If you're not on OS X and want to + remove execute permission bit from all files, but preserve it for + directories, set all execute flags to 'd' and check 'Set Recursively' + flag. + + Jobs menu + + dd requests cancellation of job under cursor. The job won't be removed + from the list, but marked as being cancelled (if cancellation was + successfully requested). A message will pop up if the job has already + stopped. Note that on Windows cancelling external programs like this + might not work, because their parent shell doesn't have any windows. + + e key displays errors of selected job if any were collected. They are + displayed in a new menu, but you can get back to jobs menu by pressing + h. + + + Undolist menu + + r - reset undo position to group under the cursor. + + + Media menu + + Selecting a device either mounts (if it wasn't mounted yet) or + navigates to its first mount point. + + Selecting a mount point navigates to it. + + Selecting "not mounted" line causes mounting. + + Selecting any other line does nothing. + + r - reload the list. + + m - mount/unmount device (cursor should be positioned on lines under + device information). + + [ - put cursor on the previous device. + + ] - put cursor on the next device. + + + Plugins menu + + e - display log messages of selected plugin if any were collected. + They are displayed in a new menu, but you can get back to plugins menu + by pressing h. + + gf - navigate previously active view to the location of selected + plugin. Leaves menu mode. + + +Custom views + Definition + + Normally file views contain list of files from a single directory, but + sometimes it's useful to populate them with list of files that do not + belong to the same directory, which is what custom views are for. + + Presentation + + Custom views are still related to directory they were in before custom + list was loaded. Path to that directory (original directory) can be + seen in the title of a custom view. + + Files in same directory have to be named differently, this doesn't hold + for custom views thus seeing just file names might be rather confusing. + In order to give an idea where files come from and when possible, + relative paths to original directory of the view is displayed, + otherwise full path is used instead. + + Custom views normally don't contain any inexistent files. + + Navigation + + Custom views have some differences related to navigation in regular + views. + + gf - acts similar to gf on symbolic links and navigates to the file at + its real + location. + + h - go to closes parent node in tree view, otherwise return to the + original directory. + + gh - return to the original directory. + + Opening ".." entry also causes return to the original directory. + + History + + Custom list exists only while it's visible, once left one can't return + to it, so there is no appearances of it in any history. + + Filters + + Only local filter affects content of the view. This is intentional, + presumably if one loads list, precisely that list should be displayed + (except for inexistent paths, which are ignored). + + Search + + Although directory names are visible in listing, they are not + searchable. Only file names are taken into account (might be changed + in future, searching whole lines seems quite reasonable). + + Sorting + + Contrary to search sorting by name works on whole visible part of file + path. + + Highlight + + Whole file name is highlighted as one entity, even if there are + directory elements. + + Updates + + Reloads can occur, though they are not automatic due to files being + scattered among different places. On a reload, inexistent files are + removed and meta-data of all other files is updated. + + Once custom view forgets about the file, it won't add it back even if + it's created again. So not seeing file previously affected by an + operation, which was undone is normal. + + Operations + + All operations that add files are forbidden for custom views. For + example, moving/copying/putting files into a custom view doesn't work, + because it doesn't make much sense. + + On the other hand, operations that use files of a custom view as a + source (e.g. yanking, copying, moving file from custom view, deletion) + and operations that modify names are all allowed. + +Compare views + Kinds + + :compare can produce four different results depending on arguments: + - single compare view (ofone and either listall or listdups); + - single custom view (ofone and listunique); + - two compare views (ofboth and either listall or listdups); + - two custom views (ofboth and listunique). + + The first two display files of one file system tree. Here duplicates + are files that have at least one copy in the same tree. The other two + kinds of operation compare two trees, in which duplicates are files + that are found in both trees. + + Lists of unique files are presented in custom views because there is no + file grouping to preserve as all file ids are guaranteed to be + distinct. + + Creation + + Arguments passed to :compare form four categories each with its own + prefix and is responsible for particular property of operation. + + Which files to compare: + - ofboth - compares files of two panes against each other; + - ofone - compares files of the same directory. + + How files are compared: + - byname - by their name only; + - bysize - only by their size; + - bycontents - by data they contain (combination of size and hash of + small chunk of contents is used as first approximation, so don't worry + too much about large files). + + Which files to display: + - listall - all files; + - listunique - unique files only; + - listdups - only duplicated files. + + How results are grouped (has no effect if "ofone" specified): + - groupids - files considered identical are always adjacent in + output; + - grouppaths - file system ordering is preferred (this also enables + displaying identically named files as mismatches). + + Which files to omit: + - skipempty - ignore empty files. + + Each argument can appear multiple times, the rightmost one of the group + is considered. Arguments alter default behaviour instead of + substituting it. + + Examples + + The defaults corresponds to probably the most common use case of + comparing files in two trees with grouping by paths, so the following + are equivalent: + + :compare + :compare bycontents grouppaths + :compare bycontents listall ofboth grouppaths + + Another use case is to find duplicates in the current sub-tree: + + :compare listdups ofone + + The following command lists files that are unique to each pane: + + :compare listunique + + Look + + The view can't switch to ls-like view as it's unable to display diff- + like data. + + Comparison views have second column displaying id of the file, files + with same id are considered to be equal. The view columns + configuration is predefined. + + Behaviour + + When two views are being compared against each other the following + changes to the regular behaviour apply: + - views are scrolled synchronously (as if 'scrollbind' was set); + - views' cursors are synchronized; + - local filtering is disabled (its results wouldn't be meaningful); + - zd excludes groups of adjacent identical files, 1zd gives usual + behaviour; + - sorting is permanently disabled (ordering is fixed); + - removed files hide their counter pairs; + - exiting one of the views terminates the other immediately; + - renaming files isn't blocked, but isn't taken into account and might + require regeneration of comparison; + - entries which indicate absence of equivalent file have empty names + and can be matched as such; + - when unique files of both views are listed custom views can be + empty, this absence of unique files is stated clearly. + + One compare view has similar properties (those that are applicable for + single pane). + + Files are gathered in this way: + - recursively starting at current location of the view; + - dot files are excluded if view hides them at the moment of + comparison, file name filters are obeyed as well so you end up + comparing what you see; + - directories are not taken into account; + - symbolic links to directories are ignored. + +Startup + On startup vifm determines several variables that are used during + execution. They are determined in the order they appear below. + + On *nix systems $HOME is normally present and used as is. On Windows + systems vifm tries to find correct home directory in the following + order: + - $HOME variable; + - $USERPROFILE variable (on Windows only); + - a combination of $HOMEDRIVE and $HOMEPATH variables (on Windows + only). + + vifm tries to find correct configuration directory by checking the + following places: + - $VIFM variable; + - parent directory of the executable file (on Windows only); + - $HOME/.vifm directory; + - $APPDATA/Vifm directory (on Windows only); + - $XDG_CONFIG_HOME/vifm directory; + - $HOME/.config/vifm directory. + + vifm tries to find correct configuration file by checking the following + places: + - $MYVIFMRC variable; + - vifmrc in parent directory of the executable file (on Windows only); + - $VIFM/vifmrc file. + +Configure + See "Startup" section above for the explanations on $VIFM and + $MYVIFMRC. + + The vifmrc file contains commands that will be executed on vifm + startup. There are two such files: global and local. Global one is at + {prefix}/etc/vifm/vifmrc, see $MYVIFMRC variable description for the + search algorithm used to find local vifmrc. Global vifmrc is loaded + before the local one, so that the later one can redefine anything + configured globally. + + Use vifmrc to set settings, mappings, filetypes etc. To use multi line + commands precede each next line with a slash (whitespace before slash + is ignored, but all spaces at the end of the lines are saved). For + example: + + set + \smartcase + + equals "setsmartcase". When + + set + \ smartcase + + equals "set smartcase". + + The $VIFM/vifminfo file contains generic state of the application. You + can control what is stored in vifminfo by setting 'vifminfo' option. + Vifm always writes this file on exit unless 'vifminfo' option is empty. + Marks, bookmarks, commands, histories, filetypes, fileviewers and + registers in the file are merged with vifm configuration (which has + bigger priority). + + Generally, runtime configuration has bigger priority during merging, + but there are some exceptions: + + - directory stack stored in the file is not overwritten unless + something is changed in vifm instance that performs merge; + + - each mark or bookmark is marked with a timestamp, so that newer + value is not overwritten by older one, thus no matter from where it + comes, the newer one wins; + + - all histories are marked with timestamps on storing, this means + that last instance to quit puts its elements on top of the list; + + - tabs are merged only if both current instance and stored state + contain exactly one tab of any kind. + + The $VIFM/scripts directory can contain shell scripts. vifm modifies + its PATH environment variable to let user run those scripts without + specifying full path. All subdirectories of the $VIFM/scripts will be + added to PATH too. Script in a subdirectory overlaps script with the + same name in all its parent directories. + + The $VIFM/colors/ and {prefix}/etc/vifm/colors/ directories contain + color schemes. Available color schemes are searched in that order, so + on name conflict the one in $VIFM/colors/ wins. + + Each color scheme should have ".vifm" extension. This wasn't the case + before and for this reason the following rules apply during lookup: + + - if there is no file with .vifm extension, all regular files are + listed; + + - otherwise only files with .vifm extension are listed (with the + extension being truncated). + +Sessions + Sessions provide a way to have multiple persistent runtime + configurations. Think of them as second-level vifminfo files in + addition to the first-level one used by all sessions. In other words, + they aren't a replacement for vifminfo file that exists without + sessions, but an addition to it. One can empty 'vifminfo' option and + rely solely on sessions, but in practice one might want to share some + state among instances in different sessions or have an "out-of- + sessions" state for tasks that don't deserve a session of their own. + + This leads to a two-level structure where data in session files has + higher priority than data in vifminfo files (where this makes sense) + following the same rules that merging of vifminfo file obeys. In + addition to that, history items from session files are never ordered + before history items from vifminfo file. + + Format + + Sessions have the format of vifminfo files, they do not consist of + sequence of command-line commands and are not meant to be sourced via + :source command. + + Storage and naming + + `$VIFM/sessions/` directory serves as a storage for sessions. + Consequently names should be valid filenames. The structure of the + storage is flat meaning that there are no subdirectories, that's why + names of sessions can't contain slashes. + + Usage model + + Contrary to Vim, vifm automates basic management of sessions. You can + start, switch, stop or delete a session using builtin means. + + Current session is saved at the same time vifminfo is saved (on normal + exits or explicitly on :write command) and right before switching to + another session. To avoid saving in those cases use :session command + to detach (without saving) from a session before proceeding. + + Related topics + + Commands: :session, :delsession + Options: 'sessionoptions' + Variables: v:session + +Automatic FUSE mounts + vifm has a builtin support of automated FUSE file system mounts. It is + implemented using file associations mechanism. To enable automated + mounts, one needs to use a specially formatted program line in filetype + or filextype commands. These use special macros, which differ from + macros in commands unrelated to FUSE. Currently three formats are + supported: + + 1) FUSE_MOUNT This format should be used in case when all information + needed for mounting all files of a particular type is the same. E.g. + mounting of tar files don't require any file specific options. + + Format line: + FUSE_MOUNT|mounter %SOURCE_FILE %DESTINATION_DIR [%FOREGROUND] + + Example filetype command: + + :filetype FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR + + 2) FUSE_MOUNT2 This format allows one to use specially formatted files + to perform mounting and is useful for mounting remotes, for example + remote file systems over ftp or ssh. + + Format line: + FUSE_MOUNT2|mounter %PARAM %DESTINATION_DIR [%FOREGROUND] + + Example filetype command: + + :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR + + Example file content: + + root@127.0.0.1:/ + + 3) FUSE_MOUNT3 + + This format is equivalent to FUSE_MOUNT, but omits unmounting. It is + useful for cases, when unmounting isn't needed, like when using AVFS. + + Example :filetype command: + + :filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz,*.deb + \ {Mount with avfs} + \ FUSE_MOUNT3|mount-avfs %DESTINATION_DIR %SOURCE_FILE + + Example `mount-avfs` helper script: + + #!/bin/sh + + dest=$1 + file=$2 + + rmdir "$dest" + ln -s "$HOME/.avfs$file#/" "$dest" + + All % macros are expanded by vifm at runtime and have the following + meaning: + - %SOURCE_FILE is replaced by full path to selected file; + - %DESTINATION_DIR is replaced by full path to mount directory, which + is created by vifm basing on the value of 'fusehome' option; + - %PARAM value is filled from the first line of file (whole line), + though in the future it can be changed to whole file content; + - %FOREGROUND means that you want to run mount command as a regular + command (required to be able to provide input for communication with + mounter in interactive way). + + %FOREGROUND is an optional macro. Other macros are not mandatory, but + mount commands likely won't work without them. + + %CLEAR is obsolete name of %FOREGROUND, which is still supported, but + might be removed in future. Its use is discouraged. + + Unlike macros elsewhere, these are recognized only if they appear at + the end of a command or are followed by a space. There is no way to + escape % either. These are historical limitations, which might be + addressed in the future. + + The mounted FUSE file systems will be automatically unmounted in two + cases: + + - when vifm quits (with ZZ, :q, etc. or when killed by signal); + + - when you explicitly leave mount point going up to its parent + directory (with h, Enter on "../" or ":cd ..") and other pane is + not in the same directory or its child directories. + +View look + vifm supports displaying of file list view in two different ways: + + - in a table mode, when multiple columns can be set using + 'viewcolumns' option (see "Column view" section below for details); + + - in a multicolumn list manner which looks almost like `ls -x` + command output (see "ls-like view" section below for details). + + The look is local for each view and can be chosen by changing value of + the 'lsview' boolean option. + + Depending on view look some of keys change their meaning to allow more + natural cursor moving. This concerns mainly h, j, k, l and other + similar navigation keys. + + Also some of options can be ignored if they don't affect view + displaying in selected look. For example value of 'viewcolumns' when + 'lsview' is set. + +ls-like view + When this view look is enabled by setting 'lsview' option on, vifm will + display files in multiple columns. Number of columns depends on the + length of the longest file name present in current directory of the + view. Whole file list is automatically reflowed on directory change, + terminal or view resize. + + View looks close to output of `ls -x` command, so files are listed left + to right in rows. + + In this mode file manipulation commands (e.g. d) don't work line-wise + like they do in Vim, since such operations would be uncommon for file + manipulation tasks. Thus, for example, dd will remove only current + file. + + By default the view is filled by lines, 'lsoptions' can be used to get + filling by columns. + + Note that tree-view and compare view inhibit ls-like view. + +Column view + View columns are described by a comma-separated list of column + descriptions, each of which has the following format + [ '-' | '*' ] [ fw ( [ '.' tw ] | '%' ) ] '{' type | literal '}' + '.'{0,3} + where fw stands for full width, tw stands for text width, bar is + logical or, square brackets denote optional parts and curly braces + define range of repetitions for a symbol that precedes them. + + So it basically consists of four parts: + 1. Optional alignment specifier + 2. Optional width specifier + 3. Mandatory column name + 4. Optional cropping specifier + + Alignment specifier + + It's an optional minus or asterisk sign as the first symbol of the + string. + + Specifies type of text alignment within a column. Three types are + supported: + + - left align + + set viewcolumns=-{name} + + - right align (default) + + set viewcolumns={name} + + - dynamic align + + It's like left alignment, but when the text is bigger than the + column, the alignment is made at the right (so the part of the field + is always visible). + + set viewcolumns=*{name} + + Width specifier + + It's a number followed by a percent sign, two numbers (second one + should be less than or equal to the first one) separated with a dot or + a single number. + + Specifies column width and its units. There are three size types: + + - absolute size - column width is specified in characters + + set viewcolumns=-100{name},20.15{ext} + + results in two columns with lengths of 100 and 20 and a reserved + space of five characters on the left of second column. + + - relative (percent) size - column width is specified in percents of + view width + + set viewcolumns=-80%{name},15%{ext},5%{mtime} + + results in three columns with lengths of 80/100, 15/100 and 5/100 of + view width. + + - auto size (default) - column width is automatically determined + + set viewcolumns=-{name},{ext},{mtime} + + results in three columns with length of one third of view width. + There is no size adjustment to content, since it will slow down + rendering. + + Columns of different sizing types can be freely mixed in one view. + Though sometimes some of columns can be seen partly or be completely + invisible if there is not enough space to display them. + + Column contents + + This is usually a sorting key surrounded with curly braces, e.g. + + {name},{ext},{mtime} + + {name} and {iname} types are the same and present both for consistency + with 'sort' option. + + Following types don't have corresponding sorting keys: + + - {root} - display name without extension (as a complement for + {ext}) + + - {fileroot} - display name without extension for anything except for + directories and symbolic links to directories (as a complement for + {fileext}) + + Empty curly braces ({}) are replaced with the default secondary column + for primary sort key. So after the next command view will be displayed + almost as if 'viewcolumns' is empty, but adding ellipsis for long file + names: + + set viewcolumns=-{name}..,6{}. + + The last kind of column value is a string literal. The literal is used + as a column value for every row. The syntax is "{#literal}", for + example: + + 3{#},{#|},{# | } + + This can be used to draw column separators. Mind that for convenience + literals have different defaults: truncation and automatically + determined absolute size, which is what you usually want for them. + Example: + + set viewcolumns=*{name}..,{#|},6{}. + + Cropping specifier + + It's from one to three dots after closing curly brace in column format. + + Specifies type of text truncation if it doesn't fit in the column. + Currently three types are supported: + + - truncation - text is truncated + + set viewcolumns=-{name}. + + results in truncation of names that are too long too fit in the + view. + + - adding of ellipsis - ellipsis on the left or right are added when + needed + + set viewcolumns=-{name}.. + + results in that ellipsis are added at the end of too long file + names. + + - none (default) - text can pass column boundaries + + set viewcolumns=-{name}...,{ext} + + results in that long file names can partially be written on the ext + column. + +Color schemes + The color schemes in vifm can be applied in two different ways: + + - as the primary color scheme; + + - as local to a pane color scheme. + + Both types are set using :colorscheme command, but of different forms: + + - :colorscheme color_scheme_name - for the primary color scheme; + + - :colorscheme color_scheme_name directory - for local color schemes. + + Look of different parts of the TUI (Text User Interface) is determined + in this way: + + - Border, TabLine, TabLineSel, TopLineSel, TopLine, CmdLine, + ErrorMsg, StatusLine, JobLine, SuggestBox and WildMenu are always + determined by the primary color scheme; + + - CurrLine, Selected, Directory, Link, BrokenLink, Socket, Device, + Executable, Fifo, CmpMismatch, Win, AuxWin and OtherWin are + determined by primary color scheme and a set of local color + schemes, which can be empty. + + There might be a set of local color schemes because they are structured + hierarchically according to file system structure. For example, having + the following piece of file system: + + ~ + `-- bin + | + `-- my + + Two color schemes: + + # ~/.vifm/colors/for_bin + highlight Win cterm=none ctermfg=white ctermbg=red + highlight CurrLine cterm=none ctermfg=red ctermbg=black + + # ~/.vifm/colors/for_bin_my + highlight CurrLine cterm=none ctermfg=green ctermbg=black + + And these three commands in the vifmrc file: + + colorscheme Default + colorscheme for_bin ~/bin + colorscheme for_bin_my ~/bin/my + + File list will look in the following way for each level: + + - ~/ - Default color scheme + black background + cursor with blue background + + - ~/bin/ - mix of Default and for_bin color schemes + red background + cursor with black background and red foreground + + - ~/bin/my/ - mix of Default, for_bin and for_bin_my color schemes + red background + cursor with black background and green foreground + +Trash directory + vifm has support of trash directory, which is used as temporary storage + for deleted files or files that were cut. Using trash is controlled by + the 'trash' option, and exact path to the trash can be set with + 'trashdir' option. Trash directory in vifm differs from the system- + wide one by default, because of possible incompatibilities of storing + deleted files among different file managers. But one can set + 'trashdir' to "~/.local/share/Trash" to use a "standard" trash + directory. + + There are two scenarios of using trash in vifm: + + 1. As a place for storing files that were cut by "d" and may be + inserted to some other place in file system. + + 2. As a storage of files, that are deleted but not purged yet. + + The first scenario uses deletion ("d") operations to put files to trash + and put ("p") operations to restore files from trash directory. Note + that such operations move files to and from trash directory, which can + be long term operations in case of different partitions or remote + drives mounted locally. + + The second scenario uses deletion ("d") operations for moving files to + trash directory and :empty command-line command to purge all previously + deleted files. + + Deletion and put operations depend on registers, which can point to + files in trash directory. Normally, there are no nonexistent files in + registers, but vifm doesn't keep track of modifications under trash + directory, so one shouldn't expect value of registers to be absolutely + correct if trash directory was modified not by operation that are meant + for it. But this won't lead to any issues with operations, since they + ignore nonexistent files. + +Client-Server + vifm supports remote execution of command-line mode commands, remote + changing of directories and expression evaluation. This is possible + using --remote and --remote-expr command-line arguments. + + To execute a command remotely combine --remote argument with -c + or +. For example: + + vifm --remote -c 'cd /' + vifm --remote '+cd /' + + To change directory not using command-line mode commands one can + specify paths right after --remote argument, like this: + + vifm --remote / + vifm --remote ~ + vifm --remote /usr/bin /tmp + + Evaluating expression remotely might be useful to query information + about an instance, for example its location: + + vifm --remote-expr 'expand("%d")' + + If there are several running instances, the target can be specified + with --server-name option (otherwise, the first one lexicographically + is used): + + vifm --server-name work --remote ~/work/project + + List of names of running instances can be obtained via --server-list + option. Name of the current one is available via v:servername. + + + v:servername + server name of the running vifm instance. Empty if client- + server feature is disabled. + +External Renaming + When an editor is run to edit list of file names, contents of the + temporary file has the following format: + + 1. Order of lines correspond to the order of files in a view. + + 2. Lines that start with a "#" are comments and are ignored. + + 3. Single backslash at the beginning of a line is ignored, so that a + file starting with a backslash will appear like "\#name". + + If an operation was rejected due to issues with file names, next time + you'll see the following in this order: + + 1. Last error (in comments). + + 2. Original file names (in comments). + + 3. Failed list of new names. + + Mind that Vim plugin will extract list of original names and show them + in a vertical split. + + You can cancel renaming by removing all non-comments from the buffer. + This also erases information about previous edits. + +Plugin + Plugin for using vifm in vim as a file selector. + + Commands: + + :EditVifm select a file or files to open in the current buffer. + :Vifm alias for :EditVifm. + :SplitVifm split buffer and select a file or files to open. + :VsplitVifm vertically split buffer and select a file or files to + open. + :DiffVifm select a file or files to compare to the current file + with + :vert diffsplit. + :TabVifm select a file or files to open in tabs. + + Each command accepts up to two arguments: left pane directory and right + pane directory. After arguments are checked, vifm process is spawned + in a special "file-picker" mode. To pick files just open them either + by pressing l, i or Enter keys, or by running :edit command. If no + files are selected, file under the cursor is opened, otherwise whole + selection is passed to the plugin and opened in vim. + + The plugin have only two settings. It's a string variable named + g:vifm_term to let user specify command to run GUI terminal. By + default it's equal to 'xterm -e'. And another string variable named + g:vifm_exec, which equals "vifm" by default and specifies path to + vifm's executable. To pass arguments to vifm use g:vifm_exec_args, + which is empty by default. + + To use the plugin copy the vifm.vim file to either the system wide + vim/plugin directory or into ~/.vim/plugin. + + If you would prefer not to use the plugin and it is in the system wide + plugin directory add + + let loaded_vifm=1 + + to your ~/.vimrc file. + +Reserved + The following command names are reserved and shouldn't be used for user + commands. + + g[lobal] + v[global] + +ENVIRONMENT + VIFM Points to main configuration directory (usually ~/.vifm/). + + MYVIFMRC + Points to main configuration file (usually ~/.vifm/vifmrc). + + These environment variables are valid inside vifm and also can be used + to configure it by setting some of them before running vifm. + + When $MYVIFMRC isn't set, it's made as $VIFM/vifmrc (exception for + Windows: vifmrc in the same directory as vifm.exe has higher priority + than $VIFM/vifmrc). + + See "Startup" section above for more details. + + VIFM_FUSE_FILE + On execution of external commands this variable is set to the + full path of file used to initiate FUSE mount of the closest + mount point from current pane's directory up. It's not set when + outside FUSE mount point. When vifm is used inside terminal + multiplexer, it tries to set this variable as well (it doesn't + work this way on its own). + +SEE ALSO + vifm-convert-dircolors(1), vifm-pause(1) + + Website: https://vifm.info/ + Wiki: https://wiki.vifm.info/ + + Esperanto translation of the documentation by Sebastian Cyprych: + http://cyprych.neostrada.pl/tekstoj/komputiloj/vifm-help.eo.html + +AUTHOR + Vifm was written by ksteen + And currently is developed by xaizek + +vifm 0.12 September 29, 2021 VIFM(1) diff --git a/new-config/.config/vifm/vifminfo.json b/new-config/.config/vifm/vifminfo.json new file mode 100644 index 000000000..7a033659e --- /dev/null +++ b/new-config/.config/vifm/vifminfo.json @@ -0,0 +1 @@ +{"gtabs":[{"panes":[{"ptabs":[{"history":[{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 7","file":"image_2021-11-16_174428.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 6","relpos":11,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 6","file":"unknown.png","relpos":2,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 7","relpos":12,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 7","file":"image_2021-11-16_174428.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Quiz del tema 4","relpos":2,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Quiz del tema 4","file":"Respuestas 2.pdf","relpos":7,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 9","relpos":14,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 9","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 9","relpos":14,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 9","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 8","relpos":13,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 8","file":"Tarea 8.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 7","relpos":12,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 7","file":"image_2021-11-16_174428.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 11","relpos":15,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 11","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 9","relpos":14,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 9","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 11","relpos":15,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 11","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 12","relpos":16,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 12","file":"image_2021-12-12_000232.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 9","relpos":14,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 9","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 11","relpos":15,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 11","file":"unknown.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 13","relpos":17,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 13","file":"image_2021-12-12_000607.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 14","relpos":18,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 14","file":"..","relpos":0,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"Tarea 8","relpos":13,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION /Tarea 8","file":"Tarea 8.png","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos/ING102 - INTRODUCCION A LA PROGRAMACION ","file":"..","relpos":0,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos","file":"ING102 - INTRODUCCION A LA PROGRAMACION ","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn","file":"joseos","relpos":3,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn/joseos","file":"enlaces.txt","relpos":2,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/ING102 - Introducciรณn a la Programaciรณn","file":"..","relpos":0,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"..","relpos":0,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023","file":"Febrero - Abril","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario","file":"Trimestres del 2023","relpos":4,"ts":1676919727},{"dir":"/home/drk/Documents/Research Archive","file":"Archivo universitario","relpos":1,"ts":1676919727},{"dir":"/home/drk/Documents","file":"Research Archive","relpos":4,"ts":1676919727},{"dir":"/home/drk","file":".config","relpos":2,"ts":1676919727},{"dir":"/home/drk/.config","file":"newsboat","relpos":18,"ts":1676920779},{"dir":"/home/drk/.config/newsboat","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"fish","relpos":7,"ts":1676920779},{"dir":"/home/drk/.config/fish","file":"config.fish","relpos":4,"ts":1676920779},{"dir":"/home/drk/.config","file":"wezterm","relpos":29,"ts":1676920779},{"dir":"/home/drk/.config/wezterm","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"tut","relpos":27,"ts":1676920779},{"dir":"/home/drk/.config/tut","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"systemd","relpos":26,"ts":1676920779},{"dir":"/home/drk/.config/systemd","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"rofi","relpos":25,"ts":1676920779},{"dir":"/home/drk/.config/rofi","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"rofi","relpos":25,"ts":1676920779},{"dir":"/home/drk/.config/rofi","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk/.config","file":"..","relpos":0,"ts":1676920779},{"dir":"/home/drk","file":"Downloads","relpos":3,"ts":1676956289},{"dir":"/home/drk/Downloads","file":"Calculo_volumen_1_-_WEB_vGHB4xK.pdf","relpos":1,"ts":1676956289},{"dir":"/home/drk","file":"Videos","relpos":11,"ts":1676956289},{"dir":"/home/drk/Videos","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Desktop","relpos":1,"ts":1676985718},{"dir":"/home/drk/Desktop","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Documents","relpos":2,"ts":1676985718},{"dir":"/home/drk/Documents","file":"Research Archive","relpos":4,"ts":1676985718},{"dir":"/home/drk","file":"Downloads","relpos":3,"ts":1676985718},{"dir":"/home/drk/Downloads","file":"Calculo_volumen_1_-_WEB_vGHB4xK.pdf","relpos":1,"ts":1676985718},{"dir":"/home/drk","file":"Games","relpos":4,"ts":1676985718},{"dir":"/home/drk/Games","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Library","relpos":5,"ts":1676985718},{"dir":"/home/drk/Library","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Music","relpos":6,"ts":1676985718},{"dir":"/home/drk/Music","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Pictures","relpos":7,"ts":1676985718},{"dir":"/home/drk/Pictures","file":"Wallpapers","relpos":4,"ts":1676985718},{"dir":"/home/drk/Pictures/Wallpapers","file":"1.jpg","relpos":1,"ts":1676985718},{"dir":"/home/drk/Pictures","file":"Screenshots","relpos":3,"ts":1676985718},{"dir":"/home/drk/Pictures/Screenshots","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk/Pictures","file":"Screenshots","relpos":3,"ts":1676985718},{"dir":"/home/drk","file":"Public","relpos":8,"ts":1676985718},{"dir":"/home/drk/Public","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Repos","relpos":9,"ts":1676985718},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676985718},{"dir":"/home/drk/Repos/dotfiles","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk/Repos","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Templates","relpos":10,"ts":1676985718},{"dir":"/home/drk/Templates","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Videos","relpos":11,"ts":1676985718},{"dir":"/home/drk/Videos","file":"..","relpos":0,"ts":1676985718},{"dir":"/home/drk","file":"Downloads","relpos":3,"ts":1676985718},{"dir":"/home/drk/Downloads","file":"Calculo_volumen_1_-_WEB_vGHB4xK.pdf","relpos":1,"ts":1676986827},{"dir":"/home/drk","file":".config","relpos":2,"ts":1677013046},{"dir":"/home/drk/.config","file":"wofi","relpos":37,"ts":1677013046},{"dir":"/home/drk/.config/wofi","file":"scripts","relpos":1,"ts":1677013046},{"dir":"/home/drk/.config/wofi/scripts","file":"..","relpos":0,"ts":1677013046},{"dir":"/home/drk/.config/wofi","file":"scripts","relpos":1,"ts":1677020086},{"dir":"/home/drk/.config","file":"..","relpos":0,"ts":1677020086},{"dir":"/home/drk","file":"..","relpos":0,"ts":1677020086}],"filters":{"invert":true,"dot":true,"manual":"","auto":""},"last-location":"/home/drk","sorting":[2],"preview":false}]},{"ptabs":[{"history":[{"dir":"/home/drk","file":"Repos","relpos":9,"ts":1676777978},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"user-dirs.dirs","relpos":22,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/user","file":"..","relpos":0,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/user","file":"..","relpos":0,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles","file":"system","relpos":1,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/system","file":"boot","relpos":1,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/system/boot","file":"..","relpos":0,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/system","file":"etc","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/system/etc","file":"..","relpos":0,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles/system","file":"etc","relpos":2,"ts":1676777978},{"dir":"/home/drk/Repos/dotfiles","file":"system","relpos":1,"ts":1676777978},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676778992},{"dir":"/home/drk","file":"Repos","relpos":18,"ts":1676778992},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles","file":"system","relpos":2,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/system","file":"etc","relpos":2,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"lvim","relpos":10,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config/lvim","file":"plugin","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config/lvim/plugin","file":"packer_compiled.lua","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config/lvim","file":"plugin","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"fish","relpos":6,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config/fish","file":"config.fish","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"starship.toml","relpos":24,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"rofi","relpos":19,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos","file":"aaaa","relpos":1,"ts":1676853786},{"dir":"/home/drk/Repos/aaaa","file":"user","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos/aaaa/user","file":".xinitrc","relpos":9,"ts":1676853786},{"dir":"/home/drk/Repos/aaaa","file":"user","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":3,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles/user","file":"..","relpos":0,"ts":1676853786},{"dir":"/home/drk/Repos/dotfiles","file":"..","relpos":0,"ts":1676853786},{"dir":"/home/drk/Repos","file":"curso-linux-gnu-mavericks","relpos":1,"ts":1676853786},{"dir":"/home/drk","file":"Documents","relpos":2,"ts":1676853786},{"dir":"/home/drk/Documents","file":"Research Archive","relpos":4,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive","file":"Archivo universitario","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario","file":"Trimestres del 2023","relpos":4,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023","file":"Febrero - Abril","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"IDS311 - Proceso de Software","relpos":5,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software","file":"Materiales","relpos":2,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software/Materiales","file":"Unidad 1","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software/Materiales/Unidad 1","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software/Materiales","file":"INTEC - IDS - IDS311 - 1 - Definiciรณn de Procesos de Software.pdf","relpos":2,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software","file":"Tareas","relpos":3,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software/Tareas","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software","file":"Tareas","relpos":3,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"IDS311 - Proceso de Software","relpos":5,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software/Anotaciones","file":"clase-1-feb-13-2023.md","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS311 - Proceso de Software","file":"Materiales","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"IDS208 - Team Building","relpos":4,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS208 - Team Building","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS208 - Team Building/Anotaciones","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS208 - Team Building","file":"Tareas","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS208 - Team Building/Tareas","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/IDS208 - Team Building","file":"Tareas","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"CSH113 - Pensamiento Creativo","relpos":3,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CSH113 - Pensamiento Creativo","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CSH113 - Pensamiento Creativo/Anotaciones","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CSH113 - Pensamiento Creativo","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CSH113 - Pensamiento Creativo/Anotaciones","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CSH113 - Pensamiento Creativo","file":"Tareas","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"CBM102 - Cรกlculo Diferencial","relpos":2,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CBM102 - Cรกlculo Diferencial","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CBM102 - Cรกlculo Diferencial/Anotaciones","file":"clase-2-feb-6-2023.md","relpos":2,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CBM102 - Cรกlculo Diferencial","file":"Materiales","relpos":2,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CBM102 - Cรกlculo Diferencial/Materiales","file":"Caฬlculo Diferencial - Semana 1.pdf","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/CBM102 - Cรกlculo Diferencial","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"AHQ101 - Quehacer Cientรญfico","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/AHQ101 - Quehacer Cientรญfico","file":"Anotaciones","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/AHQ101 - Quehacer Cientรญfico/Anotaciones","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril/AHQ101 - Quehacer Cientรญfico","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023/Febrero - Abril","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario/Trimestres del 2023","file":"Febrero - Abril","relpos":1,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive/Archivo universitario","file":"..","relpos":0,"ts":1676914300},{"dir":"/home/drk/Documents/Research Archive","file":"Archivo universitario","relpos":1,"ts":1676920779},{"dir":"/home/drk/Documents","file":"Research Archive","relpos":4,"ts":1676920779},{"dir":"/home/drk","file":"Repos","relpos":9,"ts":1676920779},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":2,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"fish","relpos":6,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles/user/.config/fish","file":"config.fish","relpos":1,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles/user/.config","file":"rofi","relpos":19,"ts":1676920779},{"dir":"/home/drk/Repos/dotfiles/user","file":".config","relpos":1,"ts":1676956289},{"dir":"/home/drk/Repos/dotfiles","file":"user","relpos":3,"ts":1676956289},{"dir":"/home/drk/Repos","file":"dotfiles","relpos":2,"ts":1676956289},{"dir":"/home/drk","file":"Repos","relpos":9,"ts":1676956289}],"filters":{"invert":true,"dot":true,"manual":"","auto":""},"last-location":"/home/drk","sorting":[2],"preview":false}]}],"active-pane":0,"preview":false,"splitter":{"pos":-1,"ratio":0.5,"orientation":"v","expanded":false}}],"marks":{"H":{"dir":"/home/drk/","file":"..","ts":1676777635},"b":{"dir":"/home/drk/bin/","file":"..","ts":1676777635},"h":{"dir":"/home/drk/","file":"..","ts":1676777635},"z":{"dir":"/home/drk/.config/vifm","file":"..","ts":1676777635}},"bmarks":{},"cmd-hist":[{"text":"mv aaaaaa","ts":1676853786},{"text":"rename aaaa","ts":1676853786},{"text":"empty","ts":1676920779},{"text":"rename","ts":1677013046},{"text":"q","ts":1677013046}],"regs":{},"dir-stack":[],"use-term-multiplexer":false} \ No newline at end of file diff --git a/new-config/.config/vifm/vifmrc b/new-config/.config/vifm/vifmrc new file mode 100644 index 000000000..e4f446fab --- /dev/null +++ b/new-config/.config/vifm/vifmrc @@ -0,0 +1,505 @@ +" ____ __ +" / __ \_________ _/ /_____ +" / / / / ___/ __ `/ //_/ _ \ +" / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +" /_____/_/ \__,_/_/|_|\___/ My custom vifm config + +" vim: filetype=vifm : +" My config file for the vifm terminal file manager. +" ------------------------------------------------------------------------------ + +" This is the actual command used to start vi. The default is vim. +" If you would like to use emacs or emacsclient, you can use them. +" Since emacs is a GUI app and not a terminal app like vim, append the command +" with an ampersand (&). + +set vicmd=~/.local/bin/lvim + +" This makes vifm perform file operations on its own instead of relying on +" standard utilities like `cp`. While using `cp` and alike is a more universal +" solution, it's also much slower when processing large amounts of files and +" doesn't support progress measuring. + +set syscalls + +" Trash Directory +" The default is to move files that are deleted with dd or :d to +" the trash directory. If you change this you will not be able to move +" files by deleting them and then using p to put the file in the new location. +" I recommend not changing this until you are familiar with vifm. +" This probably shouldn't be an option. + +set trash + +" This is how many directories to store in the directory history. + +set history=100 + +" Automatically resolve symbolic links on l or Enter. + +set nofollowlinks + +" With this option turned on you can run partially entered commands with +" unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te). + +" set fastrun + +" Natural sort of (version) numbers within text. + +set sortnumbers + +" Maximum number of changes that can be undone. + +set undolevels=100 + +" If you installed the vim.txt help file set vimhelp. +" If would rather use a plain text help file set novimhelp. + +set novimhelp + +" If you would like to run an executable file when you +" press return on the file name set this. + +set norunexec + +" Selected color scheme +" The following line will cause issues if using vifm.vim with regular vim. +" Either use neovim or comment out the following line. +colorscheme distrotube + +" Format for displaying time in file list. For example: +" TIME_STAMP_FORMAT=%m/%d-%H:%M +" See man date or man strftime for details. + +set timefmt=%m/%d\ %H:%M + +" Show list of matches on tab completion in command-line mode + +set wildmenu + +" Display completions in a form of popup with descriptions of the matches + +set wildstyle=popup + +" Display suggestions in normal, visual and view modes for keys, marks and +" registers (at most 5 files). In other view, when available. + +set suggestoptions=normal,visual,view,otherpane,keys,marks,registers + +" Ignore case in search patterns unless it contains at least one uppercase +" letter + +set ignorecase +set smartcase + +" Don't highlight search results automatically + +set nohlsearch + +" Use increment searching (search while typing) +set incsearch + +" Try to leave some space from cursor to upper/lower border in lists + +set scrolloff=4 + +" Don't do too many requests to slow file systems + +if !has('win') + set slowfs=curlftpfs +endif + +" Set custom status line look + +set statusline=" Hint: %z%= %A %10u:%-7g %15s %20d " + +" Set line numbers to show + +" ------------------------------------------------------------------------------ + +" :mark mark /full/directory/path [filename] + +mark h ~/ + +" ------------------------------------------------------------------------------ + +" :com[mand][!] command_name action +" The following macros can be used in a command +" %a is replaced with the user arguments. +" %c the current file under the cursor. +" %C the current file under the cursor in the other directory. +" %f the current selected file, or files. +" %F the current selected file, or files in the other directory. +" %b same as %f %F. +" %d the current directory name. +" %D the other window directory name. +" %m run the command in a menu window + +command! df df -h %m 2> /dev/null +command! diff vim -d %f %F +command! zip zip -r %f.zip %f +command! run !! ./%f +command! make !!make %a +command! mkcd :mkdir %a | cd %a +command! vgrep vim "+grep %a" +command! reload :write | restart + +" ------------------------------------------------------------------------------ + +" The file type is for the default programs to be used with +" a file extension. +" :filetype pattern1,pattern2 defaultprogram,program2 +" :fileviewer pattern1,pattern2 consoleviewer +" The other programs for the file type can be accessed with the :file command +" The command macros %f, %F, %d, %F may be used in the commands. +" The %a macro is ignored. To use a % you must put %%. + +" For automated FUSE mounts, you must register an extension with :file[x]type +" in one of following formats: +" +" :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables +" %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime. +" A sample line might look like this: +" :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR +" +" :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables +" %PARAM and %DESTINATION_DIR are filled in by vifm at runtime. +" A sample line might look like this: +" :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR +" %PARAM value is filled from the first line of file (whole line). +" Example first line for SshMount filetype: root@127.0.0.1:/ +" +" You can also add %CLEAR if you want to clear screen before running FUSE +" program. + +" Pdf +filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c +fileviewer *.pdf + \ vifmimg pdfpreview %px %py %pw %ph %c + \ %pc + \ vifmimg clear + " \ pdftotext -nopgbrk %c - + +" PostScript +filextype *.ps,*.eps,*.ps.gz + \ {View in zathura} + \ zathura %f, + \ {View in gv} + \ gv %c %i &, + +" Djvu +filextype *.djvu + \ {View in zathura} + \ zathura %f, + \ {View in apvlv} + \ apvlv %f, + +" Audio +filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus + \ {Play using mpv} + \ mpv %f, +fileviewer *.mp3 mp3info +fileviewer *.flac soxi + +" Video +filextype *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] + \ {View using mplayer} + \ mpv %f, +fileviewer *.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob, + \*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx, + \*.as[fx] + \ vifmimg videopreview %px %py %pw %ph %c + \ %pc + \ vifmimg clear + " \ ffprobe -pretty %c 2>&1 + +" Web +filextype *.html,*.htm + \ {Open with emacs} + \ emacsclient -c %c &, + \ {Open with vim} + \ vim %c &, + \ {Open with dwb} + \ dwb %f %i &, + \ {Open with firefox} + \ firefox %f &, + \ {Open with uzbl} + \ uzbl-browser %f %i &, +filetype *.html,*.htm links, lynx + +" Object +filetype *.o nm %f | less + +" Man page +filetype *.[1-8] man ./%c +fileviewer *.[1-8] man ./%c | col -b + +" Images +filextype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm + \ {View in nsxiv} + \ nsxiv -ia %f &, + \ {View in imv} + \ imv -b 1D2330 -d %d &, + \ {View in feh} + \ feh %d &, + \ {View in cacaview} + \ cacaview %c &, +fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.xpm + \ vifmimg draw %px %py %pw %ph %c + \ %pc + \ vifmimg clear +fileviewer *.gif + \ vifmimg gifpreview %px %py %pw %ph %c + \ %pc + \ vifmimg clear + +" OpenRaster +filextype *.ora + \ {Edit in MyPaint} + \ mypaint %f, + +" Mindmap +filextype *.vym + \ {Open with VYM} + \ vym %f &, + +" MD5 +filetype *.md5 + \ {Check MD5 hash sum} + \ md5sum -c %f %S, + +" SHA1 +filetype *.sha1 + \ {Check SHA1 hash sum} + \ sha1sum -c %f %S, + +" SHA256 +filetype *.sha256 + \ {Check SHA256 hash sum} + \ sha256sum -c %f %S, + +" SHA512 +filetype *.sha512 + \ {Check SHA512 hash sum} + \ sha512sum -c %f %S, + +" GPG signature +filetype *.asc + \ {Check signature} + \ !!gpg --verify %c, + +" Torrent +filetype *.torrent ktorrent %f & +fileviewer *.torrent dumptorrent -v %c + +" FuseZipMount +filetype *.zip,*.jar,*.war,*.ear,*.oxt,*.apkg + \ {Mount with fuse-zip} + \ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR, + \ {View contents} + \ zip -sf %c | less, + \ {Extract here} + \ tar -xf %c, +fileviewer *.zip,*.jar,*.war,*.ear,*.oxt zip -sf %c + +" ArchiveMount +filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz + \ {Mount with archivemount} + \ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR, +fileviewer *.tgz,*.tar.gz tar -tzf %c +fileviewer *.tar.bz2,*.tbz2 tar -tjf %c +fileviewer *.tar.txz,*.txz xz --list %c +fileviewer *.tar tar -tf %c + +" Rar2FsMount and rar archives +filetype *.rar + \ {Mount with rar2fs} + \ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR, +fileviewer *.rar unrar v %c + +" IsoMount +filetype *.iso + \ {Mount with fuseiso} + \ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR, + +" SshMount +filetype *.ssh + \ {Mount with sshfs} + \ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR %FOREGROUND, + +" FtpMount +filetype *.ftp + \ {Mount with curlftpfs} + \ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND, + +" Fuse7z and 7z archives +filetype *.7z + \ {Mount with fuse-7z} + \ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR, +fileviewer *.7z 7z l %c + +" Office files +filextype *.odt,*.doc,*.docx,*.xls,*.xlsx,*.odp,*.pptx libreoffice %f & +fileviewer *.doc catdoc %c +fileviewer *.docx docx2txt.pl %f - + +" TuDu files +filetype *.tudu tudu -f %c + +" Qt projects +filextype *.pro qtcreator %f & + +" Directories +filextype */ + \ {View in thunar} + \ Thunar %f &, + +" Syntax highlighting in preview +" +" Explicitly set highlight type for some extensions +" +" 256-color terminal +" fileviewer *.[ch],*.[ch]pp highlight -O xterm256 -s dante --syntax c %c +" fileviewer Makefile,Makefile.* highlight -O xterm256 -s dante --syntax make %c +" +" 16-color terminal +" fileviewer *.c,*.h highlight -O ansi -s dante %c +" +" Or leave it for automatic detection +" +" fileviewer *[^/] pygmentize -O style=monokai -f console256 -g + +" Displaying pictures in terminal +" +" fileviewer *.jpg,*.png shellpic %c + +" Open all other files with default system programs (you can also remove all +" :file[x]type commands above to ensure they don't interfere with system-wide +" settings). By default all unknown files are opened with 'vi[x]cmd' +" uncommenting one of lines below will result in ignoring 'vi[x]cmd' option +" for unknown file types. +" For *nix: +" filetype * xdg-open +" For OS X: +" filetype * open +" For Windows: +" filetype * start, explorer + +" GETTING ICONS TO DISPLAY IN VIFM +" You need the next 14 lines! + +" file types +set classify='๏ผ :dir:/,๏„  :exe:,๏…œ :reg:,๏’ :link:' +" various file names +set classify+='๏ข ::../::,๎˜” ::*.sh::,๎˜ ::*.[hc]pp::,๎˜ž ::*.[hc]::,๏‡น ::/^copying|license$/::,๏‡“ ::.git/,,*.git/::,๏€ญ ::*.epub,,*.fb2,,*.djvu::,๏‡ ::*.pdf::,๏‘ ::*.htm,,*.html,,**.[sx]html,,*.xml::' +" archives +set classify+='๏’‡ ::*.7z,,*.ace,,*.arj,,*.bz2,,*.cpio,,*.deb,,*.dz,,*.gz,,*.jar,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.rz,,*.tar,,*.taz,,*.tb2,,*.tbz,,*.tbz2,,*.tgz,,*.tlz,,*.trz,,*.txz,,*.tz,,*.tz2,,*.xz,,*.z,,*.zip,,*.zoo::' +" images +set classify+='๏€พ ::*.bmp,,*.gif,,*.jpeg,,*.jpg,,*.ico,,*.png,,*.ppm,,*.svg,,*.svgz,,*.tga,,*.tif,,*.tiff,,*.xbm,,*.xcf,,*.xpm,,*.xspf,,*.xwd::' +" audio +set classify+='๏€ฅ ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::' +" media +set classify+='๎˜‚ ::*.avi,,*.ts,,*.axv,,*.divx,,*.m2v,,*.m4p,,*.m4v,,.mka,,*.mkv,,*.mov,,*.mp4,,*.flv,,*.mp4v,,*.mpeg,,*.mpg,,*.nuv,,*.ogv,,*.pbm,,*.pgm,,*.qt,,*.vob,,*.wmv,,*.xvid::' +" office files +set classify+='๏‡‚ ::*.doc,,*.docx::,๏‡ƒ ::*.xls,,*.xls[mx]::,๏‡„ ::*.pptx,,*.ppt::' + +" ------------------------------------------------------------------------------ + +" What should be saved automatically between vifm runs +" Like in previous versions of vifm +" set vifminfo=options,filetypes,commands,bookmarks,dhistory,state,cs +" Like in vi +set vifminfo=dhistory,savedirs,chistory,state,tui,shistory, + \phistory,fhistory,dirstack,registers,bookmarks,bmarks + +" ------------------------------------------------------------------------------ + +" Examples of configuring both panels + +" Customize view columns a bit (enable ellipsis for truncated file names) +" +" set viewcolumns=-{name}..,6{}. + +" Filter-out build and temporary files +" +" filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/ + +" ------------------------------------------------------------------------------ + +" Sample mappings + +"Open all images in current directory in sxiv thumbnail mode +nnoremap sx :!sxiv -t %d & + +"Open selected images in gimp +nnoremap gp :!gimp %f & + +" Start shell in current directory +nnoremap s :shell + +" Display sorting dialog +nnoremap S :sort + +" Toggle visibility of preview window +nnoremap w :view +vnoremap w :viewgv + +" Open file in the background using its default program +nnoremap gb :file &l + +" Yank current directory path into the clipboard +nnoremap yd :!echo %d | xclip %i + +" Yank current file path into the clipboard +nnoremap yf :!echo %c:p | xclip %i + +" Mappings for faster renaming +nnoremap I cw +nnoremap cc cw +nnoremap A cw + +" Open console in current directory +nnoremap ,t :!xterm & + +" Open editor to edit vifmrc and apply settings after returning to vifm +nnoremap ,c :write | edit $MYVIFMRC | restart +" Open gvim to edit vifmrc +nnoremap ,C :!gvim --remote-tab-silent $MYVIFMRC & + +" Toggle wrap setting on ,w key +nnoremap ,w :set wrap! + +" Example of standard two-panel file managers mappings +nnoremap :!less %f +nnoremap :edit +nnoremap :copy +nnoremap :move +nnoremap :mkdir +nnoremap :delete + +" ------------------------------------------------------------------------------ + +" Various customization examples + +" Use ag (the silver searcher) instead of grep +" +" set grepprg='ag --line-numbers %i %a %s' + +" Add additional place to look for executables +" +" let $PATH = $HOME.'/bin/fuse:'.$PATH + +" Block particular shortcut +" +" nnoremap + +" Export IPC name of current instance as environment variable and use it to +" communicate with the instance later. +" +" It can be used in some shell script that gets run from inside vifm, for +" example, like this: +" vifm --server-name "$VIFM_SERVER_NAME" --remote +"cd '$PWD'" +" +" let $VIFM_SERVER_NAME = v:servername diff --git a/new-config/.config/waybar/config b/new-config/.config/waybar/config new file mode 100644 index 000000000..a557b8ca3 --- /dev/null +++ b/new-config/.config/waybar/config @@ -0,0 +1,69 @@ +{ + "position": "top", + "height": 22, + //"width": 1280, + "spacing": 10, + + // Choose the order of the modules + "modules-left": ["wlr/workspaces"], + "modules-right": ["idle_inhibitor", "pulseaudio", "backlight", "battery", "clock"], + + "wlr/workspaces": { + "on-click": "activate", + "sort-by-number": true, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1" + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "๎ฉฑ", + "deactivated": "๎ชผ" + } + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["๓ฐƒž ", "๓ฐƒž ", "๓ฐƒž ", "๓ฐƒŸ ", "๓ฐƒŸ ", "๓ฐƒŸ ", "๓ฐƒ  ", "๓ฐƒ  ", "๓ฐƒ  "] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ๓ฑ‹", + "format-plugged": "{capacity}% ๓ฐšฅ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["๏‰„ ", "๏‰ƒ ", "๏‰‚ ", "๏‰ ", "๏‰€ "] + }, + "pulseaudio": { + "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon}๏Š” {format_source}", + "format-bluetooth-muted": "๓ฐ– {icon}๏Š” {format_source}", + "format-muted": "๓ฐ– {format_source}", + "format-source": "{volume}% ๓ฐฌ", + "format-source-muted": "๓ฐญ", + "format-icons": { + "headphone": "๓ฐ‹‹", + "hands-free": "๓ฑก", + "headset": "๓ฐ‹Ž", + "phone": "๓ฐฒ", + "portable": "๓ฐฒ", + "car": "๓ฐ„‹", + "default": ["๓ฐ•ฟ", "๓ฐ–€", "๓ฐ•พ"] + }, + "on-click": "qpwgraph" + }, +} + diff --git a/new-config/.config/waybar/style.css b/new-config/.config/waybar/style.css new file mode 100644 index 000000000..8c81647de --- /dev/null +++ b/new-config/.config/waybar/style.css @@ -0,0 +1,168 @@ +* { + font-family: mononoki Nerd Font, mononoki Nerd Font Mono; + font-size: 13px; +} + +window#waybar { + background-color: rgba(29, 32, 33, 0.90); + color: #ebdbb2; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ebdbb2; +} + +#workspaces button.active { + background-color: rgba(204, 36, 29, 0.5); + color: #ebdbb2; +} + +#workspaces button:hover { + background: rgba(29, 32, 33, 1); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ebdbb2; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#backlight, +#network, +#pulseaudio, +#mode, +#idle_inhibitor { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #8f3f71; + color: #ebdbb2 +} + +#battery { + background-color: #79740e; + color: #ebdbb2; +} + +#battery.charging, #battery.plugged { + color: #ebdbb2; + background-color: #689d6a; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #9d0006; + color: #ebdbb2; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #ebdbb2; +} + +#backlight { + background-color: #b57614; +} + +#network { + background-color: #076678; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #458588; + color: #ebdbb2; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#idle_inhibitor { + background-color: #d65d0e; +} + +#idle_inhibitor.activated { + background-color: #fe8019; + color: #2d3436; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} diff --git a/new-config/.config/wezterm/wezterm.lua b/new-config/.config/wezterm/wezterm.lua new file mode 100644 index 000000000..e55c67c15 --- /dev/null +++ b/new-config/.config/wezterm/wezterm.lua @@ -0,0 +1,33 @@ +local wezterm = require 'wezterm' +local gpus = wezterm.gui.enumerate_gpus() + +return { + enable_wayland = true, + font = wezterm.font { + family = 'mononoki Nerd Font', + weight = 'Medium' + }, + color_scheme = 'Gruvbox dark, hard (base16)', + default_prog = { '/usr/bin/fish' }, + default_cursor_style = "BlinkingUnderline", + font_size = 12, + check_for_updates = false, + use_dead_keys = false, + warn_about_missing_glyphs = false, + enable_kitty_graphics = true, + animation_fps = 1, + cursor_blink_rate = 175, + hide_tab_bar_if_only_one_tab = true, + adjust_window_size_when_changing_font_size = false, + window_padding = { + left = 10, + right = 10, + top = 10, + bottom = 10, + }, + use_fancy_tab_bar = false, + exit_behavior = "Close", + window_close_confirmation = 'NeverPrompt', + tab_bar_at_bottom = false, + window_background_opacity = 0.8, +} diff --git a/new-config/.config/wofi/config b/new-config/.config/wofi/config new file mode 100644 index 000000000..594a87378 --- /dev/null +++ b/new-config/.config/wofi/config @@ -0,0 +1,10 @@ +style=/home/drk/.config/wofi/style.css +show=drun +width=1100 +height=320 +always_parse_args=true +show_all=true +print_command=true +layer=overlay +insensitive=true +prompt=Run a program diff --git a/new-config/.config/wofi/scripts/wofi_emoji b/new-config/.config/wofi/scripts/wofi_emoji new file mode 100755 index 000000000..8e1dde878 --- /dev/null +++ b/new-config/.config/wofi/scripts/wofi_emoji @@ -0,0 +1,1859 @@ +#!/bin/bash +wtype 0 +if [ $? -eq 0 ] +then + sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i -p "๓ฐ™ƒ Select Emoji:" | cut -d ' ' -f 1 | tr -d '\n' | wtype - +else + sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i -p "๓ฐ™ƒ Select Emoji:" | cut -d ' ' -f 1 | tr -d '\n' | wl-copy +fi +exit +### DATA ### +๐Ÿ˜€ grinning face face smile happy joy :D grin +๐Ÿ˜ƒ grinning face with big eyes face happy joy haha :D :) smile funny +๐Ÿ˜„ grinning face with smiling eyes face happy joy funny haha laugh like :D :) smile +๐Ÿ˜ beaming face with smiling eyes face happy smile joy kawaii +๐Ÿ˜† grinning squinting face happy joy lol satisfied haha face glad XD laugh +๐Ÿ˜… grinning face with sweat face hot happy laugh sweat smile relief +๐Ÿคฃ rolling on the floor laughing face rolling floor laughing lol haha rofl +๐Ÿ˜‚ face with tears of joy face cry tears weep happy happytears haha +๐Ÿ™‚ slightly smiling face face smile +๐Ÿ™ƒ upside down face face flipped silly smile +๐Ÿ˜‰ winking face face happy mischievous secret ;) smile eye +๐Ÿ˜Š smiling face with smiling eyes face smile happy flushed crush embarrassed shy joy +๐Ÿ˜‡ smiling face with halo face angel heaven halo +๐Ÿฅฐ smiling face with hearts face love like affection valentines infatuation crush hearts adore +๐Ÿ˜ smiling face with heart eyes face love like affection valentines infatuation crush heart +๐Ÿคฉ star struck face smile starry eyes grinning +๐Ÿ˜˜ face blowing a kiss face love like affection valentines infatuation kiss +๐Ÿ˜— kissing face love like face 3 valentines infatuation kiss +โ˜บ๏ธ smiling face face blush massage happiness +๐Ÿ˜š kissing face with closed eyes face love like affection valentines infatuation kiss +๐Ÿ˜™ kissing face with smiling eyes face affection valentines infatuation kiss +๐Ÿ˜‹ face savoring food happy joy tongue smile face silly yummy nom delicious savouring +๐Ÿ˜› face with tongue face prank childish playful mischievous smile tongue +๐Ÿ˜œ winking face with tongue face prank childish playful mischievous smile wink tongue +๐Ÿคช zany face face goofy crazy +๐Ÿ˜ squinting face with tongue face prank playful mischievous smile tongue +๐Ÿค‘ money mouth face face rich dollar money +๐Ÿค— hugging face face smile hug +๐Ÿคญ face with hand over mouth face whoops shock surprise +๐Ÿคซ shushing face face quiet shhh +๐Ÿค” thinking face face hmmm think consider +๐Ÿค zipper mouth face face sealed zipper secret +๐Ÿคจ face with raised eyebrow face distrust scepticism disapproval disbelief surprise +๐Ÿ˜ neutral face indifference meh :| neutral +๐Ÿ˜‘ expressionless face face indifferent - - meh deadpan +๐Ÿ˜ถ face without mouth face hellokitty +๐Ÿ˜ smirking face face smile mean prank smug sarcasm +๐Ÿ˜’ unamused face indifference bored straight face serious sarcasm unimpressed skeptical dubious side eye +๐Ÿ™„ face with rolling eyes face eyeroll frustrated +๐Ÿ˜ฌ grimacing face face grimace teeth +๐Ÿคฅ lying face face lie pinocchio +๐Ÿ˜Œ relieved face face relaxed phew massage happiness +๐Ÿ˜” pensive face face sad depressed upset +๐Ÿ˜ช sleepy face face tired rest nap +๐Ÿคค drooling face face +๐Ÿ˜ด sleeping face face tired sleepy night zzz +๐Ÿ˜ท face with medical mask face sick ill disease +๐Ÿค’ face with thermometer sick temperature thermometer cold fever +๐Ÿค• face with head bandage injured clumsy bandage hurt +๐Ÿคข nauseated face face vomit gross green sick throw up ill +๐Ÿคฎ face vomiting face sick +๐Ÿคง sneezing face face gesundheit sneeze sick allergy +๐Ÿฅต hot face face feverish heat red sweating +๐Ÿฅถ cold face face blue freezing frozen frostbite icicles +๐Ÿฅด woozy face face dizzy intoxicated tipsy wavy +๐Ÿ˜ต dizzy face spent unconscious xox dizzy +๐Ÿคฏ exploding head face shocked mind blown +๐Ÿค  cowboy hat face face cowgirl hat +๐Ÿฅณ partying face face celebration woohoo +๐Ÿ˜Ž smiling face with sunglasses face cool smile summer beach sunglass +๐Ÿค“ nerd face face nerdy geek dork +๐Ÿง face with monocle face stuffy wealthy +๐Ÿ˜• confused face face indifference huh weird hmmm :/ +๐Ÿ˜Ÿ worried face face concern nervous :( +๐Ÿ™ slightly frowning face face frowning disappointed sad upset +โ˜น๏ธ frowning face face sad upset frown +๐Ÿ˜ฎ face with open mouth face surprise impressed wow whoa :O +๐Ÿ˜ฏ hushed face face woo shh +๐Ÿ˜ฒ astonished face face xox surprised poisoned +๐Ÿ˜ณ flushed face face blush shy flattered +๐Ÿฅบ pleading face face begging mercy +๐Ÿ˜ฆ frowning face with open mouth face aw what +๐Ÿ˜ง anguished face face stunned nervous +๐Ÿ˜จ fearful face face scared terrified nervous oops huh +๐Ÿ˜ฐ anxious face with sweat face nervous sweat +๐Ÿ˜ฅ sad but relieved face face phew sweat nervous +๐Ÿ˜ข crying face face tears sad depressed upset :'( +๐Ÿ˜ญ loudly crying face face cry tears sad upset depressed +๐Ÿ˜ฑ face screaming in fear face munch scared omg +๐Ÿ˜– confounded face face confused sick unwell oops :S +๐Ÿ˜ฃ persevering face face sick no upset oops +๐Ÿ˜ž disappointed face face sad upset depressed :( +๐Ÿ˜“ downcast face with sweat face hot sad tired exercise +๐Ÿ˜ฉ weary face face tired sleepy sad frustrated upset +๐Ÿ˜ซ tired face sick whine upset frustrated +๐Ÿฅฑ yawning face tired sleepy +๐Ÿ˜ค face with steam from nose face gas phew proud pride +๐Ÿ˜ก pouting face angry mad hate despise +๐Ÿ˜  angry face mad face annoyed frustrated +๐Ÿคฌ face with symbols on mouth face swearing cursing cussing profanity expletive +๐Ÿ˜ˆ smiling face with horns devil horns +๐Ÿ‘ฟ angry face with horns devil angry horns +๐Ÿ’€ skull dead skeleton creepy death +โ˜ ๏ธ skull and crossbones poison danger deadly scary death pirate evil +๐Ÿ’ฉ pile of poo hankey shitface fail turd shit +๐Ÿคก clown face face +๐Ÿ‘น ogre monster red mask halloween scary creepy devil demon japanese ogre +๐Ÿ‘บ goblin red evil mask monster scary creepy japanese goblin +๐Ÿ‘ป ghost halloween spooky scary +๐Ÿ‘ฝ alien UFO paul weird outer space +๐Ÿ‘พ alien monster game arcade play +๐Ÿค– robot computer machine bot +๐Ÿ˜บ grinning cat animal cats happy smile +๐Ÿ˜ธ grinning cat with smiling eyes animal cats smile +๐Ÿ˜น cat with tears of joy animal cats haha happy tears +๐Ÿ˜ป smiling cat with heart eyes animal love like affection cats valentines heart +๐Ÿ˜ผ cat with wry smile animal cats smirk +๐Ÿ˜ฝ kissing cat animal cats kiss +๐Ÿ™€ weary cat animal cats munch scared scream +๐Ÿ˜ฟ crying cat animal tears weep sad cats upset cry +๐Ÿ˜พ pouting cat animal cats +๐Ÿ™ˆ see no evil monkey monkey animal nature haha +๐Ÿ™‰ hear no evil monkey animal monkey nature +๐Ÿ™Š speak no evil monkey monkey animal nature omg +๐Ÿ’‹ kiss mark face lips love like affection valentines +๐Ÿ’Œ love letter email like affection envelope valentines +๐Ÿ’˜ heart with arrow love like heart affection valentines +๐Ÿ’ heart with ribbon love valentines +๐Ÿ’– sparkling heart love like affection valentines +๐Ÿ’— growing heart like love affection valentines pink +๐Ÿ’“ beating heart love like affection valentines pink heart +๐Ÿ’ž revolving hearts love like affection valentines +๐Ÿ’• two hearts love like affection valentines heart +๐Ÿ’Ÿ heart decoration purple-square love like +โฃ๏ธ heart exclamation decoration love +๐Ÿ’” broken heart sad sorry break heart heartbreak +โค๏ธ red heart love like valentines +๐Ÿงก orange heart love like affection valentines +๐Ÿ’› yellow heart love like affection valentines +๐Ÿ’š green heart love like affection valentines +๐Ÿ’™ blue heart love like affection valentines +๐Ÿ’œ purple heart love like affection valentines +๐ŸคŽ brown heart coffee +๐Ÿ–ค black heart evil +๐Ÿค white heart pure +๐Ÿ’ฏ hundred points score perfect numbers century exam quiz test pass hundred +๐Ÿ’ข anger symbol angry mad +๐Ÿ’ฅ collision bomb explode explosion collision blown +๐Ÿ’ซ dizzy star sparkle shoot magic +๐Ÿ’ฆ sweat droplets water drip oops +๐Ÿ’จ dashing away wind air fast shoo fart smoke puff +๐Ÿ•ณ๏ธ hole embarrassing +๐Ÿ’ฃ bomb boom explode explosion terrorism +๐Ÿ’ฌ speech balloon bubble words message talk chatting +๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ eye in speech bubble info +๐Ÿ—จ๏ธ left speech bubble words message talk chatting +๐Ÿ—ฏ๏ธ right anger bubble caption speech thinking mad +๐Ÿ’ญ thought balloon bubble cloud speech thinking dream +๐Ÿ’ค zzz sleepy tired dream +๐Ÿ‘‹ waving hand hands gesture goodbye solong farewell hello hi palm +๐Ÿคš raised back of hand fingers raised backhand +๐Ÿ–๏ธ hand with fingers splayed hand fingers palm +โœ‹ raised hand fingers stop highfive palm ban +๐Ÿ–– vulcan salute hand fingers spock star trek +๐Ÿ‘Œ ok hand fingers limbs perfect ok okay +๐Ÿค pinching hand tiny small size +โœŒ๏ธ victory hand fingers ohyeah hand peace victory two +๐Ÿคž crossed fingers good lucky +๐ŸคŸ love you gesture hand fingers gesture +๐Ÿค˜ sign of the horns hand fingers evil eye sign of horns rock on +๐Ÿค™ call me hand hands gesture shaka +๐Ÿ‘ˆ backhand index pointing left direction fingers hand left +๐Ÿ‘‰ backhand index pointing right fingers hand direction right +๐Ÿ‘† backhand index pointing up fingers hand direction up +๐Ÿ–• middle finger hand fingers rude middle flipping +๐Ÿ‘‡ backhand index pointing down fingers hand direction down +โ˜๏ธ index pointing up hand fingers direction up +๐Ÿ‘ thumbs up thumbsup yes awesome good agree accept cool hand like +1 +๐Ÿ‘Ž thumbs down thumbsdown no dislike hand -1 +โœŠ raised fist fingers hand grasp +๐Ÿ‘Š oncoming fist angry violence fist hit attack hand +๐Ÿค› left facing fist hand fistbump +๐Ÿคœ right facing fist hand fistbump +๐Ÿ‘ clapping hands hands praise applause congrats yay +๐Ÿ™Œ raising hands gesture hooray yea celebration hands +๐Ÿ‘ open hands fingers butterfly hands open +๐Ÿคฒ palms up together hands gesture cupped prayer +๐Ÿค handshake agreement shake +๐Ÿ™ folded hands please hope wish namaste highfive pray +โœ๏ธ writing hand lower left ballpoint pen stationery write compose +๐Ÿ’… nail polish beauty manicure finger fashion nail +๐Ÿคณ selfie camera phone +๐Ÿ’ช flexed biceps arm flex hand summer strong biceps +๐Ÿฆพ mechanical arm accessibility +๐Ÿฆฟ mechanical leg accessibility +๐Ÿฆต leg kick limb +๐Ÿฆถ foot kick stomp +๐Ÿ‘‚ ear face hear sound listen +๐Ÿฆป ear with hearing aid accessibility +๐Ÿ‘ƒ nose smell sniff +๐Ÿง  brain smart intelligent +๐Ÿฆท tooth teeth dentist +๐Ÿฆด bone skeleton +๐Ÿ‘€ eyes look watch stalk peek see +๐Ÿ‘๏ธ eye face look see watch stare +๐Ÿ‘… tongue mouth playful +๐Ÿ‘„ mouth mouth kiss +๐Ÿ‘ถ baby child boy girl toddler +๐Ÿง’ child gender-neutral young +๐Ÿ‘ฆ boy man male guy teenager +๐Ÿ‘ง girl female woman teenager +๐Ÿง‘ person gender-neutral person +๐Ÿ‘ฑ person blond hair hairstyle +๐Ÿ‘จ man mustache father dad guy classy sir moustache +๐Ÿง” man beard person bewhiskered +๐Ÿ‘จโ€๐Ÿฆฐ man red hair hairstyle +๐Ÿ‘จโ€๐Ÿฆฑ man curly hair hairstyle +๐Ÿ‘จโ€๐Ÿฆณ man white hair old elder +๐Ÿ‘จโ€๐Ÿฆฒ man bald hairless +๐Ÿ‘ฉ woman female girls lady +๐Ÿ‘ฉโ€๐Ÿฆฐ woman red hair hairstyle +๐Ÿง‘โ€๐Ÿฆฐ person red hair hairstyle +๐Ÿ‘ฉโ€๐Ÿฆฑ woman curly hair hairstyle +๐Ÿง‘โ€๐Ÿฆฑ person curly hair hairstyle +๐Ÿ‘ฉโ€๐Ÿฆณ woman white hair old elder +๐Ÿง‘โ€๐Ÿฆณ person white hair elder old +๐Ÿ‘ฉโ€๐Ÿฆฒ woman bald hairless +๐Ÿง‘โ€๐Ÿฆฒ person bald hairless +๐Ÿ‘ฑโ€โ™€๏ธ woman blond hair woman female girl blonde person +๐Ÿ‘ฑโ€โ™‚๏ธ man blond hair man male boy blonde guy person +๐Ÿง“ older person human elder senior gender-neutral +๐Ÿ‘ด old man human male men old elder senior +๐Ÿ‘ต old woman human female women lady old elder senior +๐Ÿ™ person frowning worried +๐Ÿ™โ€โ™‚๏ธ man frowning male boy man sad depressed discouraged unhappy +๐Ÿ™โ€โ™€๏ธ woman frowning female girl woman sad depressed discouraged unhappy +๐Ÿ™Ž person pouting upset +๐Ÿ™Žโ€โ™‚๏ธ man pouting male boy man +๐Ÿ™Žโ€โ™€๏ธ woman pouting female girl woman +๐Ÿ™… person gesturing no decline +๐Ÿ™…โ€โ™‚๏ธ man gesturing no male boy man nope +๐Ÿ™…โ€โ™€๏ธ woman gesturing no female girl woman nope +๐Ÿ™† person gesturing ok agree +๐Ÿ™†โ€โ™‚๏ธ man gesturing ok men boy male blue human man +๐Ÿ™†โ€โ™€๏ธ woman gesturing ok women girl female pink human woman +๐Ÿ’ person tipping hand information +๐Ÿ’โ€โ™‚๏ธ man tipping hand male boy man human information +๐Ÿ’โ€โ™€๏ธ woman tipping hand female girl woman human information +๐Ÿ™‹ person raising hand question +๐Ÿ™‹โ€โ™‚๏ธ man raising hand male boy man +๐Ÿ™‹โ€โ™€๏ธ woman raising hand female girl woman +๐Ÿง deaf person accessibility +๐Ÿงโ€โ™‚๏ธ deaf man accessibility +๐Ÿงโ€โ™€๏ธ deaf woman accessibility +๐Ÿ™‡ person bowing respectiful +๐Ÿ™‡โ€โ™‚๏ธ man bowing man male boy +๐Ÿ™‡โ€โ™€๏ธ woman bowing woman female girl +๐Ÿคฆ person facepalming disappointed +๐Ÿคฆโ€โ™‚๏ธ man facepalming man male boy disbelief +๐Ÿคฆโ€โ™€๏ธ woman facepalming woman female girl disbelief +๐Ÿคท person shrugging regardless +๐Ÿคทโ€โ™‚๏ธ man shrugging man male boy confused indifferent doubt +๐Ÿคทโ€โ™€๏ธ woman shrugging woman female girl confused indifferent doubt +๐Ÿง‘โ€โš•๏ธ health worker hospital +๐Ÿ‘จโ€โš•๏ธ man health worker doctor nurse therapist healthcare man human +๐Ÿ‘ฉโ€โš•๏ธ woman health worker doctor nurse therapist healthcare woman human +๐Ÿง‘โ€๐ŸŽ“ student learn +๐Ÿ‘จโ€๐ŸŽ“ man student graduate man human +๐Ÿ‘ฉโ€๐ŸŽ“ woman student graduate woman human +๐Ÿง‘โ€๐Ÿซ teacher professor +๐Ÿ‘จโ€๐Ÿซ man teacher instructor professor man human +๐Ÿ‘ฉโ€๐Ÿซ woman teacher instructor professor woman human +๐Ÿง‘โ€โš–๏ธ judge law +๐Ÿ‘จโ€โš–๏ธ man judge justice court man human +๐Ÿ‘ฉโ€โš–๏ธ woman judge justice court woman human +๐Ÿง‘โ€๐ŸŒพ farmer crops +๐Ÿ‘จโ€๐ŸŒพ man farmer rancher gardener man human +๐Ÿ‘ฉโ€๐ŸŒพ woman farmer rancher gardener woman human +๐Ÿง‘โ€๐Ÿณ cook food kitchen culinary +๐Ÿ‘จโ€๐Ÿณ man cook chef man human +๐Ÿ‘ฉโ€๐Ÿณ woman cook chef woman human +๐Ÿง‘โ€๐Ÿ”ง mechanic worker technician +๐Ÿ‘จโ€๐Ÿ”ง man mechanic plumber man human wrench +๐Ÿ‘ฉโ€๐Ÿ”ง woman mechanic plumber woman human wrench +๐Ÿง‘โ€๐Ÿญ factory worker labor +๐Ÿ‘จโ€๐Ÿญ man factory worker assembly industrial man human +๐Ÿ‘ฉโ€๐Ÿญ woman factory worker assembly industrial woman human +๐Ÿง‘โ€๐Ÿ’ผ office worker business +๐Ÿ‘จโ€๐Ÿ’ผ man office worker business manager man human +๐Ÿ‘ฉโ€๐Ÿ’ผ woman office worker business manager woman human +๐Ÿง‘โ€๐Ÿ”ฌ scientist chemistry +๐Ÿ‘จโ€๐Ÿ”ฌ man scientist biologist chemist engineer physicist man human +๐Ÿ‘ฉโ€๐Ÿ”ฌ woman scientist biologist chemist engineer physicist woman human +๐Ÿง‘โ€๐Ÿ’ป technologist computer +๐Ÿ‘จโ€๐Ÿ’ป man technologist coder developer engineer programmer software man human laptop computer +๐Ÿ‘ฉโ€๐Ÿ’ป woman technologist coder developer engineer programmer software woman human laptop computer +๐Ÿง‘โ€๐ŸŽค singer song artist performer +๐Ÿ‘จโ€๐ŸŽค man singer rockstar entertainer man human +๐Ÿ‘ฉโ€๐ŸŽค woman singer rockstar entertainer woman human +๐Ÿง‘โ€๐ŸŽจ artist painting draw creativity +๐Ÿ‘จโ€๐ŸŽจ man artist painter man human +๐Ÿ‘ฉโ€๐ŸŽจ woman artist painter woman human +๐Ÿง‘โ€โœˆ๏ธ pilot fly plane airplane +๐Ÿ‘จโ€โœˆ๏ธ man pilot aviator plane man human +๐Ÿ‘ฉโ€โœˆ๏ธ woman pilot aviator plane woman human +๐Ÿง‘โ€๐Ÿš€ astronaut outerspace +๐Ÿ‘จโ€๐Ÿš€ man astronaut space rocket man human +๐Ÿ‘ฉโ€๐Ÿš€ woman astronaut space rocket woman human +๐Ÿง‘โ€๐Ÿš’ firefighter fire +๐Ÿ‘จโ€๐Ÿš’ man firefighter fireman man human +๐Ÿ‘ฉโ€๐Ÿš’ woman firefighter fireman woman human +๐Ÿ‘ฎ police officer cop +๐Ÿ‘ฎโ€โ™‚๏ธ man police officer man police law legal enforcement arrest 911 +๐Ÿ‘ฎโ€โ™€๏ธ woman police officer woman police law legal enforcement arrest 911 female +๐Ÿ•ต๏ธ detective human spy detective +๐Ÿ•ต๏ธโ€โ™‚๏ธ man detective crime +๐Ÿ•ต๏ธโ€โ™€๏ธ woman detective human spy detective female woman +๐Ÿ’‚ guard protect +๐Ÿ’‚โ€โ™‚๏ธ man guard uk gb british male guy royal +๐Ÿ’‚โ€โ™€๏ธ woman guard uk gb british female royal woman +๐Ÿ‘ท construction worker labor build +๐Ÿ‘ทโ€โ™‚๏ธ man construction worker male human wip guy build construction worker labor +๐Ÿ‘ทโ€โ™€๏ธ woman construction worker female human wip build construction worker labor woman +๐Ÿคด prince boy man male crown royal king +๐Ÿ‘ธ princess girl woman female blond crown royal queen +๐Ÿ‘ณ person wearing turban headdress +๐Ÿ‘ณโ€โ™‚๏ธ man wearing turban male indian hinduism arabs +๐Ÿ‘ณโ€โ™€๏ธ woman wearing turban female indian hinduism arabs woman +๐Ÿ‘ฒ man with skullcap male boy chinese +๐Ÿง• woman with headscarf female hijab mantilla tichel +๐Ÿคต man in tuxedo couple marriage wedding groom +๐Ÿ‘ฐ bride with veil couple marriage wedding woman bride +๐Ÿคฐ pregnant woman baby +๐Ÿคฑ breast feeding nursing baby +๐Ÿ‘ผ baby angel heaven wings halo +๐ŸŽ… santa claus festival man male xmas father christmas +๐Ÿคถ mrs claus woman female xmas mother christmas +๐Ÿฆธ superhero marvel +๐Ÿฆธโ€โ™‚๏ธ man superhero man male good hero superpowers +๐Ÿฆธโ€โ™€๏ธ woman superhero woman female good heroine superpowers +๐Ÿฆน supervillain marvel +๐Ÿฆนโ€โ™‚๏ธ man supervillain man male evil bad criminal hero superpowers +๐Ÿฆนโ€โ™€๏ธ woman supervillain woman female evil bad criminal heroine superpowers +๐Ÿง™ mage magic +๐Ÿง™โ€โ™‚๏ธ man mage man male mage sorcerer +๐Ÿง™โ€โ™€๏ธ woman mage woman female mage witch +๐Ÿงš fairy wings magical +๐Ÿงšโ€โ™‚๏ธ man fairy man male +๐Ÿงšโ€โ™€๏ธ woman fairy woman female +๐Ÿง› vampire blood twilight +๐Ÿง›โ€โ™‚๏ธ man vampire man male dracula +๐Ÿง›โ€โ™€๏ธ woman vampire woman female +๐Ÿงœ merperson sea +๐Ÿงœโ€โ™‚๏ธ merman man male triton +๐Ÿงœโ€โ™€๏ธ mermaid woman female merwoman ariel +๐Ÿง elf magical +๐Ÿงโ€โ™‚๏ธ man elf man male +๐Ÿงโ€โ™€๏ธ woman elf woman female +๐Ÿงž genie magical wishes +๐Ÿงžโ€โ™‚๏ธ man genie man male +๐Ÿงžโ€โ™€๏ธ woman genie woman female +๐ŸงŸ zombie dead +๐ŸงŸโ€โ™‚๏ธ man zombie man male dracula undead walking dead +๐ŸงŸโ€โ™€๏ธ woman zombie woman female undead walking dead +๐Ÿ’† person getting massage relax +๐Ÿ’†โ€โ™‚๏ธ man getting massage male boy man head +๐Ÿ’†โ€โ™€๏ธ woman getting massage female girl woman head +๐Ÿ’‡ person getting haircut hairstyle +๐Ÿ’‡โ€โ™‚๏ธ man getting haircut male boy man +๐Ÿ’‡โ€โ™€๏ธ woman getting haircut female girl woman +๐Ÿšถ person walking move +๐Ÿšถโ€โ™‚๏ธ man walking human feet steps +๐Ÿšถโ€โ™€๏ธ woman walking human feet steps woman female +๐Ÿง person standing still +๐Ÿงโ€โ™‚๏ธ man standing still +๐Ÿงโ€โ™€๏ธ woman standing still +๐ŸงŽ person kneeling pray respectful +๐ŸงŽโ€โ™‚๏ธ man kneeling pray respectful +๐ŸงŽโ€โ™€๏ธ woman kneeling respectful pray +๐Ÿง‘โ€๐Ÿฆฏ person with probing cane blind +๐Ÿ‘จโ€๐Ÿฆฏ man with probing cane blind +๐Ÿ‘ฉโ€๐Ÿฆฏ woman with probing cane blind +๐Ÿง‘โ€๐Ÿฆผ person in motorized wheelchair disability accessibility +๐Ÿ‘จโ€๐Ÿฆผ man in motorized wheelchair disability accessibility +๐Ÿ‘ฉโ€๐Ÿฆผ woman in motorized wheelchair disability accessibility +๐Ÿง‘โ€๐Ÿฆฝ person in manual wheelchair disability accessibility +๐Ÿ‘จโ€๐Ÿฆฝ man in manual wheelchair disability accessibility +๐Ÿ‘ฉโ€๐Ÿฆฝ woman in manual wheelchair disability accessibility +๐Ÿƒ person running move +๐Ÿƒโ€โ™‚๏ธ man running man walking exercise race running +๐Ÿƒโ€โ™€๏ธ woman running woman walking exercise race running female +๐Ÿ’ƒ woman dancing female girl woman fun +๐Ÿ•บ man dancing male boy fun dancer +๐Ÿ•ด๏ธ man in suit levitating suit business levitate hover jump +๐Ÿ‘ฏ people with bunny ears perform costume +๐Ÿ‘ฏโ€โ™‚๏ธ men with bunny ears male bunny men boys +๐Ÿ‘ฏโ€โ™€๏ธ women with bunny ears female bunny women girls +๐Ÿง– person in steamy room relax spa +๐Ÿง–โ€โ™‚๏ธ man in steamy room male man spa steamroom sauna +๐Ÿง–โ€โ™€๏ธ woman in steamy room female woman spa steamroom sauna +๐Ÿง— person climbing sport +๐Ÿง—โ€โ™‚๏ธ man climbing sports hobby man male rock +๐Ÿง—โ€โ™€๏ธ woman climbing sports hobby woman female rock +๐Ÿคบ person fencing sports fencing sword +๐Ÿ‡ horse racing animal betting competition gambling luck +โ›ท๏ธ skier sports winter snow +๐Ÿ‚ snowboarder sports winter +๐ŸŒ๏ธ person golfing sports business +๐ŸŒ๏ธโ€โ™‚๏ธ man golfing sport +๐ŸŒ๏ธโ€โ™€๏ธ woman golfing sports business woman female +๐Ÿ„ person surfing sport sea +๐Ÿ„โ€โ™‚๏ธ man surfing sports ocean sea summer beach +๐Ÿ„โ€โ™€๏ธ woman surfing sports ocean sea summer beach woman female +๐Ÿšฃ person rowing boat sport move +๐Ÿšฃโ€โ™‚๏ธ man rowing boat sports hobby water ship +๐Ÿšฃโ€โ™€๏ธ woman rowing boat sports hobby water ship woman female +๐ŸŠ person swimming sport pool +๐ŸŠโ€โ™‚๏ธ man swimming sports exercise human athlete water summer +๐ŸŠโ€โ™€๏ธ woman swimming sports exercise human athlete water summer woman female +โ›น๏ธ person bouncing ball sports human +โ›น๏ธโ€โ™‚๏ธ man bouncing ball sport +โ›น๏ธโ€โ™€๏ธ woman bouncing ball sports human woman female +๐Ÿ‹๏ธ person lifting weights sports training exercise +๐Ÿ‹๏ธโ€โ™‚๏ธ man lifting weights sport +๐Ÿ‹๏ธโ€โ™€๏ธ woman lifting weights sports training exercise woman female +๐Ÿšด person biking sport move +๐Ÿšดโ€โ™‚๏ธ man biking sports bike exercise hipster +๐Ÿšดโ€โ™€๏ธ woman biking sports bike exercise hipster woman female +๐Ÿšต person mountain biking sport move +๐Ÿšตโ€โ™‚๏ธ man mountain biking transportation sports human race bike +๐Ÿšตโ€โ™€๏ธ woman mountain biking transportation sports human race bike woman female +๐Ÿคธ person cartwheeling sport gymnastic +๐Ÿคธโ€โ™‚๏ธ man cartwheeling gymnastics +๐Ÿคธโ€โ™€๏ธ woman cartwheeling gymnastics +๐Ÿคผ people wrestling sport +๐Ÿคผโ€โ™‚๏ธ men wrestling sports wrestlers +๐Ÿคผโ€โ™€๏ธ women wrestling sports wrestlers +๐Ÿคฝ person playing water polo sport +๐Ÿคฝโ€โ™‚๏ธ man playing water polo sports pool +๐Ÿคฝโ€โ™€๏ธ woman playing water polo sports pool +๐Ÿคพ person playing handball sport +๐Ÿคพโ€โ™‚๏ธ man playing handball sports +๐Ÿคพโ€โ™€๏ธ woman playing handball sports +๐Ÿคน person juggling performance balance +๐Ÿคนโ€โ™‚๏ธ man juggling juggle balance skill multitask +๐Ÿคนโ€โ™€๏ธ woman juggling juggle balance skill multitask +๐Ÿง˜ person in lotus position meditate +๐Ÿง˜โ€โ™‚๏ธ man in lotus position man male meditation yoga serenity zen mindfulness +๐Ÿง˜โ€โ™€๏ธ woman in lotus position woman female meditation yoga serenity zen mindfulness +๐Ÿ›€ person taking bath clean shower bathroom +๐Ÿ›Œ person in bed bed rest +๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ people holding hands friendship +๐Ÿ‘ญ women holding hands pair friendship couple love like female people human +๐Ÿ‘ซ woman and man holding hands pair people human love date dating like affection valentines marriage +๐Ÿ‘ฌ men holding hands pair couple love like bromance friendship people human +๐Ÿ’ kiss pair valentines love like dating marriage +๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ kiss woman man love +๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ kiss man man pair valentines love like dating marriage +๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ kiss woman woman pair valentines love like dating marriage +๐Ÿ’‘ couple with heart pair love like affection human dating valentines marriage +๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ couple with heart woman man love +๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ couple with heart man man pair love like affection human dating valentines marriage +๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ couple with heart woman woman pair love like affection human dating valentines marriage +๐Ÿ‘ช family home parents child mom dad father mother people human +๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ family man woman boy love +๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง family man woman girl home parents people human child +๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family man woman girl boy home parents people human children +๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ family man woman boy boy home parents people human children +๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family man woman girl girl home parents people human children +๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ family man man boy home parents people human children +๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง family man man girl home parents people human children +๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family man man girl boy home parents people human children +๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ family man man boy boy home parents people human children +๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง family man man girl girl home parents people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ family woman woman boy home parents people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง family woman woman girl home parents people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family woman woman girl boy home parents people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ family woman woman boy boy home parents people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family woman woman girl girl home parents people human children +๐Ÿ‘จโ€๐Ÿ‘ฆ family man boy home parent people human child +๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ family man boy boy home parent people human children +๐Ÿ‘จโ€๐Ÿ‘ง family man girl home parent people human child +๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family man girl boy home parent people human children +๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง family man girl girl home parent people human children +๐Ÿ‘ฉโ€๐Ÿ‘ฆ family woman boy home parent people human child +๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ family woman boy boy home parent people human children +๐Ÿ‘ฉโ€๐Ÿ‘ง family woman girl home parent people human child +๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family woman girl boy home parent people human children +๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family woman girl girl home parent people human children +๐Ÿ—ฃ๏ธ speaking head user person human sing say talk +๐Ÿ‘ค bust in silhouette user person human +๐Ÿ‘ฅ busts in silhouette user person human group team +๐Ÿ‘ฃ footprints feet tracking walking beach +๐Ÿต monkey face animal nature circus +๐Ÿ’ monkey animal nature banana circus +๐Ÿฆ gorilla animal nature circus +๐Ÿฆง orangutan animal +๐Ÿถ dog face animal friend nature woof puppy pet faithful +๐Ÿ• dog animal nature friend doge pet faithful +๐Ÿฆฎ guide dog animal blind +๐Ÿ•โ€๐Ÿฆบ service dog blind animal +๐Ÿฉ poodle dog animal 101 nature pet +๐Ÿบ wolf animal nature wild +๐ŸฆŠ fox animal nature face +๐Ÿฆ raccoon animal nature +๐Ÿฑ cat face animal meow nature pet kitten +๐Ÿˆ cat animal meow pet cats +๐Ÿฆ lion animal nature +๐Ÿฏ tiger face animal cat danger wild nature roar +๐Ÿ… tiger animal nature roar +๐Ÿ† leopard animal nature +๐Ÿด horse face animal brown nature +๐ŸŽ horse animal gamble luck +๐Ÿฆ„ unicorn animal nature mystical +๐Ÿฆ“ zebra animal nature stripes safari +๐ŸฆŒ deer animal nature horns venison +๐Ÿฎ cow face beef ox animal nature moo milk +๐Ÿ‚ ox animal cow beef +๐Ÿƒ water buffalo animal nature ox cow +๐Ÿ„ cow beef ox animal nature moo milk +๐Ÿท pig face animal oink nature +๐Ÿ– pig animal nature +๐Ÿ— boar animal nature +๐Ÿฝ pig nose animal oink +๐Ÿ ram animal sheep nature +๐Ÿ‘ ewe animal nature wool shipit +๐Ÿ goat animal nature +๐Ÿช camel animal hot desert hump +๐Ÿซ two hump camel animal nature hot desert hump +๐Ÿฆ™ llama animal nature alpaca +๐Ÿฆ’ giraffe animal nature spots safari +๐Ÿ˜ elephant animal nature nose th circus +๐Ÿฆ rhinoceros animal nature horn +๐Ÿฆ› hippopotamus animal nature +๐Ÿญ mouse face animal nature cheese wedge rodent +๐Ÿ mouse animal nature rodent +๐Ÿ€ rat animal mouse rodent +๐Ÿน hamster animal nature +๐Ÿฐ rabbit face animal nature pet spring magic bunny +๐Ÿ‡ rabbit animal nature pet magic spring +๐Ÿฟ๏ธ chipmunk animal nature rodent squirrel +๐Ÿฆ” hedgehog animal nature spiny +๐Ÿฆ‡ bat animal nature blind vampire +๐Ÿป bear animal nature wild +๐Ÿจ koala animal nature +๐Ÿผ panda animal nature panda +๐Ÿฆฅ sloth animal +๐Ÿฆฆ otter animal +๐Ÿฆจ skunk animal +๐Ÿฆ˜ kangaroo animal nature australia joey hop marsupial +๐Ÿฆก badger animal nature honey +๐Ÿพ paw prints animal tracking footprints dog cat pet feet +๐Ÿฆƒ turkey animal bird +๐Ÿ” chicken animal cluck nature bird +๐Ÿ“ rooster animal nature chicken +๐Ÿฃ hatching chick animal chicken egg born baby bird +๐Ÿค baby chick animal chicken bird +๐Ÿฅ front facing baby chick animal chicken baby bird +๐Ÿฆ bird animal nature fly tweet spring +๐Ÿง penguin animal nature +๐Ÿ•Š๏ธ dove animal bird +๐Ÿฆ… eagle animal nature bird +๐Ÿฆ† duck animal nature bird mallard +๐Ÿฆข swan animal nature bird +๐Ÿฆ‰ owl animal nature bird hoot +๐Ÿฆฉ flamingo animal +๐Ÿฆš peacock animal nature peahen bird +๐Ÿฆœ parrot animal nature bird pirate talk +๐Ÿธ frog animal nature croak toad +๐ŸŠ crocodile animal nature reptile lizard alligator +๐Ÿข turtle animal slow nature tortoise +๐ŸฆŽ lizard animal nature reptile +๐Ÿ snake animal evil nature hiss python +๐Ÿฒ dragon face animal myth nature chinese green +๐Ÿ‰ dragon animal myth nature chinese green +๐Ÿฆ• sauropod animal nature dinosaur brachiosaurus brontosaurus diplodocus extinct +๐Ÿฆ– t rex animal nature dinosaur tyrannosaurus extinct +๐Ÿณ spouting whale animal nature sea ocean +๐Ÿ‹ whale animal nature sea ocean +๐Ÿฌ dolphin animal nature fish sea ocean flipper fins beach +๐ŸŸ fish animal food nature +๐Ÿ  tropical fish animal swim ocean beach nemo +๐Ÿก blowfish animal nature food sea ocean +๐Ÿฆˆ shark animal nature fish sea ocean jaws fins beach +๐Ÿ™ octopus animal creature ocean sea nature beach +๐Ÿš spiral shell nature sea beach +๐ŸŒ snail slow animal shell +๐Ÿฆ‹ butterfly animal insect nature caterpillar +๐Ÿ› bug animal insect nature worm +๐Ÿœ ant animal insect nature bug +๐Ÿ honeybee animal insect nature bug spring honey +๐Ÿž lady beetle animal insect nature ladybug +๐Ÿฆ— cricket animal cricket chirp +๐Ÿ•ท๏ธ spider animal arachnid +๐Ÿ•ธ๏ธ spider web animal insect arachnid silk +๐Ÿฆ‚ scorpion animal arachnid +๐ŸฆŸ mosquito animal nature insect malaria +๐Ÿฆ  microbe amoeba bacteria germs virus +๐Ÿ’ bouquet flowers nature spring +๐ŸŒธ cherry blossom nature plant spring flower +๐Ÿ’ฎ white flower japanese spring +๐Ÿต๏ธ rosette flower decoration military +๐ŸŒน rose flowers valentines love spring +๐Ÿฅ€ wilted flower plant nature flower +๐ŸŒบ hibiscus plant vegetable flowers beach +๐ŸŒป sunflower nature plant fall +๐ŸŒผ blossom nature flowers yellow +๐ŸŒท tulip flowers plant nature summer spring +๐ŸŒฑ seedling plant nature grass lawn spring +๐ŸŒฒ evergreen tree plant nature +๐ŸŒณ deciduous tree plant nature +๐ŸŒด palm tree plant vegetable nature summer beach mojito tropical +๐ŸŒต cactus vegetable plant nature +๐ŸŒพ sheaf of rice nature plant +๐ŸŒฟ herb vegetable plant medicine weed grass lawn +โ˜˜๏ธ shamrock vegetable plant nature irish clover +๐Ÿ€ four leaf clover vegetable plant nature lucky irish +๐Ÿ maple leaf nature plant vegetable ca fall +๐Ÿ‚ fallen leaf nature plant vegetable leaves +๐Ÿƒ leaf fluttering in wind nature plant tree vegetable grass lawn spring +๐Ÿ‡ grapes fruit food wine +๐Ÿˆ melon fruit nature food +๐Ÿ‰ watermelon fruit food picnic summer +๐ŸŠ tangerine food fruit nature orange +๐Ÿ‹ lemon fruit nature +๐ŸŒ banana fruit food monkey +๐Ÿ pineapple fruit nature food +๐Ÿฅญ mango fruit food tropical +๐ŸŽ red apple fruit mac school +๐Ÿ green apple fruit nature +๐Ÿ pear fruit nature food +๐Ÿ‘ peach fruit nature food +๐Ÿ’ cherries food fruit +๐Ÿ“ strawberry fruit food nature +๐Ÿฅ kiwi fruit fruit food +๐Ÿ… tomato fruit vegetable nature food +๐Ÿฅฅ coconut fruit nature food palm +๐Ÿฅ‘ avocado fruit food +๐Ÿ† eggplant vegetable nature food aubergine +๐Ÿฅ” potato food tuber vegatable starch +๐Ÿฅ• carrot vegetable food orange +๐ŸŒฝ ear of corn food vegetable plant +๐ŸŒถ๏ธ hot pepper food spicy chilli chili +๐Ÿฅ’ cucumber fruit food pickle +๐Ÿฅฌ leafy green food vegetable plant bok choy cabbage kale lettuce +๐Ÿฅฆ broccoli fruit food vegetable +๐Ÿง„ garlic food spice cook +๐Ÿง… onion cook food spice +๐Ÿ„ mushroom plant vegetable +๐Ÿฅœ peanuts food nut +๐ŸŒฐ chestnut food squirrel +๐Ÿž bread food wheat breakfast toast +๐Ÿฅ croissant food bread french +๐Ÿฅ– baguette bread food bread french +๐Ÿฅจ pretzel food bread twisted +๐Ÿฅฏ bagel food bread bakery schmear +๐Ÿฅž pancakes food breakfast flapjacks hotcakes +๐Ÿง‡ waffle food breakfast +๐Ÿง€ cheese wedge food chadder +๐Ÿ– meat on bone good food drumstick +๐Ÿ— poultry leg food meat drumstick bird chicken turkey +๐Ÿฅฉ cut of meat food cow meat cut chop lambchop porkchop +๐Ÿฅ“ bacon food breakfast pork pig meat +๐Ÿ” hamburger meat fast food beef cheeseburger mcdonalds burger king +๐ŸŸ french fries chips snack fast food +๐Ÿ• pizza food party +๐ŸŒญ hot dog food frankfurter +๐Ÿฅช sandwich food lunch bread +๐ŸŒฎ taco food mexican +๐ŸŒฏ burrito food mexican +๐Ÿฅ™ stuffed flatbread food flatbread stuffed gyro +๐Ÿง† falafel food +๐Ÿฅš egg food chicken breakfast +๐Ÿณ cooking food breakfast kitchen egg +๐Ÿฅ˜ shallow pan of food food cooking casserole paella +๐Ÿฒ pot of food food meat soup +๐Ÿฅฃ bowl with spoon food breakfast cereal oatmeal porridge +๐Ÿฅ— green salad food healthy lettuce +๐Ÿฟ popcorn food movie theater films snack +๐Ÿงˆ butter food cook +๐Ÿง‚ salt condiment shaker +๐Ÿฅซ canned food food soup +๐Ÿฑ bento box food japanese box +๐Ÿ˜ rice cracker food japanese +๐Ÿ™ rice ball food japanese +๐Ÿš cooked rice food china asian +๐Ÿ› curry rice food spicy hot indian +๐Ÿœ steaming bowl food japanese noodle chopsticks +๐Ÿ spaghetti food italian noodle +๐Ÿ  roasted sweet potato food nature +๐Ÿข oden food japanese +๐Ÿฃ sushi food fish japanese rice +๐Ÿค fried shrimp food animal appetizer summer +๐Ÿฅ fish cake with swirl food japan sea beach narutomaki pink swirl kamaboko surimi ramen +๐Ÿฅฎ moon cake food autumn +๐Ÿก dango food dessert sweet japanese barbecue meat +๐ŸฅŸ dumpling food empanada pierogi potsticker +๐Ÿฅ  fortune cookie food prophecy +๐Ÿฅก takeout box food leftovers +๐Ÿฆ€ crab animal crustacean +๐Ÿฆž lobster animal nature bisque claws seafood +๐Ÿฆ shrimp animal ocean nature seafood +๐Ÿฆ‘ squid animal nature ocean sea +๐Ÿฆช oyster food +๐Ÿฆ soft ice cream food hot dessert summer +๐Ÿง shaved ice hot dessert summer +๐Ÿจ ice cream food hot dessert +๐Ÿฉ doughnut food dessert snack sweet donut +๐Ÿช cookie food snack oreo chocolate sweet dessert +๐ŸŽ‚ birthday cake food dessert cake +๐Ÿฐ shortcake food dessert +๐Ÿง cupcake food dessert bakery sweet +๐Ÿฅง pie food dessert pastry +๐Ÿซ chocolate bar food snack dessert sweet +๐Ÿฌ candy snack dessert sweet lolly +๐Ÿญ lollipop food snack candy sweet +๐Ÿฎ custard dessert food +๐Ÿฏ honey pot bees sweet kitchen +๐Ÿผ baby bottle food container milk +๐Ÿฅ› glass of milk beverage drink cow +โ˜• hot beverage beverage caffeine latte espresso coffee +๐Ÿต teacup without handle drink bowl breakfast green british +๐Ÿถ sake wine drink drunk beverage japanese alcohol booze +๐Ÿพ bottle with popping cork drink wine bottle celebration +๐Ÿท wine glass drink beverage drunk alcohol booze +๐Ÿธ cocktail glass drink drunk alcohol beverage booze mojito +๐Ÿน tropical drink beverage cocktail summer beach alcohol booze mojito +๐Ÿบ beer mug relax beverage drink drunk party pub summer alcohol booze +๐Ÿป clinking beer mugs relax beverage drink drunk party pub summer alcohol booze +๐Ÿฅ‚ clinking glasses beverage drink party alcohol celebrate cheers wine champagne toast +๐Ÿฅƒ tumbler glass drink beverage drunk alcohol liquor booze bourbon scotch whisky glass shot +๐Ÿฅค cup with straw drink soda +๐Ÿงƒ beverage box drink +๐Ÿง‰ mate drink tea beverage +๐ŸงŠ ice water cold +๐Ÿฅข chopsticks food +๐Ÿฝ๏ธ fork and knife with plate food eat meal lunch dinner restaurant +๐Ÿด fork and knife cutlery kitchen +๐Ÿฅ„ spoon cutlery kitchen tableware +๐Ÿ”ช kitchen knife knife blade cutlery kitchen weapon +๐Ÿบ amphora vase jar +๐ŸŒ globe showing europe africa globe world international +๐ŸŒŽ globe showing americas globe world USA international +๐ŸŒ globe showing asia australia globe world east international +๐ŸŒ globe with meridians earth international world internet interweb i18n +๐Ÿ—บ๏ธ world map location direction +๐Ÿ—พ map of japan nation country japanese asia +๐Ÿงญ compass magnetic navigation orienteering +๐Ÿ”๏ธ snow capped mountain photo nature environment winter cold +โ›ฐ๏ธ mountain photo nature environment +๐ŸŒ‹ volcano photo nature disaster +๐Ÿ—ป mount fuji photo mountain nature japanese +๐Ÿ•๏ธ camping photo outdoors tent +๐Ÿ–๏ธ beach with umbrella weather summer sunny sand mojito +๐Ÿœ๏ธ desert photo warm saharah +๐Ÿ๏ธ desert island photo tropical mojito +๐Ÿž๏ธ national park photo environment nature +๐ŸŸ๏ธ stadium photo place sports concert venue +๐Ÿ›๏ธ classical building art culture history +๐Ÿ—๏ธ building construction wip working progress +๐Ÿงฑ brick bricks +๐Ÿ˜๏ธ houses buildings photo +๐Ÿš๏ธ derelict house abandon evict broken building +๐Ÿ  house building home +๐Ÿก house with garden home plant nature +๐Ÿข office building building bureau work +๐Ÿฃ japanese post office building envelope communication +๐Ÿค post office building email +๐Ÿฅ hospital building health surgery doctor +๐Ÿฆ bank building money sales cash business enterprise +๐Ÿจ hotel building accomodation checkin +๐Ÿฉ love hotel like affection dating +๐Ÿช convenience store building shopping groceries +๐Ÿซ school building student education learn teach +๐Ÿฌ department store building shopping mall +๐Ÿญ factory building industry pollution smoke +๐Ÿฏ japanese castle photo building +๐Ÿฐ castle building royalty history +๐Ÿ’’ wedding love like affection couple marriage bride groom +๐Ÿ—ผ tokyo tower photo japanese +๐Ÿ—ฝ statue of liberty american newyork +โ›ช church building religion christ +๐Ÿ•Œ mosque islam worship minaret +๐Ÿ›• hindu temple religion +๐Ÿ• synagogue judaism worship temple jewish +โ›ฉ๏ธ shinto shrine temple japan kyoto +๐Ÿ•‹ kaaba mecca mosque islam +โ›ฒ fountain photo summer water fresh +โ›บ tent photo camping outdoors +๐ŸŒ foggy photo mountain +๐ŸŒƒ night with stars evening city downtown +๐Ÿ™๏ธ cityscape photo night life urban +๐ŸŒ„ sunrise over mountains view vacation photo +๐ŸŒ… sunrise morning view vacation photo +๐ŸŒ† cityscape at dusk photo evening sky buildings +๐ŸŒ‡ sunset photo good morning dawn +๐ŸŒ‰ bridge at night photo sanfrancisco +โ™จ๏ธ hot springs bath warm relax +๐ŸŽ  carousel horse photo carnival +๐ŸŽก ferris wheel photo carnival londoneye +๐ŸŽข roller coaster carnival playground photo fun +๐Ÿ’ˆ barber pole hair salon style +๐ŸŽช circus tent festival carnival party +๐Ÿš‚ locomotive transportation vehicle train +๐Ÿšƒ railway car transportation vehicle +๐Ÿš„ high speed train transportation vehicle +๐Ÿš… bullet train transportation vehicle speed fast public travel +๐Ÿš† train transportation vehicle +๐Ÿš‡ metro transportation blue-square mrt underground tube +๐Ÿšˆ light rail transportation vehicle +๐Ÿš‰ station transportation vehicle public +๐ŸšŠ tram transportation vehicle +๐Ÿš monorail transportation vehicle +๐Ÿšž mountain railway transportation vehicle +๐Ÿš‹ tram car transportation vehicle carriage public travel +๐ŸšŒ bus car vehicle transportation +๐Ÿš oncoming bus vehicle transportation +๐ŸšŽ trolleybus bart transportation vehicle +๐Ÿš minibus vehicle car transportation +๐Ÿš‘ ambulance health 911 hospital +๐Ÿš’ fire engine transportation cars vehicle +๐Ÿš“ police car vehicle cars transportation law legal enforcement +๐Ÿš” oncoming police car vehicle law legal enforcement 911 +๐Ÿš• taxi uber vehicle cars transportation +๐Ÿš– oncoming taxi vehicle cars uber +๐Ÿš— automobile red transportation vehicle +๐Ÿš˜ oncoming automobile car vehicle transportation +๐Ÿš™ sport utility vehicle transportation vehicle +๐Ÿšš delivery truck cars transportation +๐Ÿš› articulated lorry vehicle cars transportation express +๐Ÿšœ tractor vehicle car farming agriculture +๐ŸŽ๏ธ racing car sports race fast formula f1 +๐Ÿ๏ธ motorcycle race sports fast +๐Ÿ›ต motor scooter vehicle vespa sasha +๐Ÿฆฝ manual wheelchair accessibility +๐Ÿฆผ motorized wheelchair accessibility +๐Ÿ›บ auto rickshaw move transportation +๐Ÿšฒ bicycle sports bicycle exercise hipster +๐Ÿ›ด kick scooter vehicle kick razor +๐Ÿ›น skateboard board +๐Ÿš bus stop transportation wait +๐Ÿ›ฃ๏ธ motorway road cupertino interstate highway +๐Ÿ›ค๏ธ railway track train transportation +๐Ÿ›ข๏ธ oil drum barrell +โ›ฝ fuel pump gas station petroleum +๐Ÿšจ police car light police ambulance 911 emergency alert error pinged law legal +๐Ÿšฅ horizontal traffic light transportation signal +๐Ÿšฆ vertical traffic light transportation driving +๐Ÿ›‘ stop sign stop +๐Ÿšง construction wip progress caution warning +โš“ anchor ship ferry sea boat +โ›ต sailboat ship summer transportation water sailing +๐Ÿ›ถ canoe boat paddle water ship +๐Ÿšค speedboat ship transportation vehicle summer +๐Ÿ›ณ๏ธ passenger ship yacht cruise ferry +โ›ด๏ธ ferry boat ship yacht +๐Ÿ›ฅ๏ธ motor boat ship +๐Ÿšข ship transportation titanic deploy +โœˆ๏ธ airplane vehicle transportation flight fly +๐Ÿ›ฉ๏ธ small airplane flight transportation fly vehicle +๐Ÿ›ซ airplane departure airport flight landing +๐Ÿ›ฌ airplane arrival airport flight boarding +๐Ÿช‚ parachute fly glide +๐Ÿ’บ seat sit airplane transport bus flight fly +๐Ÿš helicopter transportation vehicle fly +๐ŸšŸ suspension railway vehicle transportation +๐Ÿš  mountain cableway transportation vehicle ski +๐Ÿšก aerial tramway transportation vehicle ski +๐Ÿ›ฐ๏ธ satellite communication gps orbit spaceflight NASA ISS +๐Ÿš€ rocket launch ship staffmode NASA outer space outer space fly +๐Ÿ›ธ flying saucer transportation vehicle ufo +๐Ÿ›Ž๏ธ bellhop bell service +๐Ÿงณ luggage packing travel +โŒ› hourglass done time clock oldschool limit exam quiz test +โณ hourglass not done oldschool time countdown +โŒš watch time accessories +โฐ alarm clock time wake +โฑ๏ธ stopwatch time deadline +โฒ๏ธ timer clock alarm +๐Ÿ•ฐ๏ธ mantelpiece clock time +๐Ÿ•› twelve o clock time noon midnight midday late early schedule +๐Ÿ•ง twelve thirty time late early schedule +๐Ÿ• one o clock time late early schedule +๐Ÿ•œ one thirty time late early schedule +๐Ÿ•‘ two o clock time late early schedule +๐Ÿ• two thirty time late early schedule +๐Ÿ•’ three o clock time late early schedule +๐Ÿ•ž three thirty time late early schedule +๐Ÿ•“ four o clock time late early schedule +๐Ÿ•Ÿ four thirty time late early schedule +๐Ÿ•” five o clock time late early schedule +๐Ÿ•  five thirty time late early schedule +๐Ÿ•• six o clock time late early schedule dawn dusk +๐Ÿ•ก six thirty time late early schedule +๐Ÿ•– seven o clock time late early schedule +๐Ÿ•ข seven thirty time late early schedule +๐Ÿ•— eight o clock time late early schedule +๐Ÿ•ฃ eight thirty time late early schedule +๐Ÿ•˜ nine o clock time late early schedule +๐Ÿ•ค nine thirty time late early schedule +๐Ÿ•™ ten o clock time late early schedule +๐Ÿ•ฅ ten thirty time late early schedule +๐Ÿ•š eleven o clock time late early schedule +๐Ÿ•ฆ eleven thirty time late early schedule +๐ŸŒ‘ new moon nature twilight planet space night evening sleep +๐ŸŒ’ waxing crescent moon nature twilight planet space night evening sleep +๐ŸŒ“ first quarter moon nature twilight planet space night evening sleep +๐ŸŒ” waxing gibbous moon nature night sky gray twilight planet space evening sleep +๐ŸŒ• full moon nature yellow twilight planet space night evening sleep +๐ŸŒ– waning gibbous moon nature twilight planet space night evening sleep waxing gibbous moon +๐ŸŒ— last quarter moon nature twilight planet space night evening sleep +๐ŸŒ˜ waning crescent moon nature twilight planet space night evening sleep +๐ŸŒ™ crescent moon night sleep sky evening magic +๐ŸŒš new moon face nature twilight planet space night evening sleep +๐ŸŒ› first quarter moon face nature twilight planet space night evening sleep +๐ŸŒœ last quarter moon face nature twilight planet space night evening sleep +๐ŸŒก๏ธ thermometer weather temperature hot cold +โ˜€๏ธ sun weather nature brightness summer beach spring +๐ŸŒ full moon face nature twilight planet space night evening sleep +๐ŸŒž sun with face nature morning sky +๐Ÿช ringed planet outerspace +โญ star night yellow +๐ŸŒŸ glowing star night sparkle awesome good magic +๐ŸŒ  shooting star night photo +๐ŸŒŒ milky way photo space stars +โ˜๏ธ cloud weather sky +โ›… sun behind cloud weather nature cloudy morning fall spring +โ›ˆ๏ธ cloud with lightning and rain weather lightning +๐ŸŒค๏ธ sun behind small cloud weather +๐ŸŒฅ๏ธ sun behind large cloud weather +๐ŸŒฆ๏ธ sun behind rain cloud weather +๐ŸŒง๏ธ cloud with rain weather +๐ŸŒจ๏ธ cloud with snow weather +๐ŸŒฉ๏ธ cloud with lightning weather thunder +๐ŸŒช๏ธ tornado weather cyclone twister +๐ŸŒซ๏ธ fog weather +๐ŸŒฌ๏ธ wind face gust air +๐ŸŒ€ cyclone weather swirl blue cloud vortex spiral whirlpool spin tornado hurricane typhoon +๐ŸŒˆ rainbow nature happy unicorn face photo sky spring +๐ŸŒ‚ closed umbrella weather rain drizzle +โ˜‚๏ธ umbrella weather spring +โ˜” umbrella with rain drops rainy weather spring +โ›ฑ๏ธ umbrella on ground weather summer +โšก high voltage thunder weather lightning bolt fast +โ„๏ธ snowflake winter season cold weather christmas xmas +โ˜ƒ๏ธ snowman winter season cold weather christmas xmas frozen +โ›„ snowman without snow winter season cold weather christmas xmas frozen without snow +โ˜„๏ธ comet space +๐Ÿ”ฅ fire hot cook flame +๐Ÿ’ง droplet water drip faucet spring +๐ŸŒŠ water wave sea water wave nature tsunami disaster +๐ŸŽƒ jack o lantern halloween light pumpkin creepy fall +๐ŸŽ„ christmas tree festival vacation december xmas celebration +๐ŸŽ† fireworks photo festival carnival congratulations +๐ŸŽ‡ sparkler stars night shine +๐Ÿงจ firecracker dynamite boom explode explosion explosive +โœจ sparkles stars shine shiny cool awesome good magic +๐ŸŽˆ balloon party celebration birthday circus +๐ŸŽ‰ party popper party congratulations birthday magic circus celebration tada +๐ŸŽŠ confetti ball festival party birthday circus +๐ŸŽ‹ tanabata tree plant nature branch summer +๐ŸŽ pine decoration plant nature vegetable panda pine decoration +๐ŸŽŽ japanese dolls japanese toy kimono +๐ŸŽ carp streamer fish japanese koinobori carp banner +๐ŸŽ wind chime nature ding spring bell +๐ŸŽ‘ moon viewing ceremony photo japan asia tsukimi +๐Ÿงง red envelope gift +๐ŸŽ€ ribbon decoration pink girl bowtie +๐ŸŽ wrapped gift present birthday christmas xmas +๐ŸŽ—๏ธ reminder ribbon sports cause support awareness +๐ŸŽŸ๏ธ admission tickets sports concert entrance +๐ŸŽซ ticket event concert pass +๐ŸŽ–๏ธ military medal award winning army +๐Ÿ† trophy win award contest place ftw ceremony +๐Ÿ… sports medal award winning +๐Ÿฅ‡ 1st place medal award winning first +๐Ÿฅˆ 2nd place medal award second +๐Ÿฅ‰ 3rd place medal award third +โšฝ soccer ball sports football +โšพ baseball sports balls +๐ŸฅŽ softball sports balls +๐Ÿ€ basketball sports balls NBA +๐Ÿ volleyball sports balls +๐Ÿˆ american football sports balls NFL +๐Ÿ‰ rugby football sports team +๐ŸŽพ tennis sports balls green +๐Ÿฅ flying disc sports frisbee ultimate +๐ŸŽณ bowling sports fun play +๐Ÿ cricket game sports +๐Ÿ‘ field hockey sports +๐Ÿ’ ice hockey sports +๐Ÿฅ lacrosse sports ball stick +๐Ÿ“ ping pong sports pingpong +๐Ÿธ badminton sports +๐ŸฅŠ boxing glove sports fighting +๐Ÿฅ‹ martial arts uniform judo karate taekwondo +๐Ÿฅ… goal net sports +โ›ณ flag in hole sports business flag hole summer +โ›ธ๏ธ ice skate sports +๐ŸŽฃ fishing pole food hobby summer +๐Ÿคฟ diving mask sport ocean +๐ŸŽฝ running shirt play pageant +๐ŸŽฟ skis sports winter cold snow +๐Ÿ›ท sled sleigh luge toboggan +๐ŸฅŒ curling stone sports +๐ŸŽฏ direct hit game play bar target bullseye +๐Ÿช€ yo yo toy +๐Ÿช kite wind fly +๐ŸŽฑ pool 8 ball pool hobby game luck magic +๐Ÿ”ฎ crystal ball disco party magic circus fortune teller +๐Ÿงฟ nazar amulet bead charm +๐ŸŽฎ video game play console PS4 controller +๐Ÿ•น๏ธ joystick game play +๐ŸŽฐ slot machine bet gamble vegas fruit machine luck casino +๐ŸŽฒ game die dice random tabletop play luck +๐Ÿงฉ puzzle piece interlocking puzzle piece +๐Ÿงธ teddy bear plush stuffed +โ™ ๏ธ spade suit poker cards suits magic +โ™ฅ๏ธ heart suit poker cards magic suits +โ™ฆ๏ธ diamond suit poker cards magic suits +โ™ฃ๏ธ club suit poker cards magic suits +โ™Ÿ๏ธ chess pawn expendable +๐Ÿƒ joker poker cards game play magic +๐Ÿ€„ mahjong red dragon game play chinese kanji +๐ŸŽด flower playing cards game sunset red +๐ŸŽญ performing arts acting theater drama +๐Ÿ–ผ๏ธ framed picture photography +๐ŸŽจ artist palette design paint draw colors +๐Ÿงต thread needle sewing spool string +๐Ÿงถ yarn ball crochet knit +๐Ÿ‘“ glasses fashion accessories eyesight nerdy dork geek +๐Ÿ•ถ๏ธ sunglasses face cool accessories +๐Ÿฅฝ goggles eyes protection safety +๐Ÿฅผ lab coat doctor experiment scientist chemist +๐Ÿฆบ safety vest protection +๐Ÿ‘” necktie shirt suitup formal fashion cloth business +๐Ÿ‘• t shirt fashion cloth casual shirt tee +๐Ÿ‘– jeans fashion shopping +๐Ÿงฃ scarf neck winter clothes +๐Ÿงค gloves hands winter clothes +๐Ÿงฅ coat jacket +๐Ÿงฆ socks stockings clothes +๐Ÿ‘— dress clothes fashion shopping +๐Ÿ‘˜ kimono dress fashion women female japanese +๐Ÿฅป sari dress +๐Ÿฉฑ one piece swimsuit fashion +๐Ÿฉฒ briefs clothing +๐Ÿฉณ shorts clothing +๐Ÿ‘™ bikini swimming female woman girl fashion beach summer +๐Ÿ‘š woman s clothes fashion shopping bags female +๐Ÿ‘› purse fashion accessories money sales shopping +๐Ÿ‘œ handbag fashion accessory accessories shopping +๐Ÿ‘ clutch bag bag accessories shopping +๐Ÿ›๏ธ shopping bags mall buy purchase +๐ŸŽ’ backpack student education bag backpack +๐Ÿ‘ž man s shoe fashion male +๐Ÿ‘Ÿ running shoe shoes sports sneakers +๐Ÿฅพ hiking boot backpacking camping hiking +๐Ÿฅฟ flat shoe ballet slip-on slipper +๐Ÿ‘  high heeled shoe fashion shoes female pumps stiletto +๐Ÿ‘ก woman s sandal shoes fashion flip flops +๐Ÿฉฐ ballet shoes dance +๐Ÿ‘ข woman s boot shoes fashion +๐Ÿ‘‘ crown king kod leader royalty lord +๐Ÿ‘’ woman s hat fashion accessories female lady spring +๐ŸŽฉ top hat magic gentleman classy circus +๐ŸŽ“ graduation cap school college degree university graduation cap hat legal learn education +๐Ÿงข billed cap cap baseball +โ›‘๏ธ rescue worker s helmet construction build +๐Ÿ“ฟ prayer beads dhikr religious +๐Ÿ’„ lipstick female girl fashion woman +๐Ÿ’ ring wedding propose marriage valentines diamond fashion jewelry gem engagement +๐Ÿ’Ž gem stone blue ruby diamond jewelry +๐Ÿ”‡ muted speaker sound volume silence quiet +๐Ÿ”ˆ speaker low volume sound volume silence broadcast +๐Ÿ”‰ speaker medium volume volume speaker broadcast +๐Ÿ”Š speaker high volume volume noise noisy speaker broadcast +๐Ÿ“ข loudspeaker volume sound +๐Ÿ“ฃ megaphone sound speaker volume +๐Ÿ“ฏ postal horn instrument music +๐Ÿ”” bell sound notification christmas xmas chime +๐Ÿ”• bell with slash sound volume mute quiet silent +๐ŸŽผ musical score treble clef compose +๐ŸŽต musical note score tone sound +๐ŸŽถ musical notes music score +๐ŸŽ™๏ธ studio microphone sing recording artist talkshow +๐ŸŽš๏ธ level slider scale +๐ŸŽ›๏ธ control knobs dial +๐ŸŽค microphone sound music PA sing talkshow +๐ŸŽง headphone music score gadgets +๐Ÿ“ป radio communication music podcast program +๐ŸŽท saxophone music instrument jazz blues +๐ŸŽธ guitar music instrument +๐ŸŽน musical keyboard piano instrument compose +๐ŸŽบ trumpet music brass +๐ŸŽป violin music instrument orchestra symphony +๐Ÿช• banjo music instructment +๐Ÿฅ drum music instrument drumsticks snare +๐Ÿ“ฑ mobile phone technology apple gadgets dial +๐Ÿ“ฒ mobile phone with arrow iphone incoming +โ˜Ž๏ธ telephone technology communication dial telephone +๐Ÿ“ž telephone receiver technology communication dial +๐Ÿ“Ÿ pager bbcall oldschool 90s +๐Ÿ“  fax machine communication technology +๐Ÿ”‹ battery power energy sustain +๐Ÿ”Œ electric plug charger power +๐Ÿ’ป laptop technology laptop screen display monitor +๐Ÿ–ฅ๏ธ desktop computer technology computing screen +๐Ÿ–จ๏ธ printer paper ink +โŒจ๏ธ keyboard technology computer type input text +๐Ÿ–ฑ๏ธ computer mouse click +๐Ÿ–ฒ๏ธ trackball technology trackpad +๐Ÿ’ฝ computer disk technology record data disk 90s +๐Ÿ’พ floppy disk oldschool technology save 90s 80s +๐Ÿ’ฟ optical disk technology dvd disk disc 90s +๐Ÿ“€ dvd cd disk disc +๐Ÿงฎ abacus calculation +๐ŸŽฅ movie camera film record +๐ŸŽž๏ธ film frames movie +๐Ÿ“ฝ๏ธ film projector video tape record movie +๐ŸŽฌ clapper board movie film record +๐Ÿ“บ television technology program oldschool show television +๐Ÿ“ท camera gadgets photography +๐Ÿ“ธ camera with flash photography gadgets +๐Ÿ“น video camera film record +๐Ÿ“ผ videocassette record video oldschool 90s 80s +๐Ÿ” magnifying glass tilted left search zoom find detective +๐Ÿ”Ž magnifying glass tilted right search zoom find detective +๐Ÿ•ฏ๏ธ candle fire wax +๐Ÿ’ก light bulb light electricity idea +๐Ÿ”ฆ flashlight dark camping sight night +๐Ÿฎ red paper lantern light paper halloween spooky +๐Ÿช” diya lamp lighting +๐Ÿ“” notebook with decorative cover classroom notes record paper study +๐Ÿ“• closed book read library knowledge textbook learn +๐Ÿ“– open book book read library knowledge literature learn study +๐Ÿ“— green book read library knowledge study +๐Ÿ“˜ blue book read library knowledge learn study +๐Ÿ“™ orange book read library knowledge textbook study +๐Ÿ“š books literature library study +๐Ÿ““ notebook stationery record notes paper study +๐Ÿ“’ ledger notes paper +๐Ÿ“ƒ page with curl documents office paper +๐Ÿ“œ scroll documents ancient history paper +๐Ÿ“„ page facing up documents office paper information +๐Ÿ“ฐ newspaper press headline +๐Ÿ—ž๏ธ rolled up newspaper press headline +๐Ÿ“‘ bookmark tabs favorite save order tidy +๐Ÿ”– bookmark favorite label save +๐Ÿท๏ธ label sale tag +๐Ÿ’ฐ money bag dollar payment coins sale +๐Ÿ’ด yen banknote money sales japanese dollar currency +๐Ÿ’ต dollar banknote money sales bill currency +๐Ÿ’ถ euro banknote money sales dollar currency +๐Ÿ’ท pound banknote british sterling money sales bills uk england currency +๐Ÿ’ธ money with wings dollar bills payment sale +๐Ÿ’ณ credit card money sales dollar bill payment shopping +๐Ÿงพ receipt accounting expenses +๐Ÿ’น chart increasing with yen green-square graph presentation stats +๐Ÿ’ฑ currency exchange money sales dollar travel +๐Ÿ’ฒ heavy dollar sign money sales payment currency buck +โœ‰๏ธ envelope letter postal inbox communication +๐Ÿ“ง e mail communication inbox +๐Ÿ“จ incoming envelope email inbox +๐Ÿ“ฉ envelope with arrow email communication +๐Ÿ“ค outbox tray inbox email +๐Ÿ“ฅ inbox tray email documents +๐Ÿ“ฆ package mail gift cardboard box moving +๐Ÿ“ซ closed mailbox with raised flag email inbox communication +๐Ÿ“ช closed mailbox with lowered flag email communication inbox +๐Ÿ“ฌ open mailbox with raised flag email inbox communication +๐Ÿ“ญ open mailbox with lowered flag email inbox +๐Ÿ“ฎ postbox email letter envelope +๐Ÿ—ณ๏ธ ballot box with ballot election vote +โœ๏ธ pencil stationery write paper writing school study +โœ’๏ธ black nib pen stationery writing write +๐Ÿ–‹๏ธ fountain pen stationery writing write +๐Ÿ–Š๏ธ pen stationery writing write +๐Ÿ–Œ๏ธ paintbrush drawing creativity art +๐Ÿ–๏ธ crayon drawing creativity +๐Ÿ“ memo write documents stationery pencil paper writing legal exam quiz test study compose +๐Ÿ’ผ briefcase business documents work law legal job career +๐Ÿ“ file folder documents business office +๐Ÿ“‚ open file folder documents load +๐Ÿ—‚๏ธ card index dividers organizing business stationery +๐Ÿ“… calendar calendar schedule +๐Ÿ“† tear off calendar schedule date planning +๐Ÿ—’๏ธ spiral notepad memo stationery +๐Ÿ—“๏ธ spiral calendar date schedule planning +๐Ÿ“‡ card index business stationery +๐Ÿ“ˆ chart increasing graph presentation stats recovery business economics money sales good success +๐Ÿ“‰ chart decreasing graph presentation stats recession business economics money sales bad failure +๐Ÿ“Š bar chart graph presentation stats +๐Ÿ“‹ clipboard stationery documents +๐Ÿ“Œ pushpin stationery mark here +๐Ÿ“ round pushpin stationery location map here +๐Ÿ“Ž paperclip documents stationery +๐Ÿ–‡๏ธ linked paperclips documents stationery +๐Ÿ“ straight ruler stationery calculate length math school drawing architect sketch +๐Ÿ“ triangular ruler stationery math architect sketch +โœ‚๏ธ scissors stationery cut +๐Ÿ—ƒ๏ธ card file box business stationery +๐Ÿ—„๏ธ file cabinet filing organizing +๐Ÿ—‘๏ธ wastebasket bin trash rubbish garbage toss +๐Ÿ”’ locked security password padlock +๐Ÿ”“ unlocked privacy security +๐Ÿ” locked with pen security secret +๐Ÿ” locked with key security privacy +๐Ÿ”‘ key lock door password +๐Ÿ—๏ธ old key lock door password +๐Ÿ”จ hammer tools build create +๐Ÿช“ axe tool chop cut +โ›๏ธ pick tools dig +โš’๏ธ hammer and pick tools build create +๐Ÿ› ๏ธ hammer and wrench tools build create +๐Ÿ—ก๏ธ dagger weapon +โš”๏ธ crossed swords weapon +๐Ÿ”ซ pistol violence weapon pistol revolver +๐Ÿน bow and arrow sports +๐Ÿ›ก๏ธ shield protection security +๐Ÿ”ง wrench tools diy ikea fix maintainer +๐Ÿ”ฉ nut and bolt handy tools fix +โš™๏ธ gear cog +๐Ÿ—œ๏ธ clamp tool +โš–๏ธ balance scale law fairness weight +๐Ÿฆฏ probing cane accessibility +๐Ÿ”— link rings url +โ›“๏ธ chains lock arrest +๐Ÿงฐ toolbox tools diy fix maintainer mechanic +๐Ÿงฒ magnet attraction magnetic +โš—๏ธ alembic distilling science experiment chemistry +๐Ÿงช test tube chemistry experiment lab science +๐Ÿงซ petri dish bacteria biology culture lab +๐Ÿงฌ dna biologist genetics life +๐Ÿ”ฌ microscope laboratory experiment zoomin science study +๐Ÿ”ญ telescope stars space zoom science astronomy +๐Ÿ“ก satellite antenna communication future radio space +๐Ÿ’‰ syringe health hospital drugs blood medicine needle doctor nurse +๐Ÿฉธ drop of blood period hurt harm wound +๐Ÿ’Š pill health medicine doctor pharmacy drug +๐Ÿฉน adhesive bandage heal +๐Ÿฉบ stethoscope health +๐Ÿšช door house entry exit +๐Ÿ›๏ธ bed sleep rest +๐Ÿ›‹๏ธ couch and lamp read chill +๐Ÿช‘ chair sit furniture +๐Ÿšฝ toilet restroom wc washroom bathroom potty +๐Ÿšฟ shower clean water bathroom +๐Ÿ› bathtub clean shower bathroom +๐Ÿช’ razor cut +๐Ÿงด lotion bottle moisturizer sunscreen +๐Ÿงท safety pin diaper +๐Ÿงน broom cleaning sweeping witch +๐Ÿงบ basket laundry +๐Ÿงป roll of paper roll +๐Ÿงผ soap bar bathing cleaning lather +๐Ÿงฝ sponge absorbing cleaning porous +๐Ÿงฏ fire extinguisher quench +๐Ÿ›’ shopping cart trolley +๐Ÿšฌ cigarette kills tobacco cigarette joint smoke +โšฐ๏ธ coffin vampire dead die death rip graveyard cemetery casket funeral box +โšฑ๏ธ funeral urn dead die death rip ashes +๐Ÿ—ฟ moai rock easter island moai +๐Ÿง atm sign money sales cash blue-square payment bank +๐Ÿšฎ litter in bin sign blue-square sign human info +๐Ÿšฐ potable water blue-square liquid restroom cleaning faucet +โ™ฟ wheelchair symbol blue-square disabled accessibility +๐Ÿšน men s room toilet restroom wc blue-square gender male +๐Ÿšบ women s room purple-square woman female toilet loo restroom gender +๐Ÿšป restroom blue-square toilet refresh wc gender +๐Ÿšผ baby symbol orange-square child +๐Ÿšพ water closet toilet restroom blue-square +๐Ÿ›‚ passport control custom blue-square +๐Ÿ›ƒ customs passport border blue-square +๐Ÿ›„ baggage claim blue-square airport transport +๐Ÿ›… left luggage blue-square travel +โš ๏ธ warning exclamation wip alert error problem issue +๐Ÿšธ children crossing school warning danger sign driving yellow-diamond +โ›” no entry limit security privacy bad denied stop circle +๐Ÿšซ prohibited forbid stop limit denied disallow circle +๐Ÿšณ no bicycles cyclist prohibited circle +๐Ÿšญ no smoking cigarette blue-square smell smoke +๐Ÿšฏ no littering trash bin garbage circle +๐Ÿšฑ non potable water drink faucet tap circle +๐Ÿšท no pedestrians rules crossing walking circle +๐Ÿ“ต no mobile phones iphone mute circle +๐Ÿ”ž no one under eighteen 18 drink pub night minor circle +โ˜ข๏ธ radioactive nuclear danger +โ˜ฃ๏ธ biohazard danger +โฌ†๏ธ up arrow blue-square continue top direction +โ†—๏ธ up right arrow blue-square point direction diagonal northeast +โžก๏ธ right arrow blue-square next +โ†˜๏ธ down right arrow blue-square direction diagonal southeast +โฌ‡๏ธ down arrow blue-square direction bottom +โ†™๏ธ down left arrow blue-square direction diagonal southwest +โฌ…๏ธ left arrow blue-square previous back +โ†–๏ธ up left arrow blue-square point direction diagonal northwest +โ†•๏ธ up down arrow blue-square direction way vertical +โ†”๏ธ left right arrow shape direction horizontal sideways +โ†ฉ๏ธ right arrow curving left back return blue-square undo enter +โ†ช๏ธ left arrow curving right blue-square return rotate direction +โคด๏ธ right arrow curving up blue-square direction top +โคต๏ธ right arrow curving down blue-square direction bottom +๐Ÿ”ƒ clockwise vertical arrows sync cycle round repeat +๐Ÿ”„ counterclockwise arrows button blue-square sync cycle +๐Ÿ”™ back arrow arrow words return +๐Ÿ”š end arrow words arrow +๐Ÿ”› on arrow arrow words +๐Ÿ”œ soon arrow arrow words +๐Ÿ” top arrow words blue-square +๐Ÿ› place of worship religion church temple prayer +โš›๏ธ atom symbol science physics chemistry +๐Ÿ•‰๏ธ om hinduism buddhism sikhism jainism +โœก๏ธ star of david judaism +โ˜ธ๏ธ wheel of dharma hinduism buddhism sikhism jainism +โ˜ฏ๏ธ yin yang balance +โœ๏ธ latin cross christianity +โ˜ฆ๏ธ orthodox cross suppedaneum religion +โ˜ช๏ธ star and crescent islam +โ˜ฎ๏ธ peace symbol hippie +๐Ÿ•Ž menorah hanukkah candles jewish +๐Ÿ”ฏ dotted six pointed star purple-square religion jewish hexagram +โ™ˆ aries sign purple-square zodiac astrology +โ™‰ taurus purple-square sign zodiac astrology +โ™Š gemini sign zodiac purple-square astrology +โ™‹ cancer sign zodiac purple-square astrology +โ™Œ leo sign purple-square zodiac astrology +โ™ virgo sign zodiac purple-square astrology +โ™Ž libra sign purple-square zodiac astrology +โ™ scorpio sign zodiac purple-square astrology scorpio +โ™ sagittarius sign zodiac purple-square astrology +โ™‘ capricorn sign zodiac purple-square astrology +โ™’ aquarius sign purple-square zodiac astrology +โ™“ pisces purple-square sign zodiac astrology +โ›Ž ophiuchus sign purple-square constellation astrology +๐Ÿ”€ shuffle tracks button blue-square shuffle music random +๐Ÿ” repeat button loop record +๐Ÿ”‚ repeat single button blue-square loop +โ–ถ๏ธ play button blue-square right direction play +โฉ fast forward button blue-square play speed continue +โญ๏ธ next track button forward next blue-square +โฏ๏ธ play or pause button blue-square play pause +โ—€๏ธ reverse button blue-square left direction +โช fast reverse button play blue-square +โฎ๏ธ last track button backward +๐Ÿ”ผ upwards button blue-square triangle direction point forward top +โซ fast up button blue-square direction top +๐Ÿ”ฝ downwards button blue-square direction bottom +โฌ fast down button blue-square direction bottom +โธ๏ธ pause button pause blue-square +โน๏ธ stop button blue-square +โบ๏ธ record button blue-square +โ๏ธ eject button blue-square +๐ŸŽฆ cinema blue-square record film movie curtain stage theater +๐Ÿ”… dim button sun afternoon warm summer +๐Ÿ”† bright button sun light +๐Ÿ“ถ antenna bars blue-square reception phone internet connection wifi bluetooth bars +๐Ÿ“ณ vibration mode orange-square phone +๐Ÿ“ด mobile phone off mute orange-square silence quiet +โ™€๏ธ female sign woman women lady girl +โ™‚๏ธ male sign man boy men +โš•๏ธ medical symbol health hospital +โ™พ๏ธ infinity forever +โ™ป๏ธ recycling symbol arrow environment garbage trash +โšœ๏ธ fleur de lis decorative scout +๐Ÿ”ฑ trident emblem weapon spear +๐Ÿ“› name badge fire forbid +๐Ÿ”ฐ japanese symbol for beginner badge shield +โญ• hollow red circle circle round +โœ… check mark button green-square ok agree vote election answer tick +โ˜‘๏ธ check box with check ok agree confirm black-square vote election yes tick +โœ”๏ธ check mark ok nike answer yes tick +โœ–๏ธ multiplication sign math calculation +โŒ cross mark no delete remove cancel red +โŽ cross mark button x green-square no deny +โž• plus sign math calculation addition more increase +โž– minus sign math calculation subtract less +โž— division sign divide math calculation +โžฐ curly loop scribble draw shape squiggle +โžฟ double curly loop tape cassette +ใ€ฝ๏ธ part alternation mark graph presentation stats business economics bad +โœณ๏ธ eight spoked asterisk star sparkle green-square +โœด๏ธ eight pointed star orange-square shape polygon +โ‡๏ธ sparkle stars green-square awesome good fireworks +โ€ผ๏ธ double exclamation mark exclamation surprise +โ‰๏ธ exclamation question mark wat punctuation surprise +โ“ question mark doubt confused +โ” white question mark doubts gray huh confused +โ• white exclamation mark surprise punctuation gray wow warning +โ— exclamation mark heavy exclamation mark danger surprise punctuation wow warning +ใ€ฐ๏ธ wavy dash draw line moustache mustache squiggle scribble +ยฉ๏ธ copyright ip license circle law legal +ยฎ๏ธ registered alphabet circle +โ„ข๏ธ trade mark trademark brand law legal +#๏ธโƒฃ keycap symbol blue-square twitter +*๏ธโƒฃ keycap star keycap +0๏ธโƒฃ keycap 0 0 numbers blue-square null +1๏ธโƒฃ keycap 1 blue-square numbers 1 +2๏ธโƒฃ keycap 2 numbers 2 prime blue-square +3๏ธโƒฃ keycap 3 3 numbers prime blue-square +4๏ธโƒฃ keycap 4 4 numbers blue-square +5๏ธโƒฃ keycap 5 5 numbers blue-square prime +6๏ธโƒฃ keycap 6 6 numbers blue-square +7๏ธโƒฃ keycap 7 7 numbers blue-square prime +8๏ธโƒฃ keycap 8 8 blue-square numbers +9๏ธโƒฃ keycap 9 blue-square numbers 9 +๐Ÿ”Ÿ keycap 10 numbers 10 blue-square +๐Ÿ”  input latin uppercase alphabet words blue-square +๐Ÿ”ก input latin lowercase blue-square alphabet +๐Ÿ”ข input numbers numbers blue-square +๐Ÿ”ฃ input symbols blue-square music note ampersand percent glyphs characters +๐Ÿ”ค input latin letters blue-square alphabet +๐Ÿ…ฐ๏ธ a button red-square alphabet letter +๐Ÿ†Ž ab button red-square alphabet +๐Ÿ…ฑ๏ธ b button red-square alphabet letter +๐Ÿ†‘ cl button alphabet words red-square +๐Ÿ†’ cool button words blue-square +๐Ÿ†“ free button blue-square words +โ„น๏ธ information blue-square alphabet letter +๐Ÿ†” id button purple-square words +โ“‚๏ธ circled m alphabet blue-circle letter +๐Ÿ†• new button blue-square words start +๐Ÿ†– ng button blue-square words shape icon +๐Ÿ…พ๏ธ o button alphabet red-square letter +๐Ÿ†— ok button good agree yes blue-square +๐Ÿ…ฟ๏ธ p button cars blue-square alphabet letter +๐Ÿ†˜ sos button help red-square words emergency 911 +๐Ÿ†™ up button blue-square above high +๐Ÿ†š vs button words orange-square +๐Ÿˆ japanese here button blue-square here katakana japanese destination +๐Ÿˆ‚๏ธ japanese service charge button japanese blue-square katakana +๐Ÿˆท๏ธ japanese monthly amount button chinese month moon japanese orange-square kanji +๐Ÿˆถ japanese not free of charge button orange-square chinese have kanji +๐Ÿˆฏ japanese reserved button chinese point green-square kanji +๐Ÿ‰ japanese bargain button chinese kanji obtain get circle +๐Ÿˆน japanese discount button cut divide chinese kanji pink-square +๐Ÿˆš japanese free of charge button nothing chinese kanji japanese orange-square +๐Ÿˆฒ japanese prohibited button kanji japanese chinese forbidden limit restricted red-square +๐Ÿ‰‘ japanese acceptable button ok good chinese kanji agree yes orange-circle +๐Ÿˆธ japanese application button chinese japanese kanji orange-square +๐Ÿˆด japanese passing grade button japanese chinese join kanji red-square +๐Ÿˆณ japanese vacancy button kanji japanese chinese empty sky blue-square +ใŠ—๏ธ japanese congratulations button chinese kanji japanese red-circle +ใŠ™๏ธ japanese secret button privacy chinese sshh kanji red-circle +๐Ÿˆบ japanese open for business button japanese opening hours orange-square +๐Ÿˆต japanese no vacancy button full chinese japanese red-square kanji +๐Ÿ”ด red circle shape error danger +๐ŸŸ  orange circle round +๐ŸŸก yellow circle round +๐ŸŸข green circle round +๐Ÿ”ต blue circle shape icon button +๐ŸŸฃ purple circle round +๐ŸŸค brown circle round +โšซ black circle shape button round +โšช white circle shape round +๐ŸŸฅ red square +๐ŸŸง orange square +๐ŸŸจ yellow square +๐ŸŸฉ green square +๐ŸŸฆ blue square +๐ŸŸช purple square +๐ŸŸซ brown square +โฌ› black large square shape icon button +โฌœ white large square shape icon stone button +โ—ผ๏ธ black medium square shape button icon +โ—ป๏ธ white medium square shape stone icon +โ—พ black medium small square icon shape button +โ—ฝ white medium small square shape stone icon button +โ–ช๏ธ black small square shape icon +โ–ซ๏ธ white small square shape icon +๐Ÿ”ถ large orange diamond shape jewel gem +๐Ÿ”ท large blue diamond shape jewel gem +๐Ÿ”ธ small orange diamond shape jewel gem +๐Ÿ”น small blue diamond shape jewel gem +๐Ÿ”บ red triangle pointed up shape direction up top +๐Ÿ”ป red triangle pointed down shape direction bottom +๐Ÿ’  diamond with a dot jewel blue gem crystal fancy +๐Ÿ”˜ radio button input old music circle +๐Ÿ”ณ white square button shape input +๐Ÿ”ฒ black square button shape input frame +๐Ÿ chequered flag contest finishline race gokart +๐Ÿšฉ triangular flag mark milestone place +๐ŸŽŒ crossed flags japanese nation country border +๐Ÿด black flag pirate +๐Ÿณ๏ธ white flag losing loser lost surrender give up fail +๐Ÿณ๏ธโ€๐ŸŒˆ rainbow flag flag rainbow pride gay lgbt glbt queer homosexual lesbian bisexual transgender +๐Ÿดโ€โ˜ ๏ธ pirate flag skull crossbones flag banner +๐Ÿ‡ฆ๐Ÿ‡จ flag ascension island +๐Ÿ‡ฆ๐Ÿ‡ฉ flag andorra ad flag nation country banner andorra +๐Ÿ‡ฆ๐Ÿ‡ช flag united arab emirates united arab emirates flag nation country banner united arab emirates +๐Ÿ‡ฆ๐Ÿ‡ซ flag afghanistan af flag nation country banner afghanistan +๐Ÿ‡ฆ๐Ÿ‡ฌ flag antigua barbuda antigua barbuda flag nation country banner antigua barbuda +๐Ÿ‡ฆ๐Ÿ‡ฎ flag anguilla ai flag nation country banner anguilla +๐Ÿ‡ฆ๐Ÿ‡ฑ flag albania al flag nation country banner albania +๐Ÿ‡ฆ๐Ÿ‡ฒ flag armenia am flag nation country banner armenia +๐Ÿ‡ฆ๐Ÿ‡ด flag angola ao flag nation country banner angola +๐Ÿ‡ฆ๐Ÿ‡ถ flag antarctica aq flag nation country banner antarctica +๐Ÿ‡ฆ๐Ÿ‡ท flag argentina ar flag nation country banner argentina +๐Ÿ‡ฆ๐Ÿ‡ธ flag american samoa american ws flag nation country banner american samoa +๐Ÿ‡ฆ๐Ÿ‡น flag austria at flag nation country banner austria +๐Ÿ‡ฆ๐Ÿ‡บ flag australia au flag nation country banner australia +๐Ÿ‡ฆ๐Ÿ‡ผ flag aruba aw flag nation country banner aruba +๐Ÿ‡ฆ๐Ÿ‡ฝ flag aland islands ร…land islands flag nation country banner aland islands +๐Ÿ‡ฆ๐Ÿ‡ฟ flag azerbaijan az flag nation country banner azerbaijan +๐Ÿ‡ง๐Ÿ‡ฆ flag bosnia herzegovina bosnia herzegovina flag nation country banner bosnia herzegovina +๐Ÿ‡ง๐Ÿ‡ง flag barbados bb flag nation country banner barbados +๐Ÿ‡ง๐Ÿ‡ฉ flag bangladesh bd flag nation country banner bangladesh +๐Ÿ‡ง๐Ÿ‡ช flag belgium be flag nation country banner belgium +๐Ÿ‡ง๐Ÿ‡ซ flag burkina faso burkina faso flag nation country banner burkina faso +๐Ÿ‡ง๐Ÿ‡ฌ flag bulgaria bg flag nation country banner bulgaria +๐Ÿ‡ง๐Ÿ‡ญ flag bahrain bh flag nation country banner bahrain +๐Ÿ‡ง๐Ÿ‡ฎ flag burundi bi flag nation country banner burundi +๐Ÿ‡ง๐Ÿ‡ฏ flag benin bj flag nation country banner benin +๐Ÿ‡ง๐Ÿ‡ฑ flag st barthelemy saint barthรฉlemy flag nation country banner st barthelemy +๐Ÿ‡ง๐Ÿ‡ฒ flag bermuda bm flag nation country banner bermuda +๐Ÿ‡ง๐Ÿ‡ณ flag brunei bn darussalam flag nation country banner brunei +๐Ÿ‡ง๐Ÿ‡ด flag bolivia bo flag nation country banner bolivia +๐Ÿ‡ง๐Ÿ‡ถ flag caribbean netherlands bonaire flag nation country banner caribbean netherlands +๐Ÿ‡ง๐Ÿ‡ท flag brazil br flag nation country banner brazil +๐Ÿ‡ง๐Ÿ‡ธ flag bahamas bs flag nation country banner bahamas +๐Ÿ‡ง๐Ÿ‡น flag bhutan bt flag nation country banner bhutan +๐Ÿ‡ง๐Ÿ‡ป flag bouvet island norway +๐Ÿ‡ง๐Ÿ‡ผ flag botswana bw flag nation country banner botswana +๐Ÿ‡ง๐Ÿ‡พ flag belarus by flag nation country banner belarus +๐Ÿ‡ง๐Ÿ‡ฟ flag belize bz flag nation country banner belize +๐Ÿ‡จ๐Ÿ‡ฆ flag canada ca flag nation country banner canada +๐Ÿ‡จ๐Ÿ‡จ flag cocos islands cocos keeling islands flag nation country banner cocos islands +๐Ÿ‡จ๐Ÿ‡ฉ flag congo kinshasa congo democratic republic flag nation country banner congo kinshasa +๐Ÿ‡จ๐Ÿ‡ซ flag central african republic central african republic flag nation country banner central african republic +๐Ÿ‡จ๐Ÿ‡ฌ flag congo brazzaville congo flag nation country banner congo brazzaville +๐Ÿ‡จ๐Ÿ‡ญ flag switzerland ch flag nation country banner switzerland +๐Ÿ‡จ๐Ÿ‡ฎ flag cote d ivoire ivory coast flag nation country banner cote d ivoire +๐Ÿ‡จ๐Ÿ‡ฐ flag cook islands cook islands flag nation country banner cook islands +๐Ÿ‡จ๐Ÿ‡ฑ flag chile flag nation country banner chile +๐Ÿ‡จ๐Ÿ‡ฒ flag cameroon cm flag nation country banner cameroon +๐Ÿ‡จ๐Ÿ‡ณ flag china china chinese prc flag country nation banner china +๐Ÿ‡จ๐Ÿ‡ด flag colombia co flag nation country banner colombia +๐Ÿ‡จ๐Ÿ‡ต flag clipperton island +๐Ÿ‡จ๐Ÿ‡ท flag costa rica costa rica flag nation country banner costa rica +๐Ÿ‡จ๐Ÿ‡บ flag cuba cu flag nation country banner cuba +๐Ÿ‡จ๐Ÿ‡ป flag cape verde cabo verde flag nation country banner cape verde +๐Ÿ‡จ๐Ÿ‡ผ flag curacao curaรงao flag nation country banner curacao +๐Ÿ‡จ๐Ÿ‡ฝ flag christmas island christmas island flag nation country banner christmas island +๐Ÿ‡จ๐Ÿ‡พ flag cyprus cy flag nation country banner cyprus +๐Ÿ‡จ๐Ÿ‡ฟ flag czechia cz flag nation country banner czechia +๐Ÿ‡ฉ๐Ÿ‡ช flag germany german nation flag country banner germany +๐Ÿ‡ฉ๐Ÿ‡ฌ flag diego garcia +๐Ÿ‡ฉ๐Ÿ‡ฏ flag djibouti dj flag nation country banner djibouti +๐Ÿ‡ฉ๐Ÿ‡ฐ flag denmark dk flag nation country banner denmark +๐Ÿ‡ฉ๐Ÿ‡ฒ flag dominica dm flag nation country banner dominica +๐Ÿ‡ฉ๐Ÿ‡ด flag dominican republic dominican republic flag nation country banner dominican republic +๐Ÿ‡ฉ๐Ÿ‡ฟ flag algeria dz flag nation country banner algeria +๐Ÿ‡ช๐Ÿ‡ฆ flag ceuta melilla +๐Ÿ‡ช๐Ÿ‡จ flag ecuador ec flag nation country banner ecuador +๐Ÿ‡ช๐Ÿ‡ช flag estonia ee flag nation country banner estonia +๐Ÿ‡ช๐Ÿ‡ฌ flag egypt eg flag nation country banner egypt +๐Ÿ‡ช๐Ÿ‡ญ flag western sahara western sahara flag nation country banner western sahara +๐Ÿ‡ช๐Ÿ‡ท flag eritrea er flag nation country banner eritrea +๐Ÿ‡ช๐Ÿ‡ธ flag spain spain flag nation country banner spain +๐Ÿ‡ช๐Ÿ‡น flag ethiopia et flag nation country banner ethiopia +๐Ÿ‡ช๐Ÿ‡บ flag european union european union flag banner +๐Ÿ‡ซ๐Ÿ‡ฎ flag finland fi flag nation country banner finland +๐Ÿ‡ซ๐Ÿ‡ฏ flag fiji fj flag nation country banner fiji +๐Ÿ‡ซ๐Ÿ‡ฐ flag falkland islands falkland islands malvinas flag nation country banner falkland islands +๐Ÿ‡ซ๐Ÿ‡ฒ flag micronesia micronesia federated states flag nation country banner micronesia +๐Ÿ‡ซ๐Ÿ‡ด flag faroe islands faroe islands flag nation country banner faroe islands +๐Ÿ‡ซ๐Ÿ‡ท flag france banner flag nation france french country france +๐Ÿ‡ฌ๐Ÿ‡ฆ flag gabon ga flag nation country banner gabon +๐Ÿ‡ฌ๐Ÿ‡ง flag united kingdom united kingdom great britain northern ireland flag nation country banner british UK english england union jack united kingdom +๐Ÿ‡ฌ๐Ÿ‡ฉ flag grenada gd flag nation country banner grenada +๐Ÿ‡ฌ๐Ÿ‡ช flag georgia ge flag nation country banner georgia +๐Ÿ‡ฌ๐Ÿ‡ซ flag french guiana french guiana flag nation country banner french guiana +๐Ÿ‡ฌ๐Ÿ‡ฌ flag guernsey gg flag nation country banner guernsey +๐Ÿ‡ฌ๐Ÿ‡ญ flag ghana gh flag nation country banner ghana +๐Ÿ‡ฌ๐Ÿ‡ฎ flag gibraltar gi flag nation country banner gibraltar +๐Ÿ‡ฌ๐Ÿ‡ฑ flag greenland gl flag nation country banner greenland +๐Ÿ‡ฌ๐Ÿ‡ฒ flag gambia gm flag nation country banner gambia +๐Ÿ‡ฌ๐Ÿ‡ณ flag guinea gn flag nation country banner guinea +๐Ÿ‡ฌ๐Ÿ‡ต flag guadeloupe gp flag nation country banner guadeloupe +๐Ÿ‡ฌ๐Ÿ‡ถ flag equatorial guinea equatorial gn flag nation country banner equatorial guinea +๐Ÿ‡ฌ๐Ÿ‡ท flag greece gr flag nation country banner greece +๐Ÿ‡ฌ๐Ÿ‡ธ flag south georgia south sandwich islands south georgia sandwich islands flag nation country banner south georgia south sandwich islands +๐Ÿ‡ฌ๐Ÿ‡น flag guatemala gt flag nation country banner guatemala +๐Ÿ‡ฌ๐Ÿ‡บ flag guam gu flag nation country banner guam +๐Ÿ‡ฌ๐Ÿ‡ผ flag guinea bissau gw bissau flag nation country banner guinea bissau +๐Ÿ‡ฌ๐Ÿ‡พ flag guyana gy flag nation country banner guyana +๐Ÿ‡ญ๐Ÿ‡ฐ flag hong kong sar china hong kong flag nation country banner hong kong sar china +๐Ÿ‡ญ๐Ÿ‡ฒ flag heard mcdonald islands +๐Ÿ‡ญ๐Ÿ‡ณ flag honduras hn flag nation country banner honduras +๐Ÿ‡ญ๐Ÿ‡ท flag croatia hr flag nation country banner croatia +๐Ÿ‡ญ๐Ÿ‡น flag haiti ht flag nation country banner haiti +๐Ÿ‡ญ๐Ÿ‡บ flag hungary hu flag nation country banner hungary +๐Ÿ‡ฎ๐Ÿ‡จ flag canary islands canary islands flag nation country banner canary islands +๐Ÿ‡ฎ๐Ÿ‡ฉ flag indonesia flag nation country banner indonesia +๐Ÿ‡ฎ๐Ÿ‡ช flag ireland ie flag nation country banner ireland +๐Ÿ‡ฎ๐Ÿ‡ฑ flag israel il flag nation country banner israel +๐Ÿ‡ฎ๐Ÿ‡ฒ flag isle of man isle man flag nation country banner isle of man +๐Ÿ‡ฎ๐Ÿ‡ณ flag india in flag nation country banner india +๐Ÿ‡ฎ๐Ÿ‡ด flag british indian ocean territory british indian ocean territory flag nation country banner british indian ocean territory +๐Ÿ‡ฎ๐Ÿ‡ถ flag iraq iq flag nation country banner iraq +๐Ÿ‡ฎ๐Ÿ‡ท flag iran iran islamic republic flag nation country banner iran +๐Ÿ‡ฎ๐Ÿ‡ธ flag iceland is flag nation country banner iceland +๐Ÿ‡ฎ๐Ÿ‡น flag italy italy flag nation country banner italy +๐Ÿ‡ฏ๐Ÿ‡ช flag jersey je flag nation country banner jersey +๐Ÿ‡ฏ๐Ÿ‡ฒ flag jamaica jm flag nation country banner jamaica +๐Ÿ‡ฏ๐Ÿ‡ด flag jordan jo flag nation country banner jordan +๐Ÿ‡ฏ๐Ÿ‡ต flag japan japanese nation flag country banner japan +๐Ÿ‡ฐ๐Ÿ‡ช flag kenya ke flag nation country banner kenya +๐Ÿ‡ฐ๐Ÿ‡ฌ flag kyrgyzstan kg flag nation country banner kyrgyzstan +๐Ÿ‡ฐ๐Ÿ‡ญ flag cambodia kh flag nation country banner cambodia +๐Ÿ‡ฐ๐Ÿ‡ฎ flag kiribati ki flag nation country banner kiribati +๐Ÿ‡ฐ๐Ÿ‡ฒ flag comoros km flag nation country banner comoros +๐Ÿ‡ฐ๐Ÿ‡ณ flag st kitts nevis saint kitts nevis flag nation country banner st kitts nevis +๐Ÿ‡ฐ๐Ÿ‡ต flag north korea north korea nation flag country banner north korea +๐Ÿ‡ฐ๐Ÿ‡ท flag south korea south korea nation flag country banner south korea +๐Ÿ‡ฐ๐Ÿ‡ผ flag kuwait kw flag nation country banner kuwait +๐Ÿ‡ฐ๐Ÿ‡พ flag cayman islands cayman islands flag nation country banner cayman islands +๐Ÿ‡ฐ๐Ÿ‡ฟ flag kazakhstan kz flag nation country banner kazakhstan +๐Ÿ‡ฑ๐Ÿ‡ฆ flag laos lao democratic republic flag nation country banner laos +๐Ÿ‡ฑ๐Ÿ‡ง flag lebanon lb flag nation country banner lebanon +๐Ÿ‡ฑ๐Ÿ‡จ flag st lucia saint lucia flag nation country banner st lucia +๐Ÿ‡ฑ๐Ÿ‡ฎ flag liechtenstein li flag nation country banner liechtenstein +๐Ÿ‡ฑ๐Ÿ‡ฐ flag sri lanka sri lanka flag nation country banner sri lanka +๐Ÿ‡ฑ๐Ÿ‡ท flag liberia lr flag nation country banner liberia +๐Ÿ‡ฑ๐Ÿ‡ธ flag lesotho ls flag nation country banner lesotho +๐Ÿ‡ฑ๐Ÿ‡น flag lithuania lt flag nation country banner lithuania +๐Ÿ‡ฑ๐Ÿ‡บ flag luxembourg lu flag nation country banner luxembourg +๐Ÿ‡ฑ๐Ÿ‡ป flag latvia lv flag nation country banner latvia +๐Ÿ‡ฑ๐Ÿ‡พ flag libya ly flag nation country banner libya +๐Ÿ‡ฒ๐Ÿ‡ฆ flag morocco ma flag nation country banner morocco +๐Ÿ‡ฒ๐Ÿ‡จ flag monaco mc flag nation country banner monaco +๐Ÿ‡ฒ๐Ÿ‡ฉ flag moldova moldova republic flag nation country banner moldova +๐Ÿ‡ฒ๐Ÿ‡ช flag montenegro me flag nation country banner montenegro +๐Ÿ‡ฒ๐Ÿ‡ซ flag st martin +๐Ÿ‡ฒ๐Ÿ‡ฌ flag madagascar mg flag nation country banner madagascar +๐Ÿ‡ฒ๐Ÿ‡ญ flag marshall islands marshall islands flag nation country banner marshall islands +๐Ÿ‡ฒ๐Ÿ‡ฐ flag north macedonia macedonia flag nation country banner north macedonia +๐Ÿ‡ฒ๐Ÿ‡ฑ flag mali ml flag nation country banner mali +๐Ÿ‡ฒ๐Ÿ‡ฒ flag myanmar mm flag nation country banner myanmar +๐Ÿ‡ฒ๐Ÿ‡ณ flag mongolia mn flag nation country banner mongolia +๐Ÿ‡ฒ๐Ÿ‡ด flag macao sar china macao flag nation country banner macao sar china +๐Ÿ‡ฒ๐Ÿ‡ต flag northern mariana islands northern mariana islands flag nation country banner northern mariana islands +๐Ÿ‡ฒ๐Ÿ‡ถ flag martinique mq flag nation country banner martinique +๐Ÿ‡ฒ๐Ÿ‡ท flag mauritania mr flag nation country banner mauritania +๐Ÿ‡ฒ๐Ÿ‡ธ flag montserrat ms flag nation country banner montserrat +๐Ÿ‡ฒ๐Ÿ‡น flag malta mt flag nation country banner malta +๐Ÿ‡ฒ๐Ÿ‡บ flag mauritius mu flag nation country banner mauritius +๐Ÿ‡ฒ๐Ÿ‡ป flag maldives mv flag nation country banner maldives +๐Ÿ‡ฒ๐Ÿ‡ผ flag malawi mw flag nation country banner malawi +๐Ÿ‡ฒ๐Ÿ‡ฝ flag mexico mx flag nation country banner mexico +๐Ÿ‡ฒ๐Ÿ‡พ flag malaysia my flag nation country banner malaysia +๐Ÿ‡ฒ๐Ÿ‡ฟ flag mozambique mz flag nation country banner mozambique +๐Ÿ‡ณ๐Ÿ‡ฆ flag namibia na flag nation country banner namibia +๐Ÿ‡ณ๐Ÿ‡จ flag new caledonia new caledonia flag nation country banner new caledonia +๐Ÿ‡ณ๐Ÿ‡ช flag niger ne flag nation country banner niger +๐Ÿ‡ณ๐Ÿ‡ซ flag norfolk island norfolk island flag nation country banner norfolk island +๐Ÿ‡ณ๐Ÿ‡ฌ flag nigeria flag nation country banner nigeria +๐Ÿ‡ณ๐Ÿ‡ฎ flag nicaragua ni flag nation country banner nicaragua +๐Ÿ‡ณ๐Ÿ‡ฑ flag netherlands nl flag nation country banner netherlands +๐Ÿ‡ณ๐Ÿ‡ด flag norway no flag nation country banner norway +๐Ÿ‡ณ๐Ÿ‡ต flag nepal np flag nation country banner nepal +๐Ÿ‡ณ๐Ÿ‡ท flag nauru nr flag nation country banner nauru +๐Ÿ‡ณ๐Ÿ‡บ flag niue nu flag nation country banner niue +๐Ÿ‡ณ๐Ÿ‡ฟ flag new zealand new zealand flag nation country banner new zealand +๐Ÿ‡ด๐Ÿ‡ฒ flag oman om symbol flag nation country banner oman +๐Ÿ‡ต๐Ÿ‡ฆ flag panama pa flag nation country banner panama +๐Ÿ‡ต๐Ÿ‡ช flag peru pe flag nation country banner peru +๐Ÿ‡ต๐Ÿ‡ซ flag french polynesia french polynesia flag nation country banner french polynesia +๐Ÿ‡ต๐Ÿ‡ฌ flag papua new guinea papua new guinea flag nation country banner papua new guinea +๐Ÿ‡ต๐Ÿ‡ญ flag philippines ph flag nation country banner philippines +๐Ÿ‡ต๐Ÿ‡ฐ flag pakistan pk flag nation country banner pakistan +๐Ÿ‡ต๐Ÿ‡ฑ flag poland pl flag nation country banner poland +๐Ÿ‡ต๐Ÿ‡ฒ flag st pierre miquelon saint pierre miquelon flag nation country banner st pierre miquelon +๐Ÿ‡ต๐Ÿ‡ณ flag pitcairn islands pitcairn flag nation country banner pitcairn islands +๐Ÿ‡ต๐Ÿ‡ท flag puerto rico puerto rico flag nation country banner puerto rico +๐Ÿ‡ต๐Ÿ‡ธ flag palestinian territories palestine palestinian territories flag nation country banner palestinian territories +๐Ÿ‡ต๐Ÿ‡น flag portugal pt flag nation country banner portugal +๐Ÿ‡ต๐Ÿ‡ผ flag palau pw flag nation country banner palau +๐Ÿ‡ต๐Ÿ‡พ flag paraguay py flag nation country banner paraguay +๐Ÿ‡ถ๐Ÿ‡ฆ flag qatar qa flag nation country banner qatar +๐Ÿ‡ท๐Ÿ‡ช flag reunion rรฉunion flag nation country banner reunion +๐Ÿ‡ท๐Ÿ‡ด flag romania ro flag nation country banner romania +๐Ÿ‡ท๐Ÿ‡ธ flag serbia rs flag nation country banner serbia +๐Ÿ‡ท๐Ÿ‡บ flag russia russian federation flag nation country banner russia +๐Ÿ‡ท๐Ÿ‡ผ flag rwanda rw flag nation country banner rwanda +๐Ÿ‡ธ๐Ÿ‡ฆ flag saudi arabia flag nation country banner saudi arabia +๐Ÿ‡ธ๐Ÿ‡ง flag solomon islands solomon islands flag nation country banner solomon islands +๐Ÿ‡ธ๐Ÿ‡จ flag seychelles sc flag nation country banner seychelles +๐Ÿ‡ธ๐Ÿ‡ฉ flag sudan sd flag nation country banner sudan +๐Ÿ‡ธ๐Ÿ‡ช flag sweden se flag nation country banner sweden +๐Ÿ‡ธ๐Ÿ‡ฌ flag singapore sg flag nation country banner singapore +๐Ÿ‡ธ๐Ÿ‡ญ flag st helena saint helena ascension tristan cunha flag nation country banner st helena +๐Ÿ‡ธ๐Ÿ‡ฎ flag slovenia si flag nation country banner slovenia +๐Ÿ‡ธ๐Ÿ‡ฏ flag svalbard jan mayen +๐Ÿ‡ธ๐Ÿ‡ฐ flag slovakia sk flag nation country banner slovakia +๐Ÿ‡ธ๐Ÿ‡ฑ flag sierra leone sierra leone flag nation country banner sierra leone +๐Ÿ‡ธ๐Ÿ‡ฒ flag san marino san marino flag nation country banner san marino +๐Ÿ‡ธ๐Ÿ‡ณ flag senegal sn flag nation country banner senegal +๐Ÿ‡ธ๐Ÿ‡ด flag somalia so flag nation country banner somalia +๐Ÿ‡ธ๐Ÿ‡ท flag suriname sr flag nation country banner suriname +๐Ÿ‡ธ๐Ÿ‡ธ flag south sudan south sd flag nation country banner south sudan +๐Ÿ‡ธ๐Ÿ‡น flag sao tome principe sao tome principe flag nation country banner sao tome principe +๐Ÿ‡ธ๐Ÿ‡ป flag el salvador el salvador flag nation country banner el salvador +๐Ÿ‡ธ๐Ÿ‡ฝ flag sint maarten sint maarten dutch flag nation country banner sint maarten +๐Ÿ‡ธ๐Ÿ‡พ flag syria syrian arab republic flag nation country banner syria +๐Ÿ‡ธ๐Ÿ‡ฟ flag eswatini sz flag nation country banner eswatini +๐Ÿ‡น๐Ÿ‡ฆ flag tristan da cunha +๐Ÿ‡น๐Ÿ‡จ flag turks caicos islands turks caicos islands flag nation country banner turks caicos islands +๐Ÿ‡น๐Ÿ‡ฉ flag chad td flag nation country banner chad +๐Ÿ‡น๐Ÿ‡ซ flag french southern territories french southern territories flag nation country banner french southern territories +๐Ÿ‡น๐Ÿ‡ฌ flag togo tg flag nation country banner togo +๐Ÿ‡น๐Ÿ‡ญ flag thailand th flag nation country banner thailand +๐Ÿ‡น๐Ÿ‡ฏ flag tajikistan tj flag nation country banner tajikistan +๐Ÿ‡น๐Ÿ‡ฐ flag tokelau tk flag nation country banner tokelau +๐Ÿ‡น๐Ÿ‡ฑ flag timor leste timor leste flag nation country banner timor leste +๐Ÿ‡น๐Ÿ‡ฒ flag turkmenistan flag nation country banner turkmenistan +๐Ÿ‡น๐Ÿ‡ณ flag tunisia tn flag nation country banner tunisia +๐Ÿ‡น๐Ÿ‡ด flag tonga to flag nation country banner tonga +๐Ÿ‡น๐Ÿ‡ท flag turkey turkey flag nation country banner turkey +๐Ÿ‡น๐Ÿ‡น flag trinidad tobago trinidad tobago flag nation country banner trinidad tobago +๐Ÿ‡น๐Ÿ‡ป flag tuvalu flag nation country banner tuvalu +๐Ÿ‡น๐Ÿ‡ผ flag taiwan tw flag nation country banner taiwan +๐Ÿ‡น๐Ÿ‡ฟ flag tanzania tanzania united republic flag nation country banner tanzania +๐Ÿ‡บ๐Ÿ‡ฆ flag ukraine ua flag nation country banner ukraine +๐Ÿ‡บ๐Ÿ‡ฌ flag uganda ug flag nation country banner uganda +๐Ÿ‡บ๐Ÿ‡ฒ flag u s outlying islands +๐Ÿ‡บ๐Ÿ‡ณ flag united nations un flag banner +๐Ÿ‡บ๐Ÿ‡ธ flag united states united states america flag nation country banner united states +๐Ÿ‡บ๐Ÿ‡พ flag uruguay uy flag nation country banner uruguay +๐Ÿ‡บ๐Ÿ‡ฟ flag uzbekistan uz flag nation country banner uzbekistan +๐Ÿ‡ป๐Ÿ‡ฆ flag vatican city vatican city flag nation country banner vatican city +๐Ÿ‡ป๐Ÿ‡จ flag st vincent grenadines saint vincent grenadines flag nation country banner st vincent grenadines +๐Ÿ‡ป๐Ÿ‡ช flag venezuela ve bolivarian republic flag nation country banner venezuela +๐Ÿ‡ป๐Ÿ‡ฌ flag british virgin islands british virgin islands bvi flag nation country banner british virgin islands +๐Ÿ‡ป๐Ÿ‡ฎ flag u s virgin islands virgin islands us flag nation country banner u s virgin islands +๐Ÿ‡ป๐Ÿ‡ณ flag vietnam viet nam flag nation country banner vietnam +๐Ÿ‡ป๐Ÿ‡บ flag vanuatu vu flag nation country banner vanuatu +๐Ÿ‡ผ๐Ÿ‡ซ flag wallis futuna wallis futuna flag nation country banner wallis futuna +๐Ÿ‡ผ๐Ÿ‡ธ flag samoa ws flag nation country banner samoa +๐Ÿ‡ฝ๐Ÿ‡ฐ flag kosovo xk flag nation country banner kosovo +๐Ÿ‡พ๐Ÿ‡ช flag yemen ye flag nation country banner yemen +๐Ÿ‡พ๐Ÿ‡น flag mayotte yt flag nation country banner mayotte +๐Ÿ‡ฟ๐Ÿ‡ฆ flag south africa south africa flag nation country banner south africa +๐Ÿ‡ฟ๐Ÿ‡ฒ flag zambia zm flag nation country banner zambia +๐Ÿ‡ฟ๐Ÿ‡ผ flag zimbabwe zw flag nation country banner zimbabwe +๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ flag england flag english +๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ flag scotland flag scottish +๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ flag wales flag welsh +๐Ÿฅฒ smiling face with tear sad cry pretend +๐Ÿฅธ disguised face pretent brows glasses moustache +๐ŸคŒ pinched fingers size tiny small +๐Ÿซ€ anatomical heart health heartbeat +๐Ÿซ lungs breathe +๐Ÿฅท ninja ninjutsu skills japanese +๐Ÿคตโ€โ™‚๏ธ man in tuxedo formal fashion +๐Ÿคตโ€โ™€๏ธ woman in tuxedo formal fashion +๐Ÿ‘ฐโ€โ™‚๏ธ man with veil wedding marriage +๐Ÿ‘ฐโ€โ™€๏ธ woman with veil wedding marriage +๐Ÿ‘ฉโ€๐Ÿผ woman feeding baby birth food +๐Ÿ‘จโ€๐Ÿผ man feeding baby birth food +๐Ÿง‘โ€๐Ÿผ person feeding baby birth food +๐Ÿง‘โ€๐ŸŽ„ mx claus christmas +๐Ÿซ‚ people hugging care +๐Ÿˆโ€โฌ› black cat superstition luck +๐Ÿฆฌ bison ox +๐Ÿฆฃ mammoth elephant tusks +๐Ÿฆซ beaver animal rodent +๐Ÿปโ€โ„๏ธ polar bear animal arctic +๐Ÿฆค dodo animal bird +๐Ÿชถ feather bird fly +๐Ÿฆญ seal animal creature sea +๐Ÿชฒ beetle insect +๐Ÿชณ cockroach insect pests +๐Ÿชฐ fly insect +๐Ÿชฑ worm animal +๐Ÿชด potted plant greenery house +๐Ÿซ blueberries fruit +๐Ÿซ’ olive fruit +๐Ÿซ‘ bell pepper fruit plant +๐Ÿซ“ flatbread flour food +๐Ÿซ” tamale food masa +๐Ÿซ• fondue cheese pot food +๐Ÿซ– teapot drink hot +๐Ÿง‹ bubble tea taiwan boba milk tea straw +๐Ÿชจ rock stone +๐Ÿชต wood nature timber trunk +๐Ÿ›– hut house structure +๐Ÿ›ป pickup truck car transportation +๐Ÿ›ผ roller skate footwear sports +๐Ÿช„ magic wand supernature power +๐Ÿช… pinata mexico candy celebration +๐Ÿช† nesting dolls matryoshka toy +๐Ÿชก sewing needle stitches +๐Ÿชข knot rope scout +๐Ÿฉด thong sandal footwear summer +๐Ÿช– military helmet army protection +๐Ÿช— accordion music +๐Ÿช˜ long drum music +๐Ÿช™ coin money currency +๐Ÿชƒ boomerang weapon +๐Ÿชš carpentry saw cut chop +๐Ÿช› screwdriver tools +๐Ÿช hook tools +๐Ÿชœ ladder tools +๐Ÿ›— elevator lift +๐Ÿชž mirror reflection +๐ŸชŸ window scenery +๐Ÿช  plunger toilet +๐Ÿชค mouse trap cheese +๐Ÿชฃ bucket water container +๐Ÿชฅ toothbrush hygiene dental +๐Ÿชฆ headstone death rip grave +๐Ÿชง placard announcement +โšง๏ธ transgender symbol lgbtq +๐Ÿณ๏ธโ€โšง๏ธ transgender flag lgbtq +๐Ÿ˜ถโ€๐ŸŒซ๏ธ face in clouds shower steam dream +๐Ÿ˜ฎโ€๐Ÿ’จ face exhaling relieve relief tired sigh +๐Ÿ˜ตโ€๐Ÿ’ซ face with spiral eyes sick ill confused nauseous nausea +โค๏ธโ€๐Ÿ”ฅ heart on fire passionate enthusiastic +โค๏ธโ€๐Ÿฉน mending heart broken heart bandage wounded +๐Ÿง”โ€โ™‚๏ธ man beard facial hair +๐Ÿง”โ€โ™€๏ธ woman beard facial hair +๐Ÿซ  melting face hot heat +๐Ÿซข face with open eyes and hand over mouth silence secret shock surprise +๐Ÿซฃ face with peeking eye scared frightening embarrassing +๐Ÿซก saluting face respect salute +๐Ÿซฅ dotted line face invisible lonely isolation depression +๐Ÿซค face with diagonal mouth skeptic confuse frustrated indifferent +๐Ÿฅน face holding back tears touched gratitude +๐Ÿซฑ rightwards hand palm offer +๐Ÿซฒ leftwards hand palm offer +๐Ÿซณ palm down hand palm drop +๐Ÿซด palm up hand lift offer demand +๐Ÿซฐ hand with index finger and thumb crossed heart love money expensive +๐Ÿซต index pointing at the viewer you recruit +๐Ÿซถ heart hands love appreciation support +๐Ÿซฆ biting lip flirt sexy pain worry +๐Ÿซ… person with crown royalty power +๐Ÿซƒ pregnant man baby belly +๐Ÿซ„ pregnant person baby belly +๐ŸงŒ troll mystical monster +๐Ÿชธ coral ocean sea reef +๐Ÿชท lotus flower calm meditation +๐Ÿชน empty nest bird +๐Ÿชบ nest with eggs bird +๐Ÿซ˜ beans food +๐Ÿซ— pouring liquid cup water +๐Ÿซ™ jar container sauce +๐Ÿ› playground slide fun park +๐Ÿ›ž wheel car transport +๐Ÿ›Ÿ ring buoy life saver life preserver +๐Ÿชฌ hamsa religion protection +๐Ÿชฉ mirror ball disco dance party +๐Ÿชซ low battery drained dead +๐Ÿฉผ crutch accessibility assist +๐Ÿฉป x-ray skeleton medicine +๐Ÿซง bubbles soap fun carbonation sparkling +๐Ÿชช identification card document +๐ŸŸฐ heavy equals sign math diff --git a/new-config/.config/wofi/scripts/wofi_power b/new-config/.config/wofi/scripts/wofi_power new file mode 100755 index 000000000..6c54d1505 --- /dev/null +++ b/new-config/.config/wofi/scripts/wofi_power @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +# ***This script was made by Clay Gomera (Drake)*** +# - Description: A simple power menu rofi script +# - Dependencies: rofi, power-profiles-daemon + +## OPTIONS ## +option1="๏ฆ Logout" +option2="๏€ž Reboot" +option3="๏€‘ Power off" +option4="๏ฆฑ Suspend" +option5="๏„พ Lock" +option6="๏ฃ Change power profile" +option7="๏€ Cancel" + +## OPTIONS ARRAY ## +options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6\n$option7" + +## POWER PROFILE OPTIONS ## +pwr1="๎ž€ Performance" +pwr2="๏†ธ Balanced" +pwr3="๏€— Power Saver" +pwr4="๏€ Cancel" + +## POWER PROFILES ARRAY ## +pwrs="$pwr1\n$pwr2\n$pwr3\n$pwr4" + +## MAIN ACTION COMMAND ## +action=$(echo -e "$options" | wofi --dmenu -p " ๏€‘ Power Options ") +case "$action" in + $option1*) + pkill Hyprland;; + $option2*) + systemctl reboot || loginctl reboot;; + $option3*) + systemctl poweroff || loginctl poweroff;; + $option4*) + betterlockscreen --suspend;; + $option5*) + betterlockscreen -l;; + $option6*) + currentpwr=$(powerprofilesctl get) + if [ "$currentpwr" = "performance" ]; then + currentpwr="๎ž€ Performance" + elif [ "$currentpwr" = "power-saver" ]; then + currentpwr="๏€— Power Saver" + elif [ "$currentpwr" = "balanced" ]; then + currentpwr="๏†ธ Balanced" + fi + pwraction=$(echo -e "$pwrs" | wofi --dmenu -p " ๏ฃ Power Profile Menu - Currently set to: ${currentpwr} ") + case "$pwraction" in + $pwr1*) + powerprofilesctl set performance && notify-send "Power profile switched to performance";; + $pwr2*) + powerprofilesctl set balanced && notify-send "Power profile switched to balanced";; + $pwr3*) + powerprofilesctl set power-saver && notify-send "Power profile switched to power saver";; + $pwr4*) + exit 0 + esac;; + $option7*) + exit 0 +esac + diff --git a/new-config/.config/wofi/scripts/wofi_scrot b/new-config/.config/wofi/scripts/wofi_scrot new file mode 100755 index 000000000..376c9bf7a --- /dev/null +++ b/new-config/.config/wofi/scripts/wofi_scrot @@ -0,0 +1,113 @@ +#!/usr/bin/env bash +# Screenshot directory +screenshot_directory="$HOME/Pictures/Screenshots" + +countdown() { + notify-send "Screenshot" "Recording in 3 seconds" -t 1000 + sleep 1 + notify-send "Screenshot" "Recording in 2 seconds" -t 1000 + sleep 1 + notify-send "Screenshot" "Recording in 1 seconds" -t 1000 + sleep 1 +} + +crtf() { + notify-send "Screenshot" "Select a region to capture" + dt=$(date '+%d-%m-%Y %H:%M:%S') + grim -g "$(slurp)" "$screenshot_directory/$dt.png" + notify-send "Screenshot" "Region saved to $screenshot_directory" +} + +cstf() { + dt=$(date '+%d-%m-%Y %H:%M:%S') + grim "$screenshot_directory/$dt.png" + notify-send "Screenshot" "Screenshot saved to $screenshot_directory" +} + +rvrtf() { + notify-send "Screenshot" "Select a region to record" + dt=$(date '+%d-%m-%Y %H:%M:%S') + wf-recorder -g "$(slurp)" rec "$screenshot_directory/$dt.mp4" + notify-send "Screenshot" "Recording saved to $screenshot_directory" +} + +rvstf() { + countdown + dt=$(date '+%d-%m-%Y %H:%M:%S') + wf-recorder -f "$screenshot_directory/$dt.mp4" + notify-send "Screenshot" "Recording saved to $screenshot_directory" +} + +get_options() { + echo "๏€ฐ Capture Region" + echo "๏€ฐ Capture Screen" + echo "๏€ฝ Record Region" + echo "๏€ฝ Record Screen" +} + +check_deps() { + if ! hash $1 2>/dev/null; then + echo "Error: This script requires $1" + exit 1 + fi +} + +main() { + # check dependencies + check_deps slurp + check_deps grim + check_deps wofi + check_deps wf-recorder + + if [[ $1 == '--help' ]] || [[ $1 = '-h' ]] + then + echo ### wofi-screenshot + echo USAGE: wofi-screenshot [OPTION] + echo \(no option\) + echo " show the screenshot menu" + echo -s, --stop + echo " stop recording" + echo -h, --help + echo " this screen" + exit 1 + fi + + if [[ $1 = '--stop' ]] || [[ $1 = '-s' ]] + then + killall -s SIGINT wf-recorder + exit 1 + fi + + # Get choice from rofi + choice=$( (get_options) | wofi --dmenu -p "Screenshot" ) + + # If user has not picked anything, exit + if [[ -z "${choice// }" ]]; then + exit 1 + fi + + # run the selected command + case $choice in + '๏€ฐ Capture Region') + crtf + ;; + '๏€ฐ Capture Screen') + cstf + ;; + '๏€ฝ Record Region') + rvrtf + ;; + '๏€ฝ Record Screen') + rvstf + ;; + esac + + # done + set -e +} + +main $1 & + +exit 0 + +!/bin/bash diff --git a/new-config/.config/wofi/scripts/wofi_wifi b/new-config/.config/wofi/scripts/wofi_wifi new file mode 100755 index 000000000..90938cb03 --- /dev/null +++ b/new-config/.config/wofi/scripts/wofi_wifi @@ -0,0 +1,89 @@ +#!/usr/bin/env bash + +# ***This script was made by Clay Gomera (Drake)*** +# - Description: A simple wifi rofi script +# - Dependencies: rofi, NetworkManager + +## WOFI VARIABLES ## +WOFI="wofi --dmenu -p" + +## MAIN OPTIONS ## +option1="๏ˆ… Turn on WiFi" +option2="๏ˆ„ Turn off WiFi" +option3="๏ชฉ Disconnect WiFi" +option4="๏ชจ Connect WiFi" +option5="๎˜• Setup captive portal" +option6="๏€ Cancel" +options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6" + +wlan=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f1 | head -1) +## TURN OFF WIFI FUNCTION ## +turnoff() { + nmcli radio wifi off + notify-send "WiFi has been turned off" +} + +## TURN ON WIFI FUNCTION ## +turnon() { + nmcli radio wifi on + notify-send "WiFi has been turned on" +} + +## DISCONNECT WIFI FUNCTION ## +disconnect() { + nmcli device disconnect "$wlan" + sleep 1 + constate=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f3 | head -1) + if [ "$constate" = "disconnected" ]; then + notify-send "WiFi has been disconnected" + fi +} + +## CONNECT FUNCTION ## +connect() { + notify-send "Scannig networks, please wait" + sleep 1 + bssid=$(nmcli device wifi list | sed -n '1!p' | cut -b 9- | $WOFI "Select Wifi ๏‡ซ :" | cut -d' ' -f1) + } + +## SELECT PASSWORD FUNCTION ## +password() { + pass=$(echo " " | $WOFI --password "Enter Password ๏ Š :") + } + +## MAIN CONNECTION COMMAND ## +action() { + nmcli device wifi connect "$bssid" password "$pass" || nmcli device wifi connect "$bssid" + } + +## CHECKING IF WIFI IS WORKING +check() { + notify-send "Checking if connection was successful" + sleep 1 + currentwfi=$(nmcli dev | grep wifi | sed 's/ \{2,\}/|/g' | cut -d '|' -f4 | head -1) + if ping -q -c 2 -W 2 google.com >/dev/null; then + notify-send "You are now connected to $currentwfi and internet is working properly" + else + notify-send "Your internet is not working :(" + fi +} + +## MAIN ACTION COMMANDS ## +cases=$(echo -e "$options" | $WOFI "๏‡ซ Wifi Settings" ) +case "$cases" in + $option1*) + turnon;; + $option2*) + turnoff;; + $option3*) + disconnect;; + $option4*) + connect; + password; + action; + check;; + $option5*) + io.elementary.capnet-assist;; + $option6*) + exit 0 +esac diff --git a/new-config/.config/wofi/style.css b/new-config/.config/wofi/style.css new file mode 100644 index 000000000..de86874eb --- /dev/null +++ b/new-config/.config/wofi/style.css @@ -0,0 +1,57 @@ +window { +margin: 5px; +border: 2px solid #cc241d; +border-radius: 10px; +background-color: #282828; +font-family: mononoki Nerd Font; +font-size: 16px; +} + +#input { +margin: 10px; +margin-bottom: 1px; +border: 5px solid #3c3836; +color: #ebdbb2; +background-color: #3c3836; +} + +#input > image.left { + -gtk-icon-transform:scaleX(0); +} + +#inner-box { +margin: 15px; +margin-top: 15px; +border: none; +background-color: #282828; +} + +#outer-box { +margin: 10px; +border: none; +background-color: #282828; +} + +#scroll { +margin: 0px; +border: none; +} + +#text { +margin: 5px; +border: none; +color: #ebdbb2; +} + +#entry:selected { + background-color: #cc241d; + color: #3c3836; + font-weight: normal; +} + +#text:selected { + background-color: #cc241d; + color: #fbf1c7; + font-weight: bold; +} + diff --git a/new-config/.config/zathura/zathurarc b/new-config/.config/zathura/zathurarc new file mode 100644 index 000000000..86a9afb9c --- /dev/null +++ b/new-config/.config/zathura/zathurarc @@ -0,0 +1,54 @@ +## ____ __ +## / __ \_________ _/ /_____ +## / / / / ___/ __ `/ //_/ _ \ +## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) +## /_____/_/ \__,_/_/|_|\___/ My custom zathura config +## + +set font "mononoki Nerd Font 9" +set default-bg "#262626" #00 +set default-fg "#ebdbb2" #01 + +set statusbar-fg "#ebdbb2" #04 +set statusbar-bg "#262626" #01 + +set inputbar-bg "#262626" #00 currently not used +set inputbar-fg "#ebdbb2" #02 + +set notification-error-bg "#262626" #08 +set notification-error-fg "#cc241d" #00 + +set notification-warning-bg "#262626" #08 +set notification-warning-fg "#d79921" #00 + +set highlight-color "#262626" #0A +set highlight-active-color "#ebdbb2" #0D + +set completion-highlight-fg "#4e4e4e" #02 +set completion-highlight-bg "#87afaf" #0C + +set completion-bg "#4e4e4e" #02 +set completion-fg "#ebdbb2" #0C + +set notification-bg "#262626" #0B +set notification-fg "#458588" #00 + +set recolor-lightcolor "#262626" #00 +set recolor-darkcolor "#ebdbb2" #06 +set recolor "true" + +# setting recolor-keep true will keep any color your pdf has. +# if it is false, it'll just be black and white +set recolor-keephue "false" + +set selection-clipboard "clipboard" + +# keybindings +map [fullscreen] a adjust_window best-fit +map [fullscreen] s adjust_window width +map [fullscreen] f follow +map [fullscreen] toggle_index +map [fullscreen] j scroll down +map [fullscreen] k scroll up +map [fullscreen] h navigate previous +map [fullscreen] l navigate next diff --git a/new-config/.gitconfig b/new-config/.gitconfig new file mode 100644 index 000000000..f7effc496 --- /dev/null +++ b/new-config/.gitconfig @@ -0,0 +1,4 @@ +[user] + mail = misterclay@tutanota.com + name = Clay Gomera + email = misterclay@tutanota.com diff --git a/new-config/.gtkrc-2.0 b/new-config/.gtkrc-2.0 new file mode 100644 index 000000000..f511d7718 --- /dev/null +++ b/new-config/.gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by nwg-look. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/drk/.gtkrc-2.0.mine" +gtk-theme-name="gruvbox-dark-gtk" +gtk-icon-theme-name="oomox-gruvbox-dark" +gtk-font-name="Mononoki Nerd Font 10" +gtk-cursor-theme-name="Simp1e-Gruvbox-Dark" +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" diff --git a/new-config/.local/bin/hyprland_session b/new-config/.local/bin/hyprland_session new file mode 100755 index 000000000..296f9bb46 --- /dev/null +++ b/new-config/.local/bin/hyprland_session @@ -0,0 +1,21 @@ +#!/bin/sh + +cd ~ + +# Log WLR errors and logs to the hyprland log. Recommended +export HYPRLAND_LOG_WLR=1 + +# Tell XWayland to use a cursor theme +export XCURSOR_THEME=Simp1e-Gruvbox-Dark + +# Set a cursor size +export XCURSOR_SIZE=16 + +# Example IME Support: fcitx +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx +export SDL_IM_MODULE=fcitx +export GLFW_IM_MODULE=ibus + +exec Hyprland diff --git a/new-config/.local/bin/lvim b/new-config/.local/bin/lvim new file mode 100755 index 000000000..08e700cf2 --- /dev/null +++ b/new-config/.local/bin/lvim @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +export LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"/home/drk/.local/share/lunarvim"}" +export LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"/home/drk/.config/lvim"}" +export LUNARVIM_CACHE_DIR="${LUNARVIM_CACHE_DIR:-"/home/drk/.cache/lvim"}" + +export LUNARVIM_BASE_DIR="${LUNARVIM_BASE_DIR:-"/home/drk/.local/share/lunarvim/lvim"}" +sleep 0.1 +exec -a lvim nvim -u "$LUNARVIM_BASE_DIR/init.lua" "$@"