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