dgy
/
hexagons
Archived
1
0
Fork 0

New rice for the new year: the show that never ends

This commit is contained in:
CadaverLab 2018-01-12 00:48:27 -03:00
parent 39f34ca27a
commit 0f2e3620fb
18 changed files with 235 additions and 616 deletions

View File

@ -10,6 +10,6 @@ redshift -c ~/.config/redshift/redshift.conf &
dunst -conf ~/.config/dunst/dunstrc &
sleep 15s
mpd &
[[ -z $(pgrep -xU $UID mpdcron) ]] && mpdcron &
update-checker 12h &
mailnag &
mpd-notify &
update-checker 24h &
mailnag &

View File

@ -24,9 +24,8 @@ bspc config gapless_monocle false
bspc config borderless_monocle true
bspc config single_monocle true
bspc config paddingless_monocle false
bspc config remove_unplugged_monitors true
bspc config focus_follows_pointer false
bspc config pointer_follows_focus true
bspc config click_to_focus true
bspc config ignore_ewmh_focus true
bspc config auto_cancel true
bspc config honor_size_hints true
@ -56,8 +55,6 @@ bspc rule -a qsynth state=floating
bspc rule -a Catia.py sate=floating
bspc rule -a Cadence.py state=floating
bspc rule -a Qalculate-gtk state=floating
bspc rule -a sun-awt-X11-XFramePeer state=floating
bspc rule -a processing-app-Base state=floating
bspc rule -a mpv state=floating
bspc rule -a Gucharmap state=floating
bspc rule -a File-roller state=floating

View File

@ -1,49 +0,0 @@
#
# $XDG_CONFIG_HOME/ncmpcpp/mpdnotify.conf
#
# Note that mpc may require you to set the MPD_HOST variable in order
# to function correctly with this script. Uncomment the MPD_HOST variable
# and set it manually if this is the case on your system.
#
# The IP address of the MPD server
#MPD_HOST=127.0.0.1
# The following track metadata delimiters can be changed.
# You can find all possible delimiters in the 'mpc' manpage.
# It's also possible to use pango markup like <u></u> and <i></i>
# How to format artist/album information
A_FORMAT="%artist% - %title%"
# How to format title information
T_FORMAT="\n[ [%album%] ]"
# Title of the notification
#NOTIFY_TITLE="♫"
#NOTIFY_TITLE="Listening To"
# Logfile
LOGFILE="$HOME/.config/ncmpcpp/mpdnotify.log"
# Urgency
URGENCY="normal"
# The music directory that contains the music and cover files
MPD_CONF=~/.config/mpd/mpd.conf
MUSIC_DIR=$( cat "$MPD_CONF" | grep -v '#' | grep 'music_directory' | cut -d ' ' -f2 | awk '{print $2}' | sed 's/"//g' )
# The default cover to use (optional)
DEFAULT_ART=""
# Regex expression used for image search
IMG_REG=".*/.*\(Front\|front\|Cover\|cover\|Art\|art\|Folder\|folder\).*[.]\(jpe?g\|png\|gif\|bmp\)"
# Path of temporary resized cover
TEMP_PATH="/tmp/mpdnotify_cover.png"
# Resize cover to (optional, recommended)
COVER_RESIZE="125x125"
# Thumbnail background (transparent by default)
COVER_BACKGROUND="none"

View File

@ -92,4 +92,4 @@ external_editor = nano
follow_now_playing_lyrics = no
store_lyrics_in_song_dir = no
#execute_on_song_change = "/home/deadguy/.config/ncmpcpp/mpdartify"
execute_on_song_change = "/home/deadguy/bin/cover"

View File

@ -1,81 +0,0 @@
#!/bin/bash
# A simple notify script for now-playing songs on mpd. This script uses
# notify-send and mpc to get the current song information.
# Requirements (* = optional)
# - mpd
# - mpc
# - notify-send (libnotify)
# * ImageMagick (convert)
# Author : Wolfgang Mueller
# You can use, edit and redistribute this script in any way you like.
# (Just make sure not to hurt any kittens)
#
# https://github.com/vehk/mpdnotify
# make sure env var is setup correctly
[[ -z "$XDG_CONFIG_HOME" ]] && \
XDG_CONFIG_HOME="$HOME/.config"
CFG_FILE="$XDG_CONFIG_HOME/ncmpcpp/mpdnotify.conf"
if [[ ! -f "$CFG_FILE" ]]; then
echo " No config file found."
echo " Create $XDG_CONFIG_HOME/ncmpcpp/mpdnotify.conf for this user."
exit 1
else
. "$CFG_FILE"
fi
#--------------------------------------------------------------------
escape() {
echo "$1" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g;'
}
# determine file
file="$(mpc --format %file% current)"
album="$(mpc --format %album% current)"
artist="$(mpc --format %artist% current)"
# check if anything is playing at all
[[ -z $file ]] && exit 1
# Get title info
title="$(mpc current -f "$A_FORMAT")"
# Get song info
song="$(mpc current -f "$T_FORMAT")"
dir="$MUSIC_DIR/$artist/$album"
if [[ -d "$dir" ]] ; then
album_dir="$dir"
else
album_dir="$MUSIC_DIR/${file%/*}"
fi
[[ -z "$album_dir" ]] && exit 1
cover="$(find "$album_dir/" -type d -exec find {} -maxdepth 1 -type f -regex "$IMG_REG" \; )"
src="$(echo -n "$cover" | head -n1)"
text="$(escape "$title $song")"
# check if art is available
# --hint=int:transient:1 is needed, because gnome-shell will keep the notification in its bar.
# using 'hint' they'll be removed automatically (gnome-shell 3.01)
if [[ -n $src ]]; then
if [[ -n $COVER_RESIZE ]]; then
convert "$src" -thumbnail $COVER_RESIZE -gravity center \
-background "$COVER_BACKGROUND" -extent $COVER_RESIZE "$TEMP_PATH" >> "$LOGFILE" 2>&1
cover="$TEMP_PATH"
fi
notify-send -u $URGENCY -t 5000 --hint=int:transient:1 "$text" -i "$src" >> "$LOGFILE" 2>&1
else
notify-send -u $URGENCY -t 5000 --hint=int:transient:1 "$text" >> "$LOGFILE" 2>&1
fi

View File

@ -1,57 +0,0 @@
#!/bin/bash
# A simple notify script for now-playing songs on mpd. This script uses
# notify-send and mpc to get the current song information.
# Requirements (* = optional)
# - mpd
# - mpc
# - notify-send (libnotify)
# * ImageMagick (convert)
# Author : Wolfgang Mueller
# You can use, edit and redistribute this script in any way you like.
# (Just make sure not to hurt any kittens)
#
# https://github.com/vehk/mpdnotify
# make sure env var is setup correctly
[[ -z "$XDG_CONFIG_HOME" ]] && \
XDG_CONFIG_HOME="$HOME/.config"
CFG_FILE="$XDG_CONFIG_HOME/mpdnotify.conf"
if [[ ! -f "$CFG_FILE" ]]; then
echo " No config file found."
echo " Create $XDG_CONFIG_HOME/mpdnotify.conf for this user."
exit 1
else
. "$CFG_FILE"
fi
#--------------------------------------------------------------------
escape() {
echo "$1" | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g;'
}
# determine file
file="$(mpc current -f %file%)"
# check if anything is playing at all
[[ -z $file ]] && exit 1
# Get title info
title="$(mpc current -f "$A_FORMAT")"
# Get song info
song="$(mpc current -f "$T_FORMAT")"
text="$(escape "$title $song")"
# --hint=int:transient:1 is needed, because gnome-shell will keep the notification in its bar.
# using 'hint' they'll be removed automatically (gnome-shell 3.01)
notify-send -u $URGENCY -t 5000 --hint=int:transient:1 "$text" >> "$LOGFILE" 2>&1
# "$NOTIFY_TITLE"

View File

@ -490,7 +490,6 @@
" set statusline+=%l:%c\
" }}}
"colorscheme luna
colorscheme sharpgray
colorscheme luna
" vim:foldmethod=marker:foldlevel=0

View File

@ -1,90 +0,0 @@
# Notes:
#
# - colors can be anything XAllocNamedColor can handle
# (like "black" or "#000000")
#
# - distance is a relative number, and is scaled according to the scale
# factor applied to windows
#
# - fonts are Xft font descriptions
#
# - booleans are "true" or anything but "true" (-> false)
#
# - opacity is an integer in the range of 0-255
#
# - brighness is a floating point number (with 0.0 as neutral)
#
# - if the update frequency is a negative value, the mini-windows will only
# be updated when they're explicitly rendered (like, when they gain or
# lose focus).
#
# - the 'shadowText' option can be a color or 'none', in which case the
# drop-shadow effect is disabled
#
# - Picture specification:
# [WIDTHxHEIGHT] [orig|scale|scalek|tile] [left|mid|right] [left|mid|right]
# [COLOR|#FFFFFFFF] [PATH]
#
# Examples:
# background = 500x400 tile right mid #FF0000 /home/richard/screenshots/256.png
# background = orig mid mid #FF000080
#
# - Bindings in [bindings] section can bind to "no" (do nothing), "focus"
# (focus to window), "iconify", "shade-ewmh" (toggle window shade state),
# "close-icccm" (close window with ICCCM method), "close-ewmh" (close
# window with EWMH method), or "destroy" (forcefully destroy the window).
#
[general]
distance = 40
useNetWMFullscreen = true
ignoreSkipTaskbar = true
updateFreq = 5.0
lazyTrans = false
pipePath = /tmp/skippy-xd-fifo
movePointerOnStart = true
movePointerOnSelect = true
movePointerOnRaise = true
switchDesktopOnActivate = false
useNameWindowPixmap = true
forceNameWindowPixmap = false
includeFrame = false
allowUpscale = true
showAllDesktops = true
showUnmapped = true
preferredIconSize = 48
clientDisplayModes = thumbnail icon filled none
iconFillSpec = orig mid mid #7cb342
fillSpec = orig mid mid #bdbdbd
background =
[xinerama]
showAll = true
[normal]
tint = #121212
tintOpacity = 0
opacity = 150
[highlight]
tint = #215d9c
tintOpacity = 64
opacity = 255
[tooltip]
show = false
followsMouse = false
offsetX = 20
offsetY = 20
align = mid
border = #ffffff
background = #212121
opacity = 128
text = #e0d0c3
textShadow = none
font = archivonarrow-10
[bindings]
miwMouse1 = focus
miwMouse2 = close-ewmh
miwMouse3 = iconify

View File

@ -1,12 +0,0 @@
# Always download the best video format and best audio format, up to 2160p
--format bestvideo[height<=1080]+bestaudio/best[height<=1080]
# Save downloaded videos in the Videos directory
--output ~/Videos/%(title)s.%(ext)s
# Do not overwrite files that already exist
--no-overwrites
# Ignore warnings (Such as merging the audio and video into .mkv)
--no-warnings

View File

@ -1 +0,0 @@
[[ "$MPD_STATUS_STATE" = play ]] && /home/deadguy/.config/ncmpcpp/mpdartify

View File

@ -1,53 +0,0 @@
# mpdcron configuration file
[main]
# Path to the PID file, by default the PID file is MPDCRON_DIR/mpdcron.pid
#pidfile = ~/.config/mpdcron/mpdcron.pid
# Wait this many seconds after sending signal to kill the daemon.
# Default is 3 seconds.
killwait = 3
# Logging level, default is 0
# 0: Warnings and errors only
# 1: Info and below
# 2: Debug and below
loglevel = 0
modules = notification
[mpd]
# Semicolon delimited list of events to wait for.
# By default mpdcron waits for all events.
# Valid events are:
# database: Song database has been updated.
# stored_playlist: A stored playlist has been modified, created,
# deleted or renamed.
# playlist: The queue has been modified.
# player: The player state has been changed: play, stop, pause, seek, ...
# mixer: The volume has been modified.
# output: An audio output device has been enabled or disabled.
# options: Options have changed: crossfade, random, repeat, ...
# update: A database update has started or finished.
events = player
# Interval in seconds to reconnect to mpd after an error or disconnect.
reconnect = 5
# Timeout in milliseconds for mpd timeout, 0 for default timeout of
# libmpdclient.
timeout = 0
[player]
#modules = notification
[notification]
# Covers path, defaults to ~/.covers
#cover_path = /path/to/cover/path
# Cover suffix, defaults to jpg
#cover_suffix = png
# Notification timeout in milliseconds.
timeout = 5000
# Notification type
type = mpd
# Notification urgency, one of low, normal, critical
urgency = normal
# Notification hints in format TYPE:NAME:VALUE, specifies basic extra data
# to pass. Valid types are int, double, string and byte
#hints =

View File

@ -14,7 +14,7 @@ application/pdf; ~/.mutt/view_attachment.sh %s pdf
# HTML
#text/html; ~/.mutt/view_attachment.sh %s html
text/html; w3m -I %{charset} -T text/html; copiousoutput;
text/html; w3m -I 'ISO-8859-1' -T text/html; copiousoutput;
text/html; mv %s %s.html && qutebrowser %s.html >/dev/null 2>/dev/null; needsterminal;

View File

@ -6,7 +6,7 @@ folder-hook 'account.gvidaar' 'source ~/.mutt/account.gvidaar'
folder-hook 'account.galejo' 'source ~/.mutt/account.galejo'
# Default account -----------------------------------------
source ~/.mutt/account.galejo
source ~/.mutt/account.gvidaar
macro index <F1> '<sync-mailbox><enter-command>source ~/.mutt/account.gvidaar<enter><change-folder>!<enter>'
macro index <F2> '<sync-mailbox><enter-command>source ~/.mutt/account.galejo<enter><change-folder>!<enter>'

View File

@ -586,7 +586,7 @@ nicklist.color_fg = default
nicklist.conditions = "${nicklist} && ${window.number} == 1"
nicklist.filling_left_right = vertical
nicklist.filling_top_bottom = columns_vertical
nicklist.hidden = on
nicklist.hidden = off
nicklist.items = "buffer_nicklist"
nicklist.position = right
nicklist.priority = 200
@ -659,11 +659,17 @@ highlight.buffer = "irc;freenode.#archlinux-newbie;4"
highlight.buffer = "irc;freenode.#archlinux-offtopic;5"
highlight.buffer = "irc;freenode.#idlerpg;6"
highlight.buffer = "irc;freenode.##tilingwm;7"
highlight.buffer = "irc;server.nixers;8"
highlight.buffer = "irc;nixers.#unix;9"
highlight.buffer = "irc;freenode.#zsh;8"
highlight.buffer = "irc;server.nixers;9"
highlight.buffer = "irc;server.rizon;10"
highlight.buffer = "irc;rizon.#RizonIRPG;11"
highlight.window = "1;0;0;0;irc;freenode.#archlinux-offtopic"
highlight.buffer = "irc;rizon.#/g/wdg;11"
highlight.buffer = "irc;rizon.#rice;12"
highlight.buffer = "irc;rizon.#RizonIRPG;13"
highlight.buffer = "irc;server.slack;14"
highlight.buffer = "irc;slack.#announcements;15"
highlight.buffer = "irc;slack.#general;16"
highlight.buffer = "irc;slack.#live-coding-argentina;17"
highlight.window = "1;0;0;0;irc;server.nixers"
highlight.current = on
[notify]

461
.zshrc
View File

@ -1,21 +1,122 @@
# -*- mode: shell-script -*-
# vim:ft=zsh
export PATH="/usr/lib/ccache/bin/:$PATH"
# Completion styles {{{
zstyle ':completion:*' add-space true
zstyle ':completion:*' auto-description 'Specify %F{cyan}%d%f'
zstyle ':completion:*' completer _oldlist _expand _complete _match _approximate _prefix
zstyle ':completion:*' completions 1
zstyle ':completion:*' expand prefix suffix
zstyle ':completion:*' file-sort modification
zstyle ':completion:*' format $'\nCompleting %B%F{magenta}%d%f%b'
zstyle ':completion:*' glob 1
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' list-suffixes true
zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:]}={[:upper:]} m:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'
zstyle ':completion:*' match-original both
zstyle ':completion:*' max-errors 3 numeric
zstyle ':completion:*' menu select=1
zstyle ':completion:*' original true
zstyle ':completion:*' old-list _complete _approximate _expand _correct
zstyle ':completion:*' old-menu false
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' substitute 1
zstyle ':completion:*' verbose true
zstyle ':completion:*' word true
zstyle :compinstall filename '/home/deadguy/.zshrc'
zstyle ':completion:*' list-dirs-first true
zstyle ':completion:*' special-dirs true
zstyle ':completion:*' rehash true
zstyle ':completion:*:descriptions' format '%F{yellow}%B--- %d%b --- %f'
zstyle ':completion:*:warnings' format 'No matches for: %B%F{red}%d%f%b'
zstyle ':completion:*:corrections' format '%d %B(%F{red}errors: %e%f)%b'
zstyle ':completion:*:options' description 'yes'
zstyle ':completion:*:processes' command 'ps -au $USER -o pid,stat,%cpu,%mem,cputime,command'
zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq'
zstyle ':completion:*:manuals' separate-sections true
zstyle ':completion:*:killall:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \
/usr/local/bin \
/usr/sbin \
/usr/bin \
/sbin \
/bin
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:*:cd:*:directory-stack' force-list always
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
zstyle ':completion:*:*:*:*:users' list-colors '=*=$color[green]=$color[red]'
# prompt formats
LISTPROMPT='View all items?. '
# prompt for correct
SPROMPT="Correct to %r?. "
# }}}
# Functions and things {{{
autoload -Uz compinit
compinit
autoload -Uz zcalc
autoload -Uz run-help
autoload -Uz run-help-git
autoload -Uz surround
zle -N delete-surround surround
zle -N add-surround surround
zle -N change-surround surround
bindkey -a cs change-surround
bindkey -a ds delete-surround
bindkey -a ys add-surround
bindkey -M visual S add-surround
autoload -U select-bracketed
autoload -U select-quoted
zle -N select-quoted
zle -N select-bracketed
for km in visual viopp; do
bindkey -M $km -- '-' vi-up-line-or-history
for c in {a,i}${(s..)^:-\'\"\`\|,./:;-=+@}; do
bindkey -M $km $c select-quoted
done
for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do
bindkey -M $km $c select-bracketed
done
done
# Zcalc stuff
function __calc_plugin {
zcalc -e "$*"
}
aliases[calc]='noglob __calc_plugin'
aliases[=]='noglob __calc_plugin'
#}}}
# Options {{{
_comp_options+=(NO_err_return) # this should fix autocomplete bug/regression introduced in zsh 5.3
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
HISTFILE=~/.config/zstuff/histfile
HISTSIZE=10000
SAVEHIST=50000
COMPLETION_WAITING_DOTS="true" # if you want red dots to be displayed while waiting for completion
unsetopt menu_complete # show a menu instead
unsetopt beep
unsetopt nomatch
unsetopt menucomplete # show a menu instead
unsetopt flowcontrol
unsetopt correctall # turn off the infernal correctall for filenames
setopt autocd
setopt auto_resume
setopt auto_menu # show completion menu on succesive tab press
#setopt noshwordsplit # use zsh style word splitting
setopt autoresume
setopt automenu # show completion menu on succesive tab press
setopt equals # Enable "=command" feature
setopt magic_equal_subst # Enable completion in "--option=arg"
setopt prompt_subst # allow expansion in prompts
setopt brace_ccl # Enable brace expansion function
setopt append_history # don't create the hist file over and over
setopt appendhistory # dont create the hist file over and over
setopt hist_ignore_all_dups # If a new command is a duplicate, remove the older one
setopt hist_reduce_blanks # remove blank spaces from history file
setopt hist_ignore_space # Ignore add history if space
@ -24,21 +125,17 @@
setopt inc_append_history # Share zsh histories
setopt share_history
setopt mark_dirs # Add "/" if completes directory
#setopt path_dirs # Can search subdirectory in $PATH
setopt RM_STAR_WAIT # if you do a 'rm *', Zsh will give you a sanity check!
unsetopt correctall # turn off the infernal correctall for filenames
setopt nonomatch # try to avoid the 'zsh: no matches found...'
setopt interactivecomments # bash style comments
setopt correct # Auto correct mistakes
setopt long_list_jobs # Better jobs
setopt glob_complete # Expand globs when completion
setopt extendedglob # Extended globbing
setopt nocaseglob # Case insensitive globbing
setopt nocheckjobs # Don't warn about running processes when exiting
setopt nocheckjobs # Dont warn about running processes when exiting
setopt numericglobsort # Sort filenames numerically when it makes sense
setopt completealiases # autocompletion CLI switches for aliases
setopt nohup # Don't kill processes when exiting
setopt nobeep # No beep
setopt nohup # Dont kill processes when exiting
setopt printeightbit # For multi byte
setopt auto_list # List completion
setopt auto_param_slash
@ -46,7 +143,9 @@
setopt auto_name_dirs
setopt always_to_end
setopt complete_in_word
#setopt list_types # List like "ls -F"
setopt list_types # List like "ls -F"
bindkey -v
eval $( dircolors -b $HOME/.config/zstuff/LS_COLORS )
@ -54,7 +153,21 @@
export VISUAL="mousepad"
export BROWSER="firefox"
bindkey -v
COMPLETION_WAITING_DOTS="true" # if you want red dots to be displayed while waiting for completion
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
expand-or-complete-with-dots() {
# toggle line-wrapping off and back on again
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
print -Pn "%{%F{red}......%f%}"
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
zle expand-or-complete
zle redisplay
}
zle -N expand-or-complete-with-dots
bindkey "^I" expand-or-complete-with-dots
fi
# }}}
# Zplugin {{{
@ -76,134 +189,10 @@
zplugin load zdharma/fast-syntax-highlighting
zplugin light djui/alias-tips
zplugin light peterhurford/up.zsh
#zplugin light arzzen/calc.plugin.zsh
zplugin ice blockf
zplugin light zsh-users/zsh-completions
# }}}
# Functions and things {{{
autoload -Uz zcalc
autoload -Uz run-help
autoload -Uz run-help-git
autoload -Uz compinit
compinit -d "$HOME/.config/zstuff/zshCompInit"
autoload -Uz surround
zle -N delete-surround surround
zle -N add-surround surround
zle -N change-surround surround
bindkey -a cs change-surround
bindkey -a ds delete-surround
bindkey -a ys add-surround
bindkey -M visual S add-surround
# This doesn't allow yss to operate on a line but VS will work
autoload -U select-bracketed
autoload -U select-quoted
zle -N select-quoted
zle -N select-bracketed
for km in visual viopp; do
bindkey -M $km -- '-' vi-up-line-or-history
for c in {a,i}${(s..)^:-\'\"\`\|,./:;-=+@}; do
bindkey -M $km $c select-quoted
done
for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do
bindkey -M $km $c select-bracketed
done
done
# Zplugin again
zplugin cdreplay -q # <- execute compdefs provided by rest of plugins
# }}}
# Completion styles {{{
zstyle ':completion:*' auto-description 'Specify: %d'
zstyle ':completion:*:functions' ignored-patterns '_*'
zstyle ':completion:*' format $'\n%F{yellow}Completing %d%f'
zstyle ':completion:*' group-name ''
zstyle ':completion:*:*:*:*:*' menu select
#zstyle ':completion:*' menu select
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
zstyle ':completion:*:default' menu 'select=0'
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' matcher-list '' \
'm:{a-z\-}={A-Z\_}' \
'r:[^[:alpha:]]||[[:alpha:]]=** r:|=* m:{a-z\-}={A-Z\_}' \
'r:[[:ascii:]]||[[:ascii:]]=** r:|=* m:{a-z\-}={A-Z\_}'
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose yes
zstyle ':completion:*:options' verbose yes
zstyle ':completion:*:values' verbose yes
zstyle ':completion:*:processes' command "ps -au $USER -o pid,stat,%cpu,%mem,cputime,command"
zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:killall:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
zstyle ':completion:*' rehash true
zstyle ':completion:*' list-colors 'reply=( "=(#b)(*$VAR)(?)*=00=$color[green]=$color[bg-green]" )'
zstyle ':completion:*:*:*:*:users' list-colors '=*=$color[green]=$color[red]'
zstyle ':completion:*:descriptions' format "$fg[yellow]%B--- %d%b ---"
zstyle ':completion:*:warnings' format "$fg[red]I got nothing for:$reset_color %d"
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
zstyle ':completion:*:options' description 'yes'
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' list-colors "${LS_COLORS}"
zstyle ':completion:*' special-dirs true
zstyle ':completion:*' use-cache 1
zstyle ':completion:*' cache-path ~/.config/zstuff/cache
# Always use menu selection for `cd -`
zstyle ':completion:*:*:cd:*:directory-stack' force-list always
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
# Keep directories and files separated
zstyle ':completion:*' list-dirs-first true
# separate man page sections
zstyle ':completion:*:manuals' separate-sections true
# completion of .. directories
zstyle ':completion:*' special-dirs true
# Search path for sudo completion
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \
/usr/local/bin \
/usr/sbin \
/usr/bin \
/sbin \
/bin
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
HISTFILE=~/.config/zstuff/zhistory
HISTSIZE=10000
SAVEHIST=50000
# prompt formats
LISTPROMPT='View all items?. '
# prompt for correct
SPROMPT="Correct to %r?. "
# limit the do you wish to see all n possibilities
LISTMAX=256
if [[ $COMPLETION_WAITING_DOTS = true ]]; then
expand-or-complete-with-dots() {
# toggle line-wrapping off and back on again
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
print -Pn "%{%F{red}......%f%}"
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
zle expand-or-complete
zle redisplay
}
zle -N expand-or-complete-with-dots
bindkey "^I" expand-or-complete-with-dots
fi
# }}}
# History search multi-word {{{
zstyle ":plugin:history-search-multi-word" clear-on-cancel "yes"
zstyle ":history-search-multi-word" page-size "LINES/2"
@ -214,13 +203,13 @@
--extended
--height 40%
--reverse
--ansi
--color fg:-1,bg:-1,hl:33,fg+:254,bg+:235,hl+:33
--color info:136,prompt:136,pointer:230,marker:230,spinner:166
'
export FZF_COMPLETION_OPTS='+c -x'
export FZF_DEFAULT_COMMAND='ag -l -g ""'
# let $FZF_DEFAULT_COMMAND = 'ag --hidden --ignore .git -g ""'
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
@ -239,7 +228,6 @@
# vf - fuzzy open with vim from anywhere
vf() {
local files
files=(${(f)"$(locate -Ai -0 $@ | grep -z -vE '~$' | fzf --read0 -0 -1 -m)"})
if [[ -n $files ]]
@ -250,9 +238,6 @@
}
# }}}
zmodload zsh/complist
zmodload zsh/zle
# Recolor fast-syntax-highlighting {{{
FAST_HIGHLIGHT_STYLES[default]="fg=252"
FAST_HIGHLIGHT_STYLES[unknown-token]="fg=254,bold,bg=126"
@ -284,8 +269,6 @@ zmodload zsh/zle
#}}}
# Vi mode and keys {{{
bindkey -M menuselect '^o' accept-and-infer-next-history
# Fix backspace not working after returning from cmd mode
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
@ -309,9 +292,6 @@ zmodload zsh/zle
bindkey "${terminfo[kcud1]}" down-line-or-beginning-search
fi
#bindkey "^[OA" up-line-or-beginning-search
#bindkey "^[OB" down-line-or-beginning-search
if [[ "${terminfo[kcbt]}" != "" ]]; then
bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards
fi
@ -371,22 +351,15 @@ zmodload zsh/zle
%B%{$fg[green]%}%~%{$reset_color%}%b
%B$(away_prompt)$RANGERPROMPT$(user_id_prompt)%{$reset_color%}%b"
PROMPT2='%{$fg[grey]%}◀%{$reset_color%} '
VI_PROMPT_BG_NORMAL="%{$bg[green]%}"
VI_PROMPT_BG_INSERT="%{$bg[blue]%}"
VI_PROMPT_FG="%{$fg[black]%}"
VI_PROMPT_AFTER="%{$reset_color%}"
function vi_prompt_normal() {
echo "$VI_PROMPT_BG_NORMAL$VI_PROMPT_FG NORMAL $VI_PROMPT_AFTER"
}
function vi_prompt_normal() { echo "$VI_PROMPT_BG_NORMAL$VI_PROMPT_FG NORMAL $VI_PROMPT_AFTER" }
function vi_prompt_insert() { echo "$VI_PROMPT_BG_INSERT$VI_PROMPT_FG INSERT $VI_PROMPT_AFTER" }
function vi_prompt_insert() {
echo "$VI_PROMPT_BG_INSERT$VI_PROMPT_FG INSERT $VI_PROMPT_AFTER"
}
zstyle ':vcs_info:*' enable git svn
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:git*:*' get-revision true
zstyle ':vcs_info:git*:*' check-for-changes true
zstyle ':vcs_info:git*' formats "%F{247}%12.12i%f %c%u %b%m"
@ -451,7 +424,6 @@ zmodload zsh/zle
# In tmux, escape sequences to pass to terminal need to be
# surrounded in a DSC sequence and double-escaped:
# ESC P tmux; {text} ESC \
# <http://linsam.homelinux.com/tmux/tmuxcodes.pdf>
local vicmd_seq="\ePtmux;\e\e[2 q\e\\"
local viins_seq="\ePtmux;\e\e[0 q\e\\"
fi
@ -460,7 +432,7 @@ zmodload zsh/zle
zle reset-prompt
}
export KEYTIMEOUT=1 # Don't take 0.4s to change modes
export KEYTIMEOUT=1 # Don't take 0.4s to change modes
zle -N zle-keymap-select # When vi mode changes
zle -N zle-line-init # When a new line starts
# }}}
@ -470,63 +442,93 @@ zmodload zsh/zle
alias gdl='gallery-dl'
alias mutt='neomutt'
alias rg='ranger'
#alias pmix='pulsemixer'
alias pmix='ncpamixer'
alias amix='alsamixer'
alias vi='nvim'
alias vim='nvim'
alias chat='weechat'
alias play='ncmpcpp'
alias rtv='rtv --config ~/.config/rtv/rtv.cfg'
alias imv='imv -sd -e inconsolata:8 -r'
alias ts='transmission-remote-cli'
alias tx='tmux -2'
alias cal='calcurse'
alias _='sudo '
alias py='python '
alias py2='python2 '
alias rb='ruby '
alias ytv='youtube-viewer'
alias git='hub'
# MAXIMUM VERBOSITY YIELDS MAXIMUM RESULTS
alias chmod='chmod -v'
alias chown='chown -v'
alias rm='rm -iv' # Always confirm before deleting things
alias mv='mv -iv'
alias mkdir='mkdir -pv' # Make parent directories that don't exist
alias cp="cp -aiv" # Confirm before overwriting something
alias ln='ln -iv'
alias rename='rename -v'
alias mount='mount -v'
alias umount='umount -v'
# Opinionated
alias ytdl='youtube-dl -ic'
alias ls='ls -F --color=always'
alias grep='grep --color=tty -d skip'
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} '
alias dmesg='dmesg --color=always'
alias ag="ag --one-device --color --color-line-number '0;35' --color-match '46;30' --color-path '4;36'"
alias tree='tree -CAFa -I "CVS|*.*.package|.svn|.git|.hg|node_modules|bower_components" --dirsfirst'
alias dir='dir --color=always'
alias type='type -a' # See what the command you want to run points to
alias df='df -hT --total' # Human readable, print filetype, and total
alias free='free -ht' # Human readable and total
alias inxi='inxi -Fz'
alias slop='slop --highlight --tolerance=0 --color=0.3,0.4,0.6,0.4 -f '%wx%h+%x+%y''
alias help='run-help'
alias ping='ping -c 5'
alias dd="dd status=progress"
alias pacaur='pacaur --color always'
alias pacman='pacman --color always'
alias cower='cower --color=always'
# Commands
alias tis='tig status'
alias til='tig log'
alias tib='tig blame -C'
alias fuck='sudo pacman -Rns'
alias upd='pacaur -Syu'
alias ytw='youtube-viewer -C -D -W -f -7 --results=10'
alias dates='calcurse -a --format-apt=" - %m (%S a %E)\n' --format-recur-apt=' - %m (%S a %E)\n"'
alias tom='calcurse -n'
alias todo='calcurse -t --format-todo "(%p) %m\n"'
alias gal='ls | imv &!'
alias ping='ping -c 5'
alias chmod='chmod -v'
alias chown='chown -v'
alias ls='ls -F --color=always'
alias vimdiff='nvim -d'
alias pwn='chmod +x'
alias wpp='hsetroot -fill'
alias winclass='xprop | grep WM_CLASS' # for bspwm rules
alias path='echo -e ${PATH//:/\\n}' # Pretty-print of some PATH variables
alias libpath='echo -e ${LD_LIBRARY_PATH//:/\\n}' # And another one
alias grep='grep --color=tty -d skip'
alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} '
alias dmesg='dmesg --color=always'
alias _='sudo '
alias compare='grep -nFxvf' # Usage: compare <file1> <file2>
alias ag="ag --one-device --color --color-line-number '0;35' --color-match '46;30' --color-path '4;36'"
alias tree='tree -CAFa -I "CVS|*.*.package|.svn|.git|.hg|node_modules|bower_components" --dirsfirst'
alias lst='ls -FAghoBtH --group-directories-first --dereference-command-line-symlink-to-dir --time-style=+"%d-%m-%Y %H:%M"'
alias rm='rm -iv' # Always confirm before deleting things
alias mv='mv -iv'
alias mkdir='mkdir -pv' # Make parent directories that don't exist
alias type='type -a' # See what the command you want to run points to
alias cp="cp -aiv" # Confirm before overwriting something
alias df='df -hT --total' # Human readable, print filetype, and total
alias free='free -ht' # Human readable and total
alias ln='ln -iv'
alias rename='rename -v'
alias ta='tmux attach -t'
alias tnw='tmux new -s'
alias tls='tmux ls'
alias tk='tmux kill-session -t'
alias py='python '
alias py2='python2 '
alias rb='ruby '
alias inxi='inxi -Fz'
alias dir='dir --color=always'
alias slop='slop --highlight --tolerance=0 --color=0.3,0.4,0.6,0.4 -f '%wx%h+%x+%y''
alias lst='ls -FAghoBtH --group-directories-first --dereference-command-line-symlink-to-dir --time-style=+"%d-%m-%Y %H:%M"'
alias java='java -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
alias help='run-help'
alias disks='echo "╓───── m o u n t . p o i n t s"; echo "╙────────────────────────────────────── ─ ─ "; lsblk -a; echo ""; echo "╓───── d i s k . u s a g e"; echo "╙────────────────────────────────────── ─ ─ "; df -h;'
# Dotfiles
alias hexa='/usr/bin/git --git-dir=$HOME/hexagons/ --work-tree=$HOME'
alias hx-up='hexa add -vu'
alias hx-ls='hexa ls-files -m'
alias hx-diff='hexa diff'
alias hx-push='hexa push'
alias hx-stat='hexa status'
hx-add() { hexa add -v "$@" ;}
hx-rm() { hexa rm "$@" ;}
hx-commit() { hexa commit -m "$@" ;}
mkcd () {
case "$1" in
@ -539,33 +541,26 @@ zmodload zsh/zle
esac
}
shot() { maim -u ~/Pictures/scrot/$(date +%s).png && notify-send 'Screen captured' ;}
# Convert flac to mp3
flaco() { parallel ffmpeg -i {} -qscale:a 0 {.}.mp3 ::: ./*.flac ;}
midplayer() { adlmidi "$1" > /dev/null 2>&1 ;}
midi-fluidsynth() { fluidsynth -a alsa -m alsa_seq -l -i /usr/share/soundfonts/fluidr3/FluidR3GM.SF2 "$1" ;}
shot() { maim -u ~/Pictures/scrot/$(date +%s).png && notify-send 'Screen captured' ;}
# Read markdown files like manpages. could also do pandoc -s -f markdown -t man "$*" | man -l -
md() { pandoc -s -f markdown -t man "$*" | groff -T utf8 -man | less ;}
function cfg(){
case $1 in
vi) $EDITOR ~/.config/nvim/init.vim ;;
obmenu) sudo -e $EDITOR /etc/oblogout.conf ;;
ob) sudo -e $EDITOR /etc/oblogout.conf ;;
start) $EDITOR ~/.config/bspwm/autostart ;;
bspwm) $EDITOR ~/.config/bspwm/bspwmrc ;;
wm) $EDITOR ~/.config/bspwm/bspwmrc ;;
keys) $EDITOR ~/.config/sxhkd/sxhkdrc ;;
mutt) $EDITOR ~/.mutt/muttrc ;;
nano) $EDITOR ~/.nanorc ;;
zsh) $EDITOR ~/.zshrc ;;
alias) $EDITOR ~/zstuff/rc/alias.zsh ;;
prompt) $EDITOR ~/zstuff/rc/prompt.zsh ;;
bar) $EDITOR ~/.config/polybar/config ;;
dunst) $EDITOR ~/.config/dunst/dunstrc ;;
term) $EDITOR ~/.config/termite/config ;;
rofi) $EDITOR ~/.config/rofi/config.rasi;;
dmenu) $EDITOR ~/.dmenurc ;;
mpv) $EDITOR ~/.config/mpv/input.conf ;;
mpd) $EDITOR ~/.config/mpd/mpd.conf ;;
play) $EDITOR ~/.config/ncmpcpp/config ;;
@ -590,22 +585,17 @@ zmodload zsh/zle
dunst) ~/.config/dunst/./reload ;;
comp) pkill compton && compton -bcCGf ;;
xres) xrdb ~/.Xresources ;;
bspwm) bspc wm -d > "$BSPWM_STATE" && bspc quit && bspc quit 1 ;;
wm) bspc wm -d > "$BSPWM_STATE" && bspc quit && bspc quit 1 ;;
*) echo "Can't help you with that" ;;
esac
}
# }}}
# Video {{{
alias ytdl='youtube-dl -ic'
alias ytv='youtube-viewer'
alias ytw='youtube-viewer -C -D -W -f -7 --results=10'
ytl() { youtube-viewer -n $@ ;}
ytmp3() { youtube-dl -icw --no-cache-dir --no-call-home --restrict-filenames --extract-audio --audio-format mp3 --audio-quality 0 --prefer-ffmpeg -o "%(title)s.%(ext)s" $@ ;}
yt2mp3() { youtube-dl -icw --no-cache-dir --no-call-home --restrict-filenames -x --audio-format mp3 --audio-quality 0 --prefer-ffmpeg -o "%(title)s.%(ext)s" -f 171 "$@" ;}
gif() { ffmpeg -i "${1:?Error: no input file specified!}" "${2:-${1%.*}.gif}" -threads 0; }
ytconv() {
if [[ "$#" -lt 2 ]]; then
@ -618,20 +608,11 @@ zmodload zsh/zle
ffmpeg -loop 1 -y -i "$1" -i "$2" -c:a copy -c:v libx264 \
-strict experimental -b:a 192k -preset ultrafast -pix_fmt yuv420p -tune stillimage \
-threads 0 -shortest "out.${3:-mkv}"
# ffmpeg -loop 1 -y -i "$1" -i "$2" -c:a copy -c:v libx265 \
# -strict experimental -b:a 192k -pix_fmt yuv420p -tune psnr \
# -threads 0 -shortest "out.${3:-mkv}"
fi
}
gif() { ffmpeg -i "${1:?Error: no input file specified!}" "${2:-${1%.*}.gif}" -threads 0; }
# }}}
# Pacman {{{
alias pacaur='pacaur --color always'
alias pacman='pacman --color always'
alias cower='cower --color=always'
what() { pacaur -Ss "$1" ;} # package info
show() { pacaur -Sii "$1" ;} # package details
files() { pacman -Ql "$1" ;} # list files owned by package
@ -643,13 +624,9 @@ zmodload zsh/zle
if pacaur -S "$file" ;then
echo "$file $(date +%F)" >> ~/packagelist.txt
fi
done
done
}
#alias gimme='pacaur -S' # package install
alias fuck='sudo pacman -Rns' # package remove
alias upd='pacaur -Syu' # package update
orphans() {
pacman -Qdt
echo "Press ENTER to remove these orphaned packages or CTRL+C to cancel."
@ -671,32 +648,10 @@ zmodload zsh/zle
# }}}
source $HOME/.config/zstuff/rc/transmission.zsh
source $HOME/.config/zstuff/rc/dotfiles.zsh
export PATH="/usr/lib/ccache/bin/:$PATH"
# Random stuff {{{
[[ -e /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh
# Set the window title based on command run
function preexec() {
title "$1" "%m(%35<...<%~)"
}
function title() {
# escape '%' chars in $1, make nonprintables visible
a=${(V)1//\%/\%\%}
# Truncate command, and join lines.
a=$(print -Pn "%40>...>$a" | tr -d "\n")
case $TERM in
xterm*|rxvt)
print -Pn "\e]2;$a@$2\a" # plain xterm title
;;
esac
}
export GREP_COLOR="0;32"
export PULSEMIXER_BAR_STYLE="┌╶┐╴└┘▮ ◆┆"
export RANGER_LOAD_DEFAULT_RC="FALSE"
@ -722,6 +677,18 @@ export PATH="/usr/lib/ccache/bin/:$PATH"
man "$@"
}
# colorized cat
function c() {
for file in "$@"
do
pygmentize -O style=monokai -f console256 -g "$file"
done
}
# colorized less
function l() {
pygmentize -O style=monokai -f console256 -g $1 | less -r
}
# This is a workaround for tmux. When you clear the terminal with ctrl-l
# anything on-screen is not saved (this is compatible with xterm behavior).
# In contrast, GNU screen will first push anything on-screen into the
@ -732,12 +699,6 @@ export PATH="/usr/lib/ccache/bin/:$PATH"
}
zle -N tmux-clear-screen
bindkey "^L" tmux-clear-screen
function __calc_plugin {
zcalc -e "$*"
}
aliases[calc]='noglob __calc_plugin'
aliases[=]='noglob __calc_plugin'
# }}}
# vim:foldmethod=marker:foldlevel=0

View File

@ -1,3 +0,0 @@
#! /bin/bash
dmenu_run -i -b -h 30 -p '>_' -fn 'inconsolata-10' -nb '#121212' -nf '#e0d0c3' -sf '#121212' -sb '#039be5'

View File

@ -1,6 +1,6 @@
#!/bin/dash
if ! [ -f "$HOME/.sterminalrc" ]; then
cp /usr/share/sterminal/sterminalrc $HOME/.sterminalrc
cp /usr/share/sterminal/sterminalrc $HOME/.config/sterminalrc
fi
. $HOME/.sterminalrc
. $HOME/.config/sterminalrc
exec st -t "Sterminal" -f "$font" $@

View File

@ -15,4 +15,6 @@ ffmpeg \
-f x11grab \
-s $(xdpyinfo | grep dimensions | awk '{print $2;}') \
-i :0.0 \
-c:v libx264 -qp 0 -r 30 $filename
-c:v libx264 -qp 0 -r 30 $filename
#alias record="ffmpeg -f x11grab -s 1366x768 -an -r 16 -loglevel quiet -i :0.0 -b:v 5M -y" #pass a filename