dgy
/
hexagons
Archived
1
0
Fork 0

para que ser productivo cuando pelotudear con estas cosas

This commit is contained in:
deadguy 2018-08-12 02:26:07 -03:00
parent 75e5ba5160
commit 60ded74cd4
31 changed files with 429 additions and 281 deletions

View File

@ -38,8 +38,8 @@
URxvt.font: xft:sarasatermj:size=10
!URxvt.font: -xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1
URxvt.perl-ext-common: default,clipboard,url-select
URxvt.urlLauncher: webcap
URxvt.url-select.launcher: webcap
URxvt.urlLauncher: /home/deadguy/bin/webcap
URxvt.url-select.launcher: /home/deadguy/bin/webcap
URxvt.url-select.underline: true
URxvt.urlButton: 1
URxvt.colorUL: #4682B4
@ -48,8 +48,8 @@ URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0
URxvt.secondaryWheel: 1
URxvt.print-pipe: "cat > /dev/null"
URxvt.keysym.M-Shift-c: perl:clipboard:copy
URxvt.keysym.M-Shift-v: perl:clipboard:paste
URxvt.keysym.M-c: perl:clipboard:copy
URxvt.keysym.M-v: perl:clipboard:paste
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.intensityStyles: false
URxvt*internalBorder: 12
@ -62,13 +62,17 @@ URxvt*saveline: 2000
URxvt*scrollTtyOutput: false
URxvt*scrollWithBuffer: true
URxvt*scrollTtyKeypress: true
URxvt*iso14755: false
URxvt*iso14755_52: false
URxvt*dynamicColors: on
URxvt*cutchars: "\"()*,<>[]{}|\'"
! esto afecta a pd-l2ork y otras cosas, guarda
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintmedium
Xft.antialias: true
Xft.hinting: true
Xft.autohint: true
Xft.rgba: rgb
!Xft.lcdfilter: lcddefault
!Xft.hintstyle: hintmedium
!Xft.antialias: true
!Xft.hinting: true
!Xft.autohint: true
!Xft.rgba: rgb
Xcursor.theme: Alkano

View File

@ -4,10 +4,10 @@ xsetroot -cursor_name left_ptr &
#compton -b &
stalonetray &
trayoff &
sleep 2s
nm-applet &
redshift -c ~/.config/redshift/redshift.conf &
dunst -conf ~/.config/dunst/dunstrc &
sleep 5s
sleep 2s
mpd &
unclutter &
urxvtd -q -o -f

View File

@ -14,21 +14,21 @@ export panel
# Si se usa -$gap en *_padding, solamente se ven huecos entre las ventanas, pero no entre las ventanas y los bordes del escritorio
bspc config window_gap $pad
bspc config top_padding -2
bspc config top_padding 0
bspc config left_padding 0
bspc config right_padding 0
bspc config bottom_padding 1
bspc config bottom_padding 0
# Settings
bspc config paddingless_monocle false
bspc config paddingless_monocle true
bspc config gapless_monocle true
bspc config borderless_monocle true
bspc config single_monocle false
bspc config single_monocle true
bspc config remove_unplugged_monitors true
bspc config remove_disabled_monitors true
bspc config ignore_ewmh_focus true
bspc config auto_cancel true
bspc config honor_size_hints true
bspc config honor_size_hints false
bspc config directional_focus_tightness low
bspc config initial_polarity second_child
bspc config click_to_focus any
@ -39,7 +39,7 @@ bspc config pointer_action3 move
bspc config split_ratio 0.50
# xrdb
function get_xrdb() {
get_xrdb() {
xrdb -query | grep "$1" | awk '{print $2}' | tail -n1
}
xrdb -merge "${HOME}/.Xresources"
@ -72,6 +72,7 @@ bspc rule -a Nm-connection-editor state=floating
bspc rule -a Godot state=floating
bspc rule -a Pinentry state=floating
bspc rule -a URxvt:flota state=floating
bspc rule -a stalonetray layer=above
# Otros
bspc rule -a Zathura state=tiled

View File

@ -58,7 +58,7 @@
separator_color = frame
startup_notification = false
dmenu = /usr/bin/rofi -dmenu -p dunst:
dmenu = /usr/bin/rofi -p 'dunst: ' -dmenu
browser = /usr/bin/firefox -new-tab
icon_position = right # Align icons left/right/off
max_icon_size = 64

View File

@ -14,11 +14,12 @@ window decoration {
}
VteTerminal, vte-terminal {
padding: 10px;
padding: 5px;
padding-bottom: 0;
}
.termite {
padding: 0 8px;
padding: 0 10px;
}
.window-frame.csd.popup {
@ -30,6 +31,7 @@ VteTerminal, vte-terminal {
background-color: #ededed;
box-shadow: none;
}
/* You may want to use this if you don't like the double title.
GtkLabel.title {
opacity: 0;

View File

@ -6,12 +6,12 @@
image/gif; sxiv-gif %s; test=test -n "$DISPLAY"
image/*; sxiv %s; test=test -n "$DISPLAY"
video/*; mpv %s; test=test -n "$DISPLAY"
application/pdf; zathura %s; test=test -n "$DISPLAY"
video/*; setsid nohup mpv --quiet %s & disown; test=test -n "$DISPLAY"; copiousoutput
application/pdf; zathura %s & disown; test=test -n "$DISPLAY"
# Autoview html
text/html; "$BROWSER" %s 2>/dev/null & disown; test=test -n "$DISPLAY"; needsterminal;
text/html; w3m -I %{charset} -T text/html; copiousoutput;
text/html; "$BROWSER" %s 2>/dev/null & disown; test=test -n "$DISPLAY"; needsterminal
text/html; w3m -I %{charset} -T text/html; copiousoutput
text/plain; nvim %s; copiousoutput
# 256 color images using half-width unicode characters

View File

@ -142,8 +142,8 @@ macro index,pager <F2> '<sync-mailbox><enter-command>source /home/deadguy/.confi
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
#sync email
macro index O "<shell-escape>$HOME/bin/mailsync.sh<enter>" "run offlineimap to sync all mail"
macro index o "<shell-escape>$HOME/bin/mailsync.sh -qf INBOX<enter>" "run offlineimap to sync inbox"
macro index O "<shell-escape>$HOME/bin/correo<enter>" "run offlineimap to sync all mail"
macro index o "<shell-escape>$HOME/bin/correo -qf INBOX<enter>" "run offlineimap to sync inbox"
#copy/move dialogs
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"

View File

@ -6,7 +6,7 @@ setlocal tw=80
setlocal colorcolumn=79
setlocal smartindent
setlocal autoindent
set fileformat=unix
setlocal fileformat=unix
setlocal formatoptions+=croq
setlocal omnifunc=pythoncomplete#Complete
setlocal cinwords=if,elif,else,for,while,try,except,finally,def,class,with

View File

@ -10,7 +10,7 @@ setlocal autoindent
setl updatetime=2000
" Makes autocompletion for references nice
set iskeyword+=:
setl iskeyword+=:
"set iskeyword+=-:
"set iskeyword+=_:

View File

@ -18,8 +18,7 @@ endif
" Plugins {{{
call plug#begin('~/.config/nvim/plugged')
Plug 'junegunn/vim-plug'
Plug 'jpalardy/vim-slime'
Plug 'Shougo/deoplete.nvim', { 'do': [':UpdateRemotePlugins', ':set runtimepath+=~/.config/nvim/plugged/deoplete.nvim/'] }
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'jiangmiao/auto-pairs'
Plug 'zchee/deoplete-jedi'
Plug 'w0rp/ale'
@ -29,7 +28,10 @@ Plug 'christoomey/vim-tmux-navigator'
Plug 'lervag/vimtex', { 'for': 'tex' }
Plug 'plasticboy/vim-markdown', {'for': 'markdown'}
Plug 'zefei/vim-wintabs'
Plug 'junegunn/goyo.vim', { 'on': 'Goyo'}
Plug 'chrisbra/vim-diff-enhanced'
Plug '/usr/bin/fzf'
Plug 'junegunn/fzf.vim'
call plug#end()
let g:plug_window = 'rightbelow topleft new'
@ -144,6 +146,12 @@ set wildmode=longest:list,full
match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$'
" use ripgrep as grepprg
if executable('rg')
set grepprg=rg\ --vimgrep\ --hidden\ --no-ignore-vcs
set grepformat=%f:%l:%c:%m,%f:%l:%m
endif
colorscheme turtles
highlight MatchParen cterm=bold ctermbg=none ctermfg=9
highlight TermCursor ctermfg=green guifg=green
@ -211,6 +219,9 @@ if !exists("autocommands_loaded") && has("autocmd")
" Disables automatic commenting on newline
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
autocmd BufWinEnter,WinEnter term://* startinsert
autocmd BufLeave term://* stopinsert
" Automatic syntax highlighting for files
aug set_file_types
au BufRead,BufNewFile *.txt set filetype=markdown
@ -218,6 +229,13 @@ if !exists("autocommands_loaded") && has("autocmd")
au BufRead,BufNewFile *.conf set filetype=dosini
au BufRead,BufNewFile *.bash* set filetype=sh
aug END
aug mutt_settings
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
autocmd BufEnter /tmp/neomutt* :exe "normal! 9j\<cr>o"
autocmd BufEnter /tmp/neomutt* setl spelllang=es
aug END
endif
" }}}
@ -244,15 +262,8 @@ let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
let g:netrw_winsize=25
" }}}
" Slime {{{
"let g:slime_target = "neovim"
"let g:slime_python_ipython = 1
"let g:slime_dont_ask_default = 1
"let g:slime_paste_file = '~/.slime_paste'
" }}}
" {{{ Ale
let g:ale_set_highlights = 1
let g:ale_set_highlights = 0
let g:ale_fixers = { 'python': 'autopep8' }
let g:ale_python_mypy_options = "--ignore-missing-imports"
let g:ale_python_pylint_options = "--disable=C"
@ -260,6 +271,8 @@ let g:ale_python_flake8_options = "--ignore=E221"
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s% (code)% [%severity%]'
let g:ale_statusline_format = ['⨉ %d', '⚠ %d', '⬥ ok']
let g:ale_lint_delay = 500 " relint max once per [amount] milliseconds
highlight ALEError cterm=undercurl ctermfg=196
highlight ALEInfo cterm=undercurl ctermfg=14
hi ALEErrorSign ctermfg=red ctermbg=none
@ -268,7 +281,7 @@ hi ALEWarningSign ctermfg=yellow ctermbg=none
" Deoplete {{{
let g:deoplete#enable_at_startup = 1
set completeopt-=preview
call deoplete#custom#option('max_list', 100000)
call deoplete#custom#option('min_pattern_length', 2)
if !exists('g:deoplete#omni#input_patterns')
@ -317,6 +330,8 @@ let NERDTreeCascadeOpenSingleChildDir=1
let NERDTreeQuitOnOpen = 1
let NERDTreeHijackNetrw = 0
let NERDTreeAutoCenter = 1
let g:NERDTreeDirArrowExpandable = '↠'
let g:NERDTreeDirArrowCollapsible = '↡'
" }}}
" Ranger {{{
@ -356,14 +371,73 @@ nnoremap <silent> M-Right :TmuxNavigateRight<cr>
nnoremap <silent> M-Tab :TmuxNavigatePrevious<cr>
" }}}
" Mappings {{{
" Goyo {{{
function! s:goyo_enter()
let b:quitting = 0
let b:quitting_bang = 0
autocmd QuitPre <buffer> let b:quitting = 1
cabbrev <buffer> q! let b:quitting_bang = 1 <bar> q!
endfunction
function! s:goyo_leave()
" Quit Vim if this is the only remaining buffer
if b:quitting && len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) == 1
if b:quitting_bang
qa!
else
qa
endif
endif
endfunction
autocmd! User GoyoEnter call <SID>goyo_enter()
autocmd! User GoyoLeave call <SID>goyo_leave()
" }}}
" Fzf {{{
" use bottom positioned 20% height bottom split
let g:fzf_layout = { 'down': '~20%' }
let g:fzf_action = {
\ 'ctrl-t': 'tab split',
\ 'ctrl-s': 'split',
\ 'ctrl-v': 'vsplit' }
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Clear'],
\ 'hl': ['fg', 'String'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
command! -bang -nargs=* Rg
\ call fzf#vim#grep(
\ 'rg --column --line-number --hidden --ignore-case --no-heading --color=always '.shellescape(<q-args>), 1,
\ <bang>0 ? fzf#vim#with_preview({'options': '--delimiter : --nth 4..'}, 'up:60%')
\ : fzf#vim#with_preview({'options': '--delimiter : --nth 4..'}, 'right:50%:hidden', '?'),
\ <bang>0)
" only use FZF shortcuts in non diff-mode
if !&diff
nnoremap <C-p> :Files<Cr>
nnoremap <C-g> :Rg<Cr>
endif
" }}}
"Mappings {{{
" Open ranger as a file chooser
nnoremap <leader>R :call <SID>ranger()<CR>
" Latex
map <F8> :!w<Enter>:!pdflatex <C-r>%<Enter>
nnoremap <silent> <F2> :NERDTreeToggle<CR>
nnoremap <silent> <F3> :NERDTreeFind<CR>
map <F6> :setlocal spell! spelllang=es<CR>
map <F7> :setlocal spell! spelllang=en<CR>
map <F8> :!w<Enter>:!pdflatex <C-r>%<Enter>
map <F9> :set nospell<CR>
nmap <silent> <F10> <Plug>(ale_previous_wrap)
@ -372,13 +446,17 @@ nmap <silent> <F11> <Plug>(ale_next_wrap)
nnoremap <leader>f :Neoformat<CR>
vnoremap <leader>f :Neoformat<CR>
nnoremap <silent> <F3> :NERDTreeFind<CR>
nnoremap <silent> <F2> :NERDTreeToggle<CR>
nnoremap <leader>pi :PlugInstall<CR>
nnoremap <leader>pu :PlugUpdate<CR>
nnoremap <leader>pU :PlugUpgrade<CR>
nnoremap <leader>pc :PlugClean<CR>
" fzf & rg
nnoremap <C-p> :Files<Cr>
nnoremap <C-g> :Rg<Cr>
nnoremap <C-h> :History<CR>
nnoremap <C-b> :Buffers<CR>
" super quick search and replace
nnoremap <Space>' :'{,'}s/\<<C-r>=expand("<cword>")<CR>\>/
nnoremap <Space>¿ :%s/\<<C-r>=expand("<cword>")<CR>\>/
@ -434,9 +512,11 @@ nnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
vnoremap <buffer><silent><expr>j v:count ? 'j' : 'gj'
vnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
" Use tab for indenting in visual mode
" Use tab for indenting
vnoremap <Tab> >gv|
vnoremap <S-Tab> <gv
nnoremap <Tab> >gv|
nnoremap <S-Tab> <gv
noremap <silent> <Home> g<Home>
noremap <silent> <End> g<End>
@ -453,14 +533,6 @@ nnoremap <silent> n :norm! nzz<CR>
nnoremap <silent> N :norm! Nzz<CR>
vnoremap <silent> n :norm! nzz<CR>
vnoremap <silent> N :norm! Nzz<CR>
nnoremap <C-u> <C-u>zz
nnoremap <C-d> <C-d>zz
nnoremap <C-f> <C-f>zz
nnoremap <C-b> <C-b>zz
vnoremap <C-u> <C-u>zz
vnoremap <C-d> <C-d>zz
vnoremap <C-f> <C-f>zz
vnoremap <C-b> <C-b>zz
" Tabs
nnoremap <C-Tab> :tabnew<CR>

View File

@ -49,10 +49,10 @@ super + {t,b,v,q,z,x,c}
{subl,firefox,pavucontrol,oblogout,termite -e termux,termite,kal}
super + {n,m}
urxvt -name flota -e {nmtui,bmenu}
urxvtc -name flota -e {nmtui,bmenu}
super + {e,r}
urxvt -e {neomutt,ranger}
urxvtc -e {neomutt,ranger}
super + {space,s}
rofi -show {drun,window}
@ -64,7 +64,7 @@ ctrl + alt + x
xkill
ctrl + alt + z
urxvt
urxvtc
Print
maim -u ~/Pictures/scrot/$(date +%s).png && notify-send -u low -t 3000 'Screen captured'
@ -92,4 +92,4 @@ XF86Audio{Prev,Next,Play}
mpc -q {prev,next,toggle}
XF86MonBrightness{Down,Up}
xbacklight {-dec 5,-inc 5} && notify-send -u low -t 3000 " $(printf %.0f%% $(xbacklight -get))"
xbacklight {-dec 5,-inc 5} && dunstify -u low -t 3000 -r 90210 " $(printf %.0f%% $(xbacklight -get))"

View File

@ -9,10 +9,10 @@ urgent_on_bell = true
clickable_url = true
scrollback_lines = 10000
search_wrap = true
#font = Sarasa Term J 10
font = Sarasa Term J 10
#font = xos4 terminus 10
font = Monaco Regular 9
#font = t cherry Regular 9
#font = Monaco Regular 9
#font = Input Mono Narrow 10
# "system", "on" or "off"
cursor_blink = off
@ -40,7 +40,7 @@ cursor = #d3d7cf
background = #080808
# black
color0 = #181818
color0 = #1b1b1b
color8 = #333333
# red
@ -49,10 +49,10 @@ color9 = #cc4444
# green
color2 = #7b8748
color10 = #7b8748
color10 = #23e298
# yellow
color3 = #f69f3e
color3 = #d0a843
color11 = #e0ed21
# blue

35
.config/zsh/2config.zsh Normal file
View File

@ -0,0 +1,35 @@
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'
unalias run-help

View File

@ -1,15 +1,15 @@
# Programs
# Programas
alias vdi='vimdiff'
alias gdl='gallery-dl'
alias mutt='neomutt'
alias rg='ranger'
alias m='neomutt'
alias r='ranger'
alias pmix='ncpamixer'
alias amix='alsamixer'
alias v='nvim'
alias vi='nvim'
alias vim='nvim'
alias chat='irssi'
alias play='ncmpcpp'
alias 3='ncmpcpp'
alias torr='transmission-remote-cli'
alias cal='calcurse'
alias py='python '
@ -21,7 +21,6 @@ alias p='pacui'
alias sr='sr -browser=$CLIBROWSER' # open in cli browser
alias surfraw='surfraw -browser=$BROWSER' # open in gui browser
alias foxy='FoxDot & disown'
alias tx='tmux new -A'
# MAXIMUM VERBOSITY YIELDS MAXIMUM RESULTS
alias chmod='chmod -v'
@ -36,7 +35,8 @@ alias rename='rename -v'
alias mount='mount -v | column -t'
alias umount='umount -v'
# Opinionated
# Con opciones por defecto
alias rg='rg -p'
alias ytdl='youtube-dl -ic'
alias ls='ls -F --color=always --group-directories-first'
alias grep='grep --color=tty -d skip'
@ -56,10 +56,9 @@ alias slop='slop --highlight --tolerance=0 --color=0.3,0.4,0.6,0.4 -f '%wx%h+%x+
alias ping='ping -c 5 '
alias dd="dd status=progress"
# Commands
# Comandos
alias svi="sudo nvim"
alias pacmir='sudo pacman-mirrors -f5'
alias fuck='sudo pacman -Rns'
alias upd='trizen -Syu'
alias ytw='youtube-viewer -C -D -W -f -7 --results=10'
alias hoy='calcurse -a --format-apt=" - %m (%S a %E)\n" --format-recur-apt=" - %m (%S a %E)\n"'

View File

@ -1,35 +1,202 @@
autoload -Uz zcalc
autoload -Uz run-help
autoload -Uz run-help-git
# -*- mode: shell-script -*-
# vim:ft=zsh
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
# Completion Dots {{{
# if you want red dots to be displayed while waiting for completion
COMPLETION_WAITING_DOTS="true"
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
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
zle expand-or-complete
zle redisplay
}
zle -N expand-or-complete-with-dots
bindkey "^I" expand-or-complete-with-dots
fi
# }}}
# Zcalc stuff
function __calc_plugin {
zcalc -e "$*"
# Disks {{{
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;
}
aliases[calc]='noglob __calc_plugin'
aliases[=]='noglob __calc_plugin'
# }}}
unalias run-help
# Video {{{
ytl() { youtube-viewer -n $@ ;}
mp3() { 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" $@ ;}
2mp3() { 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 "$@" ;}
# }}}
# Pacman {{{
what() { trizen -Ss "$1" ;} # package info
show() { trizen -Si "$1" ;} # package details
files() { pacman -Ql "$1" ;} # list files owned by package
explicit() { sudo pacman -D --asexplicit "$@" ;} # mark package as explicitly installed
orphans() {
pacman -Qdt
echo "Press ENTER to remove these orphaned packages or CTRL+C to cancel."
read
sudo pacman -Rsn $(pacman -Qqdt) --noconfirm
}
paclist() {
pacman -Qqettn >! ~/paketes.txt
pacman -Qqettm >! ~/paurketos.txt
}
pacfix() {
sudo rm -f /var/lib/pacman/db.lck
sudo pacman-mirrors -f5
sudo pacman -Syyuu
sudo pacman -Suu
}
# }}}
# Make and enter directory {{{
mkcd () {
case "$1" in
*/..|*/../) cd -- "$1";; # that doesn't make any sense unless the directory already exists
/*/../*) (cd "${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd -- "$1";;
/*) mkdir -p "$1" && cd "$1";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "./$1";;
../*) (cd .. && mkdir -p "${1#.}") && cd "$1";;
*) mkdir -p "./$1" && cd "./$1";;
esac
}
# }}}
# Handle trash {{{
trash-empty() { gio trash --empty }
trash() { gio trash -f $@ }
trash-ls() { gio list -h trash:// }
# }}}
# Prevent ranger nesting {{{
ranger() {
if [ -z "$RANGER_LEVEL" ]; then
/usr/bin/ranger "$@"
else
exit
fi
}
# }}}
# Colored man pages using less as pager {{{
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;36m") \
LESS_TERMCAP_md=$(printf "\e[1;34m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"
}
# }}}
# 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 scrollback buffer before clearing the screen.
function tmux-clear-screen() {
for line in {1..$(( $LINES ))} ; do echo; done
zle clear-screen
}
zle -N tmux-clear-screen
bindkey "^L" tmux-clear-screen
# }}}
# fkill - kill process using fzf {{{
function fkill {
local pid
pid=$( pstree -T -p -a | fzf -e -m -i +s --reverse --margin=4%,1%,1%,2% --inline-info --header="TAB to (un)select. ENTER to kill selected process(es). ESC or CTRL+C to quit." --prompt='Enter string to filter list of processes > ' | awk -F ',' '{print $NF}' | awk '{print $1}' )
if [ "x$pid" != "x" ]
then
echo "$pid" | xargs kill -${1:-9}
fi
}
# }}}
# git logs, hash, and diff with fzf {{{
fshow() {
git log --graph --color=always \
--format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" |
fzf --ansi --preview "echo {} | grep -o '[a-f0-9]\{7\}' | head -1 | xargs -I % sh -c 'git show --color=always %'" \
--bind "enter:execute:
(grep -o '[a-f0-9]\{7\}' | head -1 |
xargs -I % sh -c 'git show --color=always % | less -R') << 'FZF-EOF'
{}
FZF-EOF"
}
fc() {
hash=$(git log --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" | fzf | awk '{print $1}')
git checkout $hash
}
g-c() {
hash=$(git log --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" | fzf | awk '{print $1}')
gopen $hash
}
g-log() {
hash=$(git log --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" | fzf | awk '{print $1}')
echo $hash && xsel -i $hash
git showtool $hash
}
g-open() {
project=$(git config --local remote.origin.url | sed s/git@github.com\:// | sed s/\.git//)
url="http://github.com/$project/commit/$1"
xdg-open $url
}
# }}}
# tm - tmux session control with fzf {{{
tm() {
[[ -n "$TMUX" ]] && change="switch-client" || change="attach-session"
if [ $1 ]; then
tmux $change -t "$1" 2>/dev/null || (tmux new-session -d -s $1 && tmux $change -t "$1"); return
fi
session=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | fzf --exit-0) && tmux $change -t "$session" || echo "No sessions found."
}
# }}}
# fvim - open any file in vim {{{
fvim() {
local IFS=$'\n'
local files=($(fzf-tmux --query="$1" --multi --select-1 --exit-0))
[[ -n "$files" ]] && ${EDITOR:-nvim} "${files[@]}"
}
# }}}
# Bunch of one liners {{{
# colorized cat
function cot() {
for file in "$@"
do
pygmentize -O style=monokai -f console256 -g "$file"
done
}
# colorized less
function lass() {
pygmentize -O style=monokai -f console256 -g $1 | less -r
}
# Take a screenshot
shot() { maim -d 5 -q -u ~/Pictures/scrot/$(date +%s).png && notify-send 'Screen captured' ;}
# Set wallpaper
wpp() { hsetroot -fill ~/Pictures/wallpaper/$1 ;}
# Command not found
[[ -e /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh
# }}}
# vim:foldmethod=marker:foldlevel=0

View File

@ -1,147 +0,0 @@
# -*- mode: shell-script -*-
# vim:ft=zsh
# Completion Dots {{{
# if you want red dots to be displayed while waiting for completion
COMPLETION_WAITING_DOTS="true"
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
# }}}
# Disks {{{
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;
}
# }}}
# Video {{{
ytl() { youtube-viewer -n $@ ;}
mp3() { 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" $@ ;}
2mp3() { 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 "$@" ;}
# }}}
# Pacman {{{
what() { trizen -Ss "$1" ;} # package info
show() { trizen -Si "$1" ;} # package details
files() { pacman -Ql "$1" ;} # list files owned by package
explicit() { sudo pacman -D --asexplicit "$@" ;} # mark package as explicitly installed
orphans() {
pacman -Qdt
echo "Press ENTER to remove these orphaned packages or CTRL+C to cancel."
read
sudo pacman -Rsn $(pacman -Qqdt) --noconfirm
}
paclist() {
pacman -Qqettn >! ~/paketes.txt
pacman -Qqettm >! ~/paurketos.txt
}
pacfix() {
sudo rm -f /var/lib/pacman/db.lck
sudo pacman-mirrors -f5
sudo pacman -Syyuu
sudo pacman -Suu
}
# }}}
# Make and enter directory {{{
mkcd () {
case "$1" in
*/..|*/../) cd -- "$1";; # that doesn't make any sense unless the directory already exists
/*/../*) (cd "${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd -- "$1";;
/*) mkdir -p "$1" && cd "$1";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "./$1";;
../*) (cd .. && mkdir -p "${1#.}") && cd "$1";;
*) mkdir -p "./$1" && cd "./$1";;
esac
}
# }}}
# Handle trash {{{
trash-empty() { gio trash --empty }
trash() { gio trash -f $@ }
trash-ls() { gio list -h trash:// }
# }}}
# Prevent ranger nesting {{{
ranger() {
if [ -z "$RANGER_LEVEL" ]; then
/usr/bin/ranger "$@"
else
exit
fi
}
# }}}
# Colored man pages using less as pager {{{
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;36m") \
LESS_TERMCAP_md=$(printf "\e[1;34m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"
}
# }}}
# 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 scrollback buffer before clearing the screen.
function tmux-clear-screen() {
for line in {1..$(( $LINES ))} ; do echo; done
zle clear-screen
}
zle -N tmux-clear-screen
bindkey "^L" tmux-clear-screen
# }}}
# fkill - kill process using fzf {{{
function fkill {
local pid
pid=$( pstree -T -p -a | fzf -e -m -i +s --reverse --margin=4%,1%,1%,2% --inline-info --header="TAB to (un)select. ENTER to kill selected process(es). ESC or CTRL+C to quit." --prompt='Enter string to filter list of processes > ' | awk -F ',' '{print $NF}' | awk '{print $1}' )
if [ "x$pid" != "x" ]
then
echo "$pid" | xargs kill -${1:-9}
fi
}
# }}}
# Bunch of one liners {{{
# colorized cat
function cot() {
for file in "$@"
do
pygmentize -O style=monokai -f console256 -g "$file"
done
}
# colorized less
function lass() {
pygmentize -O style=monokai -f console256 -g $1 | less -r
}
# Take a screenshot
shot() { maim -d 5 -q -u ~/Pictures/scrot/$(date +%s).png && notify-send 'Screen captured' ;}
# Set wallpaper
wpp() { hsetroot -fill ~/Pictures/wallpaper/$1 ;}
# }}}
# vim:foldmethod=marker:foldlevel=0

View File

@ -1,6 +1,6 @@
export FZF_DEFAULT_OPTS='
--extended
--height 50%
--height 60%
--reverse
--ansi
--color fg:-1,bg:-1,hl:33,fg+:254,bg+:235,hl+:33
@ -8,7 +8,7 @@ export FZF_DEFAULT_OPTS='
'
export FZF_COMPLETION_OPTS='+c -x'
export FZF_DEFAULT_COMMAND='ag -l -g ""'
export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden --follow -g "!{.git,node_modules}/*" 2> /dev/null'
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
@ -19,6 +19,7 @@ _fzf_compgen_dir() {
}
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="bfs -type d -nohidden"
export FZF_CTRL_T_OPTS="--select-1 --exit-0 --preview '(highlight -O ansi -l {} 2> /dev/null || cat {} || tree -C {}) 2> /dev/null | head -200'"
export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'"
export FZF_ALT_C_OPTS="--select-1 --exit-0 --preview 'tree -C {} | head -200'"

View File

@ -13,8 +13,12 @@ zle -N down-line-or-beginning-search
bindkey '^P' up-line-or-beginning-search
bindkey '^N' down-line-or-beginning-search
bindkey '^U' history-incremental-pattern-search-backward
bindkey '^F' fzf-history-widget
# Ctrl+Y is a standard in some places, and since Ctrl+R is taken...
# Open a file with $EDITOR and fzf
#bindkey '^V' fvim
# Ctrl+Y is a standard in many places, and since Ctrl+R is taken...
bindkey -a u undo
bindkey -a '^y' redo

View File

@ -4,7 +4,7 @@
include "/home/deadguy/.gtkrc-2.0.mine"
gtk-theme-name="8089"
gtk-icon-theme-name="ArchLabs-Light"
gtk-font-name="Inter UI Medium 9"
gtk-font-name="IBM Plex Sans weight=453 9"
gtk-cursor-theme-name="Alkano"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ

View File

@ -229,7 +229,8 @@ screen and (-moz-os-version:windows-win10) {
toolbaritem#menubar-items menupopup {
border-color: var(--in-content-box-background)!important;
border-width: 1px!important;
border-style: solid!important
border-style: solid!important;
margin: 5px 0 0 5px;
}
#bookmarksMenuPopup,
#personal-bookmarks menupopup .bookmark-item,

View File

@ -4,9 +4,9 @@ background "#080808"
decorations none
dockapp_mode none
fuzzy_edges 0
geometry 1x1+0+0
grow_gravity NW
icon_gravity NW
geometry 1x5+1350+0
grow_gravity NE
icon_gravity NE
icon_size 16
log_level err
kludges fix_window_pos,force_icons_size
@ -21,7 +21,7 @@ tint_level 255
transparent false
vertical true
window_layer top
window_strut auto
window_strut top
window_type dock
xsync false

View File

@ -5,7 +5,7 @@ set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
# Opciones basicas
set -g set-clipboard on
set -sg escape-time 0
set -sg escape-time 1
set -g mouse on
set -gq status-utf8 on
setw -gq utf8 on
@ -47,8 +47,8 @@ set -g status-right '#(txbar)#[fg=colour4] %R #[fg=colour2,b
set -g window-status-separator ' '
set -g window-status-current-style fg=colour3,bold
set -g window-status-activity-style bg=colour1,fg=colour14,bold
set -g window-status-format " #{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
set -g window-status-current-format " #{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
set -g window-status-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
set -g window-status-current-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
# Limpiar atajos
unbind-key -a
@ -131,7 +131,7 @@ bind-key [ copy-mode
bind-key ] paste-buffer
# Copy/paste. Seleccionar texto con el mouse lo copia automaticamente al clipboard
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel -i -p -b"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel -i -p -b"
bind-key p run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind -n C-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key C-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"

View File

@ -20,7 +20,7 @@ setxkbmap -option caps:escape
wmname LG3D &
#gnome-keyring-daemon --start --components=pkcs11 &
dbus-update-activation-environment --systemd DISPLAY
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
eval "$(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)"
export SSH_AUTH_SOCK
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
sxhkd &

4
.zshrc
View File

@ -2,6 +2,7 @@
# vim:ft=zsh
# Exports {{{
export TERMINAL="termite"
export EDITOR="nvim"
export VISUAL="nano"
export BROWSER="firefox"
@ -29,6 +30,9 @@ zplugin light tj/git-extras
zplugin ice pick"c.zsh" atclone"dircolors -b LS_COLORS > c.zsh" atpull"%atclone"
zplugin light trapd00r/LS_COLORS
zplugin ice pick"async.zsh" src"pure.zsh"; zplugin light sindresorhus/pure
PURE_GIT_PULL=1
prompt_newline='%666v'
PROMPT=" $PROMPT"
zplugin ice atinit'local i; for i in *.zsh; do source $i; done'; zpl light ~/.config/zsh
zplugin ice wait"0" blockf lucid
zplugin light zsh-users/zsh-completions

View File

@ -1,7 +1,7 @@
#!/bin/bash
case $1 in
vi) $EDITOR ~/.config/nvim/init.vim ;;
v) $EDITOR ~/.config/nvim/init.vim ;;
start) $EDITOR ~/.config/bspwm/autostart ;;
wm) $EDITOR ~/.config/bspwm/bspwmrc ;;
keys) $EDITOR ~/.config/sxhkd/sxhkdrc ;;
@ -23,5 +23,6 @@ case $1 in
tsr) $EDITOR ~/.config/transmission-remote-cli/settings.cfg ;;
xinit) $EDITOR ~/.xinitrc ;;
xres) $EDITOR ~/.Xresources ;;
tray) $EDITOR ~/.stalonetrayrc ;;
*) echo "Can't help you with that" ;;
esac

View File

@ -1,11 +1,10 @@
#!/bin/bash
set -euf -o pipefail
session="Livecode ~Ar"
# set up tmux
tmux -2 start-server
tmux start-server
# create a new tmux session
tmux new-session -d -s "$session"
@ -17,7 +16,7 @@ sleep 3s
# Split pane 1 vertical by 50%, start sclang
tmux splitw -h -p 50
tmux send-keys "sclang -D ~/Music/LiveCoding/foxy.scd" C-m
tmux send-keys "sclang -D ~/Music/LiveCoding/foxdot.scd" C-m
sleep 5s

View File

@ -1,6 +1,6 @@
#!/bin/bash
HEART='\ue001'
HEART='\ue1ae'
WIFI='\ue610'
if [ -d /sys/class/power_supply/BAT0 ]; then
@ -20,11 +20,11 @@ if [ -d /sys/class/power_supply/BAT0 ]; then
else
echo -n '#[fg=colour123]'
fi
echo -ne " $HEART $current_charge "
echo -ne "$HEART$current_charge "
fi
if grep -q 'up' /sys/class/net/wlo1/operstate; then
net="$(awk 'NR == 3 { print substr($3, 1, length($3) - 1) }' /proc/net/wireless)"
echo -ne "#[fg=colour177]$WIFI ${net} "
echo -ne "#[fg=colour177]$WIFI ${net} "
fi

View File

@ -10,10 +10,10 @@ wgetFiles="mp3 flac opus mp3?source=feed pdf"
# List of sites that will be opened in mpv.
vidsites="youtube.com
\|hooktube.com
\|bitchute.com
\|vimeo.com
\|dailymotion.com
\\|hooktube.com
\\|bitchute.com
\\|vimeo.com
\\|dailymotion.com
"
ext="${1##*.}"
@ -21,14 +21,14 @@ mpvFiles="mkv mp4 gif webm"
fehFiles="png jpg jpeg jpe"
wgetFiles="mp3 flac opus mp3?source=feed pdf"
if echo $fehFiles | grep -w $ext > /dev/null; then
if echo "$fehFiles" | grep -w "$ext" > /dev/null; then
setsid nohup sxiv "$1" >/dev/null & disown
elif echo $mpvFiles | grep -w $ext > /dev/null; then
elif echo "$mpvFiles" | grep -w "$ext" > /dev/null; then
setsid nohup mpv -quiet "$1" > /dev/null & disown
elif echo $wgetFiles | grep -w $ext > /dev/null; then
elif echo "$wgetFiles" | grep -w "$ext" > /dev/null; then
wget "$1" >/dev/null & disown
elif echo "$@" | grep "$vidsites">/dev/null; then
setsid nohup mpv -quiet "$1" > /dev/null & disown
else
setsid nohup $BROWSER "$1" 2>/dev/null & disown
setsid nohup "$BROWSER" "$1" 2>/dev/null & disown
fi

View File

@ -31,7 +31,6 @@ clang
compton
cpupower
crda
cronie
ctags
dash
dconf-editor
@ -144,6 +143,7 @@ networkmanager-pptp
networkmanager-vpnc
nfs-utils
nilfs-utils
njconnect
nss-mdns
oblogout-manjaro
obs-studio
@ -151,11 +151,13 @@ odt2txt
offlineimap
open-fuse-iso
os-prober
otf-overpass
p7zip
paprefs
parallel
patch
pavucontrol
pd
pd-l2ork
perl-clone
perl-curses-ui
@ -166,7 +168,6 @@ perl-mime-types
perl-text-charwidth
perl-xml-libxml
pkgbrowser
pkgconf
pkgfile
polkit-gnome
polybar
@ -196,6 +197,7 @@ python-setproctitle
python-virtualenv
python2-lxml
python2-numpy
python2-virtualenv
qalculate-gtk
qsynth
qt5-styleplugins
@ -205,6 +207,7 @@ qt5ct
redshift
refind-efi
reiserfsprogs
ripgrep
rp-pppoe
rsync
s-nail

View File

@ -7,6 +7,7 @@ alephone-marathon2
bandcamp-dl
bashmount
bdf2psf
bfs
blockout2
boxes-git
calcurse-git
@ -47,7 +48,7 @@ megatools
modprobed-db
ncpamixer-git
neovim-drop-in
njconnect
oldschool-pc-fonts
openav-artyfx-git
otf-san-francisco
pablodraw
@ -58,6 +59,7 @@ perl-getopt-long-descriptive
perl-uri-find
phallus-fonts-git
pmount
proggyfonts
pymdown-extensions
python-lolcat
ranger-git