diff options
Diffstat (limited to 'config')
| -rwxr-xr-x | config/bspwm/bspwmrc | 1 | ||||
| -rwxr-xr-x | config/polybar/launch.sh | 21 | ||||
| -rw-r--r-- | config/sxhkd/sxhkdrc | 4 | ||||
| -rw-r--r-- | config/vim/vimrc | 225 |
4 files changed, 187 insertions, 64 deletions
diff --git a/config/bspwm/bspwmrc b/config/bspwm/bspwmrc index c138806..640d404 100755 --- a/config/bspwm/bspwmrc +++ b/config/bspwm/bspwmrc @@ -15,6 +15,7 @@ pgrep -x picom > /dev/null || picom & pgrep -x xss-lock > /dev/null || xss-lock slock & pgrep -x bg.sh > /dev/null || $HOME/.scripts/bg.sh > /dev/null & +[ -f "$HOME/.scripts/xrandr.sh" ] && . $HOME/.scripts/xrandr.sh [ -f "$HOME/.config/xrandr.sh" ] && . $HOME/.config/xrandr.sh primary=$(bspc query --monitors -m primary) diff --git a/config/polybar/launch.sh b/config/polybar/launch.sh index f9ece03..71d5923 100755 --- a/config/polybar/launch.sh +++ b/config/polybar/launch.sh @@ -13,13 +13,26 @@ while pgrep -u $UID -x polybar >/dev/null; do sleep 0.1; done polybar -m | while read -r mon; do export MONITOR=$(echo $mon | cut -d: -f1) + width="$(echo $mon | cut -d' ' -f2 | cut -dx -f1)" + w=1920 + case "$width" in + 1920) w=1920 + ;; + 1080) w=1080 + ;; + 2560) w=2560 + ;; + *) w=1920 + esac + echo $mon | grep -q "(primary)" && { polybar ws & - polybar time2560 & - polybar right2560 & - polybar mpd2560 & + + polybar time$w & + polybar right$w & + polybar mpd$w & } || { polybar ws & - polybar time1080 & + polybar time$w & } done diff --git a/config/sxhkd/sxhkdrc b/config/sxhkd/sxhkdrc index dbc0512..3853a32 100644 --- a/config/sxhkd/sxhkdrc +++ b/config/sxhkd/sxhkdrc @@ -75,6 +75,10 @@ super + i super + semicolon bspc rule -a \* -o state=floating && $TERMINAL -e pulsemixer +# xrandr switcher +super + apostrophe + $HOME/.scripts/xrandr.sh + # xkill ctrl + alt + Escape xkill diff --git a/config/vim/vimrc b/config/vim/vimrc index b348907..74515ba 100644 --- a/config/vim/vimrc +++ b/config/vim/vimrc @@ -1,4 +1,4 @@ -set viminfo+=n~/.config/vim/viminfo +"set viminfo+=~/.config/vim/viminfo set runtimepath+=~/.config/vim,~/.config/vim/after set autoindent set wrap @@ -53,69 +53,80 @@ Plug 'preservim/vim-markdown' "let g:vim_markdown_json_frontmatter = 1 -Plug 'neoclide/coc.nvim' -hi CocInlayHint ctermbg=Black ctermfg=Gray - -set updatetime=300 -set signcolumn=yes - -nmap <silent> [g <Plug>(coc-diagnostic-prev) -nmap <silent> ]g <Plug>(coc-diagnostic-next) - -nmap <silent> gd <Plug>(coc-definition) -nmap <silent> gy <Plug>(coc-type-definition) -nmap <silent> gi <Plug>(coc-implementation) -nmap <silent> gr <Plug>(coc-references) - -xmap <leader>f <Plug>(coc-format-selected) -nmap <leader>f <Plug>(coc-format-selected) - -nmap <leader>rn <Plug>(coc-rename) -nmap <silent> <leader>re <Plug>(coc-codeaction-refactor) -xmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) -" nmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) - -inoremap <silent><expr> <TAB> - \ coc#pum#visible() ? coc#pum#next(1) : - \ CheckBackspace() ? "\<Tab>" : - \ coc#refresh() -inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" - -inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() - \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" - -function! CheckBackspace() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - - -if has('nvim') - inoremap <silent><expr> <c-space> coc#refresh() -else - inoremap <silent><expr> <c-@> coc#refresh() -endif - -xmap <leader>a <Plug>(coc-codeaction-selected) -nmap <leader>a <Plug>(coc-codeaction-selected) - -" autocmd CursorHold * silent call CocActionAsync('highlight') +"Plug 'neoclide/coc.nvim' +"hi CocInlayHint ctermbg=Black ctermfg=Gray +" +"set updatetime=300 +"set signcolumn=yes +" +"nmap <silent> [g <Plug>(coc-diagnostic-prev) +"nmap <silent> ]g <Plug>(coc-diagnostic-next) +" +"nmap <silent> gd <Plug>(coc-definition) +"nmap <silent> gy <Plug>(coc-type-definition) +"nmap <silent> gi <Plug>(coc-implementation) +"nmap <silent> gr <Plug>(coc-references) +" +"xmap <leader>f <Plug>(coc-format-selected) +"nmap <leader>f <Plug>(coc-format-selected) +" +"nmap <leader>rn <Plug>(coc-rename) +"nmap <silent> <leader>re <Plug>(coc-codeaction-refactor) +"xmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) +"" nmap <silent> <leader>r <Plug>(coc-codeaction-refactor-selected) +" +"inoremap <silent><expr> <TAB> +" \ coc#pum#visible() ? coc#pum#next(1) : +" \ CheckBackspace() ? "\<Tab>" : +" \ coc#refresh() +"inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>" +" +"inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() +" \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" +" +"function! CheckBackspace() abort +" let col = col('.') - 1 +" return !col || getline('.')[col - 1] =~# '\s' +"endfunction +" +" +"if has('nvim') +" inoremap <silent><expr> <c-space> coc#refresh() +"else +" inoremap <silent><expr> <c-@> coc#refresh() +"endif +" +"xmap <leader>a <Plug>(coc-codeaction-selected) +"nmap <leader>a <Plug>(coc-codeaction-selected) +" +"" autocmd CursorHold * silent call CocActionAsync('highlight') +" +"function! ShowDocumentation() +" if CocAction('hasProvider', 'hover') +" call CocActionAsync('doHover') +" else +" call feedkeys('K', 'in') +" endif +"endfunction +" +"autocmd FileType python let b:coc_root_patterns = ['.git', '.env', '.'] + +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' -function! ShowDocumentation() - if CocAction('hasProvider', 'hover') - call CocActionAsync('doHover') - else - call feedkeys('K', 'in') - endif -endfunction -autocmd FileType python let b:coc_root_patterns = ['.git', '.env', '.'] +let g:fzf_cache_dir = '$HOME/.cache' -Plug 'junegunn/fzf.vim' +Plug 'yuki-yano/fzf-preview.vim' +Plug 'BurntSushi/ripgrep' nnoremap <F6> :Files<CR> nnoremap <F7> :Rg<CR> +nnoremap <F8> :Tags<CR> + +nnoremap g] :call fzf#vim#tags(expand('<cword>'))<CR> +nnoremap <silent> <Leader>ag :Ag <C-R><C-W><CR> Plug 'heavenshell/vim-pydocstring', { 'do': 'make install', 'for': 'python' } @@ -123,9 +134,9 @@ Plug 'tpope/vim-fugitive' Plug 'yggdroot/indentline' -Plug 'yuttie/comfortable-motion.vim' -noremap <silent> <ScrollWheelDown> :call comfortable_motion#flick(40)<CR> -noremap <silent> <ScrollWheelUp> :call comfortable_motion#flick(-40)<CR> +"Plug 'yuttie/comfortable-motion.vim' +"noremap <silent> <ScrollWheelDown> :call comfortable_motion#flick(40)<CR> +"noremap <silent> <ScrollWheelUp> :call comfortable_motion#flick(-40)<CR> let g:comfortable_motion_interval = 2000.0/60 let g:comfortable_motion_friction = 80.0 @@ -141,3 +152,97 @@ highlight Pmenu ctermbg=black guibg=black ctermfg=white hi TrailingWhitespace ctermbg=red guibg=red call matchadd("TrailingWhitespace", '\v\s+$') + +" ex command for toggling hex mode - define mapping if desired +command -bar Hexmode call ToggleHex() + +" helper function to toggle hex mode +function ToggleHex() + " hex mode should be considered a read-only operation + " save values for modified and read-only for restoration later, + " and clear the read-only flag for now + let l:modified=&mod + let l:oldreadonly=&readonly + let &readonly=0 + let l:oldmodifiable=&modifiable + let &modifiable=1 + if !exists("b:editHex") || !b:editHex + " save old options + let b:oldft=&ft + let b:oldbin=&bin + " set new options + setlocal binary " make sure it overrides any textwidth, etc. + silent :e " this will reload the file without trickeries + "(DOS line endings will be shown entirely ) + let &ft="xxd" + " set status + let b:editHex=1 + " switch to hex editor + %!xxd + else + " restore old options + let &ft=b:oldft + if !b:oldbin + setlocal nobinary + endif + " set status + let b:editHex=0 + " return to normal editing + %!xxd -r + endif + " restore values for modified and read only state + let &mod=l:modified + let &readonly=l:oldreadonly + let &modifiable=l:oldmodifiable +endfunction + +" autocmds to automatically enter hex mode and handle file writes properly +if has("autocmd") + " vim -b : edit binary using xxd-format! + augroup Binary + au! + + " set binary option for all binary files before reading them + au BufReadPre *.bin,*.hex setlocal binary + + " if on a fresh read the buffer variable is already set, it's wrong + au BufReadPost * + \ if exists('b:editHex') && b:editHex | + \ let b:editHex = 0 | + \ endif + + " convert to hex on startup for binary files automatically + au BufReadPost * + \ if &binary | Hexmode | endif + + " When the text is freed, the next time the buffer is made active it will + " re-read the text and thus not match the correct mode, we will need to + " convert it again if the buffer is again loaded. + au BufUnload * + \ if getbufvar(expand("<afile>"), 'editHex') == 1 | + \ call setbufvar(expand("<afile>"), 'editHex', 0) | + \ endif + + " before writing a file when editing in hex mode, convert back to non-hex + au BufWritePre * + \ if exists("b:editHex") && b:editHex && &binary | + \ let oldro=&ro | let &ro=0 | + \ let oldma=&ma | let &ma=1 | + \ silent exe "%!xxd -r" | + \ let &ma=oldma | let &ro=oldro | + \ unlet oldma | unlet oldro | + \ endif + + " after writing a binary file, if we're in hex mode, restore hex mode + au BufWritePost * + \ if exists("b:editHex") && b:editHex && &binary | + \ let oldro=&ro | let &ro=0 | + \ let oldma=&ma | let &ma=1 | + \ silent exe "%!xxd" | + \ exe "set nomod" | + \ let &ma=oldma | let &ro=oldro | + \ unlet oldma | unlet oldro | + \ endif + augroup END +endif + |
