mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-10 11:13:04 +03:00
feat(*): add configs
This commit is contained in:
parent
a3f3fd784e
commit
4e0d2fb6e2
117 changed files with 18518 additions and 0 deletions
7
.bash_profile
Normal file
7
.bash_profile
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#
|
||||||
|
# ~/.bash_profile
|
||||||
|
#
|
||||||
|
|
||||||
|
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||||
|
|
||||||
|
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
|
||||||
132
.bashrc
Normal file
132
.bashrc
Normal file
|
|
@ -0,0 +1,132 @@
|
||||||
|
# Return if not run interactively
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
xhost +local:root > /dev/null 2>&1
|
||||||
|
|
||||||
|
use_fish=true
|
||||||
|
|
||||||
|
# ==================== PATHS ====================
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
export PATH="$HOME/bin:$PATH"
|
||||||
|
export PATH="$HOME/bin/scripts:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH"
|
||||||
|
export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH"
|
||||||
|
export PATH="/usr/local/texlive/2020/bin/x86_64-linux:$PATH"
|
||||||
|
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
# export PATH="$HOME/.gem/ruby/2.7.0/bin/:$PATH"
|
||||||
|
|
||||||
|
export PATH="$PATH:$HOME/.rvm/bin"
|
||||||
|
|
||||||
|
if [[ $(ps --no-header --pid=$PPID --format=cmd) != "fish" && ${use_fish} ]]
|
||||||
|
then
|
||||||
|
exec fish
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ==================== COLORS ====================
|
||||||
|
|
||||||
|
use_color=true
|
||||||
|
|
||||||
|
# Set colorful PS1 only on colorful terminals.
|
||||||
|
# dircolors --print-database uses its own built-in database
|
||||||
|
# instead of using /etc/DIR_COLORS. Try to use the external file
|
||||||
|
# first to take advantage of user additions. Use internal bash
|
||||||
|
# globbing instead of external grep binary.
|
||||||
|
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
|
||||||
|
match_lhs=""
|
||||||
|
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
|
||||||
|
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
|
||||||
|
[[ -z ${match_lhs} ]] \
|
||||||
|
&& type -P dircolors >/dev/null \
|
||||||
|
&& match_lhs=$(dircolors --print-database)
|
||||||
|
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
|
||||||
|
|
||||||
|
if ${use_color} ; then
|
||||||
|
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
|
||||||
|
if type -P dircolors >/dev/null ; then
|
||||||
|
if [[ -f ~/.dir_colors ]] ; then
|
||||||
|
eval $(dircolors -b ~/.dir_colors)
|
||||||
|
elif [[ -f /etc/DIR_COLORS ]] ; then
|
||||||
|
eval $(dircolors -b /etc/DIR_COLORS)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${EUID} == 0 ]] ; then
|
||||||
|
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
|
||||||
|
else
|
||||||
|
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] '
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias grep='grep --colour=auto'
|
||||||
|
alias egrep='egrep --colour=auto'
|
||||||
|
alias fgrep='fgrep --colour=auto'
|
||||||
|
else
|
||||||
|
if [[ ${EUID} == 0 ]] ; then
|
||||||
|
# show root@ when we don't have colors
|
||||||
|
PS1='\u@\h \W \$ '
|
||||||
|
else
|
||||||
|
PS1='\u@\h \w \$ '
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset use_color safe_term match_lhs sh
|
||||||
|
|
||||||
|
# ==================== Settings ====================
|
||||||
|
|
||||||
|
# Sudo autocompletiong
|
||||||
|
complete -cf sudo
|
||||||
|
|
||||||
|
shopt -s checkwinsize
|
||||||
|
shopt -s expand_aliases
|
||||||
|
shopt -s autocd
|
||||||
|
|
||||||
|
# ==================== ANACONDA ====================
|
||||||
|
|
||||||
|
# >>> conda initialize >>>
|
||||||
|
# !! Contents within this block are managed by 'conda init' !!
|
||||||
|
__conda_setup="$('/home/pavel/Programs/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
eval "$__conda_setup"
|
||||||
|
else
|
||||||
|
if [ -f "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh" ]; then
|
||||||
|
. "/home/pavel/Programs/miniconda3/etc/profile.d/conda.sh"
|
||||||
|
else
|
||||||
|
export PATH="/home/pavel/Programs/miniconda3/bin:$PATH"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset __conda_setup
|
||||||
|
# <<< conda initialize <<<
|
||||||
|
|
||||||
|
|
||||||
|
# ==================== BASH_IT ====================
|
||||||
|
|
||||||
|
# History
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
|
||||||
|
shopt -s histappend
|
||||||
|
export HISTCONTROL=ignoredups:erasedups
|
||||||
|
# if [[ (! $PROMPT_COMMAND =~ .*history.*) && -z $TMUX ]]; then
|
||||||
|
# export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
|
||||||
|
# fi
|
||||||
|
HISTSIZE=
|
||||||
|
HISTFILESIZE=
|
||||||
|
|
||||||
|
# ==================== AUTOCOMPLETION ====================
|
||||||
|
|
||||||
|
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
|
||||||
|
source /usr/share/fzf/completion.bash
|
||||||
|
source /usr/share/fzf/key-bindings.bash
|
||||||
|
|
||||||
|
|
||||||
|
# ==================== ALIASES ====================
|
||||||
|
alias v="nvim"
|
||||||
|
alias gg="lazygit"
|
||||||
|
alias ls="exa --icons"
|
||||||
|
alias ll="exa -lah --icons"
|
||||||
|
alias q="exit"
|
||||||
|
alias c="clear"
|
||||||
|
|
||||||
|
|
||||||
400
.config/dunst/dunstrc
Normal file
400
.config/dunst/dunstrc
Normal file
|
|
@ -0,0 +1,400 @@
|
||||||
|
[global]
|
||||||
|
monitor = 0
|
||||||
|
|
||||||
|
follow = mouse
|
||||||
|
|
||||||
|
# The geometry of the window:
|
||||||
|
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||||
|
# The geometry of the message window.
|
||||||
|
# The height is measured in number of notifications everything else
|
||||||
|
# in pixels. If the width is omitted but the height is given
|
||||||
|
# ("-geometry x2"), the message window expands over the whole screen
|
||||||
|
# (dmenu-like). If width is 0, the window expands to the longest
|
||||||
|
# message displayed. A positive x is measured from the left, a
|
||||||
|
# negative from the right side of the screen. Y is measured from
|
||||||
|
# the top and down respectively.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "300x5-30+20"
|
||||||
|
|
||||||
|
# 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 = 15
|
||||||
|
|
||||||
|
# The height of the entire notification. If the height is smaller
|
||||||
|
# than the font height and padding combined, it will be raised
|
||||||
|
# to the font height and padding.
|
||||||
|
notification_height = 0
|
||||||
|
|
||||||
|
# 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 = "#aaaaaa"
|
||||||
|
|
||||||
|
# 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 = frame
|
||||||
|
|
||||||
|
# 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 = DejaVu Sans 9
|
||||||
|
|
||||||
|
# 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:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||||
|
#
|
||||||
|
# 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 = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# 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/Mint-Y/status/32/;/usr/share/icons/Mint-Y/devices/32
|
||||||
|
|
||||||
|
### 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/sensible-browser
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = false
|
||||||
|
|
||||||
|
# Manage dunst's desire for talking
|
||||||
|
# Can be one of the following values:
|
||||||
|
# crit: Critical features. Dunst aborts
|
||||||
|
# warn: Only non-fatal warnings
|
||||||
|
# mesg: Important Messages
|
||||||
|
# info: all unimportant stuff
|
||||||
|
# debug: all less than unimportant stuff
|
||||||
|
verbosity = mesg
|
||||||
|
|
||||||
|
# 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 = 0
|
||||||
|
|
||||||
|
### 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 = close_current
|
||||||
|
mouse_middle_click = do_action
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||||
|
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||||
|
# "mod3" and "mod4" (windows-key).
|
||||||
|
# Xev might be helpful to find names for keys.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
close = ctrl+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||||
|
# e.g. check output of 'xmodmap -pke'
|
||||||
|
history = ctrl+grave
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = ctrl+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#888888"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#285577"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#900000"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
frame_color = "#ff0000"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
# 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
|
||||||
19
.config/fish/config.fish
Normal file
19
.config/fish/config.fish
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
starship init fish | source
|
||||||
|
|
||||||
|
fish_vi_key_bindings
|
||||||
|
|
||||||
|
alias c="clear"
|
||||||
|
alias v="nvim"
|
||||||
|
alias gg="lazygit"
|
||||||
|
alias ls="exa --icons"
|
||||||
|
alias ll="exa -lah --icons"
|
||||||
|
alias q="exit"
|
||||||
|
|
||||||
|
# >>> conda initialize >>>
|
||||||
|
# !! Contents within this block are managed by 'conda init' !!
|
||||||
|
eval /home/pavel/Programs/miniconda3/bin/conda "shell.fish" "hook" $argv | source
|
||||||
|
# <<< conda initialize <<<
|
||||||
|
|
||||||
|
if ! test -n "$TMUX"; and ! test -n "$IS_EMACS";
|
||||||
|
colorscript random
|
||||||
|
end
|
||||||
32
.config/fontconfig/fonts.conf
Normal file
32
.config/fontconfig/fonts.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||||
|
<fontconfig>
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>monospace</string>
|
||||||
|
</test>
|
||||||
|
<edit binding="strong" name="family" mode="assign">
|
||||||
|
<string>DejaVu Sans Mono</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<match target="pattern">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>sans-serif</string>
|
||||||
|
</test>
|
||||||
|
<edit binding="strong" name="family" mode="assign">
|
||||||
|
<string>DejaVu Sans</string>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<!--alias>
|
||||||
|
<family>monospace</family>
|
||||||
|
<prefer>
|
||||||
|
<family>DejaVu Sans Mono Book</family>
|
||||||
|
</prefer>
|
||||||
|
</alias>
|
||||||
|
<alias>
|
||||||
|
<family>sans-serif</family>
|
||||||
|
<prefer>
|
||||||
|
<family>Ubuntu Regular</family>
|
||||||
|
</prefer>
|
||||||
|
</alias-->
|
||||||
|
</fontconfig>
|
||||||
12
.config/fselect/config.toml
Normal file
12
.config/fselect/config.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
no_color = false
|
||||||
|
gitignore = false
|
||||||
|
hgignore = false
|
||||||
|
dockerignore = false
|
||||||
|
is_zip_archive = [".zip", ".jar", ".war", ".ear"]
|
||||||
|
is_archive = [".7z", ".bz2", ".bzip2", ".gz", ".gzip", ".lz", ".rar", ".tar", ".xz", ".zip"]
|
||||||
|
is_audio = [".aac", ".aiff", ".amr", ".flac", ".gsm", ".m4a", ".m4b", ".m4p", ".mp3", ".ogg", ".wav", ".wma"]
|
||||||
|
is_book = [".azw3", ".chm", ".djvu", ".epub", ".fb2", ".mobi", ".pdf"]
|
||||||
|
is_doc = [".accdb", ".doc", ".docm", ".docx", ".dot", ".dotm", ".dotx", ".mdb", ".ods", ".odt", ".pdf", ".potm", ".potx", ".ppt", ".pptm", ".pptx", ".rtf", ".xlm", ".xls", ".xlsm", ".xlsx", ".xlt", ".xltm", ".xltx", ".xps"]
|
||||||
|
is_image = [".bmp", ".gif", ".heic", ".jpeg", ".jpg", ".png", ".psb", ".psd", ".tiff", ".webp"]
|
||||||
|
is_source = [".asm", ".bas", ".c", ".cc", ".ceylon", ".clj", ".coffee", ".cpp", ".cs", ".d", ".dart", ".elm", ".erl", ".go", ".groovy", ".h", ".hh", ".hpp", ".java", ".js", ".jsp", ".kt", ".kts", ".lua", ".nim", ".pas", ".php", ".pl", ".pm", ".py", ".rb", ".rs", ".scala", ".swift", ".tcl", ".vala", ".vb"]
|
||||||
|
is_video = [".3gp", ".avi", ".flv", ".m4p", ".m4v", ".mkv", ".mov", ".mp4", ".mpeg", ".mpg", ".webm", ".wmv"]
|
||||||
397
.config/i3/config
Normal file
397
.config/i3/config
Normal file
|
|
@ -0,0 +1,397 @@
|
||||||
|
set $mod Mod4
|
||||||
|
font pango:monospace 10
|
||||||
|
#
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
mouse_warping output
|
||||||
|
|
||||||
|
# Apply XFCE Settings
|
||||||
|
# exec "bash /home/pavel/.screenlayout/layout.sh"
|
||||||
|
exec xfsettingsd
|
||||||
|
exec xiccd
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec "i3-msg 'workspace 1 🚀; exec st'"
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+s split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+w layout stacking
|
||||||
|
bindsym $mod+t layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+f floating toggle
|
||||||
|
|
||||||
|
bindsym $mod+Tab move workspace to output right
|
||||||
|
bindsym $mod+q focus output right
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
# bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+Shift+A focus child
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
|
||||||
|
set $w1 "1 🚀"
|
||||||
|
set $w2 "2 🌍"
|
||||||
|
set $w3 "3 💬"
|
||||||
|
set $w4 "4 🛠️️"
|
||||||
|
set $w7 "7 🛰️"
|
||||||
|
set $w8 "8 📝"
|
||||||
|
set $w9 "9 🎵"
|
||||||
|
set $w10 "10 📦"
|
||||||
|
|
||||||
|
bindsym $mod+1 workspace $w1
|
||||||
|
bindsym $mod+2 workspace $w2
|
||||||
|
bindsym $mod+3 workspace $w3
|
||||||
|
bindsym $mod+4 workspace $w4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace $w7
|
||||||
|
bindsym $mod+8 workspace $w8
|
||||||
|
bindsym $mod+9 workspace $w9
|
||||||
|
bindsym $mod+0 workspace $w10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $w1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $w2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $w3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $w4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $w7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $w8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $w9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $w10
|
||||||
|
|
||||||
|
# Cycle workspaces
|
||||||
|
bindsym $mod+comma workspace prev
|
||||||
|
bindsym $mod+period workspace next
|
||||||
|
|
||||||
|
assign [class="qutebrowser"] $w2
|
||||||
|
assign [class="firefox"] $w2
|
||||||
|
assign [class="VK"] $w3
|
||||||
|
assign [class="Slack"] $w3
|
||||||
|
assign [class="discord"] $w3
|
||||||
|
assign [class="TelegramDesktop"] $w3
|
||||||
|
assign [class="Postman"] $w4
|
||||||
|
assign [class="Chromium-browse"] $w4
|
||||||
|
assign [class="chromium"] $w4
|
||||||
|
assign [class="google-chrome"] $w4
|
||||||
|
assign [title="Vue Developer Tools"] $w4
|
||||||
|
assign [class="Google Play Music Desktop Player"] $w9
|
||||||
|
assign [class="jetbrains-datagrip"] $w4
|
||||||
|
assign [class="zoom"] $w7
|
||||||
|
assign [class="skype"] $w7
|
||||||
|
assign [class="Mailspring"] $w8
|
||||||
|
assign [class="Thunderbird"] $w8
|
||||||
|
assign [class="Joplin"] $w8
|
||||||
|
|
||||||
|
for_window [title="ncmpcpp.*"] move to workspace $w9
|
||||||
|
for_window [class="cinnamon-settings*"] floating enable
|
||||||
|
for_window [title="Picture-in-Picture"] sticky enable
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# Scratchpad
|
||||||
|
for_window [instance="dropdown_*"] floating enable
|
||||||
|
for_window [instance="dropdown_*"] move scratchpad
|
||||||
|
for_window [instance="dropdown_*"] sticky enable
|
||||||
|
for_window [instance="dropdown_*"] scratchpad show
|
||||||
|
for_window [instance="dropdown_*"] move position center
|
||||||
|
|
||||||
|
bindsym $mod+u exec ~/bin/scripts/dropdown
|
||||||
|
|
||||||
|
# Borders
|
||||||
|
# for_window [class=".*"] border pixel 0
|
||||||
|
default_border pixel 3
|
||||||
|
hide_edge_borders both
|
||||||
|
|
||||||
|
# Gaps
|
||||||
|
set $default_inner 10
|
||||||
|
set $default_outer 0
|
||||||
|
|
||||||
|
gaps inner $default_inner
|
||||||
|
gaps outer $default_outer
|
||||||
|
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
mode "inner gaps" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym r gaps inner current set $default_inner
|
||||||
|
bindsym Shift+r gaps inner all set $default_inner
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "outer gaps" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym r gaps outer current set $default_outer
|
||||||
|
bindsym Shift+r gaps outer all set $default_outer
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+g mode "inner gaps"
|
||||||
|
bindsym $mod+Shift+g mode "outer gaps"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
bindsym h resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym j resize grow height 10 px or 10 ppt
|
||||||
|
bindsym k resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym l resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Shift+h resize shrink width 100 px or 100 ppt
|
||||||
|
bindsym Shift+j resize grow height 100 px or 100 ppt
|
||||||
|
bindsym Shift+k resize shrink height 100 px or 100 ppt
|
||||||
|
bindsym Shift+l resize grow width 100 px or 100 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Shift+Left resize shrink width 100 px or 100 ppt
|
||||||
|
bindsym Shift+Down resize grow height 100 px or 100 ppt
|
||||||
|
bindsym Shift+Up resize shrink height 100 px or 100 ppt
|
||||||
|
bindsym Shift+Right resize grow width 100 px or 100 ppt
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
bindsym $mod+m mode "move" focus floating
|
||||||
|
|
||||||
|
mode "move" {
|
||||||
|
bindsym $mod+Tab focus right
|
||||||
|
|
||||||
|
bindsym Left move left
|
||||||
|
bindsym Down move down
|
||||||
|
bindsym Up move up
|
||||||
|
bindsym Right move right
|
||||||
|
|
||||||
|
bindsym h move left
|
||||||
|
bindsym j move down
|
||||||
|
bindsym k move up
|
||||||
|
bindsym l move right
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
# # dmenu
|
||||||
|
# bindsym $mod+d exec i3-dmenu-desktop --dmenu="dmenu -l 10"
|
||||||
|
# bindsym $mod+apostrophe mode "dmenu"
|
||||||
|
|
||||||
|
# mode "dmenu" {
|
||||||
|
# bindsym d exec i3-dmenu-desktop --dmenu="dmenu -l 10"; mode default
|
||||||
|
# bindsym p exec dmenu_run -l 10; mode default
|
||||||
|
# bindsym m exec dmenu-man; mode default
|
||||||
|
# bindsym b exec dmenu-buku; mode default
|
||||||
|
# bindsym f exec dmenu-explore; mode default
|
||||||
|
# bindsym t exec dmenu-tmuxp; mode default
|
||||||
|
# bindsym Escape mode "default"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# bindsym $mod+b exec --no-startup-id dmenu-buku
|
||||||
|
|
||||||
|
# rofi
|
||||||
|
bindsym $mod+d exec "rofi -modi 'drun,run' -show drun"
|
||||||
|
bindsym $mod+apostrophe mode "rofi"
|
||||||
|
|
||||||
|
mode "rofi" {
|
||||||
|
bindsym d exec "rofi -modi 'drun,run' -show drun"
|
||||||
|
bindsym m exec rofi-man; mode default
|
||||||
|
bindsym b exec rofi-buku-mine; mode default
|
||||||
|
# bindsym f exec dmenu-explore; mode default
|
||||||
|
bindsym k exec rofi-keepassxc -d ~/MEGAsync/Passwords.kdbx; mode default
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+b exec --no-startup-id rofi-buku-mine
|
||||||
|
|
||||||
|
|
||||||
|
# Launch apps
|
||||||
|
bindsym $mod+semicolon mode "apps"
|
||||||
|
|
||||||
|
mode "apps" {
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym b exec firefox; mode default
|
||||||
|
bindsym v exec vk-messenger; mode default
|
||||||
|
bindsym s exec slack; mode default;
|
||||||
|
bindsym m exec "st -e ncmpcpp"; mode default
|
||||||
|
bindsym c exec "copyq toggle"; mode default
|
||||||
|
bindsym k exec "keepassxc"; mode default
|
||||||
|
bindsym e exec mailspring; mode default
|
||||||
|
bindsym a exec emacs; mode default
|
||||||
|
# bindsym a exec emacsclient -c; mode default
|
||||||
|
# bindsym Shift+a exec emacs; mode default
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+p exec "copyq menu"
|
||||||
|
bindsym $mod+Shift+x exec "i3lock -f -i /home/pavel/Pictures/lock-wallpaper-2-1.png"
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
set $bg-color #292d3e
|
||||||
|
set $active-color #82aaff
|
||||||
|
set $inactive-bg-color #434758
|
||||||
|
set $text-color #f3f4f5
|
||||||
|
set $inactive-text-color #aaaaaa
|
||||||
|
set $urgent-bg-color #f07178
|
||||||
|
set $urgent-text-color #000000
|
||||||
|
|
||||||
|
# window colors
|
||||||
|
# border background text indicator child border
|
||||||
|
client.focused $active-color $bg-color $text-color $bg-color $active-color
|
||||||
|
client.unfocused $bg-color $inactive-bg-color $inactive-text-color $bg-color $bg-color
|
||||||
|
client.focused_inactive $active-color $inactive-bg-color $inactive-text-color $bg-color $bg-color
|
||||||
|
client.urgent $urgent-bg-color $urgent-bg-color $urgent-text-color $bg-color $urgent-bg-color
|
||||||
|
|
||||||
|
# bar
|
||||||
|
exec_always --no-startup-id "bash /home/pavel/bin/polybar.sh"
|
||||||
|
# bar {
|
||||||
|
# status_command i3blocks -c ~/.config/i3/i3blocks.conf
|
||||||
|
# i3bar_command i3bar
|
||||||
|
# font pango:monospace 12
|
||||||
|
# output HDMI-A-0
|
||||||
|
# tray_output none
|
||||||
|
# colors {
|
||||||
|
# background $bg-color
|
||||||
|
# separator #757575
|
||||||
|
# # border background text
|
||||||
|
# focused_workspace $bg-color $bg-color $text-color
|
||||||
|
# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
|
||||||
|
# urgent_workspace $urgent-bg-color $urgent-bg-color $urgent-text-color
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# bar {
|
||||||
|
# status_command i3blocks -c ~/.config/i3/i3blocks.conf
|
||||||
|
# i3bar_command i3bar
|
||||||
|
# font pango:monospace 10
|
||||||
|
# output DVI-D-0
|
||||||
|
# colors {
|
||||||
|
# background $bg-color
|
||||||
|
# separator #757575
|
||||||
|
# # border background text
|
||||||
|
# focused_workspace $bg-color $bg-color $text-color
|
||||||
|
# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
|
||||||
|
# urgent_workspace $urgent-bg-color $urgent-bg-color $urgent-text-color
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Pulse Audio controls
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id "pulseaudio-ctl up && pkill -RTMIN+2 i3blocks"
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id "pulseaudio-ctl down && pkill -RTMIN+2 i3blocks"
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id "pulseaudio-ctl mute && pkill -RTMIN+2 i3blocks"
|
||||||
|
|
||||||
|
# Media player controls
|
||||||
|
bindsym XF86AudioPlay exec mpc toggle
|
||||||
|
bindsym XF86AudioPause exec mpc pause
|
||||||
|
bindsym XF86AudioNext exec mpc next
|
||||||
|
bindsym XF86AudioPrev exec mpc prev
|
||||||
|
|
||||||
|
# Screen brightness
|
||||||
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 5
|
||||||
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 5
|
||||||
|
|
||||||
|
exec --no-startup-id pulseeffects --gapplication-service
|
||||||
|
|
||||||
|
# Screenshots
|
||||||
|
bindsym --release Print exec "flameshot gui"
|
||||||
|
bindsym --release Shift+Print exec "xfce4-screenshooter"
|
||||||
|
|
||||||
|
# Sudo
|
||||||
|
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
|
# Wallpaper
|
||||||
|
# fallback
|
||||||
|
exec_always "feh --bg-fill ~/Pictures/wallpaper-2.jpg"
|
||||||
|
# exec_always "/home/pavel/bin/scripts/wallgif /home/pavel/Videos/OMSBG7.mov"
|
||||||
|
|
||||||
|
# Compton
|
||||||
|
exec compton
|
||||||
|
|
||||||
|
# Some scripts
|
||||||
|
exec_always --no-startup-id set_layout
|
||||||
|
|
||||||
|
# Applets
|
||||||
|
exec --no-startup-id /usr/bin/nm-applet
|
||||||
|
exec --no-startup-id /usr/bin/blueman-applet
|
||||||
|
|
||||||
|
# MPD
|
||||||
|
exec --no-startup-id mpd
|
||||||
|
|
||||||
|
# Stuff
|
||||||
|
exec aw-qt
|
||||||
|
exec "bash /home/pavel/bin/bukuserver.sh"
|
||||||
|
exec dunst
|
||||||
|
exec kde-connect-indicator
|
||||||
|
exec copyq
|
||||||
|
exec "bash /home/pavel/bin/tabliss.sh"
|
||||||
|
# exec emacs --daemon
|
||||||
94
.config/i3/i3blocks.conf
Normal file
94
.config/i3/i3blocks.conf
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
# List of valid properties:
|
||||||
|
#
|
||||||
|
# align
|
||||||
|
# color
|
||||||
|
# command
|
||||||
|
# full_text
|
||||||
|
# instance
|
||||||
|
# interval
|
||||||
|
# label
|
||||||
|
# min_width
|
||||||
|
# name
|
||||||
|
# separator
|
||||||
|
# separator_block_width
|
||||||
|
# short_text
|
||||||
|
# signal
|
||||||
|
# urgent
|
||||||
|
|
||||||
|
command=~/bin/i3blocks/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=none
|
||||||
|
|
||||||
|
[volume]
|
||||||
|
label=♪
|
||||||
|
instance=Master
|
||||||
|
interval=once
|
||||||
|
signal=2
|
||||||
|
command=~/bin/i3blocks/volume 5 pulse
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[mpd]
|
||||||
|
label=
|
||||||
|
interval=1
|
||||||
|
color=#FFA000
|
||||||
|
command=~/bin/i3blocks/mpd
|
||||||
|
|
||||||
|
[cpu_usage]
|
||||||
|
label=
|
||||||
|
color=#89ddf
|
||||||
|
interval=2
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=
|
||||||
|
separator=false
|
||||||
|
color=#82aaff
|
||||||
|
interval=10
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=
|
||||||
|
color=#ffcb6b
|
||||||
|
instance=swap
|
||||||
|
# separator=false
|
||||||
|
interval=10
|
||||||
|
|
||||||
|
[wifi]
|
||||||
|
# instance=wlp3s0
|
||||||
|
instance=wlx58d56e980477
|
||||||
|
label=
|
||||||
|
color=#c3e88d
|
||||||
|
interval=10
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[bandwidth3]
|
||||||
|
interval=persist
|
||||||
|
color=#c3e88d
|
||||||
|
label=
|
||||||
|
UNIT=KB
|
||||||
|
PRINTF_COMMAND=printf "%.0f/%.0f\n", rx, wx;
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[ipstack]
|
||||||
|
API_KEY=8948d12cd68a3b7ac60d405ed4118b43
|
||||||
|
interval=1200
|
||||||
|
|
||||||
|
[weather]
|
||||||
|
LOCATION="Saint-Petersburg"
|
||||||
|
color=#FF9600
|
||||||
|
interval=3600
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[sun]
|
||||||
|
LAT=59.9375N
|
||||||
|
LON=30.308611E
|
||||||
|
interval=600
|
||||||
|
|
||||||
|
# [battery]
|
||||||
|
# interval=60
|
||||||
|
|
||||||
|
[aw_afk]
|
||||||
|
interval=60
|
||||||
|
|
||||||
|
[time]
|
||||||
|
command=date '+%H:%M'
|
||||||
|
interval=10
|
||||||
398
.config/mpd/mpd.conf
Normal file
398
.config/mpd/mpd.conf
Normal file
|
|
@ -0,0 +1,398 @@
|
||||||
|
# An example configuration file for MPD.
|
||||||
|
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
||||||
|
|
||||||
|
|
||||||
|
# Files and directories #######################################################
|
||||||
|
#
|
||||||
|
# This setting controls the top directory which MPD will search to discover the
|
||||||
|
# available audio files and add them to the daemon's online database. This
|
||||||
|
# setting defaults to the XDG directory, otherwise the music directory will be
|
||||||
|
# be disabled and audio files will only be accepted over ipc socket (using
|
||||||
|
# file:// protocol) or streaming files over an accepted protocol.
|
||||||
|
#
|
||||||
|
music_directory "~/Music"
|
||||||
|
#
|
||||||
|
# This setting sets the MPD internal playlist directory. The purpose of this
|
||||||
|
# directory is storage for playlists created by MPD. The server will use
|
||||||
|
# playlist files not created by the server but only if they are in the MPD
|
||||||
|
# format. This setting defaults to playlist saving being disabled.
|
||||||
|
#
|
||||||
|
playlist_directory "~/.mpd/playlists"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the MPD database. This file is used to
|
||||||
|
# load the database at server start up and store the database while the
|
||||||
|
# server is not up. This setting defaults to disabled which will allow
|
||||||
|
# MPD to accept files over ipc socket (using file:// protocol) or streaming
|
||||||
|
# files over an accepted protocol.
|
||||||
|
#
|
||||||
|
db_file "~/.mpd/database"
|
||||||
|
#
|
||||||
|
# These settings are the locations for the daemon log files for the daemon.
|
||||||
|
# These logs are great for troubleshooting, depending on your log_level
|
||||||
|
# settings.
|
||||||
|
#
|
||||||
|
# The special value "syslog" makes MPD use the local syslog daemon. This
|
||||||
|
# setting defaults to logging to syslog.
|
||||||
|
#
|
||||||
|
log_file "~/.mpd/log"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the file which stores the process ID
|
||||||
|
# for use of mpd --kill and some init scripts. This setting is disabled by
|
||||||
|
# default and the pid file will not be stored.
|
||||||
|
#
|
||||||
|
pid_file "~/.mpd/pid"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the file which contains information about
|
||||||
|
# most variables to get MPD back into the same general shape it was in before
|
||||||
|
# it was brought down. This setting is disabled by default and the server
|
||||||
|
# state will be reset on server start up.
|
||||||
|
#
|
||||||
|
state_file "~/.mpd/state"
|
||||||
|
#
|
||||||
|
# The location of the sticker database. This is a database which
|
||||||
|
# manages dynamic information attached to songs.
|
||||||
|
#
|
||||||
|
sticker_file "~/.mpd/sticker.sql"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# General music daemon options ################################################
|
||||||
|
#
|
||||||
|
# This setting specifies the user that MPD will run as. MPD should never run as
|
||||||
|
# root and you may use this setting to make MPD change its user ID after
|
||||||
|
# initialization. This setting is disabled by default and MPD is run as the
|
||||||
|
# current user.
|
||||||
|
#
|
||||||
|
#user "nobody"
|
||||||
|
#
|
||||||
|
# This setting specifies the group that MPD will run as. If not specified
|
||||||
|
# primary group of user specified with "user" setting will be used (if set).
|
||||||
|
# This is useful if MPD needs to be a member of group such as "audio" to
|
||||||
|
# have permission to use sound card.
|
||||||
|
#
|
||||||
|
#group "nogroup"
|
||||||
|
#
|
||||||
|
# This setting sets the address for the daemon to listen on. Careful attention
|
||||||
|
# should be paid if this is assigned to anything other then the default, any.
|
||||||
|
# This setting can deny access to control of the daemon. Not effective if
|
||||||
|
# systemd socket activiation is in use.
|
||||||
|
#
|
||||||
|
# For network
|
||||||
|
#bind_to_address "any"
|
||||||
|
#
|
||||||
|
# And for Unix Socket
|
||||||
|
#bind_to_address "~/.mpd/socket"
|
||||||
|
#
|
||||||
|
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||||
|
# to.
|
||||||
|
#
|
||||||
|
#port "6600"
|
||||||
|
#
|
||||||
|
# This setting controls the type of information which is logged. Available
|
||||||
|
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
|
||||||
|
# argument is recommended for troubleshooting, though can quickly stretch
|
||||||
|
# available resources on limited hardware storage.
|
||||||
|
#
|
||||||
|
#log_level "default"
|
||||||
|
#
|
||||||
|
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
||||||
|
# of starting playback after startup.
|
||||||
|
#
|
||||||
|
#restore_paused "no"
|
||||||
|
#
|
||||||
|
# This setting enables MPD to create playlists in a format usable by other
|
||||||
|
# music players.
|
||||||
|
#
|
||||||
|
#save_absolute_paths_in_playlists "no"
|
||||||
|
#
|
||||||
|
# This setting defines a list of tag types that will be extracted during the
|
||||||
|
# audio file discovery process. The complete list of possible values can be
|
||||||
|
# found in the user manual.
|
||||||
|
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
|
||||||
|
#
|
||||||
|
# This example just enables the "comment" tag without disabling all
|
||||||
|
# the other supported tags:
|
||||||
|
#metadata_to_use "+comment"
|
||||||
|
#
|
||||||
|
# This setting enables automatic update of MPD's database when files in
|
||||||
|
# music_directory are changed.
|
||||||
|
#
|
||||||
|
#auto_update "yes"
|
||||||
|
#
|
||||||
|
# Limit the depth of the directories being watched, 0 means only watch
|
||||||
|
# the music directory itself. There is no limit by default.
|
||||||
|
#
|
||||||
|
#auto_update_depth "3"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Symbolic link behavior ######################################################
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", MPD will discover audio files by following
|
||||||
|
# symbolic links outside of the configured music_directory.
|
||||||
|
#
|
||||||
|
#follow_outside_symlinks "yes"
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", MPD will discover audio files by following
|
||||||
|
# symbolic links inside of the configured music_directory.
|
||||||
|
#
|
||||||
|
#follow_inside_symlinks "yes"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Zeroconf / Avahi Service Discovery ##########################################
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", service information will be published with
|
||||||
|
# Zeroconf / Avahi.
|
||||||
|
#
|
||||||
|
#zeroconf_enabled "yes"
|
||||||
|
#
|
||||||
|
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
||||||
|
# this MPD server on the network. %h will be replaced with the hostname.
|
||||||
|
#
|
||||||
|
#zeroconf_name "Music Player @ %h"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Permissions #################################################################
|
||||||
|
#
|
||||||
|
# If this setting is set, MPD will require password authorization. The password
|
||||||
|
# setting can be specified multiple times for different password profiles.
|
||||||
|
#
|
||||||
|
#password "password@read,add,control,admin"
|
||||||
|
#
|
||||||
|
# This setting specifies the permissions a user has who has not yet logged in.
|
||||||
|
#
|
||||||
|
#default_permissions "read,add,control,admin"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Database #######################################################################
|
||||||
|
#
|
||||||
|
|
||||||
|
#database {
|
||||||
|
# plugin "proxy"
|
||||||
|
# host "other.mpd.host"
|
||||||
|
# port "6600"
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Input #######################################################################
|
||||||
|
#
|
||||||
|
|
||||||
|
input {
|
||||||
|
plugin "curl"
|
||||||
|
# proxy "proxy.isp.com:8080"
|
||||||
|
# proxy_user "user"
|
||||||
|
# proxy_password "password"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Audio Output ################################################################
|
||||||
|
#
|
||||||
|
# MPD supports various audio output types, as well as playing through multiple
|
||||||
|
# audio outputs at the same time, through multiple audio_output settings
|
||||||
|
# blocks. Setting this block is optional, though the server will only attempt
|
||||||
|
# autodetection for one sound card.
|
||||||
|
#
|
||||||
|
# An example of an ALSA output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "alsa"
|
||||||
|
# name "My ALSA Device"
|
||||||
|
## device "hw:0,0" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
## mixer_device "default" # optional
|
||||||
|
## mixer_control "PCM" # optional
|
||||||
|
## mixer_index "0" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an OSS output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "oss"
|
||||||
|
# name "My OSS Device"
|
||||||
|
## device "/dev/dsp" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
## mixer_device "/dev/mixer" # optional
|
||||||
|
## mixer_control "PCM" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a shout output (for streaming to Icecast):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "shout"
|
||||||
|
# encoder "vorbis" # optional
|
||||||
|
# name "My Shout Stream"
|
||||||
|
# host "localhost"
|
||||||
|
# port "8000"
|
||||||
|
# mount "/mpd.ogg"
|
||||||
|
# password "hackme"
|
||||||
|
# quality "5.0"
|
||||||
|
# bitrate "128"
|
||||||
|
# format "44100:16:1"
|
||||||
|
## protocol "icecast2" # optional
|
||||||
|
## user "source" # optional
|
||||||
|
## description "My Stream Description" # optional
|
||||||
|
## url "http://example.com" # optional
|
||||||
|
## genre "jazz" # optional
|
||||||
|
## public "no" # optional
|
||||||
|
## timeout "2" # optional
|
||||||
|
## mixer_type "software" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a recorder output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "recorder"
|
||||||
|
# name "My recorder"
|
||||||
|
# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# path "/var/lib/mpd/recorder/mpd.ogg"
|
||||||
|
## quality "5.0" # do not define if bitrate is defined
|
||||||
|
# bitrate "128" # do not define if quality is defined
|
||||||
|
# format "44100:16:1"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a httpd output (built-in HTTP streaming server):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "httpd"
|
||||||
|
# name "My HTTP Stream"
|
||||||
|
# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# port "8000"
|
||||||
|
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
||||||
|
## quality "5.0" # do not define if bitrate is defined
|
||||||
|
# bitrate "128" # do not define if quality is defined
|
||||||
|
# format "44100:16:1"
|
||||||
|
# max_clients "0" # optional 0=no limit
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
||||||
|
#
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "My Pulse Output"
|
||||||
|
# server "remote_server" # optional
|
||||||
|
# sink "remote_server_sink" # optional
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "fifo"
|
||||||
|
name "my_fifo"
|
||||||
|
path "/tmp/mpd.fifo"
|
||||||
|
format "44100:16:2"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# An example of a winmm output (Windows multimedia API).
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "winmm"
|
||||||
|
# name "My WinMM output"
|
||||||
|
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||||
|
# or
|
||||||
|
## device "0" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an openal output.
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "openal"
|
||||||
|
# name "My OpenAL output"
|
||||||
|
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an sndio output.
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "sndio"
|
||||||
|
# name "sndio output"
|
||||||
|
# mixer_type "hardware"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an OS X output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "osx"
|
||||||
|
# name "My OS X Device"
|
||||||
|
## device "Built-in Output" # optional
|
||||||
|
## channel_map "-1,-1,0,1" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## Example "pipe" output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "pipe"
|
||||||
|
# name "my pipe"
|
||||||
|
# command "aplay -f cd 2>/dev/null"
|
||||||
|
## Or if you're want to use AudioCompress
|
||||||
|
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
||||||
|
## Or to send raw PCM stream through PCM:
|
||||||
|
# command "nc example.org 8765"
|
||||||
|
# format "44100:16:2"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## An example of a null output (for no audio output):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "null"
|
||||||
|
# name "My Null Output"
|
||||||
|
# mixer_type "none" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Normalization automatic volume adjustments ##################################
|
||||||
|
#
|
||||||
|
# This setting specifies the type of ReplayGain to use. This setting can have
|
||||||
|
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
|
||||||
|
# chooses between "track" and "album" depending on the current state of
|
||||||
|
# random playback. If random playback is enabled then "track" mode is used.
|
||||||
|
# See <http://www.replaygain.org> for more details about ReplayGain.
|
||||||
|
# This setting is off by default.
|
||||||
|
#
|
||||||
|
#replaygain "album"
|
||||||
|
#
|
||||||
|
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
||||||
|
# default this setting is disabled.
|
||||||
|
#
|
||||||
|
#replaygain_preamp "0"
|
||||||
|
#
|
||||||
|
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
|
||||||
|
# By default this setting is disabled.
|
||||||
|
#
|
||||||
|
#replaygain_missing_preamp "0"
|
||||||
|
#
|
||||||
|
# This setting enables or disables ReplayGain limiting.
|
||||||
|
# MPD calculates actual amplification based on the ReplayGain tags
|
||||||
|
# and replaygain_preamp / replaygain_missing_preamp setting.
|
||||||
|
# If replaygain_limit is enabled MPD will never amplify audio signal
|
||||||
|
# above its original level. If replaygain_limit is disabled such amplification
|
||||||
|
# might occur. By default this setting is enabled.
|
||||||
|
#
|
||||||
|
#replaygain_limit "yes"
|
||||||
|
#
|
||||||
|
# This setting enables on-the-fly normalization volume adjustment. This will
|
||||||
|
# result in the volume of all playing audio to be adjusted so the output has
|
||||||
|
# equal "loudness". This setting is disabled by default.
|
||||||
|
#
|
||||||
|
#volume_normalization "no"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Character Encoding ##########################################################
|
||||||
|
#
|
||||||
|
# If file or directory names do not display correctly for your locale then you
|
||||||
|
# may need to modify this setting.
|
||||||
|
#
|
||||||
|
#filesystem_charset "UTF-8"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
543
.config/ncmpcpp/bindings
Normal file
543
.config/ncmpcpp/bindings
Normal file
|
|
@ -0,0 +1,543 @@
|
||||||
|
##############################################################
|
||||||
|
## This is the example bindings file. Copy it to ##
|
||||||
|
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
|
||||||
|
## and set up your preferences ##
|
||||||
|
##############################################################
|
||||||
|
##
|
||||||
|
##### General rules #####
|
||||||
|
##
|
||||||
|
## 1) Because each action has runtime checks whether it's
|
||||||
|
## ok to run it, a few actions can be bound to one key.
|
||||||
|
## Actions will be bound in order given in configuration
|
||||||
|
## file. When a key is pressed, first action in order
|
||||||
|
## will test itself whether it's possible to run it. If
|
||||||
|
## test succeeds, action is executed and other actions
|
||||||
|
## bound to this key are ignored. If it doesn't, next
|
||||||
|
## action in order tests itself etc.
|
||||||
|
##
|
||||||
|
## 2) It's possible to bind more that one action at once
|
||||||
|
## to a key. It can be done using the following syntax:
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## action1
|
||||||
|
## action2
|
||||||
|
## ...
|
||||||
|
##
|
||||||
|
## This creates a chain of actions. When such chain is
|
||||||
|
## executed, each action in chain is run until the end of
|
||||||
|
## chain is reached or one of its actions fails to execute
|
||||||
|
## due to its requirements not being met. If multiple actions
|
||||||
|
## and/or chains are bound to the same key, they will be
|
||||||
|
## consecutively run until one of them gets fully executed.
|
||||||
|
##
|
||||||
|
## 3) When ncmpcpp starts, bindings configuration file is
|
||||||
|
## parsed and then ncmpcpp provides "missing pieces"
|
||||||
|
## of default keybindings. If you want to disable some
|
||||||
|
## bindings, there is a special action called 'dummy'
|
||||||
|
## for that purpose. Eg. if you want to disable ability
|
||||||
|
## to crop playlists, you need to put the following
|
||||||
|
## into configuration file:
|
||||||
|
##
|
||||||
|
## def_key "C"
|
||||||
|
## dummy
|
||||||
|
##
|
||||||
|
## After that ncmpcpp will not bind any default action
|
||||||
|
## to this key.
|
||||||
|
##
|
||||||
|
## 4) To let you write simple macros, the following special
|
||||||
|
## actions are provided:
|
||||||
|
##
|
||||||
|
## - push_character "character" - pushes given special
|
||||||
|
## character into input queue, so it will be immediately
|
||||||
|
## picked by ncmpcpp upon next call to readKey function.
|
||||||
|
## Accepted values: mouse, up, down, page_up, page_down,
|
||||||
|
## home, end, space, enter, insert, delete, left, right,
|
||||||
|
## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
|
||||||
|
## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
|
||||||
|
## In addition, most of these names can be prefixed with
|
||||||
|
## alt-/ctrl-/shift- to be recognized with the appropriate
|
||||||
|
## modifier key(s).
|
||||||
|
##
|
||||||
|
## - push_characters "string" - pushes given string into
|
||||||
|
## input queue.
|
||||||
|
##
|
||||||
|
## - require_runnable "action" - checks whether given action
|
||||||
|
## is runnable and fails if it isn't. This is especially
|
||||||
|
## useful when mixed with previous two functions. Consider
|
||||||
|
## the following macro definition:
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## push_characters "custom_filter"
|
||||||
|
## apply_filter
|
||||||
|
##
|
||||||
|
## If apply_filter can't be currently run, we end up with
|
||||||
|
## sequence of characters in input queue which will be
|
||||||
|
## treated just as we typed them. This may lead to unexpected
|
||||||
|
## results (in this case 'c' will most likely clear current
|
||||||
|
## playlist, 'u' will trigger database update, 's' will stop
|
||||||
|
## playback etc.). To prevent such thing from happening, we
|
||||||
|
## need to change above definition to this one:
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## require_runnable "apply_filter"
|
||||||
|
## push_characters "custom_filter"
|
||||||
|
## apply_filter
|
||||||
|
##
|
||||||
|
## Here, first we test whether apply_filter can be actually run
|
||||||
|
## before we stuff characters into input queue, so if condition
|
||||||
|
## is not met, whole chain is aborted and we're fine.
|
||||||
|
##
|
||||||
|
## - require_screen "screen" - checks whether given screen is
|
||||||
|
## currently active. accepted values: browser, clock, help,
|
||||||
|
## media_library, outputs, playlist, playlist_editor,
|
||||||
|
## search_engine, tag_editor, visualizer, last_fm, lyrics,
|
||||||
|
## selected_items_adder, server_info, song_info,
|
||||||
|
## sort_playlist_dialog, tiny_tag_editor.
|
||||||
|
##
|
||||||
|
## - run_external_command "command" - runs given command using
|
||||||
|
## system() function.
|
||||||
|
##
|
||||||
|
## 5) In addition to binding to a key, you can also bind actions
|
||||||
|
## or chains of actions to a command. If it comes to commands,
|
||||||
|
## syntax is very similar to defining keys. Here goes example
|
||||||
|
## definition of a command:
|
||||||
|
##
|
||||||
|
## def_command "quit" [deferred]
|
||||||
|
## stop
|
||||||
|
## quit
|
||||||
|
##
|
||||||
|
## If you execute the above command (which can be done by
|
||||||
|
## invoking action execute_command, typing 'quit' and pressing
|
||||||
|
## enter), ncmpcpp will stop the player and then quit. Note the
|
||||||
|
## presence of word 'deferred' enclosed in square brackets. It
|
||||||
|
## tells ncmpcpp to wait for confirmation (ie. pressing enter)
|
||||||
|
## after you typed quit. Instead of 'deferred', 'immediate'
|
||||||
|
## could be used. Then ncmpcpp will not wait for confirmation
|
||||||
|
## (enter) and will execute the command the moment it sees it.
|
||||||
|
##
|
||||||
|
## Note: while command chains are executed, internal environment
|
||||||
|
## update (which includes current window refresh and mpd status
|
||||||
|
## update) is not performed for performance reasons. However, it
|
||||||
|
## may be desirable to do so in some situration. Therefore it's
|
||||||
|
## possible to invoke by hand by performing 'update enviroment'
|
||||||
|
## action.
|
||||||
|
##
|
||||||
|
## Note: There is a difference between:
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## action1
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## action2
|
||||||
|
##
|
||||||
|
## and
|
||||||
|
##
|
||||||
|
## def_key "key"
|
||||||
|
## action1
|
||||||
|
## action2
|
||||||
|
##
|
||||||
|
## First one binds two single actions to the same key whilst
|
||||||
|
## second one defines a chain of actions. The behavior of
|
||||||
|
## these two is different and is described in (1) and (2).
|
||||||
|
##
|
||||||
|
## Note: Function def_key accepts non-ascii characters.
|
||||||
|
##
|
||||||
|
##### List of unbound actions #####
|
||||||
|
##
|
||||||
|
## The following actions are not bound to any key/command:
|
||||||
|
##
|
||||||
|
## - set_volume
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#def_key "mouse"
|
||||||
|
# mouse_event
|
||||||
|
#
|
||||||
|
#def_key "up"
|
||||||
|
# scroll_up
|
||||||
|
#
|
||||||
|
#def_key "shift-up"
|
||||||
|
# select_item
|
||||||
|
# scroll_up
|
||||||
|
#
|
||||||
|
#def_key "down"
|
||||||
|
# scroll_down
|
||||||
|
#
|
||||||
|
#def_key "shift-down"
|
||||||
|
# select_item
|
||||||
|
# scroll_down
|
||||||
|
#
|
||||||
|
#def_key "["
|
||||||
|
# scroll_up_album
|
||||||
|
#
|
||||||
|
#def_key "]"
|
||||||
|
# scroll_down_album
|
||||||
|
#
|
||||||
|
#def_key "{"
|
||||||
|
# scroll_up_artist
|
||||||
|
#
|
||||||
|
#def_key "}"
|
||||||
|
# scroll_down_artist
|
||||||
|
#
|
||||||
|
#def_key "page_up"
|
||||||
|
# page_up
|
||||||
|
#
|
||||||
|
#def_key "page_down"
|
||||||
|
# page_down
|
||||||
|
#
|
||||||
|
#def_key "home"
|
||||||
|
# move_home
|
||||||
|
#
|
||||||
|
#def_key "end"
|
||||||
|
# move_end
|
||||||
|
#
|
||||||
|
#def_key "insert"
|
||||||
|
# select_item
|
||||||
|
#
|
||||||
|
#def_key "enter"
|
||||||
|
# enter_directory
|
||||||
|
#
|
||||||
|
#def_key "enter"
|
||||||
|
# toggle_output
|
||||||
|
#
|
||||||
|
#def_key "enter"
|
||||||
|
# run_action
|
||||||
|
#
|
||||||
|
#def_key "enter"
|
||||||
|
# play_item
|
||||||
|
#
|
||||||
|
#def_key "space"
|
||||||
|
# add_item_to_playlist
|
||||||
|
#
|
||||||
|
#def_key "space"
|
||||||
|
# toggle_lyrics_update_on_song_change
|
||||||
|
#
|
||||||
|
#def_key "space"
|
||||||
|
# toggle_visualization_type
|
||||||
|
#
|
||||||
|
#def_key "delete"
|
||||||
|
# delete_playlist_items
|
||||||
|
#
|
||||||
|
#def_key "delete"
|
||||||
|
# delete_browser_items
|
||||||
|
#
|
||||||
|
#def_key "delete"
|
||||||
|
# delete_stored_playlist
|
||||||
|
#
|
||||||
|
#def_key "right"
|
||||||
|
# next_column
|
||||||
|
#
|
||||||
|
#def_key "right"
|
||||||
|
# slave_screen
|
||||||
|
#
|
||||||
|
#def_key "right"
|
||||||
|
# volume_up
|
||||||
|
#
|
||||||
|
#def_key "+"
|
||||||
|
# volume_up
|
||||||
|
#
|
||||||
|
#def_key "left"
|
||||||
|
# previous_column
|
||||||
|
#
|
||||||
|
#def_key "left"
|
||||||
|
# master_screen
|
||||||
|
#
|
||||||
|
#def_key "left"
|
||||||
|
# volume_down
|
||||||
|
#
|
||||||
|
#def_key "-"
|
||||||
|
# volume_down
|
||||||
|
#
|
||||||
|
#def_key ":"
|
||||||
|
# execute_command
|
||||||
|
#
|
||||||
|
#def_key "tab"
|
||||||
|
# next_screen
|
||||||
|
#
|
||||||
|
#def_key "shift-tab"
|
||||||
|
# previous_screen
|
||||||
|
#
|
||||||
|
def_key "h"
|
||||||
|
show_help
|
||||||
|
#
|
||||||
|
#def_key "1"
|
||||||
|
# show_playlist
|
||||||
|
#
|
||||||
|
#def_key "2"
|
||||||
|
# show_browser
|
||||||
|
#
|
||||||
|
#def_key "2"
|
||||||
|
# change_browse_mode
|
||||||
|
#
|
||||||
|
#def_key "3"
|
||||||
|
# show_search_engine
|
||||||
|
#
|
||||||
|
#def_key "3"
|
||||||
|
# reset_search_engine
|
||||||
|
#
|
||||||
|
#def_key "4"
|
||||||
|
# show_media_library
|
||||||
|
#
|
||||||
|
#def_key "4"
|
||||||
|
# toggle_media_library_columns_mode
|
||||||
|
#
|
||||||
|
#def_key "5"
|
||||||
|
# show_playlist_editor
|
||||||
|
#
|
||||||
|
#def_key "6"
|
||||||
|
# show_tag_editor
|
||||||
|
#
|
||||||
|
#def_key "7"
|
||||||
|
# show_outputs
|
||||||
|
#
|
||||||
|
#def_key "8"
|
||||||
|
# show_visualizer
|
||||||
|
#
|
||||||
|
#def_key "="
|
||||||
|
# show_clock
|
||||||
|
#
|
||||||
|
#def_key "@"
|
||||||
|
# show_server_info
|
||||||
|
#
|
||||||
|
#def_key "s"
|
||||||
|
# stop
|
||||||
|
#
|
||||||
|
#def_key "p"
|
||||||
|
# pause
|
||||||
|
#
|
||||||
|
#def_key ">"
|
||||||
|
# next
|
||||||
|
#
|
||||||
|
#def_key "<"
|
||||||
|
# previous
|
||||||
|
#
|
||||||
|
#def_key "ctrl-h"
|
||||||
|
# jump_to_parent_directory
|
||||||
|
#
|
||||||
|
#def_key "ctrl-h"
|
||||||
|
# replay_song
|
||||||
|
#
|
||||||
|
#def_key "backspace"
|
||||||
|
# jump_to_parent_directory
|
||||||
|
#
|
||||||
|
#def_key "backspace"
|
||||||
|
# replay_song
|
||||||
|
#
|
||||||
|
#def_key "f"
|
||||||
|
# seek_forward
|
||||||
|
#
|
||||||
|
#def_key "b"
|
||||||
|
# seek_backward
|
||||||
|
#
|
||||||
|
#def_key "r"
|
||||||
|
# toggle_repeat
|
||||||
|
#
|
||||||
|
#def_key "z"
|
||||||
|
# toggle_random
|
||||||
|
#
|
||||||
|
#def_key "y"
|
||||||
|
# save_tag_changes
|
||||||
|
#
|
||||||
|
#def_key "y"
|
||||||
|
# start_searching
|
||||||
|
#
|
||||||
|
#def_key "y"
|
||||||
|
# toggle_single
|
||||||
|
#
|
||||||
|
#def_key "R"
|
||||||
|
# toggle_consume
|
||||||
|
#
|
||||||
|
#def_key "Y"
|
||||||
|
# toggle_replay_gain_mode
|
||||||
|
#
|
||||||
|
#def_key "T"
|
||||||
|
# toggle_add_mode
|
||||||
|
#
|
||||||
|
#def_key "|"
|
||||||
|
# toggle_mouse
|
||||||
|
#
|
||||||
|
#def_key "#"
|
||||||
|
# toggle_bitrate_visibility
|
||||||
|
#
|
||||||
|
#def_key "Z"
|
||||||
|
# shuffle
|
||||||
|
#
|
||||||
|
#def_key "x"
|
||||||
|
# toggle_crossfade
|
||||||
|
#
|
||||||
|
#def_key "X"
|
||||||
|
# set_crossfade
|
||||||
|
#
|
||||||
|
#def_key "u"
|
||||||
|
# update_database
|
||||||
|
#
|
||||||
|
#def_key "ctrl-s"
|
||||||
|
# sort_playlist
|
||||||
|
#
|
||||||
|
#def_key "ctrl-s"
|
||||||
|
# toggle_browser_sort_mode
|
||||||
|
#
|
||||||
|
#def_key "ctrl-s"
|
||||||
|
# toggle_media_library_sort_mode
|
||||||
|
#
|
||||||
|
#def_key "ctrl-r"
|
||||||
|
# reverse_playlist
|
||||||
|
#
|
||||||
|
#def_key "ctrl-f"
|
||||||
|
# apply_filter
|
||||||
|
#
|
||||||
|
#def_key "ctrl-_"
|
||||||
|
# select_found_items
|
||||||
|
#
|
||||||
|
#def_key "/"
|
||||||
|
# find
|
||||||
|
#
|
||||||
|
#def_key "/"
|
||||||
|
# find_item_forward
|
||||||
|
#
|
||||||
|
#def_key "?"
|
||||||
|
# find
|
||||||
|
#
|
||||||
|
#def_key "?"
|
||||||
|
# find_item_backward
|
||||||
|
#
|
||||||
|
#def_key "."
|
||||||
|
# next_found_item
|
||||||
|
#
|
||||||
|
#def_key ","
|
||||||
|
# previous_found_item
|
||||||
|
#
|
||||||
|
#def_key "w"
|
||||||
|
# toggle_find_mode
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_song
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_library_tag
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_library_album
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_directory_name
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_playlist_name
|
||||||
|
#
|
||||||
|
#def_key "e"
|
||||||
|
# edit_lyrics
|
||||||
|
#
|
||||||
|
#def_key "i"
|
||||||
|
# show_song_info
|
||||||
|
#
|
||||||
|
#def_key "I"
|
||||||
|
# show_artist_info
|
||||||
|
#
|
||||||
|
#def_key "g"
|
||||||
|
# jump_to_position_in_song
|
||||||
|
#
|
||||||
|
#def_key "l"
|
||||||
|
# show_lyrics
|
||||||
|
#
|
||||||
|
#def_key "ctrl-v"
|
||||||
|
# select_range
|
||||||
|
#
|
||||||
|
#def_key "v"
|
||||||
|
# reverse_selection
|
||||||
|
#
|
||||||
|
#def_key "V"
|
||||||
|
# remove_selection
|
||||||
|
#
|
||||||
|
#def_key "B"
|
||||||
|
# select_album
|
||||||
|
#
|
||||||
|
#def_key "a"
|
||||||
|
# add_selected_items
|
||||||
|
#
|
||||||
|
#def_key "c"
|
||||||
|
# clear_playlist
|
||||||
|
#
|
||||||
|
#def_key "c"
|
||||||
|
# clear_main_playlist
|
||||||
|
#
|
||||||
|
#def_key "C"
|
||||||
|
# crop_playlist
|
||||||
|
#
|
||||||
|
#def_key "C"
|
||||||
|
# crop_main_playlist
|
||||||
|
#
|
||||||
|
#def_key "m"
|
||||||
|
# move_sort_order_up
|
||||||
|
#
|
||||||
|
#def_key "m"
|
||||||
|
# move_selected_items_up
|
||||||
|
#
|
||||||
|
#def_key "n"
|
||||||
|
# move_sort_order_down
|
||||||
|
#
|
||||||
|
#def_key "n"
|
||||||
|
# move_selected_items_down
|
||||||
|
#
|
||||||
|
#def_key "M"
|
||||||
|
# move_selected_items_to
|
||||||
|
#
|
||||||
|
#def_key "A"
|
||||||
|
# add
|
||||||
|
#
|
||||||
|
#def_key "S"
|
||||||
|
# save_playlist
|
||||||
|
#
|
||||||
|
#def_key "o"
|
||||||
|
# jump_to_playing_song
|
||||||
|
#
|
||||||
|
#def_key "G"
|
||||||
|
# jump_to_browser
|
||||||
|
#
|
||||||
|
#def_key "G"
|
||||||
|
# jump_to_playlist_editor
|
||||||
|
#
|
||||||
|
#def_key "~"
|
||||||
|
# jump_to_media_library
|
||||||
|
#
|
||||||
|
#def_key "E"
|
||||||
|
# jump_to_tag_editor
|
||||||
|
#
|
||||||
|
#def_key "U"
|
||||||
|
# toggle_playing_song_centering
|
||||||
|
#
|
||||||
|
#def_key "P"
|
||||||
|
# toggle_display_mode
|
||||||
|
#
|
||||||
|
#def_key "\\"
|
||||||
|
# toggle_interface
|
||||||
|
#
|
||||||
|
#def_key "!"
|
||||||
|
# toggle_separators_between_albums
|
||||||
|
#
|
||||||
|
#def_key "L"
|
||||||
|
# toggle_lyrics_fetcher
|
||||||
|
#
|
||||||
|
#def_key "F"
|
||||||
|
# fetch_lyrics_in_background
|
||||||
|
#
|
||||||
|
#def_key "alt-l"
|
||||||
|
# toggle_fetching_lyrics_in_background
|
||||||
|
#
|
||||||
|
#def_key "ctrl-l"
|
||||||
|
# toggle_screen_lock
|
||||||
|
#
|
||||||
|
#def_key "`"
|
||||||
|
# toggle_library_tag_type
|
||||||
|
#
|
||||||
|
#def_key "`"
|
||||||
|
# refetch_lyrics
|
||||||
|
#
|
||||||
|
#def_key "`"
|
||||||
|
# add_random_items
|
||||||
|
#
|
||||||
|
#def_key "ctrl-p"
|
||||||
|
# set_selected_items_priority
|
||||||
|
#
|
||||||
|
#def_key "q"
|
||||||
|
# quit
|
||||||
|
#
|
||||||
406
.config/ncmpcpp/config
Normal file
406
.config/ncmpcpp/config
Normal file
|
|
@ -0,0 +1,406 @@
|
||||||
|
ncmpcpp_directory = ~/.mpd/ncmpcpp
|
||||||
|
lyrics_directory = ~/.mpd/lyrics
|
||||||
|
#
|
||||||
|
##### connection settings #####
|
||||||
|
mpd_host = localhost
|
||||||
|
mpd_port = 6600
|
||||||
|
mpd_connection_timeout = 5
|
||||||
|
mpd_music_dir = ~/Music
|
||||||
|
|
||||||
|
##### music visualizer #####
|
||||||
|
|
||||||
|
audio_output {
|
||||||
|
type "fifo"
|
||||||
|
name "Visualizer feed"
|
||||||
|
path "/tmp/mpd.fifo"
|
||||||
|
format "44100:16:2"
|
||||||
|
}
|
||||||
|
|
||||||
|
visualizer_fifo_path = /tmp/mpd.fifo
|
||||||
|
|
||||||
|
visualizer_output_name = Visualizer feed
|
||||||
|
|
||||||
|
visualizer_in_stereo = yes
|
||||||
|
|
||||||
|
visualizer_sync_interval = 30
|
||||||
|
# Available values: spectrum, wave, wave_filled, ellipse.
|
||||||
|
visualizer_type = spectrum
|
||||||
|
visualizer_look = ●▮
|
||||||
|
#visualizer_color = blue, cyan, green, yellow, magenta, red
|
||||||
|
visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161
|
||||||
|
|
||||||
|
##### song format #####
|
||||||
|
## %l - length
|
||||||
|
## %f - filename
|
||||||
|
## %D - directory
|
||||||
|
## %a - artist
|
||||||
|
## %A - album artist
|
||||||
|
## %t - title
|
||||||
|
## %b - album
|
||||||
|
## %y - date
|
||||||
|
## %n - track number (01/12 -> 01)
|
||||||
|
## %N - full track info (01/12 -> 01/12)
|
||||||
|
## %g - genre
|
||||||
|
## %c - composer
|
||||||
|
## %p - performer
|
||||||
|
## %d - disc
|
||||||
|
## %C - comment
|
||||||
|
## %P - priority
|
||||||
|
## $R - begin right alignment
|
||||||
|
## - 0 - default window color (discards all other colors)
|
||||||
|
## - 1 - black
|
||||||
|
## - 2 - red
|
||||||
|
## - 3 - green
|
||||||
|
## - 4 - yellow
|
||||||
|
## - 5 - blue
|
||||||
|
## - 6 - magenta
|
||||||
|
## - 7 - cyan
|
||||||
|
## - 8 - white
|
||||||
|
## - 9 - end of current color
|
||||||
|
## - b - bold text
|
||||||
|
## - u - underline text
|
||||||
|
## - r - reverse colors
|
||||||
|
## - a - use alternative character set
|
||||||
|
|
||||||
|
song_list_format = {%a - }{$7%b$9 - }{%t}|{$8%f$9}$R{$3(%l)$9}
|
||||||
|
song_status_format = {{%a{ "%b"{ (%4y)}} - }{%t}}|{%f}
|
||||||
|
song_library_format = {%n - }{%t}|{%f}
|
||||||
|
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
|
||||||
|
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%4y$9)}}|{%D}
|
||||||
|
current_item_prefix = $(yellow)$r
|
||||||
|
current_item_suffix = $/r$(end)
|
||||||
|
current_item_inactive_column_prefix = $(white)$r
|
||||||
|
current_item_inactive_column_suffix = $/r$(end)
|
||||||
|
now_playing_prefix = $b
|
||||||
|
now_playing_suffix = $/b
|
||||||
|
browser_playlist_prefix = "$2playlist$9 "
|
||||||
|
selected_item_prefix = $6
|
||||||
|
selected_item_suffix = $9
|
||||||
|
modified_item_prefix = $3> $9
|
||||||
|
song_window_title_format = ncmpcpp - {%a - }{%t}|{%f}
|
||||||
|
##
|
||||||
|
## Note: Below variables are used for sorting songs in browser. The sort mode
|
||||||
|
## determines how songs are sorted, and can be used in combination with a sort
|
||||||
|
## format to specify a custom sorting format. Available values for
|
||||||
|
## browser_sort_mode are "name", "mtime", "format" and "noop".
|
||||||
|
##
|
||||||
|
#
|
||||||
|
browser_sort_mode = name
|
||||||
|
#
|
||||||
|
browser_sort_format = {%a - }{%t}|{%f} {(%l)}
|
||||||
|
#
|
||||||
|
##### columns settings #####
|
||||||
|
##
|
||||||
|
## syntax of song columns list format is "column column etc."
|
||||||
|
##
|
||||||
|
## - syntax for each column is:
|
||||||
|
##
|
||||||
|
## (width of the column)[color of the column]{displayed tag}
|
||||||
|
##
|
||||||
|
## Note: Width is by default in %, if you want a column to have fixed size, add
|
||||||
|
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
|
||||||
|
## screen (so the real width will depend on actual screen size), whereas
|
||||||
|
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
|
||||||
|
## is.
|
||||||
|
##
|
||||||
|
## - color is optional (if you want the default one, leave the field empty).
|
||||||
|
##
|
||||||
|
## Note: You can give a column additional attributes by putting appropriate
|
||||||
|
## character after displayed tag character. Available attributes are:
|
||||||
|
##
|
||||||
|
## - r - column will be right aligned
|
||||||
|
## - E - if tag is empty, empty tag marker won't be displayed
|
||||||
|
##
|
||||||
|
## You can also:
|
||||||
|
##
|
||||||
|
## - give a column custom name by putting it after attributes, separated with
|
||||||
|
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
|
||||||
|
## named "Length".
|
||||||
|
##
|
||||||
|
## - define sequence of tags, that have to be displayed in case predecessor is
|
||||||
|
## empty in a way similar to the one in classic song format, i.e. using '|'
|
||||||
|
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
|
||||||
|
## display artist tag and then composer and performer if previous ones are not
|
||||||
|
## available.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
|
||||||
|
#
|
||||||
|
##### various settings #####
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time song changes. Useful for
|
||||||
|
## notifications etc.
|
||||||
|
##
|
||||||
|
#execute_on_song_change = ""
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time player state
|
||||||
|
## changes. The environment variable MPD_PLAYER_STATE is set to the current
|
||||||
|
## state (either unknown, play, pause, or stop) for its duration.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#execute_on_player_state_change = ""
|
||||||
|
#
|
||||||
|
#playlist_show_mpd_host = no
|
||||||
|
#
|
||||||
|
#playlist_show_remaining_time = no
|
||||||
|
#
|
||||||
|
#playlist_shorten_total_times = no
|
||||||
|
#
|
||||||
|
#playlist_separate_albums = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Possible display modes: classic, columns.
|
||||||
|
##
|
||||||
|
#playlist_display_mode = columns
|
||||||
|
#
|
||||||
|
browser_display_mode = columns
|
||||||
|
#
|
||||||
|
#search_engine_display_mode = classic
|
||||||
|
#
|
||||||
|
#playlist_editor_display_mode = classic
|
||||||
|
#
|
||||||
|
#discard_colors_if_item_is_selected = yes
|
||||||
|
#
|
||||||
|
#show_duplicate_tags = yes
|
||||||
|
#
|
||||||
|
incremental_seeking = yes
|
||||||
|
#
|
||||||
|
#seek_time = 1
|
||||||
|
#
|
||||||
|
#volume_change_step = 2
|
||||||
|
#
|
||||||
|
#autocenter_mode = no
|
||||||
|
#
|
||||||
|
#centered_cursor = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can specify third character which will be used to build 'empty'
|
||||||
|
## part of progressbar.
|
||||||
|
##
|
||||||
|
progressbar_look = =>
|
||||||
|
#
|
||||||
|
## Available values: database, playlist.
|
||||||
|
##
|
||||||
|
#default_place_to_search_in = database
|
||||||
|
#
|
||||||
|
## Available values: classic, alternative.
|
||||||
|
##
|
||||||
|
user_interface = classic
|
||||||
|
#
|
||||||
|
#data_fetching_delay = yes
|
||||||
|
#
|
||||||
|
## Available values: artist, album_artist, date, genre, composer, performer.
|
||||||
|
##
|
||||||
|
media_library_primary_tag = album_artist
|
||||||
|
#
|
||||||
|
media_library_albums_split_by_date = yes
|
||||||
|
#
|
||||||
|
## Available values: wrapped, normal.
|
||||||
|
##
|
||||||
|
#default_find_mode = wrapped
|
||||||
|
#
|
||||||
|
#default_tag_editor_pattern = %n - %t
|
||||||
|
#
|
||||||
|
#header_visibility = yes
|
||||||
|
#
|
||||||
|
#statusbar_visibility = yes
|
||||||
|
#
|
||||||
|
#titles_visibility = yes
|
||||||
|
#
|
||||||
|
#header_text_scrolling = yes
|
||||||
|
#
|
||||||
|
#cyclic_scrolling = no
|
||||||
|
#
|
||||||
|
#lines_scrolled = 2
|
||||||
|
#
|
||||||
|
lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet
|
||||||
|
#
|
||||||
|
#follow_now_playing_lyrics = no
|
||||||
|
#
|
||||||
|
#fetch_lyrics_for_current_song_in_background = no
|
||||||
|
#
|
||||||
|
#store_lyrics_in_song_dir = no
|
||||||
|
#
|
||||||
|
#generate_win32_compatible_filenames = yes
|
||||||
|
#
|
||||||
|
#allow_for_physical_item_deletion = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
|
||||||
|
## language you set and if it fails, it will fall back to english. Otherwise it
|
||||||
|
## will use english the first time.
|
||||||
|
##
|
||||||
|
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
|
||||||
|
##
|
||||||
|
#lastfm_preferred_language = en
|
||||||
|
#
|
||||||
|
#space_add_mode = add_remove
|
||||||
|
#
|
||||||
|
#show_hidden_files_in_local_browser = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## How shall screen switcher work?
|
||||||
|
##
|
||||||
|
## - "previous" - switch between the current and previous screen.
|
||||||
|
## - "screen1,...,screenN" - switch between given sequence of screens.
|
||||||
|
##
|
||||||
|
## Screens available for use: help, playlist, browser, search_engine,
|
||||||
|
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
|
||||||
|
## lyrics, last_fm.
|
||||||
|
##
|
||||||
|
#screen_switcher_mode = playlist, browser
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup screen by choosing screen from the list above.
|
||||||
|
##
|
||||||
|
startup_screen = media_library
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup slave screen by choosing screen from the list
|
||||||
|
## above or an empty value for no slave screen.
|
||||||
|
##
|
||||||
|
#startup_slave_screen = ""
|
||||||
|
#
|
||||||
|
#startup_slave_screen_focus = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#locked_screen_width_part = 50
|
||||||
|
#
|
||||||
|
#ask_for_locked_screen_width_part = yes
|
||||||
|
#
|
||||||
|
#jump_to_now_playing_song_at_start = yes
|
||||||
|
#
|
||||||
|
#ask_before_clearing_playlists = yes
|
||||||
|
#
|
||||||
|
#clock_display_seconds = no
|
||||||
|
#
|
||||||
|
#display_volume_level = yes
|
||||||
|
#
|
||||||
|
#display_bitrate = no
|
||||||
|
#
|
||||||
|
#display_remaining_time = no
|
||||||
|
#
|
||||||
|
## Available values: none, basic, extended, perl.
|
||||||
|
##
|
||||||
|
#regular_expressions = perl
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
|
||||||
|
## sorting items in browser, tags in media library, etc.
|
||||||
|
##
|
||||||
|
#ignore_leading_the = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
|
||||||
|
## filtering lists. This takes an effect only if boost was compiled with ICU
|
||||||
|
## support.
|
||||||
|
##
|
||||||
|
#ignore_diacritics = no
|
||||||
|
#
|
||||||
|
#block_search_constraints_change_if_items_found = yes
|
||||||
|
#
|
||||||
|
mouse_support = yes
|
||||||
|
#
|
||||||
|
#mouse_list_scroll_whole_page = yes
|
||||||
|
#
|
||||||
|
#empty_tag_marker = <empty>
|
||||||
|
#
|
||||||
|
#tags_separator = " | "
|
||||||
|
#
|
||||||
|
#tag_editor_extended_numeration = no
|
||||||
|
#
|
||||||
|
#media_library_sort_by_mtime = no
|
||||||
|
#
|
||||||
|
#enable_window_title = yes
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can choose default search mode for search engine. Available modes
|
||||||
|
## are:
|
||||||
|
##
|
||||||
|
## - 1 - use mpd built-in searching (no regexes, pattern matching)
|
||||||
|
##
|
||||||
|
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
|
||||||
|
## if your mpd is on a remote machine, downloading big database to process
|
||||||
|
## it can take a while
|
||||||
|
##
|
||||||
|
## - 3 - match only exact values (this mode uses mpd function for searching in
|
||||||
|
## database and local one for searching in current playlist)
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#search_engine_default_search_mode = 1
|
||||||
|
#
|
||||||
|
external_editor = nvim
|
||||||
|
#
|
||||||
|
## Note: set to yes if external editor is a console application.
|
||||||
|
##
|
||||||
|
use_console_editor = yes
|
||||||
|
#
|
||||||
|
##### colors definitions #####
|
||||||
|
##
|
||||||
|
## It is possible to set a background color by setting a color value
|
||||||
|
## "<foreground>_<background>", e.g. red_black will set foregound color to red
|
||||||
|
## and background color to black.
|
||||||
|
##
|
||||||
|
## In addition, for terminals that support 256 colors it is possible to set one
|
||||||
|
## of them by using a number in range [1, 256] instead of color name,
|
||||||
|
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
|
||||||
|
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
|
||||||
|
## help screen for list of available colors and their numerical values.
|
||||||
|
##
|
||||||
|
## What is more, there are two special values for the background color:
|
||||||
|
## "transparent" and "current". The first one explicitly sets the background to
|
||||||
|
## be transparent, while the second one allows you to preserve current
|
||||||
|
## background color and change only the foreground one. It's used implicitly
|
||||||
|
## when background color is not specified.
|
||||||
|
##
|
||||||
|
## Moreover, it is possible to attach format information to selected color
|
||||||
|
## variables by appending to their end a colon followed by one or more format
|
||||||
|
## flags, e.g. black:b or red:ur. The following variables support this syntax:
|
||||||
|
## visualizer_color, color1, color2, empty_tag_color, volume_color,
|
||||||
|
## state_line_color, state_flags_color, progressbar_color,
|
||||||
|
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
|
||||||
|
## alternative_ui_separator_color.
|
||||||
|
##
|
||||||
|
## Note: due to technical limitations of older ncurses version, if 256 colors
|
||||||
|
## are used there is a possibility that you'll be able to use only colors with
|
||||||
|
## transparent background.
|
||||||
|
#
|
||||||
|
#colors_enabled = yes
|
||||||
|
#
|
||||||
|
#empty_tag_color = cyan
|
||||||
|
#
|
||||||
|
#header_window_color = default
|
||||||
|
#
|
||||||
|
#volume_color = default
|
||||||
|
#
|
||||||
|
#state_line_color = default
|
||||||
|
#
|
||||||
|
#state_flags_color = default:b
|
||||||
|
#
|
||||||
|
#main_window_color = yellow
|
||||||
|
#
|
||||||
|
#color1 = white
|
||||||
|
#
|
||||||
|
#color2 = green
|
||||||
|
#
|
||||||
|
#progressbar_color = black:b
|
||||||
|
#
|
||||||
|
#progressbar_elapsed_color = green:b
|
||||||
|
#
|
||||||
|
#statusbar_color = default
|
||||||
|
#
|
||||||
|
#statusbar_time_color = default:b
|
||||||
|
#
|
||||||
|
#player_state_color = default:b
|
||||||
|
#
|
||||||
|
#alternative_ui_separator_color = black:b
|
||||||
|
#
|
||||||
|
#window_border_color = green
|
||||||
|
#
|
||||||
|
#active_window_border = red
|
||||||
|
#
|
||||||
1053
.config/nvim/init.vim
Normal file
1053
.config/nvim/init.vim
Normal file
File diff suppressed because it is too large
Load diff
1
.config/nvim/my-snippets/UltiSnips/beamer.snippets
Normal file
1
.config/nvim/my-snippets/UltiSnips/beamer.snippets
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
priority -50
|
||||||
119
.config/nvim/my-snippets/UltiSnips/eltech.snippets
Normal file
119
.config/nvim/my-snippets/UltiSnips/eltech.snippets
Normal file
|
|
@ -0,0 +1,119 @@
|
||||||
|
priority -50
|
||||||
|
|
||||||
|
global !p
|
||||||
|
|
||||||
|
import glob
|
||||||
|
|
||||||
|
PRIORITIES = {
|
||||||
|
'generalPreamble': 0,
|
||||||
|
'Locale': 1,
|
||||||
|
'BibTex': 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_styles(folder):
|
||||||
|
styles = [file[:-4] for file in glob.glob(f'{folder}/*.sty')]
|
||||||
|
priorities = [1] * len(styles)
|
||||||
|
for i, filename in enumerate(styles):
|
||||||
|
for name, priority in PRIORITIES.items():
|
||||||
|
if name in filename:
|
||||||
|
priorities[i] = priority
|
||||||
|
if styles:
|
||||||
|
priorities, styles = zip(*sorted(zip(priorities, styles)))
|
||||||
|
return styles
|
||||||
|
|
||||||
|
def try_get_styles(folders):
|
||||||
|
for folder in folders:
|
||||||
|
styles = get_styles(folder)
|
||||||
|
if len(styles) > 0:
|
||||||
|
return styles
|
||||||
|
|
||||||
|
endglobal
|
||||||
|
|
||||||
|
snippet defdoc "Default document template"
|
||||||
|
\documentclass[a4paper, 14pt]{extarticle}
|
||||||
|
`!p
|
||||||
|
res = ""
|
||||||
|
for style in try_get_styles(["./styles", '.', '..', '../styles']):
|
||||||
|
res += "\\usepackage{" + style + "}\n"
|
||||||
|
snip.rv = res
|
||||||
|
`
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
$0
|
||||||
|
\end{document}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet defrep "Default small report template"
|
||||||
|
\documentclass[a4paper, 14pt]{extarticle}
|
||||||
|
`!p
|
||||||
|
res = ""
|
||||||
|
for style in get_styles("./styles"):
|
||||||
|
res += "\\usepackage{" + style + "}\n"
|
||||||
|
snip.rv = res
|
||||||
|
`
|
||||||
|
|
||||||
|
\title{$1}
|
||||||
|
\author{${2:Корытов Павел, 6304 \\\\ СПбГЭТУ \enquote{ЛЭТИ}}}
|
||||||
|
\date{${3:\today}}
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
$0
|
||||||
|
\end{document}
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet etutitle "ETU default report title"
|
||||||
|
\begin{titlepage}
|
||||||
|
\centering
|
||||||
|
{\bfseries
|
||||||
|
\uppercase{
|
||||||
|
Минобрнауки России \\\\
|
||||||
|
Санкт-Петербургский государственный \\\\
|
||||||
|
Электротехнический университет \\\\
|
||||||
|
\enquote{ЛЭТИ} им. В.И.Ульянова (Ленина)\\\\
|
||||||
|
}
|
||||||
|
Кафедра ${1:МО ЭВМ}
|
||||||
|
|
||||||
|
\vspace{\fill}
|
||||||
|
\uppercase{${2:Отчёт}} \\\\
|
||||||
|
по ${3:лабораторной работе} ${4:№1} \\\\
|
||||||
|
по дисциплине \enquote{$5} \\\\
|
||||||
|
Тема: $6
|
||||||
|
}
|
||||||
|
|
||||||
|
\vspace{\fill}
|
||||||
|
\begin{tabularx}{0.8\textwidth}{l X c r}
|
||||||
|
Студент гр. 6304 & & \underline{\hspace{3cm}} & Корытов П.В.\\\\
|
||||||
|
Преподаватель & & \underline{\hspace{3cm}} & $7
|
||||||
|
\end{tabularx}
|
||||||
|
|
||||||
|
\vspace{1cm}
|
||||||
|
Санкт-Петербург \\\\
|
||||||
|
\the\year{}
|
||||||
|
\end{titlepage}
|
||||||
|
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet fhdr "My default fancy header"
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
|
||||||
|
\newcommand{\theversion}{${1:1.0}}
|
||||||
|
|
||||||
|
\fancyhead[L]{
|
||||||
|
\begin{tabular}{ll}
|
||||||
|
\textit{${2:Project}} \\\\
|
||||||
|
${3:Документ}
|
||||||
|
\end{tabular}
|
||||||
|
}
|
||||||
|
|
||||||
|
\fancyhead[R]{
|
||||||
|
\begin{tabular}{ll}
|
||||||
|
Версия: & \theversion{} \\\\
|
||||||
|
Дата: & \today{}
|
||||||
|
\end{tabular}
|
||||||
|
}
|
||||||
|
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
# vim:ft=snippets:
|
||||||
12
.config/nvim/my-snippets/UltiSnips/python.snippets
Normal file
12
.config/nvim/my-snippets/UltiSnips/python.snippets
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
snippet qinit "def __init__(self, parent=None)"
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super().__init__(parent)
|
||||||
|
$0
|
||||||
|
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
|
||||||
|
snippet forl "[action for item in iterable]"
|
||||||
|
[$1 for $2 in $3]
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
194
.config/nvim/my-snippets/UltiSnips/tex.snippets
Normal file
194
.config/nvim/my-snippets/UltiSnips/tex.snippets
Normal file
|
|
@ -0,0 +1,194 @@
|
||||||
|
priority 50
|
||||||
|
|
||||||
|
extends eltech
|
||||||
|
|
||||||
|
global !p
|
||||||
|
import os
|
||||||
|
|
||||||
|
def get_last_image():
|
||||||
|
max_time = 0
|
||||||
|
last_image = ''
|
||||||
|
for r, d, files in os.walk(os.path.join(os.getcwd(), 'img')):
|
||||||
|
for f in files:
|
||||||
|
time = os.path.getmtime(os.path.join(r, f))
|
||||||
|
if time > max_time:
|
||||||
|
max_time = time
|
||||||
|
last_image = os.path.relpath(os.path.join(r, f))
|
||||||
|
return last_image
|
||||||
|
|
||||||
|
endglobal
|
||||||
|
|
||||||
|
snippet 'sympy(.*)sympy' "evaluate sympy" wr
|
||||||
|
`!p
|
||||||
|
from sympy import *
|
||||||
|
x, y, z, t, i = symbols('x y z t i')
|
||||||
|
k, m, n = symbols('k m n', integer=True)
|
||||||
|
f, g, h = symbols('f g h', cls=Function)
|
||||||
|
init_printing()
|
||||||
|
snip.rv = eval('latex(' + match.group(1).replace('\\', '') \
|
||||||
|
.replace('^', '**') \
|
||||||
|
.replace('{', '(') \
|
||||||
|
.replace('}', ')') + ')')
|
||||||
|
`
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet lfigp "last figure path"
|
||||||
|
`!p
|
||||||
|
snip.rv = get_last_image()
|
||||||
|
`
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet lfig
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=$1\textwidth]{`!p snip.rv = get_last_image()`}
|
||||||
|
\caption{$2}%
|
||||||
|
\label{img:$3}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet ' -' "---" wr
|
||||||
|
--- $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet vec "vector sign"
|
||||||
|
\vec{$1} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet suml "\sum\limits"
|
||||||
|
\sum\limits^{${1:n}}_{${2:i=1}} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet part "\partial"
|
||||||
|
\partial $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet vmat "\begin{pmatrix} \end{pmatrix}"
|
||||||
|
\begin{pmatrix} $1 \end{pmatrix}$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet dfn "\dfn{}"
|
||||||
|
\dfn{$1} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet fig "Default figure here"
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=$1\textwidth]{$2}
|
||||||
|
\caption{$3}%
|
||||||
|
\label{img:$4}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet subfig "Figure with subfigures"
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\begin{subfigure}[b]{$1\textwidth}
|
||||||
|
\includegraphics[width=\textwidth]{$2}
|
||||||
|
\caption{$3}
|
||||||
|
\end{subfigure}%
|
||||||
|
\hspace{2cm}
|
||||||
|
\begin{subfigure}[b]{$4\textwidth}
|
||||||
|
\includegraphics[width=\textwidth]{$5}
|
||||||
|
\caption{$6}
|
||||||
|
\end{subfigure}
|
||||||
|
\end{figure}
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet << "Triangle brackets"
|
||||||
|
\left\langle $1 \right\rangle $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet lorem "\lipsum[1] %TODO"
|
||||||
|
\lipsum[1] %TODO
|
||||||
|
$0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet /{ "/{ /}"
|
||||||
|
/{ $1 /} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet \[ "\[ \]"
|
||||||
|
\[ $1 \] $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet <=> "\Reftrightarrow"
|
||||||
|
\Leftrightarrow $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet => "\Rightarrow"
|
||||||
|
\Rightarrow $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet -> "\rightarrow"
|
||||||
|
\rightarrow $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet <= "\Leftarrow"
|
||||||
|
\Leftarrow $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet '(\w+)_' "_\{text}" r
|
||||||
|
`!p snip.rv=match.group(1)`_\text{$1} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet '".*"' "`` ''" r
|
||||||
|
\`\``!p snip.rv=match.group(0)[1:-1]`'' $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet '<<.*>>' "\enquote{text}" r
|
||||||
|
\enquote{`!p snip.rv=match.group(0)[2:-2]`} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet <- "\leftarrow"
|
||||||
|
\leftarrow $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet ... "/ldots{}"
|
||||||
|
\ldots{} $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet .. "/ldots"
|
||||||
|
\ldots $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet in "\in"
|
||||||
|
\in $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet a "alpha"
|
||||||
|
\alpha $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet A "Alpha"
|
||||||
|
\Alpha $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet b "beta"
|
||||||
|
\beta $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet d "delta"
|
||||||
|
\delta $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet e "varepsilon"
|
||||||
|
\varepsilon $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet l "lambda"
|
||||||
|
\lambda $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet w "omega"
|
||||||
|
\omega $0
|
||||||
|
endsnippet
|
||||||
|
|
||||||
|
snippet S "Sigma"
|
||||||
|
\Sigma $0
|
||||||
|
endsnippet
|
||||||
15
.config/nvim/my-snippets/UltiSnips/vue.snippets
Normal file
15
.config/nvim/my-snippets/UltiSnips/vue.snippets
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
snippet comp "vue component"
|
||||||
|
<template>
|
||||||
|
$0
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: '$1'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
|
endsnippet
|
||||||
430
.config/picom.conf
Normal file
430
.config/picom.conf
Normal file
|
|
@ -0,0 +1,430 @@
|
||||||
|
#################################
|
||||||
|
# Shadows #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Enabled client-side shadows on windows. Note desktop windows
|
||||||
|
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||||
|
# unless explicitly requested using the wintypes option.
|
||||||
|
#
|
||||||
|
# shadow = false
|
||||||
|
shadow = true;
|
||||||
|
|
||||||
|
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||||
|
# shadow-radius = 12
|
||||||
|
shadow-radius = 2;
|
||||||
|
|
||||||
|
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||||
|
# shadow-opacity = .75
|
||||||
|
|
||||||
|
# The left offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-x = -15
|
||||||
|
shadow-offset-x = -2;
|
||||||
|
|
||||||
|
# The top offset for shadows, in pixels. (defaults to -15)
|
||||||
|
# shadow-offset-y = -15
|
||||||
|
shadow-offset-y = -2;
|
||||||
|
|
||||||
|
# Avoid drawing shadows on dock/panel windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dock-shadow = false
|
||||||
|
|
||||||
|
# Don't draw shadows on drag-and-drop windows. This option is deprecated,
|
||||||
|
# you should use the *wintypes* option in your config file instead.
|
||||||
|
#
|
||||||
|
# no-dnd-shadow = false
|
||||||
|
|
||||||
|
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-red = 0
|
||||||
|
|
||||||
|
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-green = 0
|
||||||
|
|
||||||
|
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||||
|
# shadow-blue = 0
|
||||||
|
|
||||||
|
# Do not paint shadows on shaped windows. Note shaped windows
|
||||||
|
# here means windows setting its shape through X Shape extension.
|
||||||
|
# Those using ARGB background is beyond our control.
|
||||||
|
# Deprecated, use
|
||||||
|
# shadow-exclude = 'bounding_shaped'
|
||||||
|
# or
|
||||||
|
# shadow-exclude = 'bounding_shaped && !rounded_corners'
|
||||||
|
# instead.
|
||||||
|
#
|
||||||
|
# shadow-ignore-shaped = ''
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should have no shadow.
|
||||||
|
#
|
||||||
|
# examples:
|
||||||
|
# shadow-exclude = "n:e:Notification";
|
||||||
|
#
|
||||||
|
# shadow-exclude = []
|
||||||
|
shadow-exclude = [
|
||||||
|
"name = 'Notification'",
|
||||||
|
"class_g = 'Conky'",
|
||||||
|
"name ?= 'cpt_frame_window'",
|
||||||
|
"class_g ?= 'Notify-osd'",
|
||||||
|
"class_g = 'Cairo-clock'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Specify a X geometry that describes the region in which shadow should not
|
||||||
|
# be painted in, such as a dock window region. Use
|
||||||
|
# shadow-exclude-reg = "x10+0+0"
|
||||||
|
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||||
|
#
|
||||||
|
# shadow-exclude-reg = ""
|
||||||
|
|
||||||
|
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||||
|
# xinerama-shadow-crop = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Fading #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
|
# unless no-fading-openclose is used.
|
||||||
|
# fading = false
|
||||||
|
fading = true
|
||||||
|
|
||||||
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
|
# fade-in-step = 0.028
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
|
||||||
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
|
# fade-out-step = 0.03
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
|
||||||
|
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||||
|
# fade-delta = 10
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should not be faded.
|
||||||
|
# fade-exclude = []
|
||||||
|
|
||||||
|
# Do not fade on window open/close.
|
||||||
|
# no-fading-openclose = false
|
||||||
|
|
||||||
|
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||||
|
# no-fading-destroyed-argb = false
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Transparency / Opacity #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||||
|
# inactive-opacity = 1
|
||||||
|
inactive-opacity = 1;
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||||
|
# frame-opacity = 1.0
|
||||||
|
frame-opacity = 1.0;
|
||||||
|
|
||||||
|
# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# menu-opacity = 1.0
|
||||||
|
|
||||||
|
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
|
||||||
|
# inactive-opacity-override = true
|
||||||
|
inactive-opacity-override = false;
|
||||||
|
|
||||||
|
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||||
|
# active-opacity = 1.0
|
||||||
|
|
||||||
|
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||||
|
# inactive-dim = 0.0
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should always be considered focused.
|
||||||
|
# focus-exclude = []
|
||||||
|
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||||
|
|
||||||
|
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||||
|
# inactive-dim-fixed = 1.0
|
||||||
|
|
||||||
|
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||||
|
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||||
|
# Note we don't make any guarantee about possible conflicts with other
|
||||||
|
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||||
|
# example:
|
||||||
|
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||||
|
#
|
||||||
|
|
||||||
|
opacity-rule = [
|
||||||
|
"0:_NET_WM_STATE@[0]:32a = '_NET_WM_STATE_HIDDEN'",
|
||||||
|
"0:_NET_WM_STATE@[1]:32a = '_NET_WM_STATE_HIDDEN'",
|
||||||
|
"0:_NET_WM_STATE@[2]:32a = '_NET_WM_STATE_HIDDEN'",
|
||||||
|
"0:_NET_WM_STATE@[3]:32a = '_NET_WM_STATE_HIDDEN'",
|
||||||
|
"0:_NET_WM_STATE@[4]:32a = '_NET_WM_STATE_HIDDEN'"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Background-Blurring #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
|
||||||
|
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||||
|
# blur-method =
|
||||||
|
# blur-size = 12
|
||||||
|
#
|
||||||
|
# blur-deviation = false
|
||||||
|
|
||||||
|
# Blur background of semi-transparent / ARGB windows.
|
||||||
|
# Bad in performance, with driver-dependent behavior.
|
||||||
|
# The name of the switch may change without prior notifications.
|
||||||
|
#
|
||||||
|
# blur-background = false
|
||||||
|
|
||||||
|
# Blur background of windows when the window frame is not opaque.
|
||||||
|
# Implies:
|
||||||
|
# blur-background
|
||||||
|
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||||
|
#
|
||||||
|
# blur-background-frame = false
|
||||||
|
|
||||||
|
|
||||||
|
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||||
|
# blur-background-fixed = false
|
||||||
|
|
||||||
|
|
||||||
|
# Specify the blur convolution kernel, with the following format:
|
||||||
|
# example:
|
||||||
|
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||||
|
#
|
||||||
|
# blur-kern = ''
|
||||||
|
blur-kern = "3x3box";
|
||||||
|
|
||||||
|
|
||||||
|
# Exclude conditions for background blur.
|
||||||
|
# blur-background-exclude = []
|
||||||
|
blur-background-exclude = [
|
||||||
|
"window_type = 'dock'",
|
||||||
|
"window_type = 'desktop'",
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# General Settings #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||||
|
# daemon = false
|
||||||
|
|
||||||
|
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||||
|
# `xrender` is the default one.
|
||||||
|
#
|
||||||
|
# backend = 'glx'
|
||||||
|
backend = "xrender";
|
||||||
|
|
||||||
|
# Enable/disable VSync.
|
||||||
|
# vsync = false
|
||||||
|
vsync = true
|
||||||
|
|
||||||
|
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||||
|
# dbus = false
|
||||||
|
|
||||||
|
# Try to detect WM windows (a non-override-redirect window with no
|
||||||
|
# child that has 'WM_STATE') and mark them as active.
|
||||||
|
#
|
||||||
|
# mark-wmwin-focused = false
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
|
||||||
|
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||||
|
# mark-ovredir-focused = false
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
|
||||||
|
# Try to detect windows with rounded corners and don't consider them
|
||||||
|
# shaped windows. The accuracy is not very high, unfortunately.
|
||||||
|
#
|
||||||
|
# detect-rounded-corners = false
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
|
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
|
||||||
|
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
|
||||||
|
#
|
||||||
|
# detect-client-opacity = false
|
||||||
|
detect-client-opacity = true;
|
||||||
|
|
||||||
|
# Specify refresh rate of the screen. If not specified or 0, picom will
|
||||||
|
# try detecting this with X RandR extension.
|
||||||
|
#
|
||||||
|
# refresh-rate = 60
|
||||||
|
refresh-rate = 0
|
||||||
|
|
||||||
|
# Limit picom to repaint at most once every 1 / 'refresh_rate' second to
|
||||||
|
# boost performance. This should not be used with
|
||||||
|
# vsync drm/opengl/opengl-oml
|
||||||
|
# as they essentially does sw-opti's job already,
|
||||||
|
# unless you wish to specify a lower refresh rate than the actual value.
|
||||||
|
#
|
||||||
|
# sw-opti =
|
||||||
|
|
||||||
|
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||||
|
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||||
|
# provided that the WM supports it.
|
||||||
|
#
|
||||||
|
# use-ewmh-active-win = false
|
||||||
|
|
||||||
|
# Unredirect all windows if a full-screen opaque window is detected,
|
||||||
|
# to maximize performance for full-screen windows. Known to cause flickering
|
||||||
|
# when redirecting/unredirecting windows.
|
||||||
|
#
|
||||||
|
# unredir-if-possible = false
|
||||||
|
|
||||||
|
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||||
|
# unredir-if-possible-delay = 0
|
||||||
|
|
||||||
|
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||||
|
# unredir-if-possible-exclude = []
|
||||||
|
|
||||||
|
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||||
|
# in the same group focused at the same time.
|
||||||
|
#
|
||||||
|
# detect-transient = false
|
||||||
|
detect-transient = true
|
||||||
|
|
||||||
|
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||||
|
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
|
||||||
|
# detect-transient is enabled, too.
|
||||||
|
#
|
||||||
|
# detect-client-leader = false
|
||||||
|
detect-client-leader = true
|
||||||
|
|
||||||
|
# Resize damaged region by a specific number of pixels.
|
||||||
|
# A positive value enlarges it while a negative one shrinks it.
|
||||||
|
# If the value is positive, those additional pixels will not be actually painted
|
||||||
|
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||||
|
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||||
|
# Primarily used to fix the line corruption issues of blur,
|
||||||
|
# in which case you should use the blur radius value here
|
||||||
|
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||||
|
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||||
|
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||||
|
#
|
||||||
|
# resize-damage = 1
|
||||||
|
|
||||||
|
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||||
|
# Resource-hogging, and is not well tested.
|
||||||
|
#
|
||||||
|
# invert-color-include = []
|
||||||
|
|
||||||
|
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||||
|
# Might cause incorrect opacity when rendering transparent content (but never
|
||||||
|
# practically happened) and may not work with blur-background.
|
||||||
|
# My tests show a 15% performance boost. Recommended.
|
||||||
|
#
|
||||||
|
# glx-no-stencil = false
|
||||||
|
|
||||||
|
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||||
|
# Probably could improve performance on rapid window content changes,
|
||||||
|
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||||
|
# Recommended if it works.
|
||||||
|
#
|
||||||
|
# glx-no-rebind-pixmap = false
|
||||||
|
|
||||||
|
# Disable the use of damage information.
|
||||||
|
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||||
|
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||||
|
# The opposing option is use-damage
|
||||||
|
#
|
||||||
|
# no-use-damage = false
|
||||||
|
use-damage = true
|
||||||
|
|
||||||
|
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||||
|
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||||
|
# with GLX backend for some users.
|
||||||
|
#
|
||||||
|
# xrender-sync-fence = false
|
||||||
|
|
||||||
|
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||||
|
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||||
|
# in the source tree for examples.
|
||||||
|
#
|
||||||
|
# glx-fshader-win = ''
|
||||||
|
|
||||||
|
# Force all windows to be painted with blending. Useful if you
|
||||||
|
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||||
|
#
|
||||||
|
# force-win-blend = false
|
||||||
|
|
||||||
|
# Do not use EWMH to detect fullscreen windows.
|
||||||
|
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||||
|
#
|
||||||
|
# no-ewmh-fullscreen = false
|
||||||
|
|
||||||
|
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||||
|
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||||
|
# so this could comes with a performance hit.
|
||||||
|
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||||
|
#
|
||||||
|
# max-brightness = 1.0
|
||||||
|
|
||||||
|
# Make transparent windows clip other windows like non-transparent windows do,
|
||||||
|
# instead of blending on top of them.
|
||||||
|
#
|
||||||
|
# transparent-clipping = false
|
||||||
|
|
||||||
|
# Set the log level. Possible values are:
|
||||||
|
# "trace", "debug", "info", "warn", "error"
|
||||||
|
# in increasing level of importance. Case doesn't matter.
|
||||||
|
# If using the "TRACE" log level, it's better to log into a file
|
||||||
|
# using *--log-file*, since it can generate a huge stream of logs.
|
||||||
|
#
|
||||||
|
# log-level = "debug"
|
||||||
|
log-level = "warn";
|
||||||
|
|
||||||
|
# Set the log file.
|
||||||
|
# If *--log-file* is never specified, logs will be written to stderr.
|
||||||
|
# Otherwise, logs will to written to the given file, though some of the early
|
||||||
|
# logs might still be written to the stderr.
|
||||||
|
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||||
|
#
|
||||||
|
# log-file = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Show all X errors (for debugging)
|
||||||
|
# show-all-xerrors = false
|
||||||
|
|
||||||
|
# Write process ID to a file.
|
||||||
|
# write-pid-path = '/path/to/your/log/file'
|
||||||
|
|
||||||
|
# Window type settings
|
||||||
|
#
|
||||||
|
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||||
|
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||||
|
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||||
|
# "tooltip", "notification", "combo", and "dnd".
|
||||||
|
#
|
||||||
|
# Following per window-type options are available: ::
|
||||||
|
#
|
||||||
|
# fade, shadow:::
|
||||||
|
# Controls window-type-specific shadow and fade settings.
|
||||||
|
#
|
||||||
|
# opacity:::
|
||||||
|
# Controls default opacity of the window type.
|
||||||
|
#
|
||||||
|
# focus:::
|
||||||
|
# Controls whether the window of this type is to be always considered focused.
|
||||||
|
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||||
|
#
|
||||||
|
# full-shadow:::
|
||||||
|
# Controls whether shadow is drawn under the parts of the window that you
|
||||||
|
# normally won't be able to see. Useful when the window has parts of it
|
||||||
|
# transparent, and you want shadows in those areas.
|
||||||
|
#
|
||||||
|
# redir-ignore:::
|
||||||
|
# Controls whether this type of windows should cause screen to become
|
||||||
|
# redirected again after been unredirected. If you have unredir-if-possible
|
||||||
|
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||||
|
# you can set this to `true`.
|
||||||
|
#
|
||||||
|
wintypes:
|
||||||
|
{
|
||||||
|
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||||
|
dock = { shadow = false; }
|
||||||
|
dnd = { shadow = false; }
|
||||||
|
popup_menu = { opacity = 1; }
|
||||||
|
dropdown_menu = { opacity = 1; }
|
||||||
|
};
|
||||||
287
.config/polybar/config
Normal file
287
.config/polybar/config
Normal file
|
|
@ -0,0 +1,287 @@
|
||||||
|
[colors]
|
||||||
|
; Palenight colorscheme https://github.com/JonathanSpeek/palenight-iterm2
|
||||||
|
black = #292d3e
|
||||||
|
red = #f07178
|
||||||
|
green = #c3e88d
|
||||||
|
yellow = #ffcb6b
|
||||||
|
blue = #82aaff
|
||||||
|
magenta = #c792ea
|
||||||
|
cyan = #89ddff
|
||||||
|
white = #d0d0d0
|
||||||
|
|
||||||
|
black-lighter = #434758
|
||||||
|
red-lighter = #ff8b92
|
||||||
|
green-lighter = #ddffa7
|
||||||
|
yellow-lighter = #ffe585
|
||||||
|
blue-lighter = #9cc4ff
|
||||||
|
magenta-lighter = #9cc4ff
|
||||||
|
cyan-lighter = #9cc4ff
|
||||||
|
white-lighter = ffffff
|
||||||
|
|
||||||
|
background = ${colors.black}
|
||||||
|
; background = #ee292d3e
|
||||||
|
foreground = ${colors.white}
|
||||||
|
|
||||||
|
[bar/mybar]
|
||||||
|
monitor = ${env:MONITOR:}
|
||||||
|
width = 100%
|
||||||
|
height = ${env:HEIGHT:27}
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
radius = 0.0
|
||||||
|
fixed-center = false
|
||||||
|
bottom=true
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 0
|
||||||
|
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
font-0 = ${env:FONT0:pango:monospace:size=10;1}
|
||||||
|
font-1 = ${env:FONT1:NotoEmoji:scale=10:antialias=false;0}
|
||||||
|
font-2 = ${env:FONT2:fontawesome:pixelsize=10;1}
|
||||||
|
font-3 = ${env:FONT3:JetBrains Mono Nerd Font:monospace:size=10;1}
|
||||||
|
|
||||||
|
modules-left = i3
|
||||||
|
; modules-center = test
|
||||||
|
modules-right = ${env:RIGHT_BLOCKS}
|
||||||
|
|
||||||
|
tray-position = ${env:TRAY:right}
|
||||||
|
tray-padding = 0
|
||||||
|
tray-maxsize = 16
|
||||||
|
;tray-background = #0063ff
|
||||||
|
|
||||||
|
wm-restack = i3
|
||||||
|
; override-redirect = true
|
||||||
|
|
||||||
|
scroll-up = i3wm-wsnext
|
||||||
|
scroll-down = i3wm-wsprev
|
||||||
|
|
||||||
|
; cursor-click = pointer
|
||||||
|
; cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
[module/test]
|
||||||
|
type = custom/script
|
||||||
|
exec = echo "%{u#0000ff}%{+u} hello %{u-}"
|
||||||
|
|
||||||
|
[module/ipstack]
|
||||||
|
type = custom/script
|
||||||
|
exec = /home/pavel/bin/polybar/ipstack.sh
|
||||||
|
interval = 1200
|
||||||
|
|
||||||
|
[module/ipstack-vpn]
|
||||||
|
type = custom/script
|
||||||
|
exec = /home/pavel/bin/polybar/ipstack-vpn.sh
|
||||||
|
interval = 1200
|
||||||
|
|
||||||
|
[module/aw-afk]
|
||||||
|
type = custom/script
|
||||||
|
exec = /home/pavel/bin/polybar/aw_afk.sh
|
||||||
|
interval = 60
|
||||||
|
|
||||||
|
[module/sun]
|
||||||
|
type = custom/script
|
||||||
|
exec = /home/pavel/bin/polybar/sun.sh
|
||||||
|
interval = 60
|
||||||
|
|
||||||
|
[module/SEP]
|
||||||
|
type = custom/text
|
||||||
|
content = "|"
|
||||||
|
content-foreground = ${colors.magenta}
|
||||||
|
content-padding = 0
|
||||||
|
content-margin = 0
|
||||||
|
|
||||||
|
[module/TSEP]
|
||||||
|
type = custom/script
|
||||||
|
exec = /home/pavel/bin/polybar/tray-sep.sh
|
||||||
|
format-foreground = ${colors.magenta}
|
||||||
|
interval = 0
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
|
||||||
|
; Only show workspaces on the same output as the bar
|
||||||
|
pin-workspaces = true
|
||||||
|
|
||||||
|
label-mode-padding = 1
|
||||||
|
label-mode-foreground = #000
|
||||||
|
label-mode-background = ${colors.blue}
|
||||||
|
|
||||||
|
; focused = Active workspace on focused monitor
|
||||||
|
label-focused = %name%
|
||||||
|
label-focused-background = ${colors.background}
|
||||||
|
label-focused-underline= ${colors.blue}
|
||||||
|
label-focused-padding = 1
|
||||||
|
|
||||||
|
; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = %name%
|
||||||
|
label-unfocused-padding = 1
|
||||||
|
|
||||||
|
; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = %name%
|
||||||
|
label-visible-background = ${self.label-focused-background}
|
||||||
|
label-visible-underline = ${self.label-focused-underline}
|
||||||
|
label-visible-padding = ${self.label-focused-padding}
|
||||||
|
|
||||||
|
; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = %name%
|
||||||
|
label-urgent-background = ${colors.red}
|
||||||
|
label-urgent-foreground = ${colors.black}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
; label-separator = |
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
format = <label-layout>
|
||||||
|
|
||||||
|
format-underline = ${colors.magenta}
|
||||||
|
label-layout = %icon%
|
||||||
|
layout-icon-0 = ru;RU
|
||||||
|
layout-icon-1 = us;US
|
||||||
|
|
||||||
|
[module/mpd]
|
||||||
|
type = internal/mpd
|
||||||
|
|
||||||
|
format-playing = <toggle> <label-time> <label-song>
|
||||||
|
format-paused = <toggle> <label-time> <label-song>
|
||||||
|
format-stopped =
|
||||||
|
label-song = [%album-artist%] %title%
|
||||||
|
label-time = %elapsed%/%total%
|
||||||
|
|
||||||
|
label-song-maxlen = 30
|
||||||
|
label-song-ellipsis = true
|
||||||
|
|
||||||
|
format-playing-underline = ${colors.yellow}
|
||||||
|
format-paused-underline = ${colors.yellow}
|
||||||
|
format-stopped-underline = ${colors.yellow}
|
||||||
|
|
||||||
|
label-separator = kek
|
||||||
|
separator-foreground = ${colors.red}
|
||||||
|
|
||||||
|
icon-pause =
|
||||||
|
icon-play =
|
||||||
|
icon-stop =
|
||||||
|
icon-prev = 1
|
||||||
|
icon-next = 2
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
use-ui-max = true
|
||||||
|
|
||||||
|
bar-volume-width = 7
|
||||||
|
bar-volume-foreground-0 = ${colors.white}
|
||||||
|
bar-volume-foreground-1 = ${colors.yellow}
|
||||||
|
bar-volume-foreground-2 = ${colors.yellor}
|
||||||
|
bar-volume-foreground-3 = ${colors.blue}
|
||||||
|
bar-volume-foreground-4 = ${colors.blue}
|
||||||
|
bar-volume-foreground-5 = ${colors.green}
|
||||||
|
bar-volume-foreground-6 = ${colors.green}
|
||||||
|
bar-volume-gradient = false
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.white-lighter}
|
||||||
|
|
||||||
|
format-volume = ♪ <bar-volume> <label-volume>
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
format-mute = ♪ <label-muted>
|
||||||
|
label-muted = MUTE
|
||||||
|
|
||||||
|
format-volume-underline = ${colors.white}
|
||||||
|
format-muted-underline = ${colors.black-lighter}
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
format = <label>
|
||||||
|
label = %percentage%%
|
||||||
|
|
||||||
|
format-underline = ${colors.green-lighter}
|
||||||
|
|
||||||
|
[module/ram-memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 10
|
||||||
|
|
||||||
|
ramp-used-0 = ▁
|
||||||
|
ramp-used-1 = ▂
|
||||||
|
ramp-used-2 = ▃
|
||||||
|
ramp-used-3 = ▄
|
||||||
|
ramp-used-4 = ▅
|
||||||
|
ramp-used-5 = ▆
|
||||||
|
ramp-used-6 = ▇
|
||||||
|
ramp-used-7 = █
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
label=%gb_used:.1f%
|
||||||
|
|
||||||
|
format-underline = ${colors.blue}
|
||||||
|
|
||||||
|
[module/swap-memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 10
|
||||||
|
|
||||||
|
label= %gb_swap_used:.1f%
|
||||||
|
format-underline = ${colors.yellow}
|
||||||
|
|
||||||
|
[module/network]
|
||||||
|
type = internal/network
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
interface = wlp35s0f3u2
|
||||||
|
|
||||||
|
; format-connected = [<ramp-signal>] <label-connected>
|
||||||
|
|
||||||
|
label-connected = ↓ %downspeed% ↑ %upspeed%
|
||||||
|
label-disconnected = X
|
||||||
|
|
||||||
|
format-connected-underline = ${colors.green}
|
||||||
|
format-disconnected-underline = ${colors.red}
|
||||||
|
|
||||||
|
ramp-signal-0 = 0
|
||||||
|
ramp-signal-1 = 1
|
||||||
|
ramp-signal-2 = 2
|
||||||
|
ramp-signal-3 = 3
|
||||||
|
ramp-signal-4 = 4
|
||||||
|
ramp-signal-5 = 5
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
date =
|
||||||
|
date-alt = "%Y-%m-%d"
|
||||||
|
|
||||||
|
time = %H:%M
|
||||||
|
time-alt = %H:%M:%S
|
||||||
|
|
||||||
|
format-underline = ${colors.cyan}
|
||||||
|
label = "%date% %time%"
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
;compositing-background = xor
|
||||||
|
;compositing-background = screen
|
||||||
|
;compositing-foreground = source
|
||||||
|
;compositing-border = over
|
||||||
|
;pseudo-transparency = false
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 0
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
118
.config/ptpython/config.py
Normal file
118
.config/ptpython/config.py
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from prompt_toolkit.filters import ViInsertMode
|
||||||
|
from prompt_toolkit.key_binding.key_processor import KeyPress
|
||||||
|
from prompt_toolkit.keys import Keys
|
||||||
|
|
||||||
|
from ptpython.layout import CompletionVisualisation
|
||||||
|
|
||||||
|
__all__ = ("configure",)
|
||||||
|
|
||||||
|
|
||||||
|
def configure(repl):
|
||||||
|
"""
|
||||||
|
Configuration method. This is called during the start-up of ptpython.
|
||||||
|
:param repl: `PythonRepl` instance.
|
||||||
|
"""
|
||||||
|
# Show function signature (bool).
|
||||||
|
repl.show_signature = True
|
||||||
|
|
||||||
|
# Show docstring (bool).
|
||||||
|
repl.show_docstring = False
|
||||||
|
|
||||||
|
# Show the "[Meta+Enter] Execute" message when pressing [Enter] only
|
||||||
|
# inserts a newline instead of executing the code.
|
||||||
|
repl.show_meta_enter_message = True
|
||||||
|
|
||||||
|
# Show completions. (NONE, POP_UP, MULTI_COLUMN or TOOLBAR)
|
||||||
|
repl.completion_visualisation = CompletionVisualisation.POP_UP
|
||||||
|
|
||||||
|
# When CompletionVisualisation.POP_UP has been chosen, use this
|
||||||
|
# scroll_offset in the completion menu.
|
||||||
|
repl.completion_menu_scroll_offset = 0
|
||||||
|
|
||||||
|
# Show line numbers (when the input contains multiple lines.)
|
||||||
|
repl.show_line_numbers = True
|
||||||
|
|
||||||
|
# Show status bar.
|
||||||
|
repl.show_status_bar = True
|
||||||
|
|
||||||
|
# When the sidebar is visible, also show the help text.
|
||||||
|
repl.show_sidebar_help = True
|
||||||
|
|
||||||
|
# Swap light/dark colors on or off
|
||||||
|
repl.swap_light_and_dark = False
|
||||||
|
|
||||||
|
# Highlight matching parethesis.
|
||||||
|
repl.highlight_matching_parenthesis = True
|
||||||
|
|
||||||
|
# Line wrapping. (Instead of horizontal scrolling.)
|
||||||
|
repl.wrap_lines = True
|
||||||
|
|
||||||
|
# Mouse support.
|
||||||
|
repl.enable_mouse_support = True
|
||||||
|
|
||||||
|
# Complete while typing. (Don't require tab before the
|
||||||
|
# completion menu is shown.)
|
||||||
|
repl.complete_while_typing = True
|
||||||
|
|
||||||
|
# Fuzzy and dictionary completion.
|
||||||
|
repl.enable_fuzzy_completion = True
|
||||||
|
repl.enable_dictionary_completion = True
|
||||||
|
|
||||||
|
# Vi mode.
|
||||||
|
repl.vi_mode = True
|
||||||
|
|
||||||
|
# Paste mode. (When True, don't insert whitespace after new line.)
|
||||||
|
repl.paste_mode = False
|
||||||
|
|
||||||
|
# Use the classic prompt. (Display '>>>' instead of 'In [1]'.)
|
||||||
|
repl.prompt_style = "ipython" # 'classic' or 'ipython'
|
||||||
|
|
||||||
|
# Don't insert a blank line after the output.
|
||||||
|
repl.insert_blank_line_after_output = False
|
||||||
|
|
||||||
|
# History Search.
|
||||||
|
# When True, going back in history will filter the history on the records
|
||||||
|
# starting with the current input. (Like readline.)
|
||||||
|
# Note: When enable, please disable the `complete_while_typing` option.
|
||||||
|
# otherwise, when there is a completion available, the arrows will
|
||||||
|
# browse through the available completions instead of the history.
|
||||||
|
repl.enable_history_search = False
|
||||||
|
|
||||||
|
# Enable auto suggestions. (Pressing right arrow will complete the input,
|
||||||
|
# based on the history.)
|
||||||
|
repl.enable_auto_suggest = False
|
||||||
|
|
||||||
|
# Enable open-in-editor. Pressing C-x C-e in emacs mode or 'v' in
|
||||||
|
# Vi navigation mode will open the input in the current editor.
|
||||||
|
repl.enable_open_in_editor = True
|
||||||
|
|
||||||
|
# Enable system prompt. Pressing meta-! will display the system prompt.
|
||||||
|
# Also enables Control-Z suspend.
|
||||||
|
repl.enable_system_bindings = True
|
||||||
|
|
||||||
|
# Ask for confirmation on exit.
|
||||||
|
repl.confirm_exit = True
|
||||||
|
|
||||||
|
# Enable input validation. (Don't try to execute when the input contains
|
||||||
|
# syntax errors.)
|
||||||
|
repl.enable_input_validation = True
|
||||||
|
|
||||||
|
# Use this colorscheme for the code.
|
||||||
|
repl.use_code_colorscheme("inkpot")
|
||||||
|
|
||||||
|
# Set color depth (keep in mind that not all terminals support true color).
|
||||||
|
|
||||||
|
# repl.color_depth = 'DEPTH_1_BIT' # Monochrome.
|
||||||
|
# repl.color_depth = 'DEPTH_4_BIT' # ANSI colors only.
|
||||||
|
# repl.color_depth = "DEPTH_8_BIT" # The default, 256 colors.
|
||||||
|
repl.color_depth = 'DEPTH_24_BIT' # True color.
|
||||||
|
|
||||||
|
# Syntax.
|
||||||
|
repl.enable_syntax_highlighting = True
|
||||||
|
|
||||||
|
@repl.add_key_binding('j', 'j', filter=ViInsertMode())
|
||||||
|
def _(event):
|
||||||
|
" Map 'jj' to Escape. "
|
||||||
|
event.cli.key_processor.feed(KeyPress(Keys.Escape))
|
||||||
20
.config/pudb/pudb.cfg
Normal file
20
.config/pudb/pudb.cfg
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
[pudb]
|
||||||
|
breakpoints_weight = 1
|
||||||
|
current_stack_frame = top
|
||||||
|
custom_shell =
|
||||||
|
custom_stringifier =
|
||||||
|
custom_theme =
|
||||||
|
default_variables_access_level = public
|
||||||
|
display = auto
|
||||||
|
hide_cmdline_win = False
|
||||||
|
line_numbers = True
|
||||||
|
prompt_on_quit = True
|
||||||
|
seen_welcome = e036
|
||||||
|
shell = internal
|
||||||
|
sidebar_width = 0.6710886400000001
|
||||||
|
stack_weight = 1
|
||||||
|
stringifier = type
|
||||||
|
theme = monokai-256
|
||||||
|
variables_weight = 4.76837158203125
|
||||||
|
wrap_variables = True
|
||||||
|
|
||||||
0
.config/pudb/saved-breakpoints-3.7
Normal file
0
.config/pudb/saved-breakpoints-3.7
Normal file
25
.config/pulseaudio-ctl/config
Normal file
25
.config/pulseaudio-ctl/config
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# $HOME/.config/pulseaudio-ctl/config
|
||||||
|
#
|
||||||
|
|
||||||
|
# The default setting is for pulseaudio-ctl to NOT increase to volume level
|
||||||
|
# above 100 % but Some users may wish exceed this level. If this describes
|
||||||
|
# your use case, uncomment the UPPER_THRESHOLD variable below setting it to
|
||||||
|
# the new upper threshold.
|
||||||
|
#
|
||||||
|
UPPER_THRESHOLD=150
|
||||||
|
|
||||||
|
# Push output through libnotify. Set to any value to enable this feature
|
||||||
|
# and note that you must have /usr/bin/notify-send to use this. On Arch
|
||||||
|
# libnotify provides this. Other distros may not name it as such.
|
||||||
|
#
|
||||||
|
#NOTIFY=yes
|
||||||
|
|
||||||
|
# Show a graphical progress-bar type visualization of the volume level in
|
||||||
|
# libnotify. No setting or commented out will show a simply percentage but
|
||||||
|
# a setting will convert the percentage to a progress-bar in libnotify.
|
||||||
|
#
|
||||||
|
#BARCHART=yes
|
||||||
|
|
||||||
|
# Use KDE OSD notification. Set to any value to enable this feature.
|
||||||
|
#KDE_OSD=yes
|
||||||
58
.config/qutebrowser/autoconfig.yml
Normal file
58
.config/qutebrowser/autoconfig.yml
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
# If a config.py file exists, this file is ignored unless it's explicitly loaded
|
||||||
|
# via config.load_autoconfig(). For more information, see:
|
||||||
|
# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml
|
||||||
|
# DO NOT edit this file by hand, qutebrowser will overwrite it.
|
||||||
|
# Instead, create a config.py - see :help for details.
|
||||||
|
|
||||||
|
config_version: 2
|
||||||
|
settings:
|
||||||
|
colors.webpage.darkmode.enabled:
|
||||||
|
global: false
|
||||||
|
content.media.audio_capture:
|
||||||
|
https://sqrtminusone.ddns.net:1984: true
|
||||||
|
content.media.audio_video_capture:
|
||||||
|
https://sqrtminusone.ddns.net:1984: true
|
||||||
|
content.media.video_capture:
|
||||||
|
https://sqrtminusone.ddns.net:1984: true
|
||||||
|
content.notifications:
|
||||||
|
https://demo.freshrss.org: false
|
||||||
|
https://original-films.com: false
|
||||||
|
https://sqrtminusone.ddns.net: false
|
||||||
|
https://sqrtminusone.ddns.net:1985: false
|
||||||
|
https://thepiratebay.org: false
|
||||||
|
https://www.reddit.com: false
|
||||||
|
content.register_protocol_handler:
|
||||||
|
https://mail.google.com?extsrc=mailto&url=%25s: false
|
||||||
|
fonts.default_family:
|
||||||
|
global: monospace
|
||||||
|
fonts.default_size:
|
||||||
|
global: 12pt
|
||||||
|
fonts.web.family.fixed:
|
||||||
|
global: monospace
|
||||||
|
fonts.web.size.default_fixed:
|
||||||
|
global: 16
|
||||||
|
statusbar.widgets:
|
||||||
|
global:
|
||||||
|
- keypress
|
||||||
|
- url
|
||||||
|
- scroll
|
||||||
|
- history
|
||||||
|
- tabs
|
||||||
|
url.open_base_url:
|
||||||
|
global: false
|
||||||
|
url.searchengines:
|
||||||
|
global:
|
||||||
|
DEFAULT: https://duckduckgo.com/?q={}
|
||||||
|
g: https://www.google.com/search?hl=en&q={}
|
||||||
|
url.start_pages:
|
||||||
|
global: https://start.duckduckgo.com
|
||||||
|
url.yank_ignored_parameters:
|
||||||
|
global:
|
||||||
|
- ref
|
||||||
|
- utm_source
|
||||||
|
- utm_medium
|
||||||
|
- utm_campaign
|
||||||
|
- utm_term
|
||||||
|
- utm_content
|
||||||
|
zoom.default:
|
||||||
|
global: '125'
|
||||||
84
.config/qutebrowser/config.py
Normal file
84
.config/qutebrowser/config.py
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
import os
|
||||||
|
import dracula.draw
|
||||||
|
|
||||||
|
from qutebrowser.api import interceptor
|
||||||
|
|
||||||
|
def filter_yt(info: interceptor.Request):
|
||||||
|
"""Block the given request if necessary."""
|
||||||
|
url = info.request_url
|
||||||
|
if (url.host() == 'www.youtube.com' and
|
||||||
|
url.path() == '/get_video_info' and
|
||||||
|
'&adformat=' in url.query()):
|
||||||
|
info.block()
|
||||||
|
|
||||||
|
|
||||||
|
interceptor.register(filter_yt)
|
||||||
|
|
||||||
|
config.load_autoconfig()
|
||||||
|
|
||||||
|
config.unbind('gt', mode='normal')
|
||||||
|
config.bind('gt', 'tab-next')
|
||||||
|
config.bind('gT', 'tab-prev')
|
||||||
|
config.bind('gN', 'tab-close')
|
||||||
|
config.bind('gn', 'tab-clone')
|
||||||
|
|
||||||
|
c.fonts.default_size = '10pt'
|
||||||
|
c.fonts.default_family = 'monospace'
|
||||||
|
c.fonts.web.size.default_fixed = 13
|
||||||
|
|
||||||
|
# config.unbind('T', mode='normal')
|
||||||
|
# config.bind('T', 'set-cmd-text -s :buffer')
|
||||||
|
|
||||||
|
# c.content.javascript.enabled = False
|
||||||
|
|
||||||
|
config.bind('\\t', 'set-cmd-text -s :buffer')
|
||||||
|
config.bind('\\b', 'set-cmd-text -s :bookmark-load')
|
||||||
|
config.bind('\\ww', ':open file:///home/pavel/Documents/org-mode/Bookmarks/bookmarks.html')
|
||||||
|
|
||||||
|
config.bind('\\z1', 'set zoom.default 100 ;; set fonts.default_size 10pt')
|
||||||
|
config.bind('\\z2', 'set zoom.default 125 ;; set fonts.default_size 12pt')
|
||||||
|
|
||||||
|
if c.colors.webpage.darkmode.enabled:
|
||||||
|
config.bind('\\d', 'set colors.webpage.darkmode.enabled False ;; restart')
|
||||||
|
else:
|
||||||
|
config.bind('\\d', 'set colors.webpage.darkmode.enabled True ;; restart')
|
||||||
|
|
||||||
|
|
||||||
|
# config.unbind('<Escape>', mode='insert')
|
||||||
|
config.bind('<Shift-Escape>', 'fake-key <Escape>', mode='insert')
|
||||||
|
|
||||||
|
RUSSIAN = 'йцукенгшщзхъфывапролджэячсмитьбю.'
|
||||||
|
ENGLISH = 'qwertyuiop[]asdfghjkl;\'zxcvbnm,./'
|
||||||
|
|
||||||
|
c.bindings.key_mappings = {
|
||||||
|
**{r: e for r, e in zip(RUSSIAN, ENGLISH)},
|
||||||
|
**{r.upper(): e.upper() for r, e in zip(RUSSIAN, ENGLISH)}
|
||||||
|
}
|
||||||
|
|
||||||
|
c.editor.command = [
|
||||||
|
'nvim',
|
||||||
|
'-f',
|
||||||
|
'{file}',
|
||||||
|
'-c',
|
||||||
|
'normal {line}G{column0}l'
|
||||||
|
]
|
||||||
|
|
||||||
|
c.scrolling.bar = 'always'
|
||||||
|
c.url.searchengines = {
|
||||||
|
"DEFAULT": "https://duckduckgo.com/?q={}",
|
||||||
|
"g": "https://www.google.com/search?hl=en&q={}"
|
||||||
|
}
|
||||||
|
|
||||||
|
c.zoom.levels = ['25%', '33%', '50%', '67%', '75%', '90%', '100%', '110%',
|
||||||
|
'125%', '133%', '150%', '175%', '200%', '250%', '300%',
|
||||||
|
'400%', '500%']
|
||||||
|
|
||||||
|
if os.uname().nodename == 'pavel-ntk':
|
||||||
|
c.zoom.default = '133%'
|
||||||
|
|
||||||
|
dracula.draw.blood(c, {
|
||||||
|
'spacing': {
|
||||||
|
'vertical': 6,
|
||||||
|
'horizontal': 8
|
||||||
|
}
|
||||||
|
})
|
||||||
152
.config/rofi/config.rasi
Normal file
152
.config/rofi/config.rasi
Normal file
|
|
@ -0,0 +1,152 @@
|
||||||
|
* {
|
||||||
|
black: #292d3e;
|
||||||
|
red: #f07178;
|
||||||
|
green: #c3e88d;
|
||||||
|
yellow: #ffcb6b;
|
||||||
|
blue: #82aaff;
|
||||||
|
magenta: #82aaff;
|
||||||
|
cyan: #89ddff;
|
||||||
|
white: #d0d0d0;
|
||||||
|
black-alternate: #393F57;
|
||||||
|
black-lighter: #434758;
|
||||||
|
red-lighter: #ff8b92;
|
||||||
|
green-lighter: #ddffa7;
|
||||||
|
yellow-lighter: #ffe585;
|
||||||
|
blue-lighter: #9cc4ff;
|
||||||
|
magenta-lighter: #e1acff;
|
||||||
|
cyan-lighter: #a3f7ff;
|
||||||
|
white-lighter: #ffffff;
|
||||||
|
|
||||||
|
foreground: @white;
|
||||||
|
background: @black;
|
||||||
|
background-color: @black;
|
||||||
|
separatorcolor: @magenta;
|
||||||
|
border-color: @magenta;
|
||||||
|
selected-normal-foreground: @black;
|
||||||
|
selected-normal-background: @magenta;
|
||||||
|
selected-active-foreground: @black;
|
||||||
|
selected-active-background: @blue;
|
||||||
|
selected-urgent-foreground: @foreground;
|
||||||
|
selected-urgent-background: @red;
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
normal-background: @background;
|
||||||
|
active-foreground: @blue;
|
||||||
|
active-background: @background;
|
||||||
|
urgent-foreground: @red;
|
||||||
|
urgent-background: @background;
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: @black-alternate;
|
||||||
|
alternate-active-foreground: @blue;
|
||||||
|
alternate-active-background: @black-alternate;
|
||||||
|
alternate-urgent-foreground: @red;
|
||||||
|
alternate-urgent-background: @black-alternate;
|
||||||
|
spacing: 2;
|
||||||
|
}
|
||||||
|
window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 1;
|
||||||
|
padding: 5;
|
||||||
|
}
|
||||||
|
mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
message {
|
||||||
|
border: 1px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
spacing: 2px ;
|
||||||
|
scrollbar: true;
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
}
|
||||||
|
element {
|
||||||
|
border: 0;
|
||||||
|
padding: 1px ;
|
||||||
|
}
|
||||||
|
element normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
element normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
element selected.active {
|
||||||
|
background-color: @selected-active-background;
|
||||||
|
text-color: @selected-active-foreground;
|
||||||
|
}
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: @alternate-normal-background;
|
||||||
|
text-color: @alternate-normal-foreground;
|
||||||
|
}
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: @alternate-urgent-background;
|
||||||
|
text-color: @alternate-urgent-foreground;
|
||||||
|
}
|
||||||
|
element alternate.active {
|
||||||
|
background-color: @alternate-active-background;
|
||||||
|
text-color: @alternate-active-foreground;
|
||||||
|
}
|
||||||
|
scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
border: 0;
|
||||||
|
handle-color: @normal-foreground;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
sidebar {
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
button selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
spacing: 0px;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 1px ;
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
}
|
||||||
|
case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
margin: 0px 0.3000em 0.0000em 0.0000em ;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
76
.config/starship.toml
Normal file
76
.config/starship.toml
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
[character]
|
||||||
|
symbol = "➤ "
|
||||||
|
vicmd_symbol = "ᐊ "
|
||||||
|
error_symbol = " "
|
||||||
|
use_symbol_for_status = true
|
||||||
|
|
||||||
|
[aws]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[battery]
|
||||||
|
full_symbol = ""
|
||||||
|
charging_symbol = ""
|
||||||
|
discharging_symbol = ""
|
||||||
|
|
||||||
|
[conda]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[cmd_duration]
|
||||||
|
min_time = 500
|
||||||
|
prefix = "祥"
|
||||||
|
|
||||||
|
[docker]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elixir]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[elm]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
truncation_length = 20
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[haskell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[hg_branch]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[julia]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[memory_usage]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nim]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nix_shell]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[package]
|
||||||
|
symbol = " "
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
symbol = " "
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = " "
|
||||||
339
.config/vifm/colors/COPYING
Normal file
339
.config/vifm/colors/COPYING
Normal file
|
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
||||||
28
.config/vifm/colors/ChangeLog
Normal file
28
.config/vifm/colors/ChangeLog
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
0.9 to current
|
||||||
|
Add new color scheme: gruvbox (Thanks laur89)
|
||||||
|
Add new color scheme: iceberg (Thanks puven12)
|
||||||
|
Add new color scheme: dracula (Thanks EgZvor)
|
||||||
|
Add new color scheme: molokai (Thanks mimadrid)
|
||||||
|
Add missing `:highlight clear` to:
|
||||||
|
* lucius
|
||||||
|
* reicheltd-light
|
||||||
|
|
||||||
|
Update near-default scheme:
|
||||||
|
* Add CmpMismatch (since vifm v0.9).
|
||||||
|
* Add one more document type: mobi.
|
||||||
|
* Support change of terminal background.
|
||||||
|
|
||||||
|
0.8.2 to 0.9
|
||||||
|
Add new color scheme: lucius (Thanks francogonzaga)
|
||||||
|
Add new color scheme: SemiDarkDesert (Thanks clausED)
|
||||||
|
Add new color scheme: near-default (Thanks xaizek)
|
||||||
|
Clean up info in README
|
||||||
|
|
||||||
|
0.8 to 0.8.2
|
||||||
|
Add GPL-2 license file
|
||||||
|
|
||||||
|
Add new color scheme: ph (Thanks pihao)
|
||||||
|
Add new color scheme: reicheltd-light (Thanks reicheltd)
|
||||||
|
Add new color scheme: snowwhite (Thanks durcheinandr)
|
||||||
|
Add new color scheme: semidarkdesert (Thanks clausED)
|
||||||
|
Add new color scheme: near-default
|
||||||
65
.config/vifm/colors/Default.vifm
Normal file
65
.config/vifm/colors/Default.vifm
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
" 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 (set bold attribute):
|
||||||
|
" LightBlack
|
||||||
|
" LightRed
|
||||||
|
" LightGreen
|
||||||
|
" LightYellow
|
||||||
|
" LightBlue
|
||||||
|
" LightMagenta
|
||||||
|
" LightCyan
|
||||||
|
" LightWhite
|
||||||
|
|
||||||
|
" Available attributes (some of them can be combined):
|
||||||
|
" bold
|
||||||
|
" underline
|
||||||
|
" reverse or inverse
|
||||||
|
" standout
|
||||||
|
" 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 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 ctermfg=default ctermbg=blue
|
||||||
|
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 JobLine cterm=bold,reverse ctermfg=black ctermbg=white
|
||||||
59
.config/vifm/colors/README.md
Normal file
59
.config/vifm/colors/README.md
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
# vifm-colors
|
||||||
|
|
||||||
|
Various colorschemes for [vifm](https://vifm.info/):
|
||||||
|
- astrell (by astrell)
|
||||||
|
- darkdesert (by langner)
|
||||||
|
- Default
|
||||||
|
- desert
|
||||||
|
- dracula (by EgZvor)
|
||||||
|
- g80
|
||||||
|
- gruvbox (by laur89)
|
||||||
|
- iceberg (by puven12)
|
||||||
|
- lucius (by francogonzaga)
|
||||||
|
- matrix
|
||||||
|
- mc-like (by Petteri Knihti)
|
||||||
|
- molokai (by Miguel Madrid Mencía)
|
||||||
|
- near-default
|
||||||
|
- ph (by pihao)
|
||||||
|
- reicheltd-light (by reicheltd)
|
||||||
|
- semidarkdesert (by clausED)
|
||||||
|
- snowwhite (by durcheinandr)
|
||||||
|
- solarized-dark
|
||||||
|
- zenburn
|
||||||
|
- zenburn_1 (by frgm)
|
||||||
|
|
||||||
|
The solarized-dark theme is based on [istib](https://github.com/istib)'s [version](https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Distribution
|
||||||
|
Some distributions offer a package for vifm color schemes. In this case you can install them easily using your package manager.
|
||||||
|
|
||||||
|
#### openSUSE
|
||||||
|
|
||||||
|
```
|
||||||
|
zypper in vifm-colors
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual
|
||||||
|
If you would like to have just one theme you could download it via wget, for example:
|
||||||
|
|
||||||
|
`wget -P ~/.vifm/colors https://raw.githubusercontent.com/vifm/vifm-colors/master/solarized-dark.vifm`
|
||||||
|
|
||||||
|
If you prefer to download all themes you could set it up with git, and stay up to date.
|
||||||
|
|
||||||
|
`rm -rf ~/.config/vifm/colors`
|
||||||
|
|
||||||
|
`git clone https://github.com/vifm/vifm-colors ~/.config/vifm/colors`
|
||||||
|
|
||||||
|
To check for updates just type `git pull` in `~/.config/vifm/colors`.
|
||||||
|
|
||||||
|
*Note:* replace `~/.config/vifm` with `~/.vifm` in commands above if you store your configuration there.
|
||||||
|
|
||||||
|
## Preview
|
||||||
|
A preview of all color themes contained in this repository are available at [the official vifm site](https://vifm.info/colorschemes.shtml).
|
||||||
|
|
||||||
|
## Set a theme
|
||||||
|
Load with `:colorscheme theme-name` in vifm, or write `colorscheme theme-name` in vifm's configuration file `~/.config/vifm/vifmrc`.
|
||||||
|
|
||||||
|
If you have any color themes that are not in this repo, feel free to fork, add it and send a pull request!
|
||||||
33
.config/vifm/colors/astrell.vifm
Normal file
33
.config/vifm/colors/astrell.vifm
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
" by astrell
|
||||||
|
" with builtin regular/root user differentiation
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=131
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=white
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=default ctermbg=default
|
||||||
|
|
||||||
|
highlight StatusLine cterm=none ctermfg=black ctermbg=white
|
||||||
|
highlight WildMenu cterm=none ctermfg=default ctermbg=153
|
||||||
|
|
||||||
|
highlight CmdLine cterm=none ctermfg=white ctermbg=black
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=red ctermbg=default
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=0 ctermbg=224
|
||||||
|
highlight Directory cterm=bold ctermfg=17 ctermbg=default
|
||||||
|
highlight Link cterm=none ctermfg=94 ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=160 ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=91 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=52 ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=105 ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=23 ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=default ctermbg=182
|
||||||
|
highlight CurrLine cterm=bold ctermfg=238 ctermbg=153
|
||||||
|
highlight OtherLine cterm=default ctermfg=default ctermbg=default
|
||||||
|
|
||||||
|
" overwrite some colors for root user
|
||||||
|
if $USER == 'root'
|
||||||
|
highlight Win cterm=none ctermfg=0 ctermbg=182
|
||||||
|
highlight Selected cterm=bold ctermfg=default ctermbg=217
|
||||||
|
endif
|
||||||
1
.config/vifm/colors/create_themes.md
Normal file
1
.config/vifm/colors/create_themes.md
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
To port themes from vim to vifm [this](http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim) is helpful to look up colors.
|
||||||
24
.config/vifm/colors/darkdesert.vifm
Normal file
24
.config/vifm/colors/darkdesert.vifm
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
" Dark Desert
|
||||||
|
" by Karol M. Langner
|
||||||
|
" based on Desert by Michael jubalh Vetter
|
||||||
|
" https://github.com/vifm/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=220 ctermbg=233
|
||||||
|
highlight Directory cterm=bold ctermfg=77 ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=239 ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=24 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
|
||||||
|
highlight TopLine cterm=none ctermfg=124 ctermbg=235
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=124 ctermbg=235
|
||||||
|
highlight StatusLine cterm=bold ctermfg=124 ctermbg=235
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||||
|
highlight CmdLine cterm=none ctermfg=217 ctermbg=black
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=235
|
||||||
23
.config/vifm/colors/desert.vifm
Normal file
23
.config/vifm/colors/desert.vifm
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
" Desert
|
||||||
|
" by Michael jubalh Vetter
|
||||||
|
" https://github.com/jubalh/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=220 ctermbg=237
|
||||||
|
highlight Directory cterm=bold ctermfg=77 ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=239 ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=24 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=white
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight StatusLine cterm=bold ctermfg=red ctermbg=white
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||||
|
highlight CmdLine cterm=none ctermfg=217 ctermbg=black
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=white
|
||||||
45
.config/vifm/colors/dracula.vifm
Normal file
45
.config/vifm/colors/dracula.vifm
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
" VIFM COLORS
|
||||||
|
" dracula
|
||||||
|
" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
|
||||||
|
|
||||||
|
" 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
|
||||||
|
|
||||||
|
" STYLES
|
||||||
|
" bold
|
||||||
|
" underline
|
||||||
|
" reverse or inverse
|
||||||
|
" standout
|
||||||
|
" none
|
||||||
|
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=default ctermbg=none
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=blue ctermbg=none
|
||||||
|
highlight TopLineSel cterm=none ctermfg=magenta ctermbg=none
|
||||||
|
highlight StatusLine cterm=none ctermfg=blue ctermbg=none
|
||||||
|
highlight Border cterm=none ctermfg=blue ctermbg=none
|
||||||
|
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=236 ctermbg=blue
|
||||||
|
|
||||||
|
highlight WildMenu cterm=none,reverse ctermfg=blue ctermbg=236
|
||||||
|
highlight CmdLine cterm=none ctermfg=255 ctermbg=236
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
|
||||||
|
|
||||||
|
highlight Directory cterm=none ctermfg=blue ctermbg=default
|
||||||
|
highlight Link cterm=none ctermfg=cyan ctermbg=default
|
||||||
|
highlight BrokenLink cterm=none ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=none ctermfg=magenta ctermbg=black
|
||||||
|
highlight Device cterm=none ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=none ctermfg=yellow ctermbg=black
|
||||||
|
highlight Executable cterm=none ctermfg=green ctermbg=default
|
||||||
28
.config/vifm/colors/g80.vifm
Normal file
28
.config/vifm/colors/g80.vifm
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
" G80
|
||||||
|
|
||||||
|
" Reset all styles first
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Border cterm=none ctermfg=237 ctermbg=237
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight TopLineSel cterm=underline ctermfg=188 ctermbg=237
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Directory cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight CurrLine cterm=none ctermfg=188 ctermbg=236
|
||||||
|
highlight OtherLine cterm=none ctermfg=247 ctermbg=237
|
||||||
|
highlight Selected cterm=none ctermfg=188 ctermbg=238
|
||||||
|
|
||||||
|
highlight JobLine cterm=bold ctermfg=188 ctermbg=238
|
||||||
|
highlight StatusLine cterm=none ctermfg=188 ctermbg=235
|
||||||
|
highlight WildMenu cterm=none ctermfg=188 ctermbg=238
|
||||||
|
highlight CmdLine cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=188 ctermbg=237
|
||||||
|
|
||||||
|
highlight Executable cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Link cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight BrokenLink cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Device cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Fifo cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Socket cterm=none ctermfg=188 ctermbg=237
|
||||||
30
.config/vifm/colors/gruvbox.vifm
Normal file
30
.config/vifm/colors/gruvbox.vifm
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
" gruvbox color scheme approximation for vifm
|
||||||
|
|
||||||
|
" Reset all styles first
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Border cterm=none ctermfg=235 ctermbg=default
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=214 ctermbg=235
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=214 ctermbg=237
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=223 ctermbg=default
|
||||||
|
"highlight OtherWin cterm=none ctermfg=223 ctermbg=236
|
||||||
|
highlight Directory cterm=bold ctermfg=109 ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold,inverse ctermfg=default ctermbg=default
|
||||||
|
highlight OtherLine cterm=bold ctermfg=default ctermbg=235
|
||||||
|
highlight Selected cterm=none ctermfg=223 ctermbg=237
|
||||||
|
|
||||||
|
highlight JobLine cterm=bold ctermfg=116 ctermbg=238
|
||||||
|
highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
|
||||||
|
highlight ErrorMsg cterm=bold ctermfg=167 ctermbg=default
|
||||||
|
highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
|
||||||
|
highlight CmdLine cterm=none ctermfg=223 ctermbg=default
|
||||||
|
|
||||||
|
highlight Executable cterm=bold ctermfg=142 ctermbg=default
|
||||||
|
highlight Link cterm=none ctermfg=132 ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=167 ctermbg=default
|
||||||
|
highlight Device cterm=none,standout ctermfg=214 ctermbg=default
|
||||||
|
highlight Fifo cterm=none ctermfg=172 ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=223 ctermbg=default
|
||||||
|
|
||||||
29
.config/vifm/colors/iceberg.vifm
Normal file
29
.config/vifm/colors/iceberg.vifm
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
" iceberg
|
||||||
|
" by puven12
|
||||||
|
"
|
||||||
|
" This colorscheme is based on iceberg colorscheme for vim
|
||||||
|
" by cocopon
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=255 ctermbg=234
|
||||||
|
highlight Directory cterm=bold ctermfg=109 ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=216 ctermbg=234
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=239
|
||||||
|
highlight Socket cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=150 ctermbg=default
|
||||||
|
highlight Executable cterm=none ctermfg=150 ctermbg=default
|
||||||
|
highlight Selected cterm=none ctermfg=255 ctermbg=236
|
||||||
|
highlight CurrLine cterm=reverse
|
||||||
|
highlight TopLine cterm=none ctermfg=255 ctermbg=234
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=110 ctermbg=default
|
||||||
|
highlight StatusLine cterm=none ctermfg=240 ctermbg=235
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=255 ctermbg=black
|
||||||
|
highlight CmdLine cterm=none ctermfg=255 ctermbg=234
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=203 ctermbg=234
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=234
|
||||||
|
highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=255
|
||||||
|
highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
|
||||||
|
highlight CmpMismatch cterm=bold ctermfg=255 ctermbg=red
|
||||||
|
highlight AuxWin cterm=bold,underline,reverse,standout ctermfg=default ctermbg=default
|
||||||
25
.config/vifm/colors/lucius.vifm
Normal file
25
.config/vifm/colors/lucius.vifm
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
" lucius
|
||||||
|
" by francogonzaga
|
||||||
|
"
|
||||||
|
" https://gist.github.com/francogonzaga/5509523
|
||||||
|
"
|
||||||
|
" This color scheme is loosely based on the lucius color scheme for vim
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
highlight Win cterm=none ctermfg=250 ctermbg=236
|
||||||
|
highlight Directory cterm=bold ctermfg=4 ctermbg=236
|
||||||
|
highlight Link cterm=bold ctermfg=yellow ctermbg=236
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=none
|
||||||
|
highlight Socket cterm=bold ctermfg=magenta ctermbg=black
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=black
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=none
|
||||||
|
highlight Executable cterm=bold ctermfg=112 ctermbg=236
|
||||||
|
highlight Selected cterm=none ctermfg=236 ctermbg=208
|
||||||
|
highlight CurrLine cterm=bold ctermfg=251 ctermbg=240
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=240
|
||||||
|
highlight TopLineSel cterm=none ctermfg=250 ctermbg=12
|
||||||
|
highlight StatusLine cterm=bold ctermfg=255 ctermbg=12
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||||
|
highlight CmdLine cterm=none ctermfg=white ctermbg=240
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=250 ctermbg=124
|
||||||
|
highlight Border cterm=none ctermfg=236 ctermbg=236
|
||||||
27
.config/vifm/colors/matrix.vifm
Normal file
27
.config/vifm/colors/matrix.vifm
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
" Matrix
|
||||||
|
" by Michael jubalh Vetter
|
||||||
|
" https://github.com/jubalh/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=green ctermbg=black
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=green ctermbg=none
|
||||||
|
highlight TopLineSel cterm=none ctermfg=green ctermbg=none
|
||||||
|
highlight StatusLine cterm=none ctermfg=green ctermbg=none
|
||||||
|
highlight Border cterm=none ctermfg=green ctermbg=none
|
||||||
|
|
||||||
|
highlight Selected cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=black ctermbg=green
|
||||||
|
|
||||||
|
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 Directory cterm=none ctermfg=blue ctermbg=default
|
||||||
|
highlight Link cterm=none ctermfg=yellow ctermbg=default
|
||||||
|
highlight BrokenLink cterm=none ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=none ctermfg=yellow ctermbg=default
|
||||||
|
highlight Device cterm=none ctermfg=yellow ctermbg=default
|
||||||
|
highlight Fifo cterm=none ctermfg=yellow ctermbg=default
|
||||||
|
highlight Executable cterm=none ctermfg=green ctermbg=default
|
||||||
26
.config/vifm/colors/mc-like.vifm
Normal file
26
.config/vifm/colors/mc-like.vifm
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
" mimicking midnight commander
|
||||||
|
" by Petteri Knihti
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=white ctermbg=blue
|
||||||
|
|
||||||
|
highlight CurrLine cterm=none ctermfg=black ctermbg=cyan
|
||||||
|
highlight Selected cterm=bold ctermfg=yellow ctermbg=default
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=cyan
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=yellow ctermbg=cyan
|
||||||
|
highlight StatusLine cterm=none ctermfg=black ctermbg=cyan
|
||||||
|
highlight Border cterm=none ctermfg=none ctermbg=blue
|
||||||
|
|
||||||
|
highlight WildMenu cterm=reverse ctermfg=black ctermbg=white
|
||||||
|
highlight CmdLine cterm=none ctermfg=white ctermbg=black
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=red 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 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
|
||||||
31
.config/vifm/colors/molokai.vifm
Normal file
31
.config/vifm/colors/molokai.vifm
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
" Molokai
|
||||||
|
" by Miguel Madrid Mencia
|
||||||
|
" https://github.com/vifm/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=232
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight CmdLine cterm=none ctermfg=white ctermbg=black
|
||||||
|
highlight CurrLine cterm=bold ctermfg=default ctermbg=208
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Directory cterm=bold ctermfg=12 ctermbg=default
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
|
||||||
|
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight OtherLine cterm=bold ctermfg=default ctermbg=130
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight StatusLine cterm=none ctermfg=white ctermbg=233
|
||||||
|
highlight SuggestBox cterm=none ctermfg=white ctermbg=black
|
||||||
|
highlight TopLine cterm=none ctermfg=15 ctermbg=233
|
||||||
|
highlight TopLineSel cterm=none ctermfg=148 ctermbg=default
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||||
|
highlight Win cterm=none ctermfg=white ctermbg=black
|
||||||
|
|
||||||
|
if $USER == 'root'
|
||||||
|
highlight Border cterm=none ctermfg=default ctermbg=red
|
||||||
|
highlight StatusLine cterm=none ctermfg=white ctermbg=red
|
||||||
|
highlight TopLine cterm=none ctermfg=default ctermbg=red
|
||||||
|
endif
|
||||||
89
.config/vifm/colors/near-default.vifm
Normal file
89
.config/vifm/colors/near-default.vifm
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
" vim: filetype=vifm :
|
||||||
|
|
||||||
|
" xterm color customization:
|
||||||
|
"
|
||||||
|
" ! regular (not bold) red
|
||||||
|
" XTerm*color1: #ff3030
|
||||||
|
" ! regular (not bold) green
|
||||||
|
" XTerm*color2: #70dd70
|
||||||
|
" ! regular (not bold) yellow
|
||||||
|
" XTerm*color3: #f0f000
|
||||||
|
" ! regular (not bold) blue
|
||||||
|
" XTerm*color4: #6060dd
|
||||||
|
" ! bold red
|
||||||
|
" XTerm*color9: #ff8080
|
||||||
|
" ! bold green
|
||||||
|
" XTerm*color10: #20dd20
|
||||||
|
" ! bold yellow
|
||||||
|
" XTerm*color11: #e0e000
|
||||||
|
" ! bold blue
|
||||||
|
" XTerm*color12: #a8a8ff
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
highlight Win cterm=none ctermfg=white ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight Device cterm=bold,reverse ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=bold,reverse ctermfg=cyan ctermbg=default
|
||||||
|
highlight CurrLine cterm=reverse,bold ctermfg=default ctermbg=default
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=white
|
||||||
|
highlight TopLineSel cterm=underline ctermfg=black ctermbg=default
|
||||||
|
highlight StatusLine cterm=none ctermfg=black ctermbg=white
|
||||||
|
highlight WildMenu cterm=underline,bold,reverse ctermfg=yellow ctermbg=black
|
||||||
|
highlight CmdLine cterm=bold ctermfg=white ctermbg=default
|
||||||
|
highlight ErrorMsg cterm=bold ctermfg=white ctermbg=red
|
||||||
|
highlight Border cterm=none ctermfg=white ctermbg=default
|
||||||
|
highlight OtherLine cterm=reverse ctermfg=234 ctermbg=white
|
||||||
|
highlight SuggestBox cterm=bold,reverse ctermfg=cyan ctermbg=default
|
||||||
|
|
||||||
|
" no 256-color palette on Windows
|
||||||
|
if $OS == 'Windows_NT'
|
||||||
|
highlight Directory cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=yellow ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
highlight Directory cterm=bold ctermfg=123 ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=229 ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=119 ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=213 ctermbg=default
|
||||||
|
highlight CmpMismatch cterm=bold ctermfg=white ctermbg=88
|
||||||
|
|
||||||
|
" software documentation
|
||||||
|
highlight {COPYRIGHT,COPYING*,BUGS,ChangeLog*,FAQ,INSTALL*,LICEN[CS]E,NEWS,
|
||||||
|
\README*,AUTHORS,TODO,THANKS}
|
||||||
|
\ cterm=none ctermfg=187 ctermbg=default
|
||||||
|
" build system files
|
||||||
|
highlight {Makefile,Makefile.am,Makefile.in,Makefile.win,*.mak,*.mk,
|
||||||
|
\CMakeLists.txt}
|
||||||
|
\ cterm=none ctermfg=121 ctermbg=default
|
||||||
|
" archives
|
||||||
|
highlight {*.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}
|
||||||
|
\ cterm=none ctermfg=215 ctermbg=default
|
||||||
|
" documents
|
||||||
|
highlight {*.djvu,*.htm,*.html,*.shtml,*.css,*.markdown,*.md,*[^0-9].[1-9],
|
||||||
|
\*.mkd,*.org,*.pandoc,*.pdc,*.pdf,*.epub,*.fb2,*.tex,*.txt,*.xhtml,
|
||||||
|
\*.xml,*.pptx,*.ppt,*.doc,*.docx,*.xls,*.xls[mx],*.mobi}
|
||||||
|
\ cterm=none ctermfg=217 ctermbg=default
|
||||||
|
" media
|
||||||
|
highlight {*.aac,*.anx,*.asf,*.au,*.avi,*.ts,*.axa,*.axv,*.divx,*.flac,*.m2a,
|
||||||
|
\*.m2v,*.m4a,*.m4p,*.m4v,*.mid,*.midi,*.mka,*.mkv,*.mov,*.mp3,*.mp4,
|
||||||
|
\*.flv,*.mp4v,*.mpc,*.mpeg,*.mpg,*.nuv,*.oga,*.ogg,*.ogv,*.ogx,*.pbm,
|
||||||
|
\*.pgm,*.qt,*.ra,*.ram,*.rm,*.spx,*.vob,*.wav,*.wma,*.wmv,*.xvid,
|
||||||
|
\*.ac3}
|
||||||
|
\ cterm=none ctermfg=49 ctermbg=default
|
||||||
|
" images
|
||||||
|
highlight {*.bmp,*.gif,*.jpeg,*.jpg,*.ico,*.png,*.ppm,*.svg,*.svgz,*.tga,*.tif,
|
||||||
|
\*.tiff,*.xbm,*.xcf,*.xpm,*.xspf,*.xwd}
|
||||||
|
\ cterm=none ctermfg=117 ctermbg=default
|
||||||
|
" executables
|
||||||
|
highlight {*.sh,*.bash,*.bat,*.btm,*.cmd,*.com,*.dll,*.exe,*.run,*.msu,*.msi}
|
||||||
|
\ cterm=none ctermfg=77 ctermbg=default
|
||||||
|
" source code
|
||||||
|
highlight {*.patch,*.diff,*.py,*.[ch]pp,*.mk,*.c,*.h,*.[ch]pp,*.cc,*.hs,*.php}
|
||||||
|
\ cterm=none ctermfg=193 ctermbg=default
|
||||||
27
.config/vifm/colors/ph.vifm
Normal file
27
.config/vifm/colors/ph.vifm
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
" ph
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=248 ctermbg=234
|
||||||
|
highlight Directory cterm=bold ctermfg=033 ctermbg=234
|
||||||
|
highlight Link cterm=bold ctermfg=yellow ctermbg=234
|
||||||
|
highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=125 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=166 ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=255 ctermbg=237
|
||||||
|
highlight CurrLine cterm=bold ctermfg=default ctermbg=237
|
||||||
|
highlight TopLine cterm=bold ctermfg=black ctermbg=235
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
|
||||||
|
highlight StatusLine cterm=bold ctermfg=black ctermbg=235
|
||||||
|
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=234
|
||||||
|
highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
|
||||||
|
highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
|
||||||
|
|
||||||
|
if $USER == 'root'
|
||||||
|
highlight Border ctermbg=red
|
||||||
|
endif
|
||||||
28
.config/vifm/colors/reicheltd-light.vifm
Normal file
28
.config/vifm/colors/reicheltd-light.vifm
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
" vim: filetype=vifm :
|
||||||
|
|
||||||
|
" Author: Daniel R. (a.k.a. reicheltd)
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=236 ctermbg=255
|
||||||
|
highlight Directory cterm=bold ctermfg=21 ctermbg=255
|
||||||
|
highlight Link cterm=bold ctermfg=39 ctermbg=default
|
||||||
|
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=blue ctermbg=default
|
||||||
|
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=200 ctermbg=default
|
||||||
|
|
||||||
|
highlight CurrLine cterm=bold ctermfg=255 ctermbg=27
|
||||||
|
highlight TopLine cterm=none ctermfg=236 ctermbg=255
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=236 ctermbg=255
|
||||||
|
|
||||||
|
highlight StatusLine cterm=bold ctermfg=236 ctermbg=255
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=236 ctermbg=255
|
||||||
|
highlight CmdLine cterm=none ctermfg=236 ctermbg=255
|
||||||
|
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=red ctermbg=236
|
||||||
|
highlight Border cterm=none ctermfg=236 ctermbg=255
|
||||||
23
.config/vifm/colors/semidarkdesert.vifm
Normal file
23
.config/vifm/colors/semidarkdesert.vifm
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
" SemiDarkDesert
|
||||||
|
" by Claus E. Durst, based on 'Desert' by Michael jubalh Vetter
|
||||||
|
" https://github.com/clausED/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=220 ctermbg=233
|
||||||
|
highlight Directory cterm=bold ctermfg=77 ctermbg=default
|
||||||
|
highlight Link cterm=bold ctermfg=239 ctermbg=default
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=bold ctermfg=24 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=31 ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=green ctermbg=default
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=131 ctermbg=228
|
||||||
|
highlight TopLine cterm=none ctermfg=black ctermbg=248
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight StatusLine cterm=bold ctermfg=red ctermbg=248
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
|
||||||
|
highlight CmdLine cterm=none ctermfg=217 ctermbg=black
|
||||||
|
highlight ErrorMsg cterm=none ctermfg=7 ctermbg=1
|
||||||
|
highlight Border cterm=none ctermfg=black ctermbg=240
|
||||||
31
.config/vifm/colors/snowwhite.vifm
Normal file
31
.config/vifm/colors/snowwhite.vifm
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
" snowwhite
|
||||||
|
" Author: Jochen Schweizer
|
||||||
|
" https://github.com/durcheinandr/vifm-colors
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight SuggestBox cterm=none ctermfg=16 ctermbg=231
|
||||||
|
highlight Win cterm=none ctermfg=16 ctermbg=231
|
||||||
|
highlight Directory cterm=bold ctermfg=16 ctermbg=231
|
||||||
|
highlight Link cterm=none ctermfg=16 ctermbg=231
|
||||||
|
|
||||||
|
highlight BrokenLink cterm=bold ctermfg=196 ctermbg=231
|
||||||
|
highlight Socket cterm=none ctermfg=16 ctermbg=231
|
||||||
|
highlight Device cterm=none ctermfg=16 ctermbg=231
|
||||||
|
|
||||||
|
highlight Fifo cterm=none ctermfg=16 ctermbg=231
|
||||||
|
highlight Executable cterm=none ctermfg=16 ctermbg=231
|
||||||
|
highlight Selected cterm=none ctermfg=208 ctermbg=231
|
||||||
|
|
||||||
|
highlight CurrLine cterm=none ctermfg=231 ctermbg=208
|
||||||
|
highlight TopLine cterm=none ctermfg=16 ctermbg=255
|
||||||
|
highlight TopLineSel cterm=none ctermfg=231 ctermbg=16
|
||||||
|
|
||||||
|
highlight StatusLine cterm=bold ctermfg=16 ctermbg=255
|
||||||
|
highlight WildMenu cterm=underline,reverse ctermfg=16 ctermbg=231
|
||||||
|
highlight CmdLine cterm=none ctermfg=16 ctermbg=231
|
||||||
|
|
||||||
|
highlight ErrorMsg cterm=bold ctermfg=196 ctermbg=231
|
||||||
|
highlight Border cterm=none ctermfg=16 ctermbg=255
|
||||||
|
|
||||||
|
|
||||||
45
.config/vifm/colors/solarized-dark.vifm
Normal file
45
.config/vifm/colors/solarized-dark.vifm
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
" VIFM COLORS
|
||||||
|
" solarized dark
|
||||||
|
" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
|
||||||
|
|
||||||
|
" 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
|
||||||
|
|
||||||
|
" STYLES
|
||||||
|
" bold
|
||||||
|
" underline
|
||||||
|
" reverse or inverse
|
||||||
|
" standout
|
||||||
|
" none
|
||||||
|
|
||||||
|
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=default ctermbg=none
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=blue ctermbg=none
|
||||||
|
highlight TopLineSel cterm=none ctermfg=blue ctermbg=none
|
||||||
|
highlight StatusLine cterm=none ctermfg=blue ctermbg=none
|
||||||
|
highlight Border cterm=none ctermfg=blue ctermbg=none
|
||||||
|
|
||||||
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
|
highlight CurrLine cterm=bold ctermfg=default ctermbg=blue
|
||||||
|
|
||||||
|
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 Directory cterm=none ctermfg=cyan ctermbg=default
|
||||||
|
highlight Link cterm=none ctermfg=yellow ctermbg=default
|
||||||
|
highlight BrokenLink cterm=none ctermfg=red ctermbg=default
|
||||||
|
highlight Socket cterm=none ctermfg=magenta ctermbg=default
|
||||||
|
highlight Device cterm=none ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=none ctermfg=cyan ctermbg=default
|
||||||
|
highlight Executable cterm=none ctermfg=green ctermbg=default
|
||||||
22
.config/vifm/colors/zenburn.vifm
Normal file
22
.config/vifm/colors/zenburn.vifm
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=245 ctermbg=234
|
||||||
|
highlight Directory cterm=bold ctermfg=166 ctermbg=234
|
||||||
|
highlight Link cterm=bold ctermfg=yellow ctermbg=234
|
||||||
|
highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
|
||||||
|
|
||||||
|
highlight Socket cterm=bold ctermfg=125 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=0x2aa198 ctermbg=default
|
||||||
|
|
||||||
|
highlight Selected cterm=bold ctermfg=125 ctermbg=235
|
||||||
|
highlight CurrLine cterm=bold ctermfg=245 ctermbg=235
|
||||||
|
|
||||||
|
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
|
||||||
29
.config/vifm/colors/zenburn_1.vifm
Normal file
29
.config/vifm/colors/zenburn_1.vifm
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
" zenburn like color scheme for vifm
|
||||||
|
" http://kippura.org/zenburnpage/
|
||||||
|
|
||||||
|
" Reset all styles first
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Border cterm=none ctermfg=235 ctermbg=237
|
||||||
|
|
||||||
|
highlight TopLine cterm=none ctermfg=108 ctermbg=235
|
||||||
|
highlight TopLineSel cterm=bold ctermfg=186 ctermbg=235
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=188 ctermbg=237
|
||||||
|
highlight Directory cterm=none ctermfg=108 ctermbg=237
|
||||||
|
highlight CurrLine cterm=none ctermfg=223 ctermbg=235
|
||||||
|
highlight OtherLine cterm=none ctermfg=247 ctermbg=237
|
||||||
|
highlight Selected cterm=none ctermfg=116 ctermbg=238
|
||||||
|
|
||||||
|
highlight JobLine cterm=bold ctermfg=116 ctermbg=238
|
||||||
|
highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
|
||||||
|
highlight ErrorMsg cterm=bold ctermfg=115 ctermbg=237
|
||||||
|
highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
|
||||||
|
highlight CmdLine cterm=none ctermfg=188 ctermbg=237
|
||||||
|
|
||||||
|
highlight Executable cterm=none ctermfg=172 ctermbg=237
|
||||||
|
highlight Link cterm=none ctermfg=142 ctermbg=237
|
||||||
|
highlight BrokenLink cterm=none ctermfg=174 ctermbg=237
|
||||||
|
highlight Device cterm=none ctermfg=228 ctermbg=237
|
||||||
|
highlight Fifo cterm=none ctermfg=109 ctermbg=237
|
||||||
|
highlight Socket cterm=none ctermfg=110 ctermbg=237
|
||||||
6
.config/vifm/scripts/README
Normal file
6
.config/vifm/scripts/README
Normal file
|
|
@ -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.
|
||||||
6104
.config/vifm/vifm-help.txt
Normal file
6104
.config/vifm/vifm-help.txt
Normal file
File diff suppressed because it is too large
Load diff
28
.config/vifm/vifm_devicons/.github/ISSUE_TEMPLATE.md
vendored
Normal file
28
.config/vifm/vifm_devicons/.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#### Requirements
|
||||||
|
|
||||||
|
If you are **not** sure whether or not what you are reporting is actually an issue **or** you have a general question please message in the [Gitter Chat Room](https://gitter.im/ryanoasis/vim-devicons)
|
||||||
|
|
||||||
|
These items you must provide answers to. Make sure to add **all the information needed to understand the bug** so that someone can help. If the info is missing we'll add the 'Needs more information' label and _may_ choose to close the issue until there is enough information.
|
||||||
|
|
||||||
|
Please acknowledge that you understand by marking off the following list items below with an 'x'
|
||||||
|
|
||||||
|
|
||||||
|
_--- ✂ snip ✂ --- Delete this line and all of the ^above^ after reading and before submitting your issue please --- ✂ snip ✂ ---_
|
||||||
|
|
||||||
|
|
||||||
|
#### Required Info
|
||||||
|
|
||||||
|
- [ ] I have searched the [issues](https://github.com/ryanoasis/vim-devicons/issues) for my issue and found nothing related and/or helpful
|
||||||
|
- [ ] I have read or at least glanced at the [FAQ](https://github.com/ryanoasis/vim-devicons/wiki/FAQ-&-Troubleshooting)
|
||||||
|
- [ ] I have read or at least glanced at the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki)
|
||||||
|
- [ ] `VimDevIcons` is the last loaded vim plugin?
|
||||||
|
- [ ] What **version** of vim are you using?
|
||||||
|
- hint: `vim --version`
|
||||||
|
- [ ] What **version** of vim-devicons are you using?
|
||||||
|
- hint: `:echo webdevicons#version()`
|
||||||
|
- [ ] Are you using vim from the terminal or a GUI vim?
|
||||||
|
- [ ] Are you using Mac, Linux or Windows?
|
||||||
|
|
||||||
|
#### Optional Info
|
||||||
|
|
||||||
|
- [ ] Provide **screenshots** where appropriate
|
||||||
15
.config/vifm/vifm_devicons/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
15
.config/vifm/vifm_devicons/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
#### Requirements (please check off with 'x')
|
||||||
|
|
||||||
|
- [ ] I have read the [Contributing Guidelines](https://github.com/ryanoasis/vim-devicons/blob/master/contributing.md)
|
||||||
|
- [ ] I have read or at least glanced at the [FAQ](https://github.com/ryanoasis/vim-devicons#faq--troubleshooting)
|
||||||
|
- [ ] I have read or at least glanced at the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki)
|
||||||
|
|
||||||
|
#### What does this Pull Request (PR) do?
|
||||||
|
|
||||||
|
#### How should this be manually tested?
|
||||||
|
|
||||||
|
#### Any background context you can provide?
|
||||||
|
|
||||||
|
#### What are the relevant tickets (if any)?
|
||||||
|
|
||||||
|
#### Screenshots (if appropriate or helpful)
|
||||||
2
.config/vifm/vifm_devicons/.gitignore
vendored
Normal file
2
.config/vifm/vifm_devicons/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
doc/tags
|
||||||
|
__pycache__/
|
||||||
8
.config/vifm/vifm_devicons/.travis.yml
Normal file
8
.config/vifm/vifm_devicons/.travis.yml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
language: python
|
||||||
|
python: "3.8"
|
||||||
|
|
||||||
|
install:
|
||||||
|
- pip install vim-vint
|
||||||
|
|
||||||
|
script:
|
||||||
|
- vint --verbose --stat $(find . -type f -name '*.vim')
|
||||||
249
.config/vifm/vifm_devicons/CHANGELOG.md
Normal file
249
.config/vifm/vifm_devicons/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
CHANGELOG
|
||||||
|
================================================================================
|
||||||
|
This project is using [Semantic Versioning 2.0.0](http://semver.org/)
|
||||||
|
|
||||||
|
- v0.11.0
|
||||||
|
- Added Docker filetypes support (PR #228) (@IngoHeimbach)
|
||||||
|
- Added Swift filetypes support (PR #252) (@motform)
|
||||||
|
- Added Elixir filetypes support (PR #244) (@akoutmos)
|
||||||
|
- Added configuration for 'prePadding' (fixes #231)
|
||||||
|
- Added support for `vue` filetype extensions out-of-the-box (fixes #235)
|
||||||
|
- Added configuration for 'DevIconsArtifactFix' (#225)
|
||||||
|
- Added leftrelease override to work on single mouse click (PR #246) (@Matrix86)
|
||||||
|
- Added Travis CI with vim linting (PR #236) (@kutsan)
|
||||||
|
- Fixed Vim-Startify no longer working "out of the box" (#233)
|
||||||
|
- Fixed Denite information being discarded (fixes #216) (PR #229 @carlitux)
|
||||||
|
- Fixed inconsistent spacing between folder and file glyphs (fixes #213)
|
||||||
|
- Updated variable declarations and refactored into set function (PR #237) (@kutsan)
|
||||||
|
- Updated plugin initialization functions to autoload on demand (PR #238) (@kutsan)
|
||||||
|
- Updated documentation and refactored massively to Wiki (PR #232) (@kutsan)
|
||||||
|
- Updated `vim` glyph to better glyph (fixes #234)
|
||||||
|
- Updated Readme screenshots and badges
|
||||||
|
- v0.10.0
|
||||||
|
- Added support for symlink directories (PR #221) (@mhartington)
|
||||||
|
- Added missing Denite config in readme (PR #217, fixes #205) (@mohamadLy)
|
||||||
|
- Fixed NERDTree folder open bug with cascade setting (fixes #194)
|
||||||
|
- Fixed potential issue with Vim-Airline (PR #219) (@chrisbra)
|
||||||
|
- Fixed readme.md (removed duplicate section) (PR #222) (@thehappydinoa)
|
||||||
|
- Updated Vim-Airline Repo link in readme (PR #220) (@chrisbra)
|
||||||
|
- v0.9.3
|
||||||
|
- Added `tsx` filetype (PR #210) (@dustinblackman)
|
||||||
|
- Updated links of [deprecated kien/ctrlp](https://github.com/kien/ctrlp.vim) to [active ctrlp fork](https://github.com/ctrlpvim/ctrlp.vim) (PR #211) (@haxorjim)
|
||||||
|
- Updated MacOS and Windows `guifont` examples with alternate format (fixes #208)
|
||||||
|
- v0.9.2
|
||||||
|
- Added `yaml` filetype (PR #207) (@jpoppe)
|
||||||
|
- Added mention of `vim-workspace` as an integrated plugin (PR #206) (@bagrat)
|
||||||
|
- Fixed NERDTree keymap `U` open folder icon bug (fixes #189)
|
||||||
|
- v0.9.1
|
||||||
|
- Added `sass` filetype (PR #202) (@toastal)
|
||||||
|
- Fixed NERDTree open/close folder icon bugs (fixes #194)
|
||||||
|
- Fixed airline conflict with file enconding `skip_expected_string` feature (fixes #203)
|
||||||
|
- Fixed possible glyph artifacts on open/close folder glyphs
|
||||||
|
- v0.9.0
|
||||||
|
- Added support for [Denite](https://github.com/Shougo/denite.nvim) (PR #191) (@0phoff)
|
||||||
|
- Added symbol for byte order marker (BOM) (utf-8) (PR #199) (@Snaptags)
|
||||||
|
- Added support for `.zshrc`, `.vimrc`, `pp` (Puppet classes extensions), and `Vagrantfile` filetypes (enhancement #200) (@kiyanwang)
|
||||||
|
- Added support for `h`, `hpp`, `hxx` (C/C++ header filetype extensions) (enhancement #190)
|
||||||
|
- Added support for `bash`, `zsh`, `ksh`, `csh`, `awk`, `ps1` (script extensions) (enhancement #196)
|
||||||
|
- Added support for `rmd` (R Markdown) (partially fixes #195)
|
||||||
|
- Fixes opened folders titles padding/spacing offset (fixes #197)
|
||||||
|
- v0.8.6
|
||||||
|
- Added support for vimfiler explorer mode (fixes #171)
|
||||||
|
- Added `doc/tags` to `.gitignore` (PR #182) (@doronbehar)
|
||||||
|
- Added warning to readme pertaining to old versions of NERDTree and CtrlP (PR #177, fixes #174) (@Melon-Bread)
|
||||||
|
- Fixes CtrlP buffer names (PR #185) (@HerringtonDarkholme)
|
||||||
|
- Fixes character encoding issue in vim doc (PR #178) (@mhartington)
|
||||||
|
- Fixes extraneous space after glyph in airline (PR #184) (@tbodt)
|
||||||
|
- Fixes errors when NERDTree not present (PR #187) (@blueyed)
|
||||||
|
- Updated Contributor Covenant to `v1.4`
|
||||||
|
- Updated API examples
|
||||||
|
- v0.8.5
|
||||||
|
- Fixed errors in neovim (E670) (PR #163, fixes #162) (@mhartington)
|
||||||
|
- Fixed issue of updating NERDTree window via `CursorHoldUpdate` (PR #166) (@svanharmelen)
|
||||||
|
- Fixes updating of special buffer when selected
|
||||||
|
- Fixes potential issues CtrlP opening in wrong buffer when NERDTree is opened
|
||||||
|
- Fixed issue with CtrlP `:CtrlPMRU` always defaulting to current buffer (fixes #88)
|
||||||
|
- Also adds glyphs to other CtrlP modes besides MRU as a side effect
|
||||||
|
- Fixed documentation discrepency on pluging load order (PR #169) (@F1LT3R)
|
||||||
|
- Fixed documentation related to CtrlP MRU mode (PR #170, fixes #168) (@F1LT3R)
|
||||||
|
- v0.8.4
|
||||||
|
- Fixed always warning about deprecated CtrlP version (fixes #137)
|
||||||
|
- Fixed missing configuration info about pattern based symbols (fixes #152)
|
||||||
|
- Fixed `WebDevIconsGetFileTypeSymbol` method iterator missing `break` (PR #156) (@blueyed)
|
||||||
|
- Fixed a typo in the readme (PR #159) (@SSARCandy)
|
||||||
|
- Added reference to [tiagofumo/vim-nerdtree-syntax-highlight](https://github.com/tiagofumo/vim-nerdtree-syntax-highlight) in readme (PR #161) (@tiagofumo)
|
||||||
|
- However, the [FAQ](https://github.com/ryanoasis/vim-devicons/wiki/FAQ) has been moved to the [Wiki](https://github.com/ryanoasis/vim-devicons/wiki) in this release
|
||||||
|
- v0.8.3
|
||||||
|
- Fixed NERDTree not displaying glyph (icon) for newly created files (fixes #153)
|
||||||
|
- Also adds info to readme about `updatetime`
|
||||||
|
- Fixed resourcing `vimrc` not maintaining current NERDTree state (fixes #154)
|
||||||
|
- Adds new public methods `webdevicons#hardRefresh()` and `webdevicons#softRefresh()`
|
||||||
|
- Makes public method `webdevicons#refresh()` do a 'soft' refresh
|
||||||
|
- Fixed various source formatting and implemented most of vim lint ([vint](https://github.com/Kuniwak/vint)) recommendations
|
||||||
|
- Added public methods available to readme
|
||||||
|
- v0.8.2
|
||||||
|
- Updated `jsx` filetype (using React glyph) (enhancement PR #148) (@alpertuna)
|
||||||
|
- Added issue and pull request templates
|
||||||
|
- v0.8.1
|
||||||
|
- Fixed Unite display issues (absolute paths and/or duplicate paths) (fixes #140)
|
||||||
|
- Fixed custom CtrlP open function causing 'E16' (fixes #115)
|
||||||
|
- Fixed typo in readme for setting default folder glyph (PR #143)
|
||||||
|
- Added documentation for highlighting icon/glyphs only (not just entire lines) in NERDTree (fixes #142)
|
||||||
|
- v0.8.0
|
||||||
|
- Added support for more [unite](https://github.com/Shougo/unite.vim) actions: `file_rec/async`, `file_rec/neovim`, `file_rec/neovim2`, `file_rec/git` (enhancement PR #132, fixes #131) (@mhartington)
|
||||||
|
- Improved Darwin detection by using a lighter method/logic (#135) (@delphinus35)
|
||||||
|
- Fixes `NERDTree-C` (fix PR #139) (@endenwer)
|
||||||
|
- Fixes error using open/close symbols for folder (fixes #130)
|
||||||
|
- v0.7.1
|
||||||
|
- Misc readme updates
|
||||||
|
- Fixed performance issues and odd graphical artifacts in v0.7.0 (fixes #127)
|
||||||
|
- Improved installation instructions and re-organized some items to [Nerd Fonts repo](https://github.com/ryanoasis/nerd-fonts) (PR #129, fixes #125, #128) (@her)
|
||||||
|
- v0.7.0
|
||||||
|
- Deprecated support for [kien/ctrlp](https://github.com/kien/ctrlp.vim) and only support [active ctrlp fork](https://github.com/ctrlpvim/ctrlp.vim) going forward (fixes #117)
|
||||||
|
- Added information to readme about [vim-startify](https://github.com/mhinz/vim-startify) support (enhancement #94)
|
||||||
|
- Added information to readme with possible fix to 'Dots after icons' (fixes #110) (@KabbAmine)
|
||||||
|
- Added support for 'cljc' (Clojure) filetypes (fix PR #120) (@spacepluk)
|
||||||
|
- Fixed certain folders in NERDTree showing file glyphs (based on pattern matching) (fixes #112)
|
||||||
|
- Fixed OS icon being display with as Linux Tux on Mac (fixes #118,fix PR #121) (@trodrigu)
|
||||||
|
- Fixed deprecated Linux font path in readme (fix PR #123) (@jrobeson)
|
||||||
|
- v0.6.1
|
||||||
|
- Fixed likely breaking bug: undefined variable g:DevIconsEnableFoldersOpenClose (fixes #109)
|
||||||
|
- Fixed up the changelog details
|
||||||
|
- v0.6.0
|
||||||
|
- Added support for [Powerline](https://github.com/powerline/powerline) (enhancement PR #74) (@delphinus35)
|
||||||
|
- Added support for 'ts' (TypeScript) filetypes (enhancement #79)
|
||||||
|
- Added support for 'jl' (Julia) filetypes
|
||||||
|
- Added support for 'bat' (batch) filetypes
|
||||||
|
- Added support for 'ejs' (Embedded JavaScript Templates) filetypes (enhancement #105) (@lerrua)
|
||||||
|
- Added support for 'react.jsx' filetype
|
||||||
|
- Added support for 'procfile' filetype
|
||||||
|
- Changed default 'go' filetype glyph to a better one
|
||||||
|
- Added open & close folder glyphs (icons) (enhancement #104)
|
||||||
|
- Fixed new files not having icons until refreshing NERDTree (fixes #33)
|
||||||
|
- Solution very similar to [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin)
|
||||||
|
- v0.5.4
|
||||||
|
- Misc readme updates
|
||||||
|
- Add support for ocaml 'ml', 'mli' filetypes (enhancement PR #99) (@CharlieMartell)
|
||||||
|
- Add support for 'sql' and 'dump' filetypes (enhancement PR #100) (@lerrua)
|
||||||
|
- Add support for 'ico' filetypes (enhancement PR #101) (@lerrua)
|
||||||
|
- Add support for 'markdown' filetypes (enhancement PR #102) (@lerrua)
|
||||||
|
- Improved install fonts instructions on Mac (enhancement PR #103) (@lerrua)
|
||||||
|
- v0.5.3
|
||||||
|
- Add 'slim' filetype support (same icon as 'html') (enhancement PR #98) (@lerrua)
|
||||||
|
- Add 'fish' filetype support (same icon as 'sh') (enhancement #93) (@michaelmrose)
|
||||||
|
- Updated old link references (enhancement PR #87) (@lerrua)
|
||||||
|
- Improved default Ruby icon (uses 'glyph set 2') (enhancement PR #97) (@lerrua)
|
||||||
|
- Prevent destorying user's conceal settings (Use setlocal) (enhancement PR #96) (@shawncplus)
|
||||||
|
- Fixes filenames of buffers getting lost in unite filter (fixes #86) (@ahrse)
|
||||||
|
- Various readme updates and fixes
|
||||||
|
- v0.5.2
|
||||||
|
- Various readme updates and fixes
|
||||||
|
- Various file clean-up (.gitignore removed)
|
||||||
|
- Fixed link to install fonts (PR #83 fixes #81) (@theRemix)
|
||||||
|
- Fixed glyph used for Go (PR #82) (@hoop33)
|
||||||
|
- Added Code of Conduct
|
||||||
|
- v0.5.1
|
||||||
|
- Fixed [CtrlP](https://github.com/ctrlpvim/ctrlp.vim) integration bugs (truncating 6 characters is unreliable) and only add glyphs for MRU File Mode (Fixes #80)
|
||||||
|
- Readme updates and improvements
|
||||||
|
- v0.5.0
|
||||||
|
- Readme updates (removed polls sections, v0.5.0 specific changes)
|
||||||
|
- Misc code formatting fixes (tabs to spaces, modeline additions, reorganization)
|
||||||
|
- Update API: make WebDevIconsGetFileFormatSymbol return only fenc (fixes #73)
|
||||||
|
- Added Perl support (enhancement #60)
|
||||||
|
- Added support for some (mostly frontend) frameworks (enhancement #61)
|
||||||
|
- Added basic support for vim-flagship (enhancement #70)
|
||||||
|
- Added support for Unite and Vimfiler (enhancement #54)
|
||||||
|
- Added support for CtrlP (enhancement #56)
|
||||||
|
- Rebranding part 1: title and image (vim-devicons) (enhancement #76)
|
||||||
|
- v0.4.4
|
||||||
|
- Lots of readme updates and tweaks
|
||||||
|
- Changelog semver details
|
||||||
|
- Spelling / confusing grammar corrections (PR #68) (@adelarsq)
|
||||||
|
- Fixed default folder/directory glyph (PR Fixes #72) (@cj)
|
||||||
|
- Mac OS X screenshot (Fixes #32) (@RageZBla)
|
||||||
|
- Fixed misalignment when used with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) (Fixes #71)
|
||||||
|
- Fixed re-sourcing bug (Fixes #71)
|
||||||
|
- Fixed directory node user settings being overwritten (Fixes #59)
|
||||||
|
- Fixed minor screenshot issues and clean-up
|
||||||
|
- v0.4.3
|
||||||
|
- Prevent error 'Unknown function' when opening Vim without airline plugin (Fixes #67)
|
||||||
|
- Temporary fix for gvim glyph artifact issues (particuarly NERDTree) (Fixes #58)
|
||||||
|
- Support file format symbols (glyphs) in vim-airline (Enhancement #66)
|
||||||
|
- Add vimrc setup example to readme (Documentation #65)
|
||||||
|
- Fixes Conceal highlighting issues (Fixes #53, #52)
|
||||||
|
- Make sure plugin plays nice with [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) (Enhancement #62)
|
||||||
|
- general readme updates and improvements
|
||||||
|
- changelog format fixes
|
||||||
|
- v0.4.2
|
||||||
|
- Updated vim doc with latest readme updates (html2vimdoc)
|
||||||
|
- Fixes #7 update readme for font and vim setup on osx and win platforms
|
||||||
|
- Fixes #49 with a FAQ update
|
||||||
|
- Fixes #41 No such event: nerdtree syntax match (@nbicalcarata)
|
||||||
|
- Removed test files from the repo and added folders to git-ignore
|
||||||
|
- Warn about loading vim-webdevicons before nerdtree plugin
|
||||||
|
- fix lazy NERDTree (@blueyed)
|
||||||
|
- Improve conceiling with NERDTree (@blueyed)
|
||||||
|
- add instructions to readme for vim setup on os x (@alfredbez)
|
||||||
|
- v0.4.1
|
||||||
|
- Fixes #39 - updated screenshots (particularly nerdtree)
|
||||||
|
- Fixes #37 - g:webdevicons_conceal_nerdtree_brackets applying global config
|
||||||
|
- Add instructions to readme for adding icon to lightline (@hoop33)
|
||||||
|
- Updated vim doc with latest readme updates (sync'd with html2vimdoc)
|
||||||
|
- Added TL;DR section to readme
|
||||||
|
- Add a note to readme to load NERDTree before vim-webdevicons (@hoop33)
|
||||||
|
- Fix: Automatically turning off NERDTree support (@hoop33)
|
||||||
|
- general readme updates
|
||||||
|
- v0.4.0
|
||||||
|
- #27 Remove [ ] wrapping icons
|
||||||
|
- #26 Add detection and warning on unsupported (old) NERDTree versions
|
||||||
|
- updated readme with more links and new details on new features and conifgs
|
||||||
|
- #30 Improve vim standard plugin conventions and tips
|
||||||
|
- #30 work on sections and standard plugin conventions part 1
|
||||||
|
- #30 clean-up of unused (for now) autoload file
|
||||||
|
- #28 setting global options broken part 1
|
||||||
|
- #29 Add vimdoc, more updates
|
||||||
|
- autogenerating vimdoc using html2vimdoc
|
||||||
|
- readme updates
|
||||||
|
- v0.3.4
|
||||||
|
- Adds basic support for directory/folder glyphs - fixes #22
|
||||||
|
- optimize icon lookup - WebDevIconsGetFileTypeSymbol: use if/else (@blueyed)
|
||||||
|
- Do not clobber the default or customized airline formatter (@blueyed)
|
||||||
|
- fixed a bug related to the latest airline updates (Ali Aliev)
|
||||||
|
- various readme updates
|
||||||
|
- more sample usage images
|
||||||
|
- v0.3.3
|
||||||
|
- Load the plugin once only (@blueyed)
|
||||||
|
- Add font installation instructions, fixes #5 (@wikimatze)
|
||||||
|
- added plugin install instructions
|
||||||
|
- slight readme re-ordering
|
||||||
|
- moved contributing section near bottom
|
||||||
|
- added additional screenshots
|
||||||
|
- added more thanks to those whose some more of the glyphs came from
|
||||||
|
- v0.3.2
|
||||||
|
- moved screenshots into the wiki (wiki.vim-webdevicons) to reduce unnecessary project size of cloning repo
|
||||||
|
- v0.3.1
|
||||||
|
- readme updates (with references to new font-patcher repo)
|
||||||
|
- readme updates screenshots reference wiki
|
||||||
|
- v0.3.0
|
||||||
|
- moved font-patcher and patched fonts into a separate repo (nerd-filetype-glyphs-fonts-patcher)
|
||||||
|
- adds twigg file type support for #10 (@wikimatze)
|
||||||
|
- adds cpp file type support
|
||||||
|
- updated utf8 test file with glyphs
|
||||||
|
- readme fixes (@wikimatze, @blueyed)
|
||||||
|
- readme updates
|
||||||
|
- v0.2.1
|
||||||
|
- readme updates
|
||||||
|
- v0.2.0
|
||||||
|
- Script for patching any font: Initial cleaned up work for issue (feature enhancement) for #1
|
||||||
|
- added python font patcher and readme updates
|
||||||
|
- v0.1.4
|
||||||
|
- readme updates
|
||||||
|
- v0.1.3
|
||||||
|
- fixes #3 make matches case insensitive (ignore case)
|
||||||
|
- v0.1.2
|
||||||
|
- fixes lookup for exact file notes (@johngeorgewright)
|
||||||
|
- v0.1.1
|
||||||
|
- updated readme substantially
|
||||||
|
- v0.1.0
|
||||||
|
- release
|
||||||
76
.config/vifm/vifm_devicons/CODE_OF_CONDUCT.md
Normal file
76
.config/vifm/vifm_devicons/CODE_OF_CONDUCT.md
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to making participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, gender identity and expression, level of experience,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity and
|
||||||
|
orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment
|
||||||
|
include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or
|
||||||
|
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||||
|
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||||
|
permanently any contributor for other behaviors that they deem inappropriate,
|
||||||
|
threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces
|
||||||
|
when an individual is representing the project or its community. Examples of
|
||||||
|
representing a project or community include using an official project e-mail
|
||||||
|
address, posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event. Representation of a project may be
|
||||||
|
further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting the project team on
|
||||||
|
[VimDevIcons Gitter Chat](https://gitter.im/ryanoasis/vim-devicons)
|
||||||
|
or contacting [@ryanoasis](https://github.com/ryanoasis). All
|
||||||
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||||
|
available at [http://contributor-covenant.org/version/1/4][version]
|
||||||
|
|
||||||
|
[homepage]: http://contributor-covenant.org
|
||||||
|
[version]: http://contributor-covenant.org/version/1/4/
|
||||||
22
.config/vifm/vifm_devicons/CONTRIBUTING.md
Normal file
22
.config/vifm/vifm_devicons/CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Contributing Guide
|
||||||
|
|
||||||
|
## How to contribute
|
||||||
|
|
||||||
|
Work In Progress, for now the minimum:
|
||||||
|
|
||||||
|
* Fork the project and submit a Pull Request (PR)
|
||||||
|
* Explain what the PR fixes or improves
|
||||||
|
* Screenshots for bonus points
|
||||||
|
* Use sensible commit messages
|
||||||
|
* If your PR fixes a separate issue number, include it in the commit message
|
||||||
|
|
||||||
|
## Things to keep in mind
|
||||||
|
* Smaller PRs are likely to be merged more quickly than bigger changes
|
||||||
|
* If it is a useful PR it **will** get merged in eventually
|
||||||
|
* [E.g. see how many have already been merged vs. still open](https://github.com/ryanoasis/vim-devicons/pulls)
|
||||||
|
* This project is using [Semantic Versioning 2.0.0](http://semver.org/)
|
||||||
|
* I try to group fixes into milestones/versions
|
||||||
|
* If your bug or PR is *not* trivial it will likely end up in the next **MINOR** version
|
||||||
|
* If your bug or PR *is* trivial *or* critical it will likely end up in the next **PATCH** version
|
||||||
|
* Most of the time PRs and fixes are *not* merged directly into `master` without being present on a new versioned branch
|
||||||
|
* Sometimes for small items I will make exceptions to get the fix or readme change on master sooner but even after there will *always* be a versioned branch to keep track of each release
|
||||||
68
.config/vifm/vifm_devicons/DEVELOPER.md
Normal file
68
.config/vifm/vifm_devicons/DEVELOPER.md
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
### API
|
||||||
|
|
||||||
|
```vim
|
||||||
|
" returns the font character that represents the icon
|
||||||
|
" parameters: a:1 (filename), a:2 (isDirectory)
|
||||||
|
" both parameters optional
|
||||||
|
" by default without parameters uses buffer name
|
||||||
|
WebDevIconsGetFileTypeSymbol(...)
|
||||||
|
|
||||||
|
" returns the font character that represents
|
||||||
|
" the file format as an icon (windows, linux, mac)
|
||||||
|
WebDevIconsGetFileFormatSymbol()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Public Methods
|
||||||
|
|
||||||
|
```vim
|
||||||
|
" Returns the current version of the plugin
|
||||||
|
webdevicons#version()
|
||||||
|
```
|
||||||
|
|
||||||
|
```vim
|
||||||
|
" Calls webdevicons#softRefresh()
|
||||||
|
" basically a backwards compatibility convenience
|
||||||
|
webdevicons#refresh()
|
||||||
|
```
|
||||||
|
|
||||||
|
```vim
|
||||||
|
" Does a 'hard' refresh of NERDTree
|
||||||
|
" resets vim-devicons syntax and closes and reopens NERDTree
|
||||||
|
webdevicons#hardRefresh()
|
||||||
|
```
|
||||||
|
|
||||||
|
```vim
|
||||||
|
" Does a 'soft' refresh of NERDTree
|
||||||
|
" resets vim-devicons syntax and toggles NERDTree to the same state
|
||||||
|
webdevicons#softRefresh()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### API Examples
|
||||||
|
|
||||||
|
##### Status line
|
||||||
|
|
||||||
|
> Custom vim status line (not relying on vim-airline or lightline):
|
||||||
|
|
||||||
|
```vim
|
||||||
|
set statusline=%f\ %{WebDevIconsGetFileTypeSymbol()}\ %h%w%m%r\ %=%(%l,%c%V\ %Y\ %=\ %P%)
|
||||||
|
```
|
||||||
|
|
||||||
|
##### Simple function call
|
||||||
|
|
||||||
|
```vim
|
||||||
|
echo WebDevIconsGetFileFormatSymbol()
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Integration with other plugins
|
||||||
|
|
||||||
|
##### vim-startify
|
||||||
|
|
||||||
|
```vim
|
||||||
|
let entry_format = "' ['. index .']'. repeat(' ', (3 - strlen(index)))"
|
||||||
|
|
||||||
|
if exists('*WebDevIconsGetFileTypeSymbol') " support for vim-devicons
|
||||||
|
let entry_format .= ". WebDevIconsGetFileTypeSymbol(entry_path) .' '. entry_path"
|
||||||
|
else
|
||||||
|
let entry_format .= '. entry_path'
|
||||||
|
endif
|
||||||
|
```
|
||||||
22
.config/vifm/vifm_devicons/LICENSE
Normal file
22
.config/vifm/vifm_devicons/LICENSE
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2014 Ryan L McIntyre
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
107
.config/vifm/vifm_devicons/README.md
Normal file
107
.config/vifm/vifm_devicons/README.md
Normal file
|
|
@ -0,0 +1,107 @@
|
||||||
|
<h1 align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/wiki/ryanoasis/vim-devicons/screenshots/v0.10.x/branding-logo-3.svg?sanitize=true" alt="VimDevIcons - Add Icons to Your Plugins">
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
> Supports plugins such as [NERDTree](https://github.com/preservim/nerdtree), [vim-airline](https://github.com/vim-airline/vim-airline), [CtrlP](https://github.com/ctrlpvim/ctrlp.vim), [powerline](https://github.com/powerline/powerline), [denite](https://github.com/Shougo/denite.nvim), [unite](https://github.com/Shougo/unite.vim), [lightline.vim](https://github.com/itchyny/lightline.vim), [vim-startify](https://github.com/mhinz/vim-startify), [vimfiler](https://github.com/Shougo/vimfiler.vim), [vim-buffet](https://github.com/bagrat/vim-buffet) and [flagship](https://github.com/tpope/vim-flagship).
|
||||||
|
|
||||||
|
<h3 align="center">
|
||||||
|
<img src="https://github.com/ryanoasis/vim-devicons/wiki/screenshots/v0.10.x/overall-screenshot.png" alt="vim-devicons overall screenshot" />
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
> See [Screenshots](https://github.com/ryanoasis/vim-devicons/wiki/screenshots) for more.
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- Adds filetype glyphs (icons) to various vim plugins.
|
||||||
|
- Customizable and extendable glyphs settings.
|
||||||
|
- Supports a wide range of file type extensions.
|
||||||
|
- Supports popular full filenames, like `.gitignore`, `node_modules`, `.vimrc`, and many more.
|
||||||
|
- Supports byte order marker (BOM).
|
||||||
|
- Works with patched fonts, especially [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts).
|
||||||
|
|
||||||
|
> See [Detailed Features](https://github.com/ryanoasis/vim-devicons/wiki/Detailed-Features) for more.
|
||||||
|
|
||||||
|
> See [Configuration](https://github.com/ryanoasis/vim-devicons/wiki/Extra-Configuration) for a list of configuration and customization options.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
1. Install a [Nerd Font compatible font](https://github.com/ryanoasis/nerd-fonts#font-installation) or [patch your own](https://github.com/ryanoasis/nerd-fonts#font-patcher). Then set your terminal font (or `guifont` if you are using GUI version of Vim).
|
||||||
|
1. Install the Vim plugin with your favorite plugin manager, e.g. [vim-plug](https://github.com/junegunn/vim-plug):
|
||||||
|
|
||||||
|
```vim
|
||||||
|
Plug 'ryanoasis/vim-devicons'
|
||||||
|
```
|
||||||
|
|
||||||
|
> Always load the vim-devicons as the very last one.
|
||||||
|
|
||||||
|
1. Configure Vim
|
||||||
|
|
||||||
|
```vim
|
||||||
|
set encoding=UTF-8
|
||||||
|
```
|
||||||
|
|
||||||
|
> No need to set explicitly under Neovim: always uses UTF-8 as the default encoding.
|
||||||
|
|
||||||
|
|
||||||
|
> See [Installation](https://github.com/ryanoasis/vim-devicons/wiki/Installation) for detailed setup instructions
|
||||||
|
|
||||||
|
Use `:help devicons` for further configuration.
|
||||||
|
|
||||||
|
Developers
|
||||||
|
----------
|
||||||
|
|
||||||
|
See [DEVELOPER](DEVELOPER.md) for how to use the API.
|
||||||
|
|
||||||
|
Troubleshooting
|
||||||
|
---------------
|
||||||
|
|
||||||
|
See [FAQ](https://github.com/ryanoasis/vim-devicons/wiki/FAQ-&-Troubleshooting).
|
||||||
|
|
||||||
|
Contributing
|
||||||
|
------------
|
||||||
|
|
||||||
|
### [Code of Conduct](CODE_OF_CONDUCT.md)
|
||||||
|
|
||||||
|
This project has adopted a Code of Conduct that we expect project participants to adhere to. Check out [code of conduct](CODE_OF_CONDUCT.md) for further details.
|
||||||
|
|
||||||
|
### [Contributing Guide](CONTRIBUTING.md)
|
||||||
|
|
||||||
|
Read our [contributing](CONTRIBUTING.md) guide to learn about how to send pull requests, creating issues properly.
|
||||||
|
|
||||||
|
### Promotion
|
||||||
|
|
||||||
|
You can help us by simply giving a star or voting on vim.org. It will ensure continued development going forward.
|
||||||
|
|
||||||
|
- Star this repository [on GitHub](https://github.com/ryanoasis/vim-devicons).
|
||||||
|
- Vote for it [on vim.org](http://www.vim.org/scripts/script.php?script_id=5114).
|
||||||
|
|
||||||
|
Acknowledgments
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Thanks goes to these people for inspiration and helping with sending PRs.
|
||||||
|
|
||||||
|
- [vim-airline](https://github.com/vim-airline/vim-airline)
|
||||||
|
- [nerdtree](https://github.com/preservim/nerdtree)
|
||||||
|
- [nerdtree-git-plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) by [@Xuyuanp](https://github.com/Xuyuanp)
|
||||||
|
- [seti-ui](https://atom.io/themes/seti-ui) by [@jesseweed](https://github.com/jesseweed)
|
||||||
|
- [devicons](http://vorillaz.github.io/devicons) by [@vorillaz](https://github.com/vorillaz)
|
||||||
|
- [development.svg.icons](https://github.com/benatespina/development.svg.icons) by [@benatespina](https://github.com/benatespina)
|
||||||
|
- [Learn Vimscript the Hard Way](http://learnvimscriptthehardway.stevelosh.com/) book by [Steve Losh](http://stevelosh.com/)
|
||||||
|
- All [contributors](https://github.com/ryanoasis/vim-devicons/graphs/contributors)
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
[MIT](LICENSE)
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
" Version: 0.11.0
|
||||||
|
" Webpage: https://github.com/ryanoasis/vim-devicons
|
||||||
|
" Maintainer: Ryan McIntyre <ryanoasis@gmail.com>
|
||||||
|
" License: see LICENSE
|
||||||
|
|
||||||
|
function! airline#extensions#tabline#formatters#webdevicons#format(bufnr, buffers) abort
|
||||||
|
" Call original formatter.
|
||||||
|
let originalFormatter = airline#extensions#tabline#formatters#{g:_webdevicons_airline_orig_formatter}#format(a:bufnr, a:buffers)
|
||||||
|
return originalFormatter . g:WebDevIconsTabAirLineBeforeGlyphPadding .
|
||||||
|
\ WebDevIconsGetFileTypeSymbol(bufname(a:bufnr)) . g:WebDevIconsTabAirLineAfterGlyphPadding
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" modeline syntax:
|
||||||
|
" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
" Initialize for up to date ctrlp fork: ctrlpvim/ctrlp.vim
|
||||||
|
" Support for kien/ctrlp.vim deprecated since v0.7.0
|
||||||
|
" @TODO implementation for CtrlP buffer and find file mode
|
||||||
|
|
||||||
|
function! devicons#plugins#ctrlp#init() abort
|
||||||
|
let l:ctrlp_warning_message = 'vim-devicons: https://github.com/kien/ctrlp.vim is deprecated since v0.7.0, please use https://github.com/ctrlpvim/ctrlp.vim'
|
||||||
|
let l:ctrlp_warned_file = webdevicons#pluginHome() . '/status_warned_ctrlp'
|
||||||
|
|
||||||
|
if exists('g:loaded_ctrlp') && g:webdevicons_enable_ctrlp
|
||||||
|
let l:forkedCtrlp = exists('g:ctrlp_mruf_map_string')
|
||||||
|
|
||||||
|
if l:forkedCtrlp
|
||||||
|
if !exists('g:ctrlp_formatline_func')
|
||||||
|
" logic for ctrlpvim/ctrlp.vim:
|
||||||
|
let g:ctrlp_formatline_func = 's:formatline(s:curtype() == "buf" ? v:val : WebDevIconsGetFileTypeSymbol(v:val) . " " . v:val) '
|
||||||
|
endif
|
||||||
|
elseif empty(glob(l:ctrlp_warned_file))
|
||||||
|
" logic for kien/ctrlp.vim:
|
||||||
|
echohl WarningMsg |
|
||||||
|
\ echomsg l:ctrlp_warning_message
|
||||||
|
" only warn first time, do not warn again:
|
||||||
|
try
|
||||||
|
execute writefile(['File automatically generated after warning about CtrlP once', l:ctrlp_warning_message], l:ctrlp_warned_file)
|
||||||
|
catch
|
||||||
|
endtry
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
function! devicons#plugins#denite#init() abort
|
||||||
|
let s:denite_ver = (exists('*denite#get_status_mode') ? 2 : 3)
|
||||||
|
if s:denite_ver == 3
|
||||||
|
call denite#custom#source('file,file/rec,file_mru,file/old,buffer,directory/rec,directory_mru', 'converters', ['devicons_denite_converter'])
|
||||||
|
else
|
||||||
|
call denite#custom#source('file,file_rec,file_mru,file_old,buffer,directory_rec,directory_mru', 'converters', ['devicons_denite_converter'])
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
function! devicons#plugins#flagship#init() abort
|
||||||
|
if g:webdevicons_enable_flagship_statusline
|
||||||
|
augroup webdevicons_flagship_filetype
|
||||||
|
autocmd User Flags call Hoist('buffer', 'WebDevIconsGetFileTypeSymbol')
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:webdevicons_enable_flagship_statusline_fileformat_symbols
|
||||||
|
augroup webdevicons_flagship_filesymbol
|
||||||
|
autocmd User Flags call Hoist('buffer', 'WebDevIconsGetFileFormatSymbol')
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
function! devicons#plugins#startify#init() abort
|
||||||
|
exec ":function! StartifyEntryFormat() abort \n return 'WebDevIconsGetFileTypeSymbol(absolute_path) .\" \". entry_path' \n endfunction"
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
function! devicons#plugins#unite#init() abort
|
||||||
|
let s:filters = {
|
||||||
|
\ 'name': 'devicons_unite_converter'
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:filters.filter(candidates, context) abort
|
||||||
|
for candidate in a:candidates
|
||||||
|
|
||||||
|
if has_key(candidate, 'action__buffer_nr')
|
||||||
|
let bufname = bufname(candidate.action__buffer_nr)
|
||||||
|
let filename = fnamemodify(bufname, ':p:t')
|
||||||
|
let path = fnamemodify(bufname, ':p:h')
|
||||||
|
elseif has_key(candidate, 'word') && has_key(candidate, 'action__path')
|
||||||
|
let path = candidate.action__path
|
||||||
|
let filename = candidate.word
|
||||||
|
endif
|
||||||
|
|
||||||
|
let icon = WebDevIconsGetFileTypeSymbol(filename, isdirectory(filename))
|
||||||
|
|
||||||
|
" prevent filenames of buffers getting 'lost'
|
||||||
|
if filename != path
|
||||||
|
let path = printf('%s', filename)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Customize output format.
|
||||||
|
let candidate.abbr = printf('%s %s', icon, path)
|
||||||
|
endfor
|
||||||
|
return a:candidates
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call unite#define_filter(s:filters)
|
||||||
|
unlet s:filters
|
||||||
|
|
||||||
|
call unite#custom#source('file,file_rec,buffer,file_rec/async,file_rec/neovim,file_rec/neovim2,file_rec/git', 'converters', 'devicons_unite_converter')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
function! devicons#plugins#vimfiler#init() abort
|
||||||
|
call vimfiler#custom#profile('default', 'context', {
|
||||||
|
\ 'columns': 'devicons:size:time',
|
||||||
|
\ 'explorer_columns': 'devicons'
|
||||||
|
\ })
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,80 @@
|
||||||
|
"=============================================================================
|
||||||
|
" FILE: devicons.vim
|
||||||
|
" Version: 0.11.0
|
||||||
|
" Webpage: https://github.com/ryanoasis/vim-devicons
|
||||||
|
" Maintainer: Ryan McIntyre <ryanoasis@gmail.com>
|
||||||
|
" License: MIT license {{{
|
||||||
|
" Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
" a copy of this software and associated documentation files (the
|
||||||
|
" "Software"), to deal in the Software without restriction, including
|
||||||
|
" without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
" distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
" permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
" the following conditions:
|
||||||
|
"
|
||||||
|
" The above copyright notice and this permission notice shall be included
|
||||||
|
" in all copies or substantial portions of the Software.
|
||||||
|
"
|
||||||
|
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
" }}}
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
let s:save_cpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
function! vimfiler#columns#devicons#define() abort
|
||||||
|
return s:column
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let s:column = {
|
||||||
|
\ 'name' : 'devicons',
|
||||||
|
\ 'description' : 'get devicon glyph',
|
||||||
|
\ 'syntax' : 'vimfilerColumn__devicons',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
function! s:column.length(files, context) abort
|
||||||
|
return 3
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:column.define_syntax(context) abort "{{{
|
||||||
|
syntax match vimfilerColumn__TypeText '\[T\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeImage '\[I\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeArchive '\[A\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeExecute '\[X\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeMultimedia '\[M\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeDirectory '\[do\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeSystem '\[S\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
syntax match vimfilerColumn__TypeLink '\[L\]'
|
||||||
|
\ contained containedin=vimfilerColumn__Type
|
||||||
|
|
||||||
|
highlight def link vimfilerColumn__TypeText Constant
|
||||||
|
highlight def link vimfilerColumn__TypeImage Type
|
||||||
|
highlight def link vimfilerColumn__TypeArchive Special
|
||||||
|
highlight def link vimfilerColumn__TypeExecute Statement
|
||||||
|
highlight def link vimfilerColumn__TypeMultimedia Identifier
|
||||||
|
highlight def link vimfilerColumn__TypeDirectory Preproc
|
||||||
|
highlight def link vimfilerColumn__TypeSystem Comment
|
||||||
|
highlight def link vimfilerColumn__TypeLink Comment
|
||||||
|
endfunction"}}}
|
||||||
|
|
||||||
|
function! s:column.get(file, context) abort
|
||||||
|
return WebDevIconsGetFileTypeSymbol(strpart(a:file.action__path, strridx(a:file.action__path, '/')), a:file.vimfiler__is_directory)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
|
|
||||||
|
" vim: foldmethod=marker
|
||||||
1073
.config/vifm/vifm_devicons/doc/webdevicons.txt
Normal file
1073
.config/vifm/vifm_devicons/doc/webdevicons.txt
Normal file
File diff suppressed because it is too large
Load diff
389
.config/vifm/vifm_devicons/nerdtree_plugin/webdevicons.vim
Normal file
389
.config/vifm/vifm_devicons/nerdtree_plugin/webdevicons.vim
Normal file
|
|
@ -0,0 +1,389 @@
|
||||||
|
" Version: 0.11.0
|
||||||
|
" Webpage: https://github.com/ryanoasis/vim-devicons
|
||||||
|
" Maintainer: Ryan McIntyre <ryanoasis@gmail.com>
|
||||||
|
" License: see LICENSE
|
||||||
|
|
||||||
|
" @todo fix duplicate global variable initialize here:
|
||||||
|
if !exists('g:webdevicons_enable')
|
||||||
|
let g:webdevicons_enable = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:webdevicons_enable_nerdtree')
|
||||||
|
let g:webdevicons_enable_nerdtree = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:DevIconsEnableFoldersOpenClose')
|
||||||
|
let g:DevIconsEnableFoldersOpenClose = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:DevIconsEnableFolderPatternMatching')
|
||||||
|
let g:DevIconsEnableFolderPatternMatching = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:DevIconsEnableFolderExtensionPatternMatching')
|
||||||
|
let g:DevIconsEnableFolderExtensionPatternMatching = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" end @todo duplicate global variables
|
||||||
|
|
||||||
|
" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the
|
||||||
|
" actual font patcher)
|
||||||
|
if !exists('g:webdevicons_gui_glyph_fix')
|
||||||
|
if has('gui_running')
|
||||||
|
let g:webdevicons_gui_glyph_fix = 1
|
||||||
|
else
|
||||||
|
let g:webdevicons_gui_glyph_fix = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:DevIconsEnableNERDTreeRedraw')
|
||||||
|
if has('gui_running')
|
||||||
|
let g:DevIconsEnableNERDTreeRedraw = 1
|
||||||
|
else
|
||||||
|
let g:DevIconsEnableNERDTreeRedraw = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:webdevicons_enable_nerdtree == 1
|
||||||
|
if !exists('g:loaded_nerd_tree')
|
||||||
|
echohl WarningMsg |
|
||||||
|
\ echomsg 'vim-webdevicons requires NERDTree to be loaded before vim-webdevicons.'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_nerd_tree') && g:loaded_nerd_tree == 1 && !exists('g:NERDTreePathNotifier')
|
||||||
|
let g:webdevicons_enable_nerdtree = 0
|
||||||
|
echohl WarningMsg |
|
||||||
|
\ echomsg 'vim-webdevicons requires a newer version of NERDTree to show glyphs in NERDTree - consider updating NERDTree.'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" @todo I don't even want this to execute UNLESS the user has the
|
||||||
|
" 'nerdtree-git-plugin' INSTALLED (not LOADED)
|
||||||
|
" As it currently functions this warning will display even if the user does
|
||||||
|
" not have nerdtree-git-plugin not just if it isn't loaded yet
|
||||||
|
" (not what we want)
|
||||||
|
"if !exists('g:loaded_nerdtree_git_status')
|
||||||
|
" echohl WarningMsg |
|
||||||
|
" \ echomsg 'vim-webdevicons works better when 'nerdtree-git-plugin' is loaded before vim-webdevicons (small refresh issues otherwise).'
|
||||||
|
"endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:webdevicons_enable_airline_tabline')
|
||||||
|
let g:webdevicons_enable_airline_tabline = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:webdevicons_enable_airline_statusline')
|
||||||
|
let g:webdevicons_enable_airline_statusline = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! s:SetupListeners()
|
||||||
|
call g:NERDTreePathNotifier.AddListener('init', 'NERDTreeWebDevIconsRefreshListener')
|
||||||
|
call g:NERDTreePathNotifier.AddListener('refresh', 'NERDTreeWebDevIconsRefreshListener')
|
||||||
|
call g:NERDTreePathNotifier.AddListener('refreshFlags', 'NERDTreeWebDevIconsRefreshListener')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" util like helpers
|
||||||
|
" scope: local
|
||||||
|
function! s:Refresh()
|
||||||
|
call b:NERDTree.root.refreshFlags()
|
||||||
|
call NERDTreeRender()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the
|
||||||
|
" actual font patcher)
|
||||||
|
|
||||||
|
" NERDTree-C
|
||||||
|
" scope: global
|
||||||
|
function! WebDevIconsNERDTreeChangeRootHandler(node)
|
||||||
|
call b:NERDTree.changeRoot(a:node)
|
||||||
|
call NERDTreeRender()
|
||||||
|
call a:node.putCursorHere(0, 0)
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" NERDTree-u
|
||||||
|
" scope: global
|
||||||
|
function! WebDevIconsNERDTreeUpDirCurrentRootClosedHandler()
|
||||||
|
call nerdtree#ui_glue#upDir(0)
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirUpdateFlags(node, glyph)
|
||||||
|
let path = a:node.path
|
||||||
|
let isOpen = a:node.isOpen
|
||||||
|
let postPadding = g:WebDevIconsNerdTreeAfterGlyphPadding
|
||||||
|
let prePadding = g:WebDevIconsNerdTreeBeforeGlyphPadding
|
||||||
|
let hasGitFlags = (len(path.flagSet._flagsForScope('git')) > 0)
|
||||||
|
let hasGitNerdTreePlugin = (exists('g:loaded_nerdtree_git_status') == 1)
|
||||||
|
let collapsesToSameLine = (exists('g:NERDTreeCascadeSingleChildDir') == 1)
|
||||||
|
let dirHasOnlyOneChildDir = 0
|
||||||
|
|
||||||
|
if collapsesToSameLine
|
||||||
|
" need to call to determin children:
|
||||||
|
call a:node._initChildren(1)
|
||||||
|
let dirHasOnlyOneChildDir = (a:node.getChildCount() ==# 1 && a:node.children[0].path.isDirectory)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" properly set collapsed/combined directory display to opened glyph
|
||||||
|
if collapsesToSameLine && dirHasOnlyOneChildDir
|
||||||
|
call WebDevIconsNERDTreeDirOpen(a:node.children[0])
|
||||||
|
endif
|
||||||
|
|
||||||
|
" align vertically at the same level: non git-flag nodes with git-flag nodes
|
||||||
|
if g:WebDevIconsNerdTreeGitPluginForceVAlign && !hasGitFlags && hasGitNerdTreePlugin
|
||||||
|
let prePadding .= ' '
|
||||||
|
endif
|
||||||
|
|
||||||
|
let flag = prePadding . a:glyph . postPadding
|
||||||
|
|
||||||
|
call a:node.path.flagSet.clearFlags('webdevicons')
|
||||||
|
|
||||||
|
if flag !=? ''
|
||||||
|
call a:node.path.flagSet.addFlag('webdevicons', flag)
|
||||||
|
"echom "added flag of " . flag
|
||||||
|
call a:node.path.refreshFlags(b:NERDTree)
|
||||||
|
"echom "flagset is now " . string(a:node.path.flagSet)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirClose(node)
|
||||||
|
let a:node.path.isOpen = 0
|
||||||
|
let glyph = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
|
||||||
|
call WebDevIconsNERDTreeDirUpdateFlags(a:node, glyph)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirOpen(node)
|
||||||
|
let a:node.path.isOpen = 1
|
||||||
|
let glyph = g:DevIconsDefaultFolderOpenSymbol
|
||||||
|
call WebDevIconsNERDTreeDirUpdateFlags(a:node, glyph)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirOpenRecursively(node)
|
||||||
|
call WebDevIconsNERDTreeDirOpen(a:node)
|
||||||
|
for i in a:node.children
|
||||||
|
if i.path.isDirectory ==# 1
|
||||||
|
call WebDevIconsNERDTreeDirOpenRecursively(i)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirCloseRecursively(node)
|
||||||
|
call WebDevIconsNERDTreeDirClose(a:node)
|
||||||
|
for i in a:node.children
|
||||||
|
if i.path.isDirectory ==# 1
|
||||||
|
call WebDevIconsNERDTreeDirCloseRecursively(i)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeDirCloseChildren(node)
|
||||||
|
for i in a:node.children
|
||||||
|
if i.path.isDirectory ==# 1
|
||||||
|
call WebDevIconsNERDTreeDirClose(i)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" NERDTreeMapActivateNode and <2-LeftMouse>
|
||||||
|
" handle the user activating a tree node
|
||||||
|
" scope: global
|
||||||
|
function! WebDevIconsNERDTreeMapActivateNode(node)
|
||||||
|
let isOpen = a:node.isOpen
|
||||||
|
if isOpen
|
||||||
|
let glyph = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
|
||||||
|
else
|
||||||
|
let glyph = g:DevIconsDefaultFolderOpenSymbol
|
||||||
|
endif
|
||||||
|
let a:node.path.isOpen = !isOpen
|
||||||
|
call WebDevIconsNERDTreeDirUpdateFlags(a:node, glyph)
|
||||||
|
" continue with normal activate logic
|
||||||
|
call a:node.activate()
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" NERDTreeMapActivateNodeSingleMode
|
||||||
|
" handle the user activating a tree node if NERDTreeMouseMode is setted to 3
|
||||||
|
" scope: global
|
||||||
|
function! WebDevIconsNERDTreeMapActivateNodeSingleMode(node)
|
||||||
|
if g:NERDTreeMouseMode == 3
|
||||||
|
let isOpen = a:node.isOpen
|
||||||
|
if isOpen
|
||||||
|
let glyph = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
|
||||||
|
else
|
||||||
|
let glyph = g:DevIconsDefaultFolderOpenSymbol
|
||||||
|
endif
|
||||||
|
let a:node.path.isOpen = !isOpen
|
||||||
|
call WebDevIconsNERDTreeDirUpdateFlags(a:node, glyph)
|
||||||
|
" continue with normal activate logic
|
||||||
|
call a:node.activate()
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeMapOpenRecursively(node)
|
||||||
|
" normal original logic:
|
||||||
|
call nerdtree#echo('Recursively opening node. Please wait...')
|
||||||
|
call a:node.openRecursively()
|
||||||
|
call WebDevIconsNERDTreeDirOpenRecursively(a:node)
|
||||||
|
" continue with normal original logic:
|
||||||
|
call b:NERDTree.render()
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
call nerdtree#echo('Recursively opening node. Please wait... DONE')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeMapCloseChildren(node)
|
||||||
|
" close children but not current node:
|
||||||
|
call WebDevIconsNERDTreeDirCloseChildren(a:node)
|
||||||
|
" continue with normal original logic:
|
||||||
|
call a:node.closeChildren()
|
||||||
|
call b:NERDTree.render()
|
||||||
|
call a:node.putCursorHere(0, 0)
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeMapCloseDir(node)
|
||||||
|
" continue with normal original logic:
|
||||||
|
let parent = a:node.parent
|
||||||
|
while g:NERDTreeCascadeOpenSingleChildDir && !parent.isRoot()
|
||||||
|
let childNodes = parent.getVisibleChildren()
|
||||||
|
if len(childNodes) == 1 && childNodes[0].path.isDirectory
|
||||||
|
let parent = parent.parent
|
||||||
|
else
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
if parent ==# {} || parent.isRoot()
|
||||||
|
call nerdtree#echo('cannot close tree root')
|
||||||
|
else
|
||||||
|
call parent.close()
|
||||||
|
" update the glyph
|
||||||
|
call WebDevIconsNERDTreeDirClose(parent)
|
||||||
|
call b:NERDTree.render()
|
||||||
|
call parent.putCursorHere(0, 0)
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! WebDevIconsNERDTreeMapUpdirKeepOpen()
|
||||||
|
call WebDevIconsNERDTreeDirOpen(b:NERDTree.root)
|
||||||
|
" continue with normal logic:
|
||||||
|
call nerdtree#ui_glue#upDir(1)
|
||||||
|
call s:Refresh()
|
||||||
|
" glyph change possible artifact clean-up
|
||||||
|
if g:DevIconsEnableNERDTreeRedraw ==# 1
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
if g:webdevicons_enable == 1 && g:webdevicons_enable_nerdtree == 1
|
||||||
|
call s:SetupListeners()
|
||||||
|
|
||||||
|
if g:DevIconsEnableFoldersOpenClose
|
||||||
|
|
||||||
|
" These overrides are needed because we cannot
|
||||||
|
" simply use AddListener for reliably updating
|
||||||
|
" the folder open/close glyphs because the event
|
||||||
|
" path has no access to the 'isOpen' property
|
||||||
|
" some of these are a little more brittle/fragile
|
||||||
|
" than others
|
||||||
|
" TODO FIXME better way to reliably update
|
||||||
|
" open/close glyphs in NERDTreeWebDevIconsRefreshListener
|
||||||
|
|
||||||
|
" NERDTreeMapActivateNode
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapActivateNode,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapActivateNode',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" NERDTreeMapCustomOpen
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapCustomOpen,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapActivateNode',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" NERDTreeMapOpenRecursively
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapOpenRecursively,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapOpenRecursively',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" NERDTreeMapCloseChildren
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapCloseChildren,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapCloseChildren',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" NERDTreeMapCloseChildren
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapCloseDir,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapCloseDir',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'Node' })
|
||||||
|
|
||||||
|
" <2-LeftMouse>
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': '<2-LeftMouse>',
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapActivateNode',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" <LeftRelease>
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': '<LeftRelease>',
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapActivateNodeSingleMode',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'DirNode' })
|
||||||
|
|
||||||
|
" NERDTreeMapUpdirKeepOpen
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapUpdirKeepOpen,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeMapUpdirKeepOpen',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'scope': 'all' })
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the
|
||||||
|
" actual font patcher)
|
||||||
|
if g:webdevicons_gui_glyph_fix ==# 1
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapChangeRoot,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeChangeRootHandler',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'quickhelpText': "change tree root to the\n\" selected dir\n\" plus devicons redraw\n\" hack fix",
|
||||||
|
\ 'scope': 'Node' })
|
||||||
|
|
||||||
|
call NERDTreeAddKeyMap({
|
||||||
|
\ 'key': g:NERDTreeMapUpdir,
|
||||||
|
\ 'callback': 'WebDevIconsNERDTreeUpDirCurrentRootClosedHandler',
|
||||||
|
\ 'override': 1,
|
||||||
|
\ 'quickhelpText': "move tree root up a dir\n\" plus devicons redraw\n\" hack fix",
|
||||||
|
\ 'scope': 'all' })
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" modeline syntax:
|
||||||
|
" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
648
.config/vifm/vifm_devicons/plugin/webdevicons.vim
Normal file
648
.config/vifm/vifm_devicons/plugin/webdevicons.vim
Normal file
|
|
@ -0,0 +1,648 @@
|
||||||
|
" Version: 0.11.0
|
||||||
|
" Webpage: https://github.com/ryanoasis/vim-devicons
|
||||||
|
" Maintainer: Ryan McIntyre <ryanoasis@gmail.com>
|
||||||
|
" License: see LICENSE
|
||||||
|
|
||||||
|
let s:version = '0.11.0'
|
||||||
|
let s:plugin_home = expand('<sfile>:p:h:h')
|
||||||
|
|
||||||
|
" set scriptencoding after 'encoding' and when using multibyte chars
|
||||||
|
scriptencoding utf-8
|
||||||
|
|
||||||
|
" standard fix/safety: line continuation (avoiding side effects) {{{1
|
||||||
|
"========================================================================
|
||||||
|
let s:save_cpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
" standard loading / not loading {{{1
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
if exists('g:loaded_webdevicons')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:loaded_webdevicons = 1
|
||||||
|
|
||||||
|
" config enable / disable settings {{{1
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
""
|
||||||
|
" Set the variable to the default value, only if variable is not defined.
|
||||||
|
"
|
||||||
|
" @param {string} var Variable name with its scope.
|
||||||
|
" @param {*} default Default value for variable.
|
||||||
|
""
|
||||||
|
function! s:set(var, default) abort
|
||||||
|
if !exists(a:var)
|
||||||
|
if type(a:default)
|
||||||
|
execute 'let' a:var '=' string(a:default)
|
||||||
|
else
|
||||||
|
execute 'let' a:var '=' a:default
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call s:set('g:webdevicons_enable', 1)
|
||||||
|
call s:set('g:webdevicons_enable_nerdtree', 1)
|
||||||
|
call s:set('g:webdevicons_enable_unite ', 1)
|
||||||
|
call s:set('g:webdevicons_enable_denite', 1)
|
||||||
|
call s:set('g:webdevicons_enable_vimfiler', 1)
|
||||||
|
call s:set('g:webdevicons_enable_ctrlp', 1)
|
||||||
|
call s:set('g:webdevicons_enable_airline_tabline', 1)
|
||||||
|
call s:set('g:webdevicons_enable_airline_statusline', 1)
|
||||||
|
call s:set('g:webdevicons_enable_airline_statusline_fileformat_symbols', 1)
|
||||||
|
call s:set('g:webdevicons_enable_flagship_statusline', 1)
|
||||||
|
call s:set('g:webdevicons_enable_flagship_statusline_fileformat_symbols', 1)
|
||||||
|
call s:set('g:webdevicons_enable_startify', 1)
|
||||||
|
call s:set('g:webdevicons_conceal_nerdtree_brackets', 1)
|
||||||
|
call s:set('g:DevIconsAppendArtifactFix', has('gui_running') ? 1 : 0)
|
||||||
|
call s:set('g:DevIconsArtifactFixChar', ' ')
|
||||||
|
|
||||||
|
" config options {{{1
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFileNodes', 1)
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFolderNodes', 1)
|
||||||
|
call s:set('g:DevIconsEnableFoldersOpenClose', 0)
|
||||||
|
call s:set('g:DevIconsEnableFolderPatternMatching', 1)
|
||||||
|
call s:set('g:DevIconsEnableFolderExtensionPatternMatching', 0)
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFolderNodesExactMatches', 1)
|
||||||
|
call s:set('g:WebDevIconsUnicodeGlyphDoubleWidth', 1)
|
||||||
|
call s:set('g:WebDevIconsNerdTreeBeforeGlyphPadding', ' ')
|
||||||
|
call s:set('g:WebDevIconsNerdTreeAfterGlyphPadding', ' ')
|
||||||
|
call s:set('g:WebDevIconsNerdTreeGitPluginForceVAlign', 1)
|
||||||
|
call s:set('g:NERDTreeUpdateOnCursorHold', 1)
|
||||||
|
call s:set('g:WebDevIconsTabAirLineBeforeGlyphPadding', ' ')
|
||||||
|
call s:set('g:WebDevIconsTabAirLineAfterGlyphPadding', '')
|
||||||
|
|
||||||
|
" config defaults {{{1
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol', '')
|
||||||
|
call s:set('g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol', '')
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol', g:DevIconsEnableFoldersOpenClose ? '' : '')
|
||||||
|
call s:set('g:WebDevIconsUnicodeDecorateFolderNodesSymlinkSymbol', '')
|
||||||
|
call s:set('g:DevIconsDefaultFolderOpenSymbol', '')
|
||||||
|
|
||||||
|
" functions {{{1
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" local functions {{{2
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function s:isDarwin()
|
||||||
|
if exists('s:is_darwin')
|
||||||
|
return s:is_darwin
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:WebDevIconsOS')
|
||||||
|
let s:is_darwin = g:WebDevIconsOS ==? 'Darwin'
|
||||||
|
return s:is_darwin
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has('macunix')
|
||||||
|
let s:is_darwin = 1
|
||||||
|
return s:is_darwin
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ! has('unix')
|
||||||
|
let s:is_darwin = 0
|
||||||
|
return s:is_darwin
|
||||||
|
endif
|
||||||
|
|
||||||
|
if system('uname -s') ==# "Darwin\n"
|
||||||
|
let s:is_darwin = 1
|
||||||
|
else
|
||||||
|
let s:is_darwin = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
return s:is_darwin
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:strip(input)
|
||||||
|
return substitute(a:input, '^\s*\(.\{-}\)\s*$', '\1', '')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:setDictionaries()
|
||||||
|
|
||||||
|
let s:file_node_extensions = {
|
||||||
|
\ 'styl' : '',
|
||||||
|
\ 'sass' : '',
|
||||||
|
\ 'scss' : '',
|
||||||
|
\ 'htm' : '',
|
||||||
|
\ 'html' : '',
|
||||||
|
\ 'slim' : '',
|
||||||
|
\ 'ejs' : '',
|
||||||
|
\ 'css' : '',
|
||||||
|
\ 'less' : '',
|
||||||
|
\ 'md' : '',
|
||||||
|
\ 'mdx' : '',
|
||||||
|
\ 'markdown' : '',
|
||||||
|
\ 'rmd' : '',
|
||||||
|
\ 'json' : '',
|
||||||
|
\ 'js' : '',
|
||||||
|
\ 'mjs' : '',
|
||||||
|
\ 'jsx' : '',
|
||||||
|
\ 'rb' : '',
|
||||||
|
\ 'php' : '',
|
||||||
|
\ 'py' : '',
|
||||||
|
\ 'pyc' : '',
|
||||||
|
\ 'pyo' : '',
|
||||||
|
\ 'pyd' : '',
|
||||||
|
\ 'coffee' : '',
|
||||||
|
\ 'mustache' : '',
|
||||||
|
\ 'hbs' : '',
|
||||||
|
\ 'conf' : '',
|
||||||
|
\ 'ini' : '',
|
||||||
|
\ 'yml' : '',
|
||||||
|
\ 'yaml' : '',
|
||||||
|
\ 'toml' : '',
|
||||||
|
\ 'bat' : '',
|
||||||
|
\ 'jpg' : '',
|
||||||
|
\ 'jpeg' : '',
|
||||||
|
\ 'bmp' : '',
|
||||||
|
\ 'png' : '',
|
||||||
|
\ 'gif' : '',
|
||||||
|
\ 'ico' : '',
|
||||||
|
\ 'twig' : '',
|
||||||
|
\ 'cpp' : '',
|
||||||
|
\ 'c++' : '',
|
||||||
|
\ 'cxx' : '',
|
||||||
|
\ 'cc' : '',
|
||||||
|
\ 'cp' : '',
|
||||||
|
\ 'c' : '',
|
||||||
|
\ 'cs' : '',
|
||||||
|
\ 'h' : '',
|
||||||
|
\ 'hh' : '',
|
||||||
|
\ 'hpp' : '',
|
||||||
|
\ 'hxx' : '',
|
||||||
|
\ 'hs' : '',
|
||||||
|
\ 'lhs' : '',
|
||||||
|
\ 'lua' : '',
|
||||||
|
\ 'java' : '',
|
||||||
|
\ 'sh' : '',
|
||||||
|
\ 'fish' : '',
|
||||||
|
\ 'bash' : '',
|
||||||
|
\ 'zsh' : '',
|
||||||
|
\ 'ksh' : '',
|
||||||
|
\ 'csh' : '',
|
||||||
|
\ 'awk' : '',
|
||||||
|
\ 'ps1' : '',
|
||||||
|
\ 'ml' : 'λ',
|
||||||
|
\ 'mli' : 'λ',
|
||||||
|
\ 'diff' : '',
|
||||||
|
\ 'db' : '',
|
||||||
|
\ 'sql' : '',
|
||||||
|
\ 'dump' : '',
|
||||||
|
\ 'clj' : '',
|
||||||
|
\ 'cljc' : '',
|
||||||
|
\ 'cljs' : '',
|
||||||
|
\ 'edn' : '',
|
||||||
|
\ 'scala' : '',
|
||||||
|
\ 'go' : '',
|
||||||
|
\ 'dart' : '',
|
||||||
|
\ 'xul' : '',
|
||||||
|
\ 'sln' : '',
|
||||||
|
\ 'suo' : '',
|
||||||
|
\ 'pl' : '',
|
||||||
|
\ 'pm' : '',
|
||||||
|
\ 't' : '',
|
||||||
|
\ 'rss' : '',
|
||||||
|
\ 'f#' : '',
|
||||||
|
\ 'fsscript' : '',
|
||||||
|
\ 'fsx' : '',
|
||||||
|
\ 'fs' : '',
|
||||||
|
\ 'fsi' : '',
|
||||||
|
\ 'rs' : '',
|
||||||
|
\ 'rlib' : '',
|
||||||
|
\ 'd' : '',
|
||||||
|
\ 'erl' : '',
|
||||||
|
\ 'hrl' : '',
|
||||||
|
\ 'ex' : '',
|
||||||
|
\ 'exs' : '',
|
||||||
|
\ 'eex' : '',
|
||||||
|
\ 'leex' : '',
|
||||||
|
\ 'vim' : '',
|
||||||
|
\ 'ai' : '',
|
||||||
|
\ 'psd' : '',
|
||||||
|
\ 'psb' : '',
|
||||||
|
\ 'ts' : '',
|
||||||
|
\ 'tsx' : '',
|
||||||
|
\ 'jl' : '',
|
||||||
|
\ 'pp' : '',
|
||||||
|
\ 'vue' : '﵂',
|
||||||
|
\ 'elm' : '',
|
||||||
|
\ 'swift' : '',
|
||||||
|
\ 'xcplayground' : ''
|
||||||
|
\}
|
||||||
|
|
||||||
|
let s:file_node_exact_matches = {
|
||||||
|
\ 'exact-match-case-sensitive-1.txt' : '1',
|
||||||
|
\ 'exact-match-case-sensitive-2' : '2',
|
||||||
|
\ 'gruntfile.coffee' : '',
|
||||||
|
\ 'gruntfile.js' : '',
|
||||||
|
\ 'gruntfile.ls' : '',
|
||||||
|
\ 'gulpfile.coffee' : '',
|
||||||
|
\ 'gulpfile.js' : '',
|
||||||
|
\ 'gulpfile.ls' : '',
|
||||||
|
\ 'mix.lock' : '',
|
||||||
|
\ 'dropbox' : '',
|
||||||
|
\ '.ds_store' : '',
|
||||||
|
\ '.gitconfig' : '',
|
||||||
|
\ '.gitignore' : '',
|
||||||
|
\ '.gitlab-ci.yml' : '',
|
||||||
|
\ '.bashrc' : '',
|
||||||
|
\ '.zshrc' : '',
|
||||||
|
\ '.vimrc' : '',
|
||||||
|
\ '.gvimrc' : '',
|
||||||
|
\ '_vimrc' : '',
|
||||||
|
\ '_gvimrc' : '',
|
||||||
|
\ '.bashprofile' : '',
|
||||||
|
\ 'favicon.ico' : '',
|
||||||
|
\ 'license' : '',
|
||||||
|
\ 'node_modules' : '',
|
||||||
|
\ 'react.jsx' : '',
|
||||||
|
\ 'procfile' : '',
|
||||||
|
\ 'dockerfile' : '',
|
||||||
|
\ 'docker-compose.yml' : '',
|
||||||
|
\}
|
||||||
|
|
||||||
|
let s:file_node_pattern_matches = {
|
||||||
|
\ '.*jquery.*\.js$' : '',
|
||||||
|
\ '.*angular.*\.js$' : '',
|
||||||
|
\ '.*backbone.*\.js$' : '',
|
||||||
|
\ '.*require.*\.js$' : '',
|
||||||
|
\ '.*materialize.*\.js$' : '',
|
||||||
|
\ '.*materialize.*\.css$' : '',
|
||||||
|
\ '.*mootools.*\.js$' : '',
|
||||||
|
\ '.*vimrc.*' : '',
|
||||||
|
\ 'Vagrantfile$' : ''
|
||||||
|
\}
|
||||||
|
|
||||||
|
if !exists('g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols')
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {}
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:WebDevIconsUnicodeDecorateFileNodesExactSymbols')
|
||||||
|
" do not remove: exact-match-case-sensitive-*
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols = {}
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols')
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols = {}
|
||||||
|
endif
|
||||||
|
|
||||||
|
" iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously)
|
||||||
|
for [key, val] in items(s:file_node_extensions)
|
||||||
|
if !has_key(g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols, key)
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols[key] = val
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously)
|
||||||
|
for [key, val] in items(s:file_node_exact_matches)
|
||||||
|
if !has_key(g:WebDevIconsUnicodeDecorateFileNodesExactSymbols, key)
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesExactSymbols[key] = val
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" iterate to fix allow user overriding of specific individual keys in vimrc (only gvimrc was working previously)
|
||||||
|
for [key, val] in items(s:file_node_pattern_matches)
|
||||||
|
if !has_key(g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols, key)
|
||||||
|
let g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols[key] = val
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:setSyntax()
|
||||||
|
if g:webdevicons_enable_nerdtree == 1 && g:webdevicons_conceal_nerdtree_brackets == 1
|
||||||
|
augroup webdevicons_conceal_nerdtree_brackets
|
||||||
|
au!
|
||||||
|
autocmd FileType nerdtree syntax match hideBracketsInNerdTree "\]" contained conceal containedin=ALL
|
||||||
|
autocmd FileType nerdtree syntax match hideBracketsInNerdTree "\[" contained conceal containedin=ALL
|
||||||
|
autocmd FileType nerdtree setlocal conceallevel=3
|
||||||
|
autocmd FileType nerdtree setlocal concealcursor=nvic
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
" stole solution/idea from nerdtree-git-plugin :)
|
||||||
|
function! s:setCursorHold()
|
||||||
|
if g:webdevicons_enable_nerdtree
|
||||||
|
augroup webdevicons_cursor_hold
|
||||||
|
autocmd CursorHold * silent! call s:CursorHoldUpdate()
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
" stole solution/idea from nerdtree-git-plugin :)
|
||||||
|
function! s:CursorHoldUpdate()
|
||||||
|
if g:NERDTreeUpdateOnCursorHold != 1
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:NERDTree') || !g:NERDTree.IsOpen()
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Do not update when a special buffer is selected
|
||||||
|
if !empty(&l:buftype)
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" winnr need to make focus go to opened file
|
||||||
|
" CursorToTreeWin needed to avoid error on opening file
|
||||||
|
let l:winnr = winnr()
|
||||||
|
let l:altwinnr = winnr('#')
|
||||||
|
|
||||||
|
call g:NERDTree.CursorToTreeWin()
|
||||||
|
call b:NERDTree.root.refreshFlags()
|
||||||
|
call NERDTreeRender()
|
||||||
|
|
||||||
|
exec l:altwinnr . 'wincmd w'
|
||||||
|
exec l:winnr . 'wincmd w'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:hardRefreshNerdTree()
|
||||||
|
if g:webdevicons_enable_nerdtree == 1 && g:webdevicons_conceal_nerdtree_brackets == 1 && g:NERDTree.IsOpen()
|
||||||
|
NERDTreeClose
|
||||||
|
NERDTree
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:softRefreshNerdTree()
|
||||||
|
if g:webdevicons_enable_nerdtree == 1 && g:NERDTree.IsOpen()
|
||||||
|
NERDTreeToggle
|
||||||
|
NERDTreeToggle
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" local initialization {{{2
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
function! s:initialize()
|
||||||
|
call s:setDictionaries()
|
||||||
|
call s:setSyntax()
|
||||||
|
call s:setCursorHold()
|
||||||
|
|
||||||
|
if exists('g:loaded_flagship') | call devicons#plugins#flagship#init() | endif
|
||||||
|
if exists('g:loaded_unite') && g:webdevicons_enable_unite | call devicons#plugins#unite#init() | endif
|
||||||
|
if exists('g:loaded_denite') && g:webdevicons_enable_denite | call devicons#plugins#denite#init() | endif
|
||||||
|
if exists('g:loaded_vimfiler') && g:webdevicons_enable_vimfiler | call devicons#plugins#vimfiler#init() | endif
|
||||||
|
if exists('g:loaded_ctrlp') && g:webdevicons_enable_ctrlp | call devicons#plugins#ctrlp#init() | endif
|
||||||
|
if exists('g:loaded_startify') && g:webdevicons_enable_startify | call devicons#plugins#startify#init() | endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
" public functions {{{2
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! webdevicons#version()
|
||||||
|
return s:version
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! webdevicons#pluginHome()
|
||||||
|
return s:plugin_home
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
" allow the first version of refresh to now call softRefresh
|
||||||
|
function! webdevicons#refresh()
|
||||||
|
call webdevicons#softRefresh()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! webdevicons#hardRefresh()
|
||||||
|
call s:setSyntax()
|
||||||
|
call s:hardRefreshNerdTree()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! webdevicons#softRefresh()
|
||||||
|
call s:setSyntax()
|
||||||
|
call s:softRefreshNerdTree()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" a:1 (bufferName), a:2 (isDirectory)
|
||||||
|
" scope: public
|
||||||
|
function! WebDevIconsGetFileTypeSymbol(...)
|
||||||
|
if a:0 == 0
|
||||||
|
let fileNodeExtension = expand('%:e')
|
||||||
|
let fileNode = expand('%:t')
|
||||||
|
let isDirectory = 0
|
||||||
|
else
|
||||||
|
let fileNodeExtension = fnamemodify(a:1, ':e')
|
||||||
|
let fileNode = fnamemodify(a:1, ':t')
|
||||||
|
if a:0 > 1
|
||||||
|
let isDirectory = a:2
|
||||||
|
else
|
||||||
|
let isDirectory = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if isDirectory == 0 || g:DevIconsEnableFolderPatternMatching
|
||||||
|
|
||||||
|
let symbol = g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol
|
||||||
|
let fileNodeExtension = tolower(fileNodeExtension)
|
||||||
|
let fileNode = tolower(fileNode)
|
||||||
|
|
||||||
|
for [pattern, glyph] in items(g:WebDevIconsUnicodeDecorateFileNodesPatternSymbols)
|
||||||
|
if match(fileNode, pattern) != -1
|
||||||
|
let symbol = glyph
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
if symbol == g:WebDevIconsUnicodeDecorateFileNodesDefaultSymbol
|
||||||
|
if has_key(g:WebDevIconsUnicodeDecorateFileNodesExactSymbols, fileNode)
|
||||||
|
let symbol = g:WebDevIconsUnicodeDecorateFileNodesExactSymbols[fileNode]
|
||||||
|
elseif ((isDirectory == 1 && g:DevIconsEnableFolderExtensionPatternMatching) || isDirectory == 0) && has_key(g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols, fileNodeExtension)
|
||||||
|
let symbol = g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols[fileNodeExtension]
|
||||||
|
elseif isDirectory == 1
|
||||||
|
let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
let symbol = g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol
|
||||||
|
endif
|
||||||
|
|
||||||
|
let artifactFix = s:DevIconsGetArtifactFix()
|
||||||
|
|
||||||
|
return symbol . artifactFix
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: local
|
||||||
|
" Temporary (hopefully) fix for glyph issues in gvim (proper fix is with the
|
||||||
|
" actual font patcher)
|
||||||
|
function! s:DevIconsGetArtifactFix()
|
||||||
|
if g:DevIconsAppendArtifactFix == 1
|
||||||
|
let artifactFix = g:DevIconsArtifactFixChar
|
||||||
|
else
|
||||||
|
let artifactFix = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
return artifactFix
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! WebDevIconsGetFileFormatSymbol(...)
|
||||||
|
let fileformat = ''
|
||||||
|
let bomb = ''
|
||||||
|
|
||||||
|
if (&bomb && g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol !=? '')
|
||||||
|
let bomb = g:WebDevIconsUnicodeByteOrderMarkerDefaultSymbol . ' '
|
||||||
|
endif
|
||||||
|
|
||||||
|
if &fileformat ==? 'dos'
|
||||||
|
let fileformat = ''
|
||||||
|
elseif &fileformat ==? 'unix'
|
||||||
|
if s:isDarwin()
|
||||||
|
let fileformat = ''
|
||||||
|
else
|
||||||
|
let fileformat = ''
|
||||||
|
endif
|
||||||
|
elseif &fileformat ==? 'mac'
|
||||||
|
let fileformat = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
let artifactFix = s:DevIconsGetArtifactFix()
|
||||||
|
|
||||||
|
return bomb . fileformat . artifactFix
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" for airline plugin {{{3
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! AirlineWebDevIcons(...)
|
||||||
|
let w:airline_section_x = get(w:, 'airline_section_x',
|
||||||
|
\ get(g:, 'airline_section_x', ''))
|
||||||
|
let w:airline_section_x .= ' %{WebDevIconsGetFileTypeSymbol()} '
|
||||||
|
let hasFileFormatEncodingPart = airline#parts#ffenc() !=? ''
|
||||||
|
if g:webdevicons_enable_airline_statusline_fileformat_symbols && hasFileFormatEncodingPart
|
||||||
|
let w:airline_section_y = ' %{&fenc . " " . WebDevIconsGetFileFormatSymbol()} '
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
if g:webdevicons_enable == 1 && exists('g:loaded_airline') && g:loaded_airline == 1 && g:webdevicons_enable_airline_statusline
|
||||||
|
call airline#add_statusline_func('AirlineWebDevIcons')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:webdevicons_enable == 1 && g:webdevicons_enable_airline_tabline
|
||||||
|
" Store original formatter.
|
||||||
|
if exists('g:airline#extensions#tabline#formatter')
|
||||||
|
let g:_webdevicons_airline_orig_formatter = g:airline#extensions#tabline#formatter
|
||||||
|
else
|
||||||
|
let g:_webdevicons_airline_orig_formatter = 'default'
|
||||||
|
endif
|
||||||
|
let g:airline#extensions#tabline#formatter = 'webdevicons'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" for nerdtree plugin {{{3
|
||||||
|
"========================================================================
|
||||||
|
|
||||||
|
" scope: public
|
||||||
|
function! NERDTreeWebDevIconsRefreshListener(event)
|
||||||
|
let path = a:event.subject
|
||||||
|
let postPadding = g:WebDevIconsNerdTreeAfterGlyphPadding
|
||||||
|
let prePadding = g:WebDevIconsNerdTreeBeforeGlyphPadding
|
||||||
|
let hasGitFlags = (len(path.flagSet._flagsForScope('git')) > 0)
|
||||||
|
let hasGitNerdTreePlugin = (exists('g:loaded_nerdtree_git_status') == 1)
|
||||||
|
let artifactFix = s:DevIconsGetArtifactFix()
|
||||||
|
|
||||||
|
" align vertically at the same level: non git-flag nodes with git-flag nodes
|
||||||
|
if g:WebDevIconsNerdTreeGitPluginForceVAlign && !hasGitFlags && hasGitNerdTreePlugin
|
||||||
|
let prePadding .= ' '
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !path.isDirectory
|
||||||
|
" Hey we got a regular file, lets get it's proper icon
|
||||||
|
let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str()) . postPadding
|
||||||
|
|
||||||
|
elseif path.isDirectory && g:WebDevIconsUnicodeDecorateFolderNodes == 1
|
||||||
|
" Ok we got a directory, some more tests and checks
|
||||||
|
let directoryOpened = 0
|
||||||
|
|
||||||
|
if g:DevIconsEnableFoldersOpenClose && len(path.flagSet._flagsForScope('webdevicons')) > 0
|
||||||
|
" did the user set different icons for open and close?
|
||||||
|
|
||||||
|
" isOpen is not available on the path listener directly
|
||||||
|
" but we added one via overriding particular keymappings for NERDTree
|
||||||
|
if has_key(path, 'isOpen') && path.isOpen == 1
|
||||||
|
let directoryOpened = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:WebDevIconsUnicodeDecorateFolderNodesExactMatches == 1
|
||||||
|
" Did the user enable exact matching of folder type/names
|
||||||
|
" think node_modules
|
||||||
|
if g:DevIconsEnableFoldersOpenClose && directoryOpened
|
||||||
|
" the folder is open
|
||||||
|
let flag = prePadding . g:DevIconsDefaultFolderOpenSymbol . artifactFix . postPadding
|
||||||
|
else
|
||||||
|
" the folder is not open
|
||||||
|
if path.isSymLink
|
||||||
|
" We have a symlink
|
||||||
|
let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesSymlinkSymbol . artifactFix . postPadding
|
||||||
|
else
|
||||||
|
" We have a regular folder
|
||||||
|
let flag = prePadding . WebDevIconsGetFileTypeSymbol(path.str(), path.isDirectory) . postPadding
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
" the user did not enable exact matching
|
||||||
|
if g:DevIconsEnableFoldersOpenClose && directoryOpened
|
||||||
|
" the folder is open
|
||||||
|
let flag = prePadding . g:DevIconsDefaultFolderOpenSymbol . artifactFix . postPadding
|
||||||
|
else
|
||||||
|
" the folder is not open
|
||||||
|
if path.isSymLink
|
||||||
|
" We have a symlink
|
||||||
|
let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesSymlinkSymbol . artifactFix . postPadding
|
||||||
|
else
|
||||||
|
" We have a regular folder
|
||||||
|
let flag = prePadding . g:WebDevIconsUnicodeDecorateFolderNodesDefaultSymbol . artifactFix . postPadding
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
let flag = prePadding . ' ' . artifactFix . postPadding
|
||||||
|
endif
|
||||||
|
|
||||||
|
call path.flagSet.clearFlags('webdevicons')
|
||||||
|
|
||||||
|
if flag !=? ''
|
||||||
|
call path.flagSet.addFlag('webdevicons', flag)
|
||||||
|
endif
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" call setup after processing all the functions (to avoid errors) {{{1
|
||||||
|
"========================================================================
|
||||||
|
" had some issues with VimEnter, for now using:
|
||||||
|
call s:initialize()
|
||||||
|
|
||||||
|
" standard fix/safety: line continuation (avoiding side effects) {{{1
|
||||||
|
"========================================================================
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
|
|
||||||
|
" modeline syntax:
|
||||||
|
" vim: fdm=marker tabstop=2 softtabstop=2 shiftwidth=2 expandtab:
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import pkg_resources
|
||||||
|
pkg_resources.declare_namespace(__name__)
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
import pkg_resources
|
||||||
|
pkg_resources.declare_namespace(__name__)
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim:se fenc=utf8 noet:
|
||||||
|
from __future__ import (unicode_literals, division, absolute_import, print_function)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import vim
|
||||||
|
except ImportError:
|
||||||
|
vim = {}
|
||||||
|
|
||||||
|
from powerline.bindings.vim import (vim_get_func, buffer_name)
|
||||||
|
from powerline.theme import requires_segment_info
|
||||||
|
|
||||||
|
@requires_segment_info
|
||||||
|
def webdevicons(pl, segment_info):
|
||||||
|
webdevicons = vim_get_func('WebDevIconsGetFileTypeSymbol')
|
||||||
|
name = buffer_name(segment_info)
|
||||||
|
return [] if not webdevicons else [{
|
||||||
|
'contents': webdevicons(name),
|
||||||
|
'highlight_groups': ['webdevicons', 'file_name'],
|
||||||
|
}]
|
||||||
|
|
||||||
|
@requires_segment_info
|
||||||
|
def webdevicons_file_format(pl, segment_info):
|
||||||
|
webdevicons_file_format = vim_get_func('WebDevIconsGetFileFormatSymbol')
|
||||||
|
return [] if not webdevicons_file_format else [{
|
||||||
|
'contents': webdevicons_file_format(),
|
||||||
|
'highlight_groups': ['webdevicons_file_format', 'file_format'],
|
||||||
|
}]
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim:se fenc=utf8 noet:
|
||||||
|
from .base import Base
|
||||||
|
from os.path import isdir
|
||||||
|
|
||||||
|
|
||||||
|
class Filter(Base):
|
||||||
|
|
||||||
|
def __init__(self, vim):
|
||||||
|
super().__init__(vim)
|
||||||
|
self.name = 'devicons_denite_converter'
|
||||||
|
self.description = 'add devicons in front of candidates'
|
||||||
|
|
||||||
|
def filter(self, context):
|
||||||
|
for candidate in context['candidates']:
|
||||||
|
|
||||||
|
if 'bufnr' in candidate:
|
||||||
|
bufname = self.vim.funcs.bufname(candidate['bufnr'])
|
||||||
|
filename = self.vim.funcs.fnamemodify(bufname, ':p:t')
|
||||||
|
elif 'word' in candidate and 'action__path' in candidate:
|
||||||
|
filename = candidate['word']
|
||||||
|
|
||||||
|
icon = self.vim.funcs.WebDevIconsGetFileTypeSymbol(
|
||||||
|
filename, isdir(filename))
|
||||||
|
|
||||||
|
# Customize output format if not done already.
|
||||||
|
if icon not in candidate.get('abbr', '')[:10]:
|
||||||
|
candidate['abbr'] = ' {} {}'.format(
|
||||||
|
icon, candidate.get('abbr', candidate['word']))
|
||||||
|
|
||||||
|
return context['candidates']
|
||||||
1759
.config/vifm/vifminfo
Normal file
1759
.config/vifm/vifminfo
Normal file
File diff suppressed because it is too large
Load diff
1
.config/vifm/vifminfo.json
Normal file
1
.config/vifm/vifminfo.json
Normal file
File diff suppressed because one or more lines are too long
349
.config/vifm/vifmrc
Normal file
349
.config/vifm/vifmrc
Normal file
|
|
@ -0,0 +1,349 @@
|
||||||
|
set vicmd=nvim
|
||||||
|
set syscalls " Own utilities for copying & stuff
|
||||||
|
set trash " Paste files after deletion
|
||||||
|
set history=100 " This is how many directories to store in the directory history.
|
||||||
|
set nofollowlinks " Automatically resolve symbolic links on l or Enter.
|
||||||
|
set sortnumbers " Natural sort of (version) numbers within text.
|
||||||
|
set undolevels=100 " Maximum number of changes that can be undone.
|
||||||
|
set vimhelp " Use Vim's format of help file
|
||||||
|
set norunexec " Run an executable with return
|
||||||
|
" colorscheme zenburn
|
||||||
|
set timefmt=%m/%d\ %H:%M " Time format in file list
|
||||||
|
|
||||||
|
set wildmenu " Show list of matches on tab completion in command-line mode
|
||||||
|
|
||||||
|
set wildstyle=popup " Display completions in a form of popup with descriptions of the matches
|
||||||
|
|
||||||
|
" 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
|
||||||
|
|
||||||
|
set hlsearch
|
||||||
|
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 statusline=" Hint: %z%= %A %10u:%-7g %15s %20d "
|
||||||
|
|
||||||
|
set millerview
|
||||||
|
set number
|
||||||
|
set sort=+iname
|
||||||
|
|
||||||
|
" ------------------------------------------------------------------------------
|
||||||
|
" Marks
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
" ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
" Pdf
|
||||||
|
filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c
|
||||||
|
fileviewer *.pdf pdftotext -nopgbrk %c -
|
||||||
|
|
||||||
|
" PostScript
|
||||||
|
filextype *.ps,*.eps,*.ps.gz
|
||||||
|
\ {View in zathura}
|
||||||
|
\ zathura %f
|
||||||
|
|
||||||
|
" Djvu
|
||||||
|
filextype *.djvu
|
||||||
|
\ {View in zathura}
|
||||||
|
\ zathura %f
|
||||||
|
|
||||||
|
" Audio
|
||||||
|
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus
|
||||||
|
\ {Play using ffplay}
|
||||||
|
\ ffplay -nodisp -autoexit %c,
|
||||||
|
\ {Play using MPlayer}
|
||||||
|
\ mplayer %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 ffplay}
|
||||||
|
\ ffplay -fs -autoexit %f,
|
||||||
|
\ {View using Dragon}
|
||||||
|
\ dragon %f:p,
|
||||||
|
\ {View using mplayer}
|
||||||
|
\ mplayer %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]
|
||||||
|
\ ffprobe -pretty %c 2>&1
|
||||||
|
|
||||||
|
" Web
|
||||||
|
filextype *.html,*.htm
|
||||||
|
\ {Open with qutebrowser}
|
||||||
|
\ qutebrowser %f %i &,
|
||||||
|
\ {Open with chromium}
|
||||||
|
\ chromium %f &
|
||||||
|
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 feh}
|
||||||
|
\ feh %f,
|
||||||
|
\ {View in viewnior}
|
||||||
|
\ viewnior %c,
|
||||||
|
|
||||||
|
fileviewer *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm
|
||||||
|
\ identify %f
|
||||||
|
|
||||||
|
" CSV
|
||||||
|
filetype *.csv
|
||||||
|
\ {Open with SC-IM}
|
||||||
|
\ sc-im %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
|
||||||
|
filextype *.torrent qbittorrent %f &
|
||||||
|
|
||||||
|
" View archives with dtrx
|
||||||
|
fileviewer *.7z,*.tgz,*.tar.gz,*.tar.bz2,*.tbz2,*.tar.txz,*.txz,*.tar,*zip dtrx -t %f
|
||||||
|
filetype *.7z,*.tgz,*.tar.gz,*.tar.bz2,*.tbz2,*.tar.txz,*.txz,*.tar,*zip
|
||||||
|
\ {View contents with dtrx}
|
||||||
|
\ dtrx --table %f | less,
|
||||||
|
\ {Extract with dtrx}
|
||||||
|
\ dtrx %f
|
||||||
|
|
||||||
|
" 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,
|
||||||
|
|
||||||
|
" ArchiveMount
|
||||||
|
filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz
|
||||||
|
\ {Mount with archivemount}
|
||||||
|
\ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR,
|
||||||
|
|
||||||
|
" Rar2FsMount and rar archives
|
||||||
|
filetype *.rar
|
||||||
|
\ {Mount with rar2fs}
|
||||||
|
\ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR,
|
||||||
|
|
||||||
|
" IsoMount
|
||||||
|
filetype *.iso
|
||||||
|
\ {Mount with fuseiso}
|
||||||
|
\ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR,
|
||||||
|
|
||||||
|
" Fuse7z and 7z archives
|
||||||
|
filetype *.7z
|
||||||
|
\ {Mount with fuse-7z}
|
||||||
|
\ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR,
|
||||||
|
|
||||||
|
" Qt projects
|
||||||
|
filextype *.pro qtcreator %f &
|
||||||
|
|
||||||
|
" Directories
|
||||||
|
filextype */
|
||||||
|
\ {View in thunar}
|
||||||
|
\ Thunar %f &,
|
||||||
|
|
||||||
|
" Syntax highlighting in preview
|
||||||
|
fileviewer *[^/] pygmentize -O style=monokai -f console256 -g
|
||||||
|
|
||||||
|
filetype *
|
||||||
|
\ {Open with xdg-open} xdg-open %f,
|
||||||
|
\ {Open with neovim} nvim %f,
|
||||||
|
\ {Open with vim} vim %f
|
||||||
|
|
||||||
|
" Displaying pictures in terminal
|
||||||
|
" fileviewer *.jpg,*.png shellpic %c
|
||||||
|
|
||||||
|
|
||||||
|
" ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
" What should be saved automatically between vifm sessions. Drop "savedirs"
|
||||||
|
" value if you don't want vifm to remember last visited directories for you.
|
||||||
|
set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
|
||||||
|
\phistory,fhistory,dirstack,registers,bookmarks,bmarks
|
||||||
|
|
||||||
|
" Start shell in current directory
|
||||||
|
nnoremap s :shell<cr>
|
||||||
|
|
||||||
|
" Display sorting dialog
|
||||||
|
nnoremap S :sort<cr>
|
||||||
|
|
||||||
|
" Toggle visibility of preview window
|
||||||
|
nnoremap w :view<cr>
|
||||||
|
vnoremap w :view<cr>gv
|
||||||
|
|
||||||
|
" Tabs
|
||||||
|
nnoremap gn :tabnew<CR>
|
||||||
|
nnoremap gN :tabclose<CR>
|
||||||
|
nnoremap t1 1gt
|
||||||
|
nnoremap t2 2gt
|
||||||
|
nnoremap t3 3gt
|
||||||
|
nnoremap t4 4gt
|
||||||
|
nnoremap t5 5gt
|
||||||
|
nnoremap t6 6gt
|
||||||
|
nnoremap t7 7gt
|
||||||
|
nnoremap t8 8gt
|
||||||
|
nnoremap t9 9gt
|
||||||
|
|
||||||
|
nnoremap , :noh<CR>
|
||||||
|
|
||||||
|
" Interaction with system clipboard
|
||||||
|
if has('win')
|
||||||
|
" Yank current directory path to Windows clipboard with forward slashes
|
||||||
|
nnoremap yp :!echo %"d:gs!\!/! %i | clip<cr>
|
||||||
|
" Yank path to current file to Windows clipboard with forward slashes
|
||||||
|
nnoremap yf :!echo %"c:gs!\!/! %i | clip<cr>
|
||||||
|
elseif executable('xclip')
|
||||||
|
" Yank current directory path into the clipboard
|
||||||
|
nnoremap yd :!echo %d | xclip %i<cr>
|
||||||
|
" Yank current file path into the clipboard
|
||||||
|
nnoremap yf :!echo %c:p | xclip %i<cr>
|
||||||
|
elseif executable('xsel')
|
||||||
|
" Yank current directory path into primary and selection clipboards
|
||||||
|
nnoremap yd :!echo -n %d | xsel --input --primary %i &&
|
||||||
|
\ echo -n %d | xsel --clipboard --input %i<cr>
|
||||||
|
" Yank current file path into into primary and selection clipboards
|
||||||
|
nnoremap yf :!echo -n %c:p | xsel --input --primary %i &&
|
||||||
|
\ echo -n %c:p | xsel --clipboard --input %i<cr>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Mappings for faster renaming
|
||||||
|
nnoremap I cw<c-a>
|
||||||
|
nnoremap cc cw<c-u>
|
||||||
|
nnoremap A cw
|
||||||
|
|
||||||
|
" Open console in current directory
|
||||||
|
nnoremap ,t :!xterm &<cr>
|
||||||
|
|
||||||
|
" Open editor to edit vifmrc and apply settings after returning to vifm
|
||||||
|
nnoremap ,c :write | edit $MYVIFMRC | restart<cr>
|
||||||
|
" Open gvim to edit vifmrc
|
||||||
|
nnoremap ,C :!gvim --remote-tab-silent $MYVIFMRC &<cr>
|
||||||
|
|
||||||
|
" Toggle wrap setting on ,w key
|
||||||
|
nnoremap ,w :set wrap!<cr>
|
||||||
|
nnoremap Md :mkdir<space>
|
||||||
|
|
||||||
|
nnoremap o :file<CR>
|
||||||
|
nnoremap y<Tab> :move<CR>
|
||||||
|
|
||||||
|
source ~/.config/vifm/vifm_devicons/SETUP
|
||||||
|
|
||||||
|
" ------------------------------------------------------------------------------
|
||||||
|
" Colorscheme
|
||||||
|
highlight clear
|
||||||
|
|
||||||
|
highlight Win cterm=none ctermfg=245 ctermbg=234
|
||||||
|
highlight Directory cterm=bold ctermfg=33 ctermbg=234
|
||||||
|
highlight Link cterm=bold ctermfg=yellow ctermbg=234
|
||||||
|
highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
|
||||||
|
|
||||||
|
highlight Socket cterm=bold ctermfg=125 ctermbg=default
|
||||||
|
highlight Device cterm=bold ctermfg=red ctermbg=default
|
||||||
|
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
|
||||||
|
highlight Executable cterm=bold ctermfg=34 ctermbg=default
|
||||||
|
|
||||||
|
highlight Selected cterm=bold ctermfg=125 ctermbg=235
|
||||||
|
highlight CurrLine cterm=bold ctermfg=105 ctermbg=238
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
" ------------------------------------------------------------------------------
|
||||||
|
" 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 <left> <nop>
|
||||||
|
|
||||||
|
" 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
|
||||||
2
.latexmkrc
Normal file
2
.latexmkrc
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
$pdf_mode = 5;
|
||||||
|
$xelatex = "xelatex --shell-escape"
|
||||||
20
.profile
Normal file
20
.profile
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
export EDITOR=/usr/bin/nvim
|
||||||
|
export BROWSER=/usr/bin/qutebrowser
|
||||||
|
export QT_QPA_PLATFORMTHEME="qt5ct"
|
||||||
|
export QT_AUTO_SCREEN_SCALE_FACTOR=0
|
||||||
|
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
|
||||||
|
|
||||||
|
export MANPATH="/usr/local/texlive/2020/texmf-dist/doc/man:$MANPATH"
|
||||||
|
export INFOPATH="/usr/local/texlive/2020/texmf-dist/doc/info:$INFOPATH"
|
||||||
|
export PATH="/usr/local/texlive/2020/bin/x86_64-linux:$PATH"
|
||||||
|
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
export PATH="$HOME/bin:$PATH"
|
||||||
|
export PATH="$HOME/bin/scripts:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||||
|
export PATH="$PATH:$HOME/.rvm/bin"
|
||||||
|
|
||||||
|
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
|
||||||
33
.tmux.conf
Normal file
33
.tmux.conf
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
|
set -ga terminal-overrides ",*256col*:Tc"
|
||||||
|
|
||||||
|
set-window-option -g mode-keys vi
|
||||||
|
set-option -g xterm-keys on
|
||||||
|
set-option -g mouse on
|
||||||
|
set -sg escape-time 10
|
||||||
|
|
||||||
|
source ~/.tmux.line.conf
|
||||||
|
|
||||||
|
unbind C-b
|
||||||
|
set -g prefix C-a
|
||||||
|
bind C-a send-prefix
|
||||||
|
|
||||||
|
bind h select-pane -L
|
||||||
|
bind j select-pane -D
|
||||||
|
bind k select-pane -U
|
||||||
|
bind l select-pane -R
|
||||||
|
|
||||||
|
bind s split-window
|
||||||
|
bind v split-window -h
|
||||||
|
|
||||||
|
bind r source-file ~/.tmux.conf
|
||||||
|
|
||||||
|
unbind p
|
||||||
|
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel -i -p && xsel -o -p | xsel -i -b"
|
||||||
|
bind-key p run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
|
||||||
|
|
||||||
|
bind-key n new-window
|
||||||
|
bind-key t next-window
|
||||||
|
bind-key T previous-window
|
||||||
|
|
||||||
|
set -g history-limit 20000
|
||||||
21
.tmux.line.conf
Normal file
21
.tmux.line.conf
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
# This tmux statusbar config was created by tmuxline.vim
|
||||||
|
# on Wed, 22 Jan 2020
|
||||||
|
|
||||||
|
set -g status-justify "centre"
|
||||||
|
set -g status "on"
|
||||||
|
set -g status-left-style "none"
|
||||||
|
set -g message-command-style "fg=#bfc7d5,bg=#474b59"
|
||||||
|
set -g status-right-style "none"
|
||||||
|
set -g pane-active-border-style "fg=#939ede"
|
||||||
|
set -g status-style "none,bg=#333747"
|
||||||
|
set -g message-style "fg=#bfc7d5,bg=#474b59"
|
||||||
|
set -g pane-border-style "fg=#474b59"
|
||||||
|
set -g status-right-length "100"
|
||||||
|
set -g status-left-length "100"
|
||||||
|
setw -g window-status-activity-style "none,fg=#939ede,bg=#333747"
|
||||||
|
setw -g window-status-separator ""
|
||||||
|
setw -g window-status-style "none,fg=#bfc7d5,bg=#333747"
|
||||||
|
set -g status-left "#[fg=#292D3E,bg=#939ede] #S #[fg=#939ede,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] #W #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]"
|
||||||
|
set -g status-right "#[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#333747] %-H:%M #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] %a, %b %d #[fg=#939ede,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#292D3E,bg=#939ede] #H "
|
||||||
|
setw -g window-status-format "#[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]#[default] #I #W #[align=left] #[fg=#333747,bg=#333747,nobold,nounderscore,noitalics]"
|
||||||
|
setw -g window-status-current-format "#[fg=#333747,bg=#474b59,nobold,nounderscore,noitalics]#[fg=#bfc7d5,bg=#474b59] #I #W #[fg=#474b59,bg=#333747,nobold,nounderscore,noitalics]"
|
||||||
33
.tridactylrc
Normal file
33
.tridactylrc
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
sanitize tridactyllocal tridactylsync
|
||||||
|
|
||||||
|
bind gn tabnew
|
||||||
|
bind gN tabclose
|
||||||
|
|
||||||
|
bind O fillcmdline tabopen
|
||||||
|
|
||||||
|
bind / fillcmdline find
|
||||||
|
bind ? fillcmdline find -?
|
||||||
|
bind n findnext 1
|
||||||
|
bind N findnext -1
|
||||||
|
|
||||||
|
bind F hint -t
|
||||||
|
|
||||||
|
set smoothscroll false
|
||||||
|
set findcase sensitive
|
||||||
|
colorscheme base16-dracula
|
||||||
|
|
||||||
|
bind j scrollline 3
|
||||||
|
bind k scrollline -3
|
||||||
|
|
||||||
|
guiset_quiet gui full
|
||||||
|
guiset_quiet statuspanel left
|
||||||
|
guiset_quiet navbar none
|
||||||
|
guiset_quiet tabs always
|
||||||
|
|
||||||
|
set searchurls.g https://google.com/search?q=
|
||||||
|
|
||||||
|
set newtab http://127.0.0.1:8101/
|
||||||
|
|
||||||
|
command fixamo_quiet jsb tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""'))
|
||||||
|
command fixamo js tri.excmds.setpref("privacy.resistFingerprinting.block_mozAddonManager", "true").then(tri.excmds.setpref("extensions.webextensions.restrictedDomains", '""').then(tri.excmds.fillcmdline_tmp(3000, "Permissions added to user.js. Please restart Firefox to make them take affect.")))
|
||||||
|
fixamo_quiet
|
||||||
2
bin/bukuserver.sh
Executable file
2
bin/bukuserver.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#/bin/bash
|
||||||
|
bukuserver run --host 127.0.0.1 --port 5001
|
||||||
16
bin/i3blocks/aw_afk
Executable file
16
bin/i3blocks/aw_afk
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
afk_event=$(curl -s -X GET "http://localhost:5600/api/0/buckets/aw-watcher-afk_$(hostname)/events?limit=1" -H "accept: application/json")
|
||||||
|
status=$(echo ${afk_event} | jq -r '.[0].data.status')
|
||||||
|
afk_time=$(echo "${afk_event}" | jq -r '.[0].duration' | xargs -I ! date -u -d @! +"%H:%M")
|
||||||
|
|
||||||
|
uptime=$(datediff "$(uptime -s | xargs -I ! date -d ! -Iseconds)" "$(date -Iseconds)" -f '%H:%M' | xargs -I ! date -d ! +"%H:%M")
|
||||||
|
res="${afk_time}/${uptime}"
|
||||||
|
if [[ $status == 'afk' ]]; then
|
||||||
|
echo "$res [AFK]"
|
||||||
|
echo "$res [AFK]"
|
||||||
|
echo "#FF7D68"
|
||||||
|
else
|
||||||
|
echo $res
|
||||||
|
echo $res
|
||||||
|
echo "#68FFF3"
|
||||||
|
fi
|
||||||
106
bin/i3blocks/bandwidth3
Executable file
106
bin/i3blocks/bandwidth3
Executable file
|
|
@ -0,0 +1,106 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 James Murphy
|
||||||
|
# Licensed under the terms of the GNU GPL v2 only.
|
||||||
|
#
|
||||||
|
# i3blocks blocklet script to monitor bandwidth usage
|
||||||
|
|
||||||
|
iface="${BLOCK_INSTANCE}"
|
||||||
|
iface="${IFACE:-$iface}"
|
||||||
|
dt="${DT:-3}"
|
||||||
|
unit="${UNIT:-Mb}"
|
||||||
|
LABEL="${LABEL:-<span font='FontAwesome'> </span>}" # down arrow up arrow
|
||||||
|
printf_command="${PRINTF_COMMAND:-"printf \"${LABEL}%-5.1f/%5.1f %s/s\\n\", rx, wx, unit;"}"
|
||||||
|
|
||||||
|
function default_interface {
|
||||||
|
ip route | awk '/^default via/ {print $5; exit}'
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_proc_net_dev {
|
||||||
|
if [ ! -f "/proc/net/dev" ]; then
|
||||||
|
echo "/proc/net/dev not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function list_interfaces {
|
||||||
|
check_proc_net_dev
|
||||||
|
echo "Interfaces in /proc/net/dev:"
|
||||||
|
grep -o "^[^:]\\+:" /proc/net/dev | tr -d " :"
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts i:t:u:p:lh opt; do
|
||||||
|
case "$opt" in
|
||||||
|
i) iface="$OPTARG" ;;
|
||||||
|
t) dt="$OPTARG" ;;
|
||||||
|
u) unit="$OPTARG" ;;
|
||||||
|
p) printf_command="$OPTARG" ;;
|
||||||
|
l) list_interfaces && exit 0 ;;
|
||||||
|
h) printf \
|
||||||
|
"Usage: bandwidth3 [-i interface] [-t time] [-u unit] [-p printf_command] [-l] [-h]
|
||||||
|
Options:
|
||||||
|
-i\tNetwork interface to measure. Default determined using \`ip route\`.
|
||||||
|
-t\tTime interval in seconds between measurements. Default: 3
|
||||||
|
-u\tUnits to measure bytes in. Default: Mb
|
||||||
|
\tAllowed units: Kb, KB, Mb, MB, Gb, GB, Tb, TB
|
||||||
|
\tUnits may have optional it/its/yte/ytes on the end, e.g. Mbits, KByte
|
||||||
|
-p\tAwk command to be called after a measurement is made.
|
||||||
|
\tDefault: printf \"<span font='FontAwesome'> </span>%%-5.1f/%%5.1f %%s/s\\\\n\", rx, wx, unit;
|
||||||
|
\tExposed variables: rx, wx, tx, unit, iface
|
||||||
|
-l\tList available interfaces in /proc/net/dev
|
||||||
|
-h\tShow this help text
|
||||||
|
" && exit 0;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
check_proc_net_dev
|
||||||
|
|
||||||
|
iface="${iface:-$(default_interface)}"
|
||||||
|
while [ -z "$iface" ]; do
|
||||||
|
echo No default interface
|
||||||
|
sleep "$dt"
|
||||||
|
iface=$(default_interface)
|
||||||
|
done
|
||||||
|
|
||||||
|
case "$unit" in
|
||||||
|
Kb|Kbit|Kbits) bytes_per_unit=$((1024 / 8));;
|
||||||
|
KB|KByte|KBytes) bytes_per_unit=$((1024));;
|
||||||
|
Mb|Mbit|Mbits) bytes_per_unit=$((1024 * 1024 / 8));;
|
||||||
|
MB|MByte|MBytes) bytes_per_unit=$((1024 * 1024));;
|
||||||
|
Gb|Gbit|Gbits) bytes_per_unit=$((1024 * 1024 * 1024 / 8));;
|
||||||
|
GB|GByte|GBytes) bytes_per_unit=$((1024 * 1024 * 1024));;
|
||||||
|
Tb|Tbit|Tbits) bytes_per_unit=$((1024 * 1024 * 1024 * 1024 / 8));;
|
||||||
|
TB|TByte|TBytes) bytes_per_unit=$((1024 * 1024 * 1024 * 1024));;
|
||||||
|
*) echo Bad unit "$unit" && exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
scalar=$((bytes_per_unit * dt))
|
||||||
|
init_line=$(cat /proc/net/dev | grep "^[ ]*$iface:")
|
||||||
|
if [ -z "$init_line" ]; then
|
||||||
|
echo Interface not found in /proc/net/dev: "$iface"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
init_received=$(awk '{print $2}' <<< $init_line)
|
||||||
|
init_sent=$(awk '{print $10}' <<< $init_line)
|
||||||
|
|
||||||
|
(while true; do cat /proc/net/dev; sleep "$dt"; done) |\
|
||||||
|
stdbuf -oL grep "^[ ]*$iface:"|\
|
||||||
|
awk -v scalar="$scalar" -v unit="$unit" -v iface="$iface" '
|
||||||
|
BEGIN{old_received='"$init_received"';old_sent='"$init_sent"'}
|
||||||
|
{
|
||||||
|
received=$2
|
||||||
|
sent=$10
|
||||||
|
rx=(received-old_received)/scalar;
|
||||||
|
wx=(sent-old_sent)/scalar;
|
||||||
|
tx=rx+wr;
|
||||||
|
old_received=received;
|
||||||
|
old_sent=sent;
|
||||||
|
if(rx >= 0 && wx >= 0){
|
||||||
|
'"$printf_command"';
|
||||||
|
fflush(stdout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
||||||
|
|
||||||
89
bin/i3blocks/battery
Executable file
89
bin/i3blocks/battery
Executable file
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
||||||
|
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
||||||
|
# Copyright 2020 Pavel Korytov <thexcloud@gmail.com>
|
||||||
|
#
|
||||||
|
# Licensed under the terms of the GNU GPL v3, or any later version.
|
||||||
|
#
|
||||||
|
# This script is meant to use with i3blocks. It parses the output of the "acpi"
|
||||||
|
# command (often provided by a package of the same name) to read the status of
|
||||||
|
# the battery, and eventually its remaining time (to full charge or discharge).
|
||||||
|
#
|
||||||
|
# The color will gradually change for a percentage below 85%, and the urgency
|
||||||
|
# (exit code 33) is set if there is less that 5% remaining.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
|
||||||
|
my $acpi;
|
||||||
|
my $status;
|
||||||
|
my $percent;
|
||||||
|
my $full_text;
|
||||||
|
my $short_text;
|
||||||
|
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
|
||||||
|
|
||||||
|
# read the first line of the "acpi" command output
|
||||||
|
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
|
||||||
|
$acpi = <ACPI>;
|
||||||
|
close(ACPI);
|
||||||
|
|
||||||
|
# fail on unexpected output
|
||||||
|
if ($acpi !~ /: (\w+), (\d+)%/) {
|
||||||
|
die "$acpi\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$status = $1;
|
||||||
|
$percent = $2;
|
||||||
|
|
||||||
|
if ($status eq 'Discharging') {
|
||||||
|
if ($percent < 20) {
|
||||||
|
$full_text = '';
|
||||||
|
} elsif ($percent < 40) {
|
||||||
|
$full_text = '';
|
||||||
|
} elsif ($percent < 60) {
|
||||||
|
$full_text = '';
|
||||||
|
} elsif ($percent < 85) {
|
||||||
|
$full_text = '';
|
||||||
|
} else {
|
||||||
|
$full_text = '';
|
||||||
|
}
|
||||||
|
} elsif ($status eq 'Charging' or $status eq 'Full' or $status eq 'Unknown') {
|
||||||
|
$full_text = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$full_text .= " $percent%";
|
||||||
|
|
||||||
|
$short_text = $full_text;
|
||||||
|
|
||||||
|
if ($acpi =~ /(\d\d:\d\d):/) {
|
||||||
|
$full_text .= " $1";
|
||||||
|
}
|
||||||
|
|
||||||
|
# print text
|
||||||
|
print "$full_text\n";
|
||||||
|
print "$short_text\n";
|
||||||
|
|
||||||
|
if ($status eq 'Discharging') {
|
||||||
|
|
||||||
|
if ($percent < 20) {
|
||||||
|
print "#FF0000\n";
|
||||||
|
} elsif ($percent < 40) {
|
||||||
|
print "#FFAE00\n";
|
||||||
|
} elsif ($percent < 60) {
|
||||||
|
print "#FFF600\n";
|
||||||
|
} elsif ($percent < 85) {
|
||||||
|
print "#A8FF00\n";
|
||||||
|
} else {
|
||||||
|
print "#2FFF00\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($percent < 5) {
|
||||||
|
exit(33);
|
||||||
|
}
|
||||||
|
} elsif ($status eq 'Charging' or $status eq 'Full' or $status eq 'Unknown') {
|
||||||
|
print "#FFFE00\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
exit(0);
|
||||||
66
bin/i3blocks/cpu_usage
Executable file
66
bin/i3blocks/cpu_usage
Executable file
|
|
@ -0,0 +1,66 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
#
|
||||||
|
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
|
||||||
|
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
|
||||||
|
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
|
||||||
|
# Copyright 2020 Korytov Pavel <thexcloud@gmail.com>
|
||||||
|
#
|
||||||
|
# Licensed under the terms of the GNU GPL v3, or any later version.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use utf8;
|
||||||
|
use Getopt::Long;
|
||||||
|
|
||||||
|
# default values
|
||||||
|
my $t_warn = 50;
|
||||||
|
my $t_crit = 80;
|
||||||
|
my $cpu_usage = -1;
|
||||||
|
|
||||||
|
sub help {
|
||||||
|
print "Usage: cpu_usage [-w <warning>] [-c <critical>]\n";
|
||||||
|
print "-w <percent>: warning threshold to become yellow\n";
|
||||||
|
print "-c <percent>: critical threshold to become red\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
GetOptions("help|h" => \&help,
|
||||||
|
"w=i" => \$t_warn,
|
||||||
|
"c=i" => \$t_crit);
|
||||||
|
|
||||||
|
# Clicked on block
|
||||||
|
if (defined $ENV{'BLOCK_BUTTON'}) {
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == "1") {
|
||||||
|
system('i3-sensible-terminal -e htop')
|
||||||
|
}
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == "3") {
|
||||||
|
system('i3-sensible-terminal -e /home/pavel/Programs/miniconda3/bin/glances')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get CPU usage
|
||||||
|
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
|
||||||
|
open (MPSTAT, 'mpstat 1 1 |') or die;
|
||||||
|
while (<MPSTAT>) {
|
||||||
|
if (/^Average.*\s+(\d+\.\d+)/) {
|
||||||
|
$cpu_usage = 100 - $1; # 100% - %idle
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(MPSTAT);
|
||||||
|
|
||||||
|
$cpu_usage eq -1 and die 'Can\'t find CPU information';
|
||||||
|
|
||||||
|
# Print short_text, full_text
|
||||||
|
printf "%.2f%%\n", $cpu_usage;
|
||||||
|
printf "%.2f%%\n", $cpu_usage;
|
||||||
|
|
||||||
|
# Print color, if needed
|
||||||
|
if ($cpu_usage >= $t_crit) {
|
||||||
|
print "#FF0000\n";
|
||||||
|
exit 33;
|
||||||
|
} elsif ($cpu_usage >= $t_warn) {
|
||||||
|
print "#FFFC00\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0;
|
||||||
41
bin/i3blocks/disk
Executable file
41
bin/i3blocks/disk
Executable file
|
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
DIR="${BLOCK_INSTANCE:-$HOME}"
|
||||||
|
ALERT_LOW="${1:-10}" # color will turn red under this value (default: 10%)
|
||||||
|
|
||||||
|
df -h -P -l "$DIR" | awk -v alert_low=$ALERT_LOW '
|
||||||
|
/\/.*/ {
|
||||||
|
# full text
|
||||||
|
print $4
|
||||||
|
|
||||||
|
# short text
|
||||||
|
print $4
|
||||||
|
|
||||||
|
use=$5
|
||||||
|
|
||||||
|
# no need to continue parsing
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
END {
|
||||||
|
gsub(/%$/,"",use)
|
||||||
|
if (100 - use < alert_low) {
|
||||||
|
# color
|
||||||
|
print "#FF0000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'
|
||||||
6
bin/i3blocks/ip
Executable file
6
bin/i3blocks/ip
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
ip=$(dig +short myip.opendns.com @resolver1.opendns.com)
|
||||||
|
if [[ -z $ip || $ip == *"timed out"* ]]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
echo $ip
|
||||||
10
bin/i3blocks/ipstack
Executable file
10
bin/i3blocks/ipstack
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
ip=$(dig +short +timeout=1 myip.opendns.com @resolver1.opendns.com)
|
||||||
|
if [[ -z $ip || $ip == *"timed out"* ]]; then
|
||||||
|
echo '??'
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
ip_info=$(curl -s http://api.ipstack.com/${ip}?access_key=${API_KEY})
|
||||||
|
emoji=$(echo $ip_info | jq -r '.location.country_flag_emoji')
|
||||||
|
echo "$emoji $ip"
|
||||||
|
echo "$emoji"
|
||||||
34
bin/i3blocks/load_average
Executable file
34
bin/i3blocks/load_average
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
load="$(cut -d ' ' -f1 /proc/loadavg)"
|
||||||
|
cpus="$(nproc)"
|
||||||
|
|
||||||
|
# full text
|
||||||
|
echo "$load"
|
||||||
|
|
||||||
|
# short text
|
||||||
|
echo "$load"
|
||||||
|
|
||||||
|
# color if load is too high
|
||||||
|
awk -v cpus=$cpus -v cpuload=$load '
|
||||||
|
BEGIN {
|
||||||
|
if (cpus <= cpuload) {
|
||||||
|
print "#FF0000";
|
||||||
|
exit 33;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'
|
||||||
76
bin/i3blocks/mediaplayer
Executable file
76
bin/i3blocks/mediaplayer
Executable file
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
# Copyright (C) 2014 Tony Crisci <tony@dubstepdish.com>
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Requires playerctl binary to be in your path (except cmus)
|
||||||
|
# See: https://github.com/acrisci/playerctl
|
||||||
|
|
||||||
|
# Set instance=NAME in the i3blocks configuration to specify a music player
|
||||||
|
# (playerctl will attempt to connect to org.mpris.MediaPlayer2.[NAME] on your
|
||||||
|
# DBus session).
|
||||||
|
|
||||||
|
use Env qw(BLOCK_INSTANCE);
|
||||||
|
|
||||||
|
my @metadata = ();
|
||||||
|
my $player_arg = "";
|
||||||
|
|
||||||
|
if ($BLOCK_INSTANCE) {
|
||||||
|
$player_arg = "--player='$BLOCK_INSTANCE'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($ENV{'BLOCK_BUTTON'} == 1) {
|
||||||
|
system("playerctl $player_arg previous");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 2) {
|
||||||
|
system("playerctl $player_arg play-pause");
|
||||||
|
} elsif ($ENV{'BLOCK_BUTTON'} == 3) {
|
||||||
|
system("playerctl $player_arg next");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($player_arg eq '' or $player_arg =~ /cmus$/) {
|
||||||
|
# try cmus first
|
||||||
|
my @cmus = split /^/, qx(cmus-remote -Q);
|
||||||
|
if ($? == 0) {
|
||||||
|
foreach my $line (@cmus) {
|
||||||
|
my @data = split /\s/, $line;
|
||||||
|
if (shift @data eq 'tag') {
|
||||||
|
my $key = shift @data;
|
||||||
|
my $value = join ' ', @data;
|
||||||
|
|
||||||
|
@metadata[0] = $value if $key eq 'artist';
|
||||||
|
@metadata[1] = $value if $key eq 'title';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (@metadata) {
|
||||||
|
# metadata found so we are done
|
||||||
|
print(join ' - ', @metadata);
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# if cmus was given, we are done
|
||||||
|
exit 0 unless $player_arg eq '';
|
||||||
|
}
|
||||||
|
|
||||||
|
my $artist = qx(playerctl $player_arg metadata artist);
|
||||||
|
# exit status will be nonzero when playerctl cannot find your player
|
||||||
|
exit(0) if $?;
|
||||||
|
push(@metadata, $artist) if $artist;
|
||||||
|
|
||||||
|
my $title = qx(playerctl $player_arg metadata title);
|
||||||
|
exit(0) if $?;
|
||||||
|
push(@metadata, $title) if $title;
|
||||||
|
|
||||||
|
print(join(" - ", @metadata)) if @metadata;
|
||||||
49
bin/i3blocks/memory
Executable file
49
bin/i3blocks/memory
Executable file
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
TYPE="${BLOCK_INSTANCE:-mem}"
|
||||||
|
|
||||||
|
awk -v type=$TYPE '
|
||||||
|
/^MemTotal:/ {
|
||||||
|
mem_total=$2
|
||||||
|
}
|
||||||
|
/^MemFree:/ {
|
||||||
|
mem_free=$2
|
||||||
|
}
|
||||||
|
/^Buffers:/ {
|
||||||
|
mem_free+=$2
|
||||||
|
}
|
||||||
|
/^Cached:/ {
|
||||||
|
mem_free+=$2
|
||||||
|
}
|
||||||
|
/^SwapTotal:/ {
|
||||||
|
swap_total=$2
|
||||||
|
}
|
||||||
|
/^SwapFree:/ {
|
||||||
|
swap_free=$2
|
||||||
|
}
|
||||||
|
END {
|
||||||
|
# full text
|
||||||
|
if (type == "swap")
|
||||||
|
printf("%.1fG\n", (swap_total-swap_free)/1024/1024)
|
||||||
|
else
|
||||||
|
printf("%.1fG\n", mem_free/1024/1024)
|
||||||
|
|
||||||
|
# TODO: short text
|
||||||
|
|
||||||
|
# TODO: color (if less than X%)
|
||||||
|
}
|
||||||
|
' /proc/meminfo
|
||||||
27
bin/i3blocks/mpd
Executable file
27
bin/i3blocks/mpd
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# declare -A status_icon
|
||||||
|
|
||||||
|
case $BLOCK_BUTTON in
|
||||||
|
1) mpc toggle &> /dev/null ;;
|
||||||
|
3) notify-send "$(mpc)" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
status_icon=(["playing"]="" ["paused"]="" ["stopped"]="")
|
||||||
|
song_name=$(mpc current -f '\[%artist%\] %title%')
|
||||||
|
if [[ ! -z "$song_name" ]]; then
|
||||||
|
mpc status | sed -sn 2p | awk -v NAME="$song_name" '{
|
||||||
|
switch ($1) {
|
||||||
|
case "[paused]":
|
||||||
|
status=""
|
||||||
|
break
|
||||||
|
case "[playing]":
|
||||||
|
status=""
|
||||||
|
break
|
||||||
|
}
|
||||||
|
printf("%s %s %s\n", status, $3, NAME)
|
||||||
|
printf("%s\n", status)
|
||||||
|
}'
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
23
bin/i3blocks/sun
Executable file
23
bin/i3blocks/sun
Executable file
|
|
@ -0,0 +1,23 @@
|
||||||
|
#1/bin/bash
|
||||||
|
time=$(sunwait poll daylight rise ${LAT} $LON)
|
||||||
|
|
||||||
|
function send_report {
|
||||||
|
report="$(sunwait report ${LAT} ${LON} | sed 's/^[[:space:]]*//gm')"
|
||||||
|
notify-send "Sunwait report" "$report"
|
||||||
|
}
|
||||||
|
|
||||||
|
case $BLOCK_BUTTON in
|
||||||
|
1) send_report
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ ${time} == 'DAY' ]]; then
|
||||||
|
sunset=$(sunwait list daylight set ${LAT} ${LON})
|
||||||
|
echo $sunset
|
||||||
|
echo $sunset
|
||||||
|
echo "#F4F200"
|
||||||
|
else
|
||||||
|
sunrise=$(sunwait list daylight rise ${LAT} ${LON})
|
||||||
|
echo $sunrise
|
||||||
|
echo $sunrise
|
||||||
|
echo "#60E4FF"
|
||||||
|
fi
|
||||||
6
bin/i3blocks/test_block
Executable file
6
bin/i3blocks/test_block
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
echo "Hello"
|
||||||
|
|
||||||
|
if [ ! -z "${BLOCK_BUTTON}" ]; then
|
||||||
|
notify-send clicked $BLOCK_BUTTON
|
||||||
|
fi
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue