commit 81dc8dc542b47a913f061296614474f198a5d705
parent 3b9fd1de5e8d0ed0d4dc27855133b90fea1b3402
Author: Hayden Hamilton <hayden@haydenvh.com>
Date: Fri, 27 Dec 2019 21:00:28 +0000
A proper license was lacking
Diffstat:
22 files changed, 67 insertions(+), 1090 deletions(-)
diff --git a/.Xresources b/.Xresources
@@ -8,7 +8,7 @@
! special
*.foreground: #1e5eb3
-*.background: #090711
+*.background: #0c0a14
*.cursorColor: #1e5eb3
! black
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
@@ -30,11 +30,11 @@ function ytdla; youtube-dl --add-metadata -xic $argv; end
function ls; command ls --color $argv; end
function map; telnet mapscii.me; end
function tetris; ssh netris.rocketnine.space; end
-function calcurse; calcurse -D ~/.config/calcurse/; end
+function calcurse; command calcurse -D ~/.config/calcurse/; end
function irssi; command irssi --home ~/.config/irssi/ -n hayden; ircgetpass; end
function xsleep; sudo zzz; end
function xhibernate; sudo ZZZ; end
-function urxvtrestart; xrdb ~/.Xresources; xrdb ~/.Xdefaults; end
+function urxvtrestart; xrdb ~/.Xdefaults; xrdb ~/.Xresources; exec urxvtc; end
function rmst; bash ~/.scripts/random/gnulinux.sh; end
function fff; bash ~/.config/fff/config; end
function python; python3; end
diff --git a/.config/i3/config b/.config/i3/config
@@ -61,10 +61,6 @@ bar{
inactive_workspace $background $yellow2 #000000
urgent_workspace $background #ffffff #990000
}
-
- #Learn to use the keyboard newbs.
- bindsym button1 nop
-
id bar-1
}
bar{
@@ -84,9 +80,6 @@ bar{
inactive_workspace $background $yellow2 #000000
urgent_workspace $background #ffffff #990000
}
-
- #Learn to use the keyboard newbs.
- bindsym button1 nop
}
##Setting workspace names
@@ -199,8 +192,8 @@ bindsym $mod+r exec $terminal -name fileman -e dfm fm
bindsym $mod+shift+r restart
bindsym $mod+t layout tabbed
bindsym $mod+shift+t layout toggle split
-bindsym $mod+y exec $terminal -name irssi -e irssi --home ~/.config/irssi/; exec ircgetpass
-bindsym $mod+shift+y exec $terminal -name irssi -e irsii --home ~/.config/irssi/; exec ircgetpass
+bindsym $mod+y exec $terminal -name irssi -e irssi --home ~/.config/irssi/
+bindsym $mod+shift+y exec dircgetpass
bindsym $mod+u exec wallvar ~/.wallpapers/ 60; exec dunstify "Auto-changing wallpapers on."
bindsym $mod+shift+u exec killall wallvar; exec dunstify "Auto-changing wallpapers off."
bindsym $mod+i exec $terminal -name fff -e ffflaunch
@@ -226,7 +219,7 @@ bindsym $mod+x split h
bindsym $mod+shift+x split h
bindsym $mod+c exec locker /tmp/mpv-socket2 /tmp/mpv-socket
bindsym $mod+shift+c exec slock
-bindsym $mod+v exec killall mpv
+bindsym $mod+v workspace "TEMPORARY"; exec $terminal -e htop; exec $terminal -e alsamixer
bindsym $mod+shift+v exec killall mpv
bindsym $mod+b exec vimb --no-maximize
bindsym $mod+shift+b exec dmpvurl /tmp/mpv-socket /tmp/mpv-socket2
@@ -274,7 +267,7 @@ bindsym F9 exec dmpv music /tmp/mpv-socket /tmp/mpv-socket2 --no-video
bindsym shift+F9 exec rmpv music 50
bindsym F10 exec hmpv back /tmp/mpv-socket
bindsym shift+F10 exec hmpv prev /tmp/mpv-socket
-bindsym F11 exec hmpv toggle /tmp/mpv-socket
+bindsym F11 exec hmpv toggle /tmp/mpv-socket; exec hmpv toggle /tmp/mpv-socket2
bindsym shift+F11 exec hmpv quit /tmp/mpv-socket
bindsym F12 exec hmpv forward /tmp/mpv-socket
bindsym shift+F12 exec hmpv next /tmp/mpv-socket
diff --git a/.config/i3blocks/config b/.config/i3blocks/config
@@ -6,6 +6,10 @@ border_top=0
border_left=0
border_right=0
+[title]
+interval=1
+border=#ffffff
+
[vol]
interval=1
border=#21a4a3
diff --git a/.config/irssi/config b/.config/irssi/config
@@ -30,6 +30,7 @@ channels = (
{ name = "#i3"; chatnet = "Freenode"; autojoin = "Yes"; },
{ name = "#archlinux-offtopic"; chatnet = "Freenode"; autojoin = "Yes"; },
{ name = "#GNU/matrix"; chatnet = "Rizon"; autojoin = "Yes"; },
+ { name = "#cat-v"; chatnet = "Freenode"; autojoin = "Yes"; },
);
aliases = {
ATAG = "WINDOW SERVER";
diff --git a/.config/vim/autoload/commentary.vim b/.config/vim/autoload/commentary.vim
@@ -1,117 +0,0 @@
-" commentary.vim - Comment stuff out
-" Maintainer: Tim Pope <http://tpo.pe/>
-" Version: 1.3
-" GetLatestVimScripts: 3695 1 :AutoInstall: commentary.vim
-
-if exists("g:loaded_commentary") || v:version < 700
- finish
-endif
-let g:loaded_commentary = 1
-
-function! s:surroundings() abort
- return split(get(b:, 'commentary_format', substitute(substitute(substitute(
- \ &commentstring, '^$', '%s', ''), '\S\zs%s',' %s', '') ,'%s\ze\S', '%s ', '')), '%s', 1)
-endfunction
-
-function! s:strip_white_space(l,r,line) abort
- let [l, r] = [a:l, a:r]
- if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0
- let l = l[:-2]
- endif
- if r[0] ==# ' ' && a:line[-strlen(r):] != r && a:line[1-strlen(r):] == r[1:]
- let r = r[1:]
- endif
- return [l, r]
-endfunction
-
-function! s:go(...) abort
- if !a:0
- let &operatorfunc = matchstr(expand('<sfile>'), '[^. ]*$')
- return 'g@'
- elseif a:0 > 1
- let [lnum1, lnum2] = [a:1, a:2]
- else
- let [lnum1, lnum2] = [line("'["), line("']")]
- endif
-
- let [l, r] = s:surroundings()
- let uncomment = 2
- for lnum in range(lnum1,lnum2)
- let line = matchstr(getline(lnum),'\S.*\s\@<!')
- let [l, r] = s:strip_white_space(l,r,line)
- if len(line) && (stridx(line,l) || line[strlen(line)-strlen(r) : -1] != r)
- let uncomment = 0
- endif
- endfor
-
- if get(b:, 'commentary_startofline')
- let indent = '^'
- else
- let indent = '^\s*'
- endif
-
- for lnum in range(lnum1,lnum2)
- let line = getline(lnum)
- if strlen(r) > 2 && l.r !~# '\\'
- let line = substitute(line,
- \'\M'.r[0:-2].'\zs\d\*\ze'.r[-1:-1].'\|'.l[0].'\zs\d\*\ze'.l[1:-1],
- \'\=substitute(submatch(0)+1-uncomment,"^0$\\|^-\\d*$","","")','g')
- endif
- if uncomment
- let line = substitute(line,'\S.*\s\@<!','\=submatch(0)[strlen(l):-strlen(r)-1]','')
- else
- let line = substitute(line,'^\%('.matchstr(getline(lnum1),indent).'\|\s*\)\zs.*\S\@<=','\=l.submatch(0).r','')
- endif
- call setline(lnum,line)
- endfor
- let modelines = &modelines
- try
- set modelines=0
- silent doautocmd User CommentaryPost
- finally
- let &modelines = modelines
- endtry
- return ''
-endfunction
-
-function! s:textobject(inner) abort
- let [l, r] = s:surroundings()
- let lnums = [line('.')+1, line('.')-2]
- for [index, dir, bound, line] in [[0, -1, 1, ''], [1, 1, line('$'), '']]
- while lnums[index] != bound && line ==# '' || !(stridx(line,l) || line[strlen(line)-strlen(r) : -1] != r)
- let lnums[index] += dir
- let line = matchstr(getline(lnums[index]+dir),'\S.*\s\@<!')
- let [l, r] = s:strip_white_space(l,r,line)
- endwhile
- endfor
- while (a:inner || lnums[1] != line('$')) && empty(getline(lnums[0]))
- let lnums[0] += 1
- endwhile
- while a:inner && empty(getline(lnums[1]))
- let lnums[1] -= 1
- endwhile
- if lnums[0] <= lnums[1]
- execute 'normal! 'lnums[0].'GV'.lnums[1].'G'
- endif
-endfunction
-
-command! -range -bar Commentary call s:go(<line1>,<line2>)
-xnoremap <expr> <Plug>Commentary <SID>go()
-nnoremap <expr> <Plug>Commentary <SID>go()
-nnoremap <expr> <Plug>CommentaryLine <SID>go() . '_'
-onoremap <silent> <Plug>Commentary :<C-U>call <SID>textobject(get(v:, 'operator', '') ==# 'c')<CR>
-nnoremap <silent> <Plug>ChangeCommentary c:<C-U>call <SID>textobject(1)<CR>
-nmap <silent> <Plug>CommentaryUndo :echoerr "Change your <Plug>CommentaryUndo map to <Plug>Commentary<Plug>Commentary"<CR>
-
-if !hasmapto('<Plug>Commentary') || maparg('gc','n') ==# ''
- xmap gc <Plug>Commentary
- nmap gc <Plug>Commentary
- omap gc <Plug>Commentary
- nmap gcc <Plug>CommentaryLine
- if maparg('c','n') ==# '' && !exists('v:operator')
- nmap cgc <Plug>ChangeCommentary
- endif
- nmap gcu <Plug>Commentary<Plug>Commentary
-endif
-
-" vim:set et sw=2:
diff --git a/.config/vim/autoload/repeat.vim b/.config/vim/autoload/repeat.vim
@@ -1,165 +0,0 @@
-" repeat.vim - Let the repeat command repeat plugin maps
-" Maintainer: Tim Pope
-" Version: 1.2
-" GetLatestVimScripts: 2136 1 :AutoInstall: repeat.vim
-
-" Installation:
-" Place in either ~/.vim/plugin/repeat.vim (to load at start up) or
-" ~/.vim/autoload/repeat.vim (to load automatically as needed).
-"
-" License:
-" Copyright (c) Tim Pope. Distributed under the same terms as Vim itself.
-" See :help license
-"
-" Developers:
-" Basic usage is as follows:
-"
-" silent! call repeat#set("\<Plug>MappingToRepeatCommand",3)
-"
-" The first argument is the mapping that will be invoked when the |.| key is
-" pressed. Typically, it will be the same as the mapping the user invoked.
-" This sequence will be stuffed into the input queue literally. Thus you must
-" encode special keys by prefixing them with a backslash inside double quotes.
-"
-" The second argument is the default count. This is the number that will be
-" prefixed to the mapping if no explicit numeric argument was given. The
-" value of the v:count variable is usually correct and it will be used if the
-" second parameter is omitted. If your mapping doesn't accept a numeric
-" argument and you never want to receive one, pass a value of -1.
-"
-" Make sure to call the repeat#set function _after_ making changes to the
-" file.
-"
-" For mappings that use a register and want the same register used on
-" repetition, use:
-"
-" silent! call repeat#setreg("\<Plug>MappingToRepeatCommand", v:register)
-"
-" This function can (and probably needs to be) called before making changes to
-" the file (as those typically clear v:register). Therefore, the call sequence
-" in your mapping will look like this:
-"
-" nnoremap <silent> <Plug>MyMap
-" \ :<C-U>execute 'silent! call repeat#setreg("\<lt>Plug>MyMap", v:register)'<Bar>
-" \ call <SID>MyFunction(v:register, ...)<Bar>
-" \ silent! call repeat#set("\<lt>Plug>MyMap")<CR>
-
-if exists("g:loaded_repeat") || &cp || v:version < 700
- finish
-endif
-let g:loaded_repeat = 1
-
-let g:repeat_tick = -1
-let g:repeat_reg = ['', '']
-
-" Special function to avoid spurious repeats in a related, naturally repeating
-" mapping when your repeatable mapping doesn't increase b:changedtick.
-function! repeat#invalidate()
- autocmd! repeat_custom_motion
- let g:repeat_tick = -1
-endfunction
-
-function! repeat#set(sequence,...)
- let g:repeat_sequence = a:sequence
- let g:repeat_count = a:0 ? a:1 : v:count
- let g:repeat_tick = b:changedtick
- augroup repeat_custom_motion
- autocmd!
- autocmd CursorMoved <buffer> let g:repeat_tick = b:changedtick | autocmd! repeat_custom_motion
- augroup END
-endfunction
-
-function! repeat#setreg(sequence,register)
- let g:repeat_reg = [a:sequence, a:register]
-endfunction
-
-
-function! s:default_register()
- let values = split(&clipboard, ',')
- if index(values, 'unnamedplus') != -1
- return '+'
- elseif index(values, 'unnamed') != -1
- return '*'
- else
- return '"'
- endif
-endfunction
-
-function! repeat#run(count)
- try
- if g:repeat_tick == b:changedtick
- let r = ''
- if g:repeat_reg[0] ==# g:repeat_sequence && !empty(g:repeat_reg[1])
- " Take the original register, unless another (non-default, we
- " unfortunately cannot detect no vs. a given default register)
- " register has been supplied to the repeat command (as an
- " explicit override).
- let regname = v:register ==# s:default_register() ? g:repeat_reg[1] : v:register
- if regname ==# '='
- " This causes a re-evaluation of the expression on repeat, which
- " is what we want.
- let r = '"=' . getreg('=', 1) . "\<CR>"
- else
- let r = '"' . regname
- endif
- endif
-
- let c = g:repeat_count
- let s = g:repeat_sequence
- let cnt = c == -1 ? "" : (a:count ? a:count : (c ? c : ''))
- if ((v:version == 703 && has('patch100')) || (v:version == 704 && !has('patch601')))
- exe 'norm ' . r . cnt . s
- elseif v:version <= 703
- call feedkeys(r . cnt, 'n')
- call feedkeys(s, '')
- else
- call feedkeys(s, 'i')
- call feedkeys(r . cnt, 'ni')
- endif
- else
- if ((v:version == 703 && has('patch100')) || (v:version == 704 && !has('patch601')))
- exe 'norm! '.(a:count ? a:count : '') . '.'
- else
- call feedkeys((a:count ? a:count : '') . '.', 'ni')
- endif
- endif
- catch /^Vim(normal):/
- return 'echoerr v:errmsg'
- endtry
- return ''
-endfunction
-
-function! repeat#wrap(command,count)
- let preserve = (g:repeat_tick == b:changedtick)
- call feedkeys((a:count ? a:count : '').a:command, 'n')
- exe (&foldopen =~# 'undo\|all' ? 'norm! zv' : '')
- if preserve
- let g:repeat_tick = b:changedtick
- endif
-endfunction
-
-nnoremap <silent> <Plug>(RepeatDot) :<C-U>exe repeat#run(v:count)<CR>
-nnoremap <silent> <Plug>(RepeatUndo) :<C-U>call repeat#wrap('u',v:count)<CR>
-nnoremap <silent> <Plug>(RepeatUndoLine) :<C-U>call repeat#wrap('U',v:count)<CR>
-nnoremap <silent> <Plug>(RepeatRedo) :<C-U>call repeat#wrap("\<Lt>C-R>",v:count)<CR>
-
-if !hasmapto('<Plug>(RepeatDot)', 'n')
- nmap . <Plug>(RepeatDot)
-endif
-if !hasmapto('<Plug>(RepeatUndo)', 'n')
- nmap u <Plug>(RepeatUndo)
-endif
-if maparg('U','n') ==# '' && !hasmapto('<Plug>(RepeatUndoLine)', 'n')
- nmap U <Plug>(RepeatUndoLine)
-endif
-if !hasmapto('<Plug>(RepeatRedo)', 'n')
- nmap <C-R> <Plug>(RepeatRedo)
-endif
-
-augroup repeatPlugin
- autocmd!
- autocmd BufLeave,BufWritePre,BufReadPre * let g:repeat_tick = (g:repeat_tick == b:changedtick || g:repeat_tick == 0) ? 0 : -1
- autocmd BufEnter,BufWritePost * if g:repeat_tick == 0|let g:repeat_tick = b:changedtick|endif
-augroup END
-
-" vim:set ft=vim et sw=4 sts=4:
diff --git a/.config/vim/autoload/surround.vim b/.config/vim/autoload/surround.vim
@@ -1,619 +0,0 @@
-" surround.vim - Surroundings
-" Author: Tim Pope <http://tpo.pe/>
-" Version: 2.1
-" GetLatestVimScripts: 1697 1 :AutoInstall: surround.vim
-
-if exists("g:loaded_surround") || &cp || v:version < 700
- finish
-endif
-let g:loaded_surround = 1
-
-" Input functions {{{1
-
-function! s:getchar()
- let c = getchar()
- if c =~ '^\d\+$'
- let c = nr2char(c)
- endif
- return c
-endfunction
-
-function! s:inputtarget()
- let c = s:getchar()
- while c =~ '^\d\+$'
- let c .= s:getchar()
- endwhile
- if c == " "
- let c .= s:getchar()
- endif
- if c =~ "\<Esc>\|\<C-C>\|\0"
- return ""
- else
- return c
- endif
-endfunction
-
-function! s:inputreplacement()
- let c = s:getchar()
- if c == " "
- let c .= s:getchar()
- endif
- if c =~ "\<Esc>" || c =~ "\<C-C>"
- return ""
- else
- return c
- endif
-endfunction
-
-function! s:beep()
- exe "norm! \<Esc>"
- return ""
-endfunction
-
-function! s:redraw()
- redraw
- return ""
-endfunction
-
-" }}}1
-
-" Wrapping functions {{{1
-
-function! s:extractbefore(str)
- if a:str =~ '\r'
- return matchstr(a:str,'.*\ze\r')
- else
- return matchstr(a:str,'.*\ze\n')
- endif
-endfunction
-
-function! s:extractafter(str)
- if a:str =~ '\r'
- return matchstr(a:str,'\r\zs.*')
- else
- return matchstr(a:str,'\n\zs.*')
- endif
-endfunction
-
-function! s:fixindent(str,spc)
- let str = substitute(a:str,'\t',repeat(' ',&sw),'g')
- let spc = substitute(a:spc,'\t',repeat(' ',&sw),'g')
- let str = substitute(str,'\(\n\|\%^\).\@=','\1'.spc,'g')
- if ! &et
- let str = substitute(str,'\s\{'.&ts.'\}',"\t",'g')
- endif
- return str
-endfunction
-
-function! s:process(string)
- let i = 0
- for i in range(7)
- let repl_{i} = ''
- let m = matchstr(a:string,nr2char(i).'.\{-\}\ze'.nr2char(i))
- if m != ''
- let m = substitute(strpart(m,1),'\r.*','','')
- let repl_{i} = input(match(m,'\w\+$') >= 0 ? m.': ' : m)
- endif
- endfor
- let s = ""
- let i = 0
- while i < strlen(a:string)
- let char = strpart(a:string,i,1)
- if char2nr(char) < 8
- let next = stridx(a:string,char,i+1)
- if next == -1
- let s .= char
- else
- let insertion = repl_{char2nr(char)}
- let subs = strpart(a:string,i+1,next-i-1)
- let subs = matchstr(subs,'\r.*')
- while subs =~ '^\r.*\r'
- let sub = matchstr(subs,"^\r\\zs[^\r]*\r[^\r]*")
- let subs = strpart(subs,strlen(sub)+1)
- let r = stridx(sub,"\r")
- let insertion = substitute(insertion,strpart(sub,0,r),strpart(sub,r+1),'')
- endwhile
- let s .= insertion
- let i = next
- endif
- else
- let s .= char
- endif
- let i += 1
- endwhile
- return s
-endfunction
-
-function! s:wrap(string,char,type,removed,special)
- let keeper = a:string
- let newchar = a:char
- let s:input = ""
- let type = a:type
- let linemode = type ==# 'V' ? 1 : 0
- let before = ""
- let after = ""
- if type ==# "V"
- let initspaces = matchstr(keeper,'\%^\s*')
- else
- let initspaces = matchstr(getline('.'),'\%^\s*')
- endif
- let pairs = "b()B{}r[]a<>"
- let extraspace = ""
- if newchar =~ '^ '
- let newchar = strpart(newchar,1)
- let extraspace = ' '
- endif
- let idx = stridx(pairs,newchar)
- if newchar == ' '
- let before = ''
- let after = ''
- elseif exists("b:surround_".char2nr(newchar))
- let all = s:process(b:surround_{char2nr(newchar)})
- let before = s:extractbefore(all)
- let after = s:extractafter(all)
- elseif exists("g:surround_".char2nr(newchar))
- let all = s:process(g:surround_{char2nr(newchar)})
- let before = s:extractbefore(all)
- let after = s:extractafter(all)
- elseif newchar ==# "p"
- let before = "\n"
- let after = "\n\n"
- elseif newchar ==# 's'
- let before = ' '
- let after = ''
- elseif newchar ==# ':'
- let before = ':'
- let after = ''
- elseif newchar =~# "[tT\<C-T><]"
- let dounmapp = 0
- let dounmapb = 0
- if !maparg(">","c")
- let dounmapb = 1
- " Hide from AsNeeded
- exe "cn"."oremap > ><CR>"
- endif
- let default = ""
- if newchar ==# "T"
- if !exists("s:lastdel")
- let s:lastdel = ""
- endif
- let default = matchstr(s:lastdel,'<\zs.\{-\}\ze>')
- endif
- let tag = input("<",default)
- if dounmapb
- silent! cunmap >
- endif
- let s:input = tag
- if tag != ""
- let keepAttributes = ( match(tag, ">$") == -1 )
- let tag = substitute(tag,'>*$','','')
- let attributes = ""
- if keepAttributes
- let attributes = matchstr(a:removed, '<[^ \t\n]\+\zs\_.\{-\}\ze>')
- endif
- let s:input = tag . '>'
- if tag =~ '/$'
- let tag = substitute(tag, '/$', '', '')
- let before = '<'.tag.attributes.' />'
- let after = ''
- else
- let before = '<'.tag.attributes.'>'
- let after = '</'.substitute(tag,' .*','','').'>'
- endif
- if newchar == "\<C-T>"
- if type ==# "v" || type ==# "V"
- let before .= "\n\t"
- endif
- if type ==# "v"
- let after = "\n". after
- endif
- endif
- endif
- elseif newchar ==# 'l' || newchar == '\'
- " LaTeX
- let env = input('\begin{')
- if env != ""
- let s:input = env."\<CR>"
- let env = '{' . env
- let env .= s:closematch(env)
- echo '\begin'.env
- let before = '\begin'.env
- let after = '\end'.matchstr(env,'[^}]*').'}'
- endif
- elseif newchar ==# 'f' || newchar ==# 'F'
- let fnc = input('function: ')
- if fnc != ""
- let s:input = fnc."\<CR>"
- let before = substitute(fnc,'($','','').'('
- let after = ')'
- if newchar ==# 'F'
- let before .= ' '
- let after = ' ' . after
- endif
- endif
- elseif newchar ==# "\<C-F>"
- let fnc = input('function: ')
- let s:input = fnc."\<CR>"
- let before = '('.fnc.' '
- let after = ')'
- elseif idx >= 0
- let spc = (idx % 3) == 1 ? " " : ""
- let idx = idx / 3 * 3
- let before = strpart(pairs,idx+1,1) . spc
- let after = spc . strpart(pairs,idx+2,1)
- elseif newchar == "\<C-[>" || newchar == "\<C-]>"
- let before = "{\n\t"
- let after = "\n}"
- elseif newchar !~ '\a'
- let before = newchar
- let after = newchar
- else
- let before = ''
- let after = ''
- endif
- let after = substitute(after ,'\n','\n'.initspaces,'g')
- if type ==# 'V' || (a:special && type ==# "v")
- let before = substitute(before,' \+$','','')
- let after = substitute(after ,'^ \+','','')
- if after !~ '^\n'
- let after = initspaces.after
- endif
- if keeper !~ '\n$' && after !~ '^\n'
- let keeper .= "\n"
- elseif keeper =~ '\n$' && after =~ '^\n'
- let after = strpart(after,1)
- endif
- if keeper !~ '^\n' && before !~ '\n\s*$'
- let before .= "\n"
- if a:special
- let before .= "\t"
- endif
- elseif keeper =~ '^\n' && before =~ '\n\s*$'
- let keeper = strcharpart(keeper,1)
- endif
- if type ==# 'V' && keeper =~ '\n\s*\n$'
- let keeper = strcharpart(keeper,0,strchars(keeper) - 1)
- endif
- endif
- if type ==# 'V'
- let before = initspaces.before
- endif
- if before =~ '\n\s*\%$'
- if type ==# 'v'
- let keeper = initspaces.keeper
- endif
- let padding = matchstr(before,'\n\zs\s\+\%$')
- let before = substitute(before,'\n\s\+\%$','\n','')
- let keeper = s:fixindent(keeper,padding)
- endif
- if type ==# 'V'
- let keeper = before.keeper.after
- elseif type =~ "^\<C-V>"
- " Really we should be iterating over the buffer
- let repl = substitute(before,'[\\~]','\\&','g').'\1'.substitute(after,'[\\~]','\\&','g')
- let repl = substitute(repl,'\n',' ','g')
- let keeper = substitute(keeper."\n",'\(.\{-\}\)\(\n\)',repl.'\n','g')
- let keeper = substitute(keeper,'\n\%$','','')
- else
- let keeper = before.extraspace.keeper.extraspace.after
- endif
- return keeper
-endfunction
-
-function! s:wrapreg(reg,char,removed,special)
- let orig = getreg(a:reg)
- let type = substitute(getregtype(a:reg),'\d\+$','','')
- let new = s:wrap(orig,a:char,type,a:removed,a:special)
- call setreg(a:reg,new,type)
-endfunction
-" }}}1
-
-function! s:insert(...) " {{{1
- " Optional argument causes the result to appear on 3 lines, not 1
- let linemode = a:0 ? a:1 : 0
- let char = s:inputreplacement()
- while char == "\<CR>" || char == "\<C-S>"
- " TODO: use total count for additional blank lines
- let linemode += 1
- let char = s:inputreplacement()
- endwhile
- if char == ""
- return ""
- endif
- let cb_save = &clipboard
- set clipboard-=unnamed clipboard-=unnamedplus
- let reg_save = @@
- call setreg('"',"\r",'v')
- call s:wrapreg('"',char,"",linemode)
- " If line mode is used and the surrounding consists solely of a suffix,
- " remove the initial newline. This fits a use case of mine but is a
- " little inconsistent. Is there anyone that would prefer the simpler
- " behavior of just inserting the newline?
- if linemode && match(getreg('"'),'^\n\s*\zs.*') == 0
- call setreg('"',matchstr(getreg('"'),'^\n\s*\zs.*'),getregtype('"'))
- endif
- " This can be used to append a placeholder to the end
- if exists("g:surround_insert_tail")
- call setreg('"',g:surround_insert_tail,"a".getregtype('"'))
- endif
- if &ve != 'all' && col('.') >= col('$')
- if &ve == 'insert'
- let extra_cols = virtcol('.') - virtcol('$')
- if extra_cols > 0
- let [regval,regtype] = [getreg('"',1,1),getregtype('"')]
- call setreg('"',join(map(range(extra_cols),'" "'),''),'v')
- norm! ""p
- call setreg('"',regval,regtype)
- endif
- endif
- norm! ""p
- else
- norm! ""P
- endif
- if linemode
- call s:reindent()
- endif
- norm! `]
- call search('\r','bW')
- let @@ = reg_save
- let &clipboard = cb_save
- return "\<Del>"
-endfunction " }}}1
-
-function! s:reindent() " {{{1
- if exists("b:surround_indent") ? b:surround_indent : (!exists("g:surround_indent") || g:surround_indent)
- silent norm! '[=']
- endif
-endfunction " }}}1
-
-function! s:dosurround(...) " {{{1
- let scount = v:count1
- let char = (a:0 ? a:1 : s:inputtarget())
- let spc = ""
- if char =~ '^\d\+'
- let scount = scount * matchstr(char,'^\d\+')
- let char = substitute(char,'^\d\+','','')
- endif
- if char =~ '^ '
- let char = strpart(char,1)
- let spc = 1
- endif
- if char == 'a'
- let char = '>'
- endif
- if char == 'r'
- let char = ']'
- endif
- let newchar = ""
- if a:0 > 1
- let newchar = a:2
- if newchar == "\<Esc>" || newchar == "\<C-C>" || newchar == ""
- return s:beep()
- endif
- endif
- let cb_save = &clipboard
- set clipboard-=unnamed clipboard-=unnamedplus
- let append = ""
- let original = getreg('"')
- let otype = getregtype('"')
- call setreg('"',"")
- let strcount = (scount == 1 ? "" : scount)
- if char == '/'
- exe 'norm! '.strcount.'[/d'.strcount.']/'
- elseif char =~# '[[:punct:][:space:]]' && char !~# '[][(){}<>"''`]'
- exe 'norm! T'.char
- if getline('.')[col('.')-1] == char
- exe 'norm! l'
- endif
- exe 'norm! dt'.char
- else
- exe 'norm! d'.strcount.'i'.char
- endif
- let keeper = getreg('"')
- let okeeper = keeper " for reindent below
- if keeper == ""
- call setreg('"',original,otype)
- let &clipboard = cb_save
- return ""
- endif
- let oldline = getline('.')
- let oldlnum = line('.')
- if char ==# "p"
- call setreg('"','','V')
- elseif char ==# "s" || char ==# "w" || char ==# "W"
- " Do nothing
- call setreg('"','')
- elseif char =~ "[\"'`]"
- exe "norm! i \<Esc>d2i".char
- call setreg('"',substitute(getreg('"'),' ','',''))
- elseif char == '/'
- norm! "_x
- call setreg('"','/**/',"c")
- let keeper = substitute(substitute(keeper,'^/\*\s\=','',''),'\s\=\*$','','')
- elseif char =~# '[[:punct:][:space:]]' && char !~# '[][(){}<>]'
- exe 'norm! F'.char
- exe 'norm! df'.char
- else
- " One character backwards
- call search('\m.', 'bW')
- exe "norm! da".char
- endif
- let removed = getreg('"')
- let rem2 = substitute(removed,'\n.*','','')
- let oldhead = strpart(oldline,0,strlen(oldline)-strlen(rem2))
- let oldtail = strpart(oldline, strlen(oldline)-strlen(rem2))
- let regtype = getregtype('"')
- if char =~# '[\[({<T]' || spc
- let keeper = substitute(keeper,'^\s\+','','')
- let keeper = substitute(keeper,'\s\+$','','')
- endif
- if col("']") == col("$") && col('.') + 1 == col('$')
- if oldhead =~# '^\s*$' && a:0 < 2
- let keeper = substitute(keeper,'\%^\n'.oldhead.'\(\s*.\{-\}\)\n\s*\%$','\1','')
- endif
- let pcmd = "p"
- else
- let pcmd = "P"
- endif
- if line('.') + 1 < oldlnum && regtype ==# "V"
- let pcmd = "p"
- endif
- call setreg('"',keeper,regtype)
- if newchar != ""
- let special = a:0 > 2 ? a:3 : 0
- call s:wrapreg('"',newchar,removed,special)
- endif
- silent exe 'norm! ""'.pcmd.'`['
- if removed =~ '\n' || okeeper =~ '\n' || getreg('"') =~ '\n'
- call s:reindent()
- endif
- if getline('.') =~ '^\s\+$' && keeper =~ '^\s*\n'
- silent norm! cc
- endif
- call setreg('"',original,otype)
- let s:lastdel = removed
- let &clipboard = cb_save
- if newchar == ""
- silent! call repeat#set("\<Plug>Dsurround".char,scount)
- else
- silent! call repeat#set("\<Plug>C".(a:0 > 2 && a:3 ? "S" : "s")."urround".char.newchar.s:input,scount)
- endif
-endfunction " }}}1
-
-function! s:changesurround(...) " {{{1
- let a = s:inputtarget()
- if a == ""
- return s:beep()
- endif
- let b = s:inputreplacement()
- if b == ""
- return s:beep()
- endif
- call s:dosurround(a,b,a:0 && a:1)
-endfunction " }}}1
-
-function! s:opfunc(type, ...) abort " {{{1
- if a:type ==# 'setup'
- let &opfunc = matchstr(expand('<sfile>'), '<SNR>\w\+$')
- return 'g@'
- endif
- let char = s:inputreplacement()
- if char == ""
- return s:beep()
- endif
- let reg = '"'
- let sel_save = &selection
- let &selection = "inclusive"
- let cb_save = &clipboard
- set clipboard-=unnamed clipboard-=unnamedplus
- let reg_save = getreg(reg)
- let reg_type = getregtype(reg)
- let type = a:type
- if a:type == "char"
- silent exe 'norm! v`[o`]"'.reg.'y'
- let type = 'v'
- elseif a:type == "line"
- silent exe 'norm! `[V`]"'.reg.'y'
- let type = 'V'
- elseif a:type ==# "v" || a:type ==# "V" || a:type ==# "\<C-V>"
- let &selection = sel_save
- let ve = &virtualedit
- if !(a:0 && a:1)
- set virtualedit=
- endif
- silent exe 'norm! gv"'.reg.'y'
- let &virtualedit = ve
- elseif a:type =~ '^\d\+$'
- let type = 'v'
- silent exe 'norm! ^v'.a:type.'$h"'.reg.'y'
- if mode() ==# 'v'
- norm! v
- return s:beep()
- endif
- else
- let &selection = sel_save
- let &clipboard = cb_save
- return s:beep()
- endif
- let keeper = getreg(reg)
- if type ==# "v" && a:type !=# "v"
- let append = matchstr(keeper,'\_s\@<!\s*$')
- let keeper = substitute(keeper,'\_s\@<!\s*$','','')
- endif
- call setreg(reg,keeper,type)
- call s:wrapreg(reg,char,"",a:0 && a:1)
- if type ==# "v" && a:type !=# "v" && append != ""
- call setreg(reg,append,"ac")
- endif
- silent exe 'norm! gv'.(reg == '"' ? '' : '"' . reg).'p`['
- if type ==# 'V' || (getreg(reg) =~ '\n' && type ==# 'v')
- call s:reindent()
- endif
- call setreg(reg,reg_save,reg_type)
- let &selection = sel_save
- let &clipboard = cb_save
- if a:type =~ '^\d\+$'
- silent! call repeat#set("\<Plug>Y".(a:0 && a:1 ? "S" : "s")."surround".char.s:input,a:type)
- else
- silent! call repeat#set("\<Plug>SurroundRepeat".char.s:input)
- endif
-endfunction
-
-function! s:opfunc2(...) abort
- if !a:0 || a:1 ==# 'setup'
- let &opfunc = matchstr(expand('<sfile>'), '<SNR>\w\+$')
- return 'g@'
- endif
- call s:opfunc(a:1, 1)
-endfunction " }}}1
-
-function! s:closematch(str) " {{{1
- " Close an open (, {, [, or < on the command line.
- let tail = matchstr(a:str,'.[^\[\](){}<>]*$')
- if tail =~ '^\[.\+'
- return "]"
- elseif tail =~ '^(.\+'
- return ")"
- elseif tail =~ '^{.\+'
- return "}"
- elseif tail =~ '^<.+'
- return ">"
- else
- return ""
- endif
-endfunction " }}}1
-
-nnoremap <silent> <Plug>SurroundRepeat .
-nnoremap <silent> <Plug>Dsurround :<C-U>call <SID>dosurround(<SID>inputtarget())<CR>
-nnoremap <silent> <Plug>Csurround :<C-U>call <SID>changesurround()<CR>
-nnoremap <silent> <Plug>CSurround :<C-U>call <SID>changesurround(1)<CR>
-nnoremap <expr> <Plug>Yssurround '^'.v:count1.<SID>opfunc('setup').'g_'
-nnoremap <expr> <Plug>YSsurround <SID>opfunc2('setup').'_'
-nnoremap <expr> <Plug>Ysurround <SID>opfunc('setup')
-nnoremap <expr> <Plug>YSurround <SID>opfunc2('setup')
-vnoremap <silent> <Plug>VSurround :<C-U>call <SID>opfunc(visualmode(),visualmode() ==# 'V' ? 1 : 0)<CR>
-vnoremap <silent> <Plug>VgSurround :<C-U>call <SID>opfunc(visualmode(),visualmode() ==# 'V' ? 0 : 1)<CR>
-inoremap <silent> <Plug>Isurround <C-R>=<SID>insert()<CR>
-inoremap <silent> <Plug>ISurround <C-R>=<SID>insert(1)<CR>
-
-if !exists("g:surround_no_mappings") || ! g:surround_no_mappings
- nmap ds <Plug>Dsurround
- nmap cs <Plug>Csurround
- nmap cS <Plug>CSurround
- nmap ys <Plug>Ysurround
- nmap yS <Plug>YSurround
- nmap yss <Plug>Yssurround
- nmap ySs <Plug>YSsurround
- nmap ySS <Plug>YSsurround
- xmap S <Plug>VSurround
- xmap gS <Plug>VgSurround
- if !exists("g:surround_no_insert_mappings") || ! g:surround_no_insert_mappings
- if !hasmapto("<Plug>Isurround","i") && "" == mapcheck("<C-S>","i")
- imap <C-S> <Plug>Isurround
- endif
- imap <C-G>s <Plug>Isurround
- imap <C-G>S <Plug>ISurround
- endif
-endif
-
-" vim:set ft=vim sw=2 sts=2 et:
diff --git a/.config/vim/autoload/system_copy.vim b/.config/vim/autoload/system_copy.vim
@@ -1,148 +0,0 @@
-if exists('g:loaded_system_copy') || v:version < 700
- finish
-endif
-let g:loaded_system_copy = 1
-
-let s:blockwise = 'blockwise visual'
-let s:visual = 'visual'
-let s:motion = 'motion'
-let s:linewise = 'linewise'
-let s:mac = 'mac'
-let s:windows = 'windows'
-let s:linux = 'linux'
-
-function! s:system_copy(type, ...) abort
- let mode = <SID>resolve_mode(a:type, a:0)
- let unnamed = @@
- if mode == s:linewise
- let lines = { 'start': line("'["), 'end': line("']") }
- silent exe lines.start . "," . lines.end . "y"
- elseif mode == s:visual || mode == s:blockwise
- silent exe "normal! `<" . a:type . "`>y"
- else
- silent exe "normal! `[v`]y"
- endif
- let command = s:CopyCommandForCurrentOS()
- silent call system(command, getreg('@'))
- echohl String | echon 'Copied to clipboard using: ' . command | echohl None
- let @@ = unnamed
-endfunction
-
-function! s:system_paste(type, ...) abort
- let mode = <SID>resolve_mode(a:type, a:0)
- let command = <SID>PasteCommandForCurrentOS()
- let unnamed = @@
- if mode == s:linewise
- let lines = { 'start': line("'["), 'end': line("']") }
- silent exe lines.start . "," . lines.end . "d"
- silent exe "set paste | normal! O" . system(command)
- silent exe "set nopaste"
- elseif mode == s:visual || mode == s:blockwise
- silent exe "normal! `<" . a:type . "`>c" . system(command)
- else
- silent exe "normal! `[v`]c" . system(command)
- endif
- echohl String | echon 'Pasted to clipboard using: ' . command | echohl None
- let @@ = unnamed
-endfunction
-
-function! s:system_paste_line() abort
- let command = <SID>PasteCommandForCurrentOS()
- put =system(command)
- echohl String | echon 'Pasted to vim using: ' . command | echohl None
-endfunction
-
-function! s:resolve_mode(type, arg)
- let visual_mode = a:arg != 0
- if visual_mode
- return (a:type == '') ? s:blockwise : s:visual
- elseif a:type == 'line'
- return s:linewise
- else
- return s:motion
- endif
-endfunction
-
-function! s:currentOS()
- let os = substitute(system('uname'), '\n', '', '')
- let known_os = 'unknown'
- if has("gui_mac") || os ==? 'Darwin'
- let known_os = s:mac
- elseif has("gui_win32") || os =~? 'cygwin' || os =~? 'MINGW'
- let known_os = s:windows
- elseif os ==? 'Linux'
- let known_os = s:linux
- else
- exe "normal \<Esc>"
- throw "unknown OS: " . os
- endif
- return known_os
-endfunction
-
-function! s:CopyCommandForCurrentOS()
- if exists('g:system_copy#copy_command')
- return g:system_copy#copy_command
- endif
- let os = <SID>currentOS()
- if os == s:mac
- return 'pbcopy'
- elseif os == s:windows
- return 'clip'
- elseif os == s:linux
- if !empty($WAYLAND_DISPLAY)
- return 'wl-copy'
- else
- return 'xsel --clipboard --input'
- endif
- endif
-endfunction
-
-function! s:PasteCommandForCurrentOS()
- if exists('g:system_copy#paste_command')
- return g:system_copy#paste_command
- endif
- let os = <SID>currentOS()
- if os == s:mac
- return 'pbpaste'
- elseif os == s:windows
- return 'paste'
- elseif os == s:linux
- if !empty($WAYLAND_DISPLAY)
- return 'wl-paste -n'
- else
- return 'xsel --clipboard --output'
- endif
- endif
-endfunction
-
-xnoremap <silent> <Plug>SystemCopy :<C-U>call <SID>system_copy(visualmode(),visualmode() ==# 'V' ? 1 : 0)<CR>
-nnoremap <silent> <Plug>SystemCopy :<C-U>set opfunc=<SID>system_copy<CR>g@
-nnoremap <silent> <Plug>SystemCopyLine :<C-U>set opfunc=<SID>system_copy<Bar>exe 'norm! 'v:count1.'g@_'<CR>
-xnoremap <silent> <Plug>SystemPaste :<C-U>call <SID>system_paste(visualmode(),visualmode() ==# 'V' ? 1 : 0)<CR>
-nnoremap <silent> <Plug>SystemPaste :<C-U>set opfunc=<SID>system_paste<CR>g@
-nnoremap <silent> <Plug>SystemPasteLine :<C-U>call <SID>system_paste_line()<CR>
-
-if !hasmapto('<Plug>SystemCopy', 'n') || maparg('cp', 'n') ==# ''
- nmap cp <Plug>SystemCopy
-endif
-
-if !hasmapto('<Plug>SystemCopy', 'v') || maparg('cp', 'v') ==# ''
- xmap cp <Plug>SystemCopy
-endif
-
-if !hasmapto('<Plug>SystemCopyLine', 'n') || maparg('cP', 'n') ==# ''
- nmap cP <Plug>SystemCopyLine
-endif
-
-if !hasmapto('<Plug>SystemPaste', 'n') || maparg('cv', 'n') ==# ''
- nmap cv <Plug>SystemPaste
-endif
-
-if !hasmapto('<Plug>SystemPaste', 'v') || maparg('cv', 'v') ==# ''
- xmap cv <Plug>SystemPaste
-endif
-
-if !hasmapto('<Plug>SystemPasteLine', 'n') || maparg('cV', 'n') ==# ''
- nmap cV <Plug>SystemPasteLine
-endif
-" vim:ts=2:sw=2:sts=2
diff --git a/.scripts/bin/dmenu/daskpass b/.scripts/bin/dmenu/daskpass
@@ -7,5 +7,6 @@
# haydenvh.com
# Copyright (c) 2019 Hayden Hamilton. LICENSE:GPLv2 ../../.licenses/gplv2.license
#
+dmenu="dmenu"
. $HOME/.dmenurc
$dmenu -P -p "$1" <&- && echo
diff --git a/.scripts/bin/dmenu/dfm b/.scripts/bin/dmenu/dfm
@@ -17,6 +17,8 @@ DFM_DOT=[0/1 to show dotfiles] <-- Default: 1
DFM_USE_HH_PATCH=[0/1 to use the patched dmenu from haydenvh.com] <-- Default: 0
DFM_DISABLE_ENQUEUE=[0/1 to never enqueue input] <-- Default: 0
DFM_SCREENSHOT_CMD=\"[insert program name]\" <-- Default: \"maim -s\"
+DFM_CLIPBOARD_TYPE=\"[PRIMARY/CLIPBOARD/CUSTOM]\" <-- Default: \"PRIMARY\"
+DFM_CLIPBOARD_CUSTOM=\"[insert program for clipboard]\" <-- Default: \"xclip\"
$(tput bold)CONFIGURING COMMANDS FOR FILE TYPES:$(tput sgr0) Syntax
DFM_FILETYPE_[insert filetype in all caps]=\"[insert program name]\"
@@ -33,18 +35,32 @@ then
fi
getconf(){
-dmenu="dmenu"
-DFM_SCREENSHOT_CMD="maim -s"
-DFM_CONF_DIR="$HOME/.config/dfm"
-. $HOME/.dmenurc
-. $HOME/.config/dfm/config
-if [ "$DFM_USE_HH_PATCH" == "1" ]
-then
- dmenu="$dmenu -c -w 1000"
-fi
-
-confdir="$DFM_CONF_DIR"
-conffile="$confdir/config"
+ dmenu="dmenu"
+ DFM_SCREENSHOT_CMD="maim -s"
+ DFM_CONF_DIR="$HOME/.config/dfm"
+ DFM_CLIPBOARD_CUSTOM="xclip"
+ DFM_CLIPBOARD_TYPE="PRIMARY"
+ . $HOME/.dmenurc
+ . $HOME/.config/dfm/config
+ if [ "$DFM_USE_HH_PATCH" == "1" ]
+ then
+ dmenu="$dmenu -c -w 1000"
+ fi
+ if [ "$DFM_CLIPBOARD_TYPE" == "PRIMARY" ]
+ then
+ clipboard="xclip"
+ elif [ "$DFM_CLIPBOARD_TYPE" == "CLIPBOARD" ]
+ then
+ clipboard="xclip -selection clipboard"
+ elif [ "$DFM_CLIPBOARD_TYPE" == "CUSTOM" ]
+ then
+ clipboard="$DFM_CLIPBOARD_CUSTOM"
+ else
+ clipboard="xclip"
+ fi
+ echo $clipboard
+ confdir="$DFM_CONF_DIR"
+ conffile="$confdir/config"
}
makeconfdir(){
@@ -110,7 +126,7 @@ send0x0(){
send=$(curl -F "file=@$output" https://0x0.st)
send2=$(echo "$send" | awk '/http/')
[ "$send2" == "" ] && echo "Failed" | $dmenu -i -p "Hit enter to continue"
- [ "$send2" != "" ] && echo $send | $dmenu -i -p "Hit enter to continue" | xclip
+ [ "$send2" != "" ] && echo $send | $dmenu -i -p "Hit enter to continue" | $clipboard
}
sendscrn0x0(){
diff --git a/.scripts/bin/dmenu/dmenurun b/.scripts/bin/dmenu/dmenurun
@@ -1,4 +0,0 @@
-#!/bin/bash
-. $HOME/.dmenurc
-dir=$(echo $PATH | tr ":" " " | sed 's/:.//g')
-find $dir -maxdepth 1 -executable -not -type d -printf "%f\n" | sort | $dmenu "$@" | ${SHELL:-"/bin/bash"} &
diff --git a/.scripts/bin/dmenu/dmount b/.scripts/bin/dmenu/dmount
@@ -1,4 +1,5 @@
#!/bin/bash
+dmenu="dmenu"
. $HOME/.dmenurc
getmount() { \
diff --git a/.scripts/bin/dmenu/dmpv b/.scripts/bin/dmenu/dmpv
@@ -1,5 +1,5 @@
#!/bin/bash
-
+dmenu="dmenu"
. $HOME/.dmenurc
hmpv pause $3
diff --git a/.scripts/bin/dmenu/dmpvurl b/.scripts/bin/dmenu/dmpvurl
@@ -1,5 +1,4 @@
#!/bin/bash
-#!/bin/bash
#
# dmenu/dmpvurl
# Created by Hayden Hamilton
@@ -7,7 +6,7 @@
# haydenvh.com
# Copyright (c) 2019 Hayden Hamilton. LICENSE:GPLv2 ../../.licenses/gplv2.license
#
-
+dmenu="dmenu"
. $HOME/.dmenurc
socket="$1"
socket2="$2"
diff --git a/.scripts/bin/dmenu/dumount b/.scripts/bin/dmenu/dumount
@@ -1,4 +1,5 @@
#!/bin/bash
+dmenu="dmenu"
. $HOME/.dmenurc
unmountusb() {
diff --git a/.scripts/bin/dmenu/userinput b/.scripts/bin/dmenu/userinput
@@ -6,7 +6,7 @@
# haydenvh.com
# Copyright (c) 2019 Hayden Hamilton. LICENSE:GPLv2 ../../.licenses/gplv2.license
#
-
+dmenu="dmenu"
. $HOME/.dmenurc
[ "$(printf "No\\nYes" | $dmenu -i -p "$1")" = "Yes" ] && $2
diff --git a/.scripts/bin/misc/ircgetpass b/.scripts/bin/misc/ircgetpass
@@ -1,3 +0,0 @@
-#/bin/bash
-. $HOME/.config/irssi/userrc
-echo "/connect chat.freenode.net 6667 $IRCUSER:$IRCPASS" | xclip
diff --git a/.scripts/i3blocks/mpv b/.scripts/i3blocks/mpv
@@ -1,7 +1,7 @@
#!/bin/bash
-file=$(echo '{command:["get_property", "media-title"]}' | socat - /tmp/mpv-socket | tr "." " " | sed 's/opus//g' | sed 's/mp3//g' | sed 's/mkv//g' | sed 's/flac//g' | sed 's/webm//g' | sed 's/part//g' | tr '"\{:,}[' ' ' | sed 's/data//g' | sed 's/request_id 0//g' | sed 's/error success//g' | sed 's/ //g' | tail -c +2 | sed 's/$//g' | tr "()'" " " | sed 's/ / /g' |sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g')
-vidtitle=$(echo '{command:["get_property", "media-title"]}' | socat - /tmp/mpv-socket2 | tr '"{:,}\[' ' ' | sed 's/data//g' | sed 's/request_id 0//g' | sed 's/error success//g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g')
+file=$(echo '{command:["get_property", "media-title"]}' | socat - /tmp/mpv-socket | tr "." " " | sed 's/opus//g' | sed 's/mp3//g' | sed 's/mkv//g' | sed 's/flac//g' | sed 's/webm//g' | sed 's/part//g' | tr '"\{:,}[' ' ' | sed 's/data//g' | sed 's/request_id 0//g' | sed 's/error success//g' | sed 's/ //g' | tail -c +2 | sed 's/$//g' | tr "()'" " " | sed 's/ / /g' |sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | cut -zc-40)
+vidtitle=$(echo '{command:["get_property", "media-title"]}' | socat - /tmp/mpv-socket2 | tr '"{:,}\[' ' ' | sed 's/data//g' | sed 's/request_id 0//g' | sed 's/error success//g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | sed 's/ / /g' | cut -zc-40)
state=$(echo '{ "command": ["get_property", "pause"] }' | socat - /tmp/mpv-socket | tr '{":0,}' ' ' | awk '// {print $2}')
state2=$(echo '{ "command": ["get_property", "pause"] }' | socat - /tmp/mpv-socket2 | tr '{":0,}' ' ' | awk '// {print $2}')
convertsecs() {
diff --git a/.scripts/i3blocks/title b/.scripts/i3blocks/title
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+id=$(xprop -root _NET_ACTIVE_WINDOW | awk '// {print $5}')
+out=$(xprop -id $id | awk '/WM_ICON_NAME\(STRING\)/ { $1=""; $2=""; print}' | sed 's/"//g' | sed "s/^[ \t]*//" | cut -zc-40)
+echo $out
diff --git a/.vimrc b/.vimrc
@@ -27,4 +27,5 @@ set hlsearch
"Set useful bindings
nmap <Leader>s !bash %
nmap <Leader>p !perl %
-nmap <Leader>u !g++ -o compilefile %
+nmap <Leader>c !gcc % -o compilefile
+nmap <Leader>u !g++ % -o compilefile
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,11 @@
+Copyright (C) 2019 Hayden Hamilton <hayden@haydenvh.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 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.