diff options
35 files changed, 121 insertions, 447 deletions
diff --git a/.config/Zeal/Zeal.conf b/.config/Zeal/Zeal.conf index 303b565..2344fae 100644 --- a/.config/Zeal/Zeal.conf +++ b/.config/Zeal/Zeal.conf @@ -46,7 +46,7 @@ fuzzy_search_enabled=true [state] splitter_geometry=@ByteArray(\0\0\0\xff\0\0\0\x1\0\0\0\x2\0\0\x1X\0\0\x5P\0\xff\xff\xff\xff\x1\0\0\0\x1\0) toc_splitter_state=@ByteArray() -window_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\x1\xe\0\0\x6m\0\0\x4\x8e\0\0\0\0\0\0\x1\xe\0\0\x6m\0\0\x4\x8e\0\0\0\0\x2\0\0\0\x6n\0\0\0\0\0\0\x1\xe\0\0\x6m\0\0\x4\x8e) +window_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\x1\xe\0\0\x6m\0\0\x4\x8e\0\0\0\x1\0\0\x1'\0\0\x6l\0\0\x4\xa7\0\0\0\0\x2\0\0\0\x6n\0\0\0\0\0\0\x1\xe\0\0\x6m\0\0\x4\x8e) [tabs] open_new_tab_after_active=true diff --git a/.config/fd/ignore b/.config/fd/ignore index 4bfcd08..0ce8d71 100644 --- a/.config/fd/ignore +++ b/.config/fd/ignore @@ -3,3 +3,4 @@ node_modules .thumbnails .stignore .stfolder +.ipynb_checkpoints diff --git a/.config/gtk-2.0/gtkfilechooser.ini b/.config/gtk-2.0/gtkfilechooser.ini index bc097de..3b97141 100644 --- a/.config/gtk-2.0/gtkfilechooser.ini +++ b/.config/gtk-2.0/gtkfilechooser.ini @@ -2,8 +2,8 @@ LocationMode=path-bar ShowHidden=false ShowSizeColumn=true -GeometryX=393 -GeometryY=71 +GeometryX=2550 +GeometryY=246 GeometryWidth=1140 GeometryHeight=855 SortColumn=name diff --git a/.config/i3/config b/.config/i3/config index 37c3ac7..952f000 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -17,7 +17,7 @@ # pulseaudio system tray # exec --no-startup-id pasystray -exec st -c dropdown_tmuxdd -e tmux +exec st -c dropdown_tmuxdd -e tmux new -A -s ddterm ################################ ### Commonly Used Variables: ### @@ -67,7 +67,7 @@ bindsym $super+F7 exec --no-startup-id sh -c 'find ~/.librewolf -mindepth 1 -max bindsym $super+b exec --no-startup-id librewolf-open bindsym $super+c exec --no-startup-id edit-graphical-buffer bindsym $super+x exec --no-startup-id toggle-xeyes -bindsym $super+i exec --no-startup-id sh -c 'xdotool type "$(grep -v "^#\|^\s*$" ~/Documents/Notes/bookmarks.txt | tac | dmenu -i -l 50 | cut -d\ -f1)"' +bindsym $super+i exec --no-startup-id sh -c 'xdotool type "$(grep -v "^#\|^\s*$" ~/Documents/Notes/bookmarks.txt | tac | dmenu -i -l 50 | cut -d# -f1)"' bindsym $super+Shift+z exec --no-startup-id dmenu-zeal bindsym $super+Shift+b exec --no-startup-id librewolf-open "$(xprint)" bindsym $super+Shift+v exec --no-startup-id st -c "dropdown_clipboard" -e sh -c 'xclip -sel clip -o >/tmp/clipboard && nvim /tmp/clipboard && xclip -sel clip -i /tmp/clipboard || read -r ans' @@ -625,12 +625,14 @@ mode "$mode_gaps_outer" { bindsym $super+BackSpace mode "$mode_system" set $mode_system (l)ock (e)xit switch_(u)ser (s)uspend (h)ibernate (r)eboot (Shift+s)hutdown mode "$mode_system" { + bindsym o exec --no-startup-id i3exit off, mode "default" bindsym l exec --no-startup-id i3exit lock, mode "default" bindsym e exec --no-startup-id i3exit logout, mode "default" bindsym u exec --no-startup-id i3exit switch_user, mode "default" bindsym s exec --no-startup-id i3exit suspend, mode "default" bindsym h exec --no-startup-id i3exit hibernate, mode "default" bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym $alt+s exec --no-startup-id i3exit sleep, mode "default" bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" # exit system mode: "Enter" or "Escape" diff --git a/.config/keepassxc/keepassxc.ini b/.config/keepassxc/keepassxc.ini index 4350875..be49131 100644 --- a/.config/keepassxc/keepassxc.ini +++ b/.config/keepassxc/keepassxc.ini @@ -36,3 +36,6 @@ ExcludedChars= Length=60 Numbers=false SpecialChars=false + +[Security] +IconDownloadFallback=true diff --git a/.config/lf/lfrc b/.config/lf/lfrc index 07a1d5e..a9b2874 100644 --- a/.config/lf/lfrc +++ b/.config/lf/lfrc @@ -57,12 +57,12 @@ cmd extract ${{ *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf "$f" ;; *.tar.gz|*.tgz) tar xzvf "$f" ;; *.tar.xz|*.txz) tar xJvf "$f" ;; - *.gz) gunzip "$f" ;; - *.zip|*.epub) unzip "$f" ;; *.rar) unrar x "$f" ;; *.7z) 7z x "$f" ;; *.zst) unzstd "$f" ;; - *) echo "Unsupported format" >&2; exit 1 ;; + *.gz) gunzip "$f" ;; + *) unzip "$f" ;; + # *) echo "Unsupported format" >&2; exit 1 ;; esac done }} @@ -110,12 +110,12 @@ map <a-s> :source ~/.config/lf/lfrc map <tab> :toggle; down map <backtab> :toggle; up map Z :toggle; up -map <c-j> select_eval "fzf --reverse --query '!/$ ' --header-first --header='Jump to location'" -map <backspace> ${{ lf -remote "send $id select \"$(cat \"${OPEN_HISTFILE:-${XDG_STATE_HOME:-$HOME/.local/state}/open_history}\" | - fzf --tac --reverse --header-first --header='File History')\"" }} +map <c-j> select_eval "fzf --reverse --track --header-first --header='Jump to location' --query \"^${f##*/}$\" --bind 'load:change-query(!/$ )'" +map <backspace> ${{ lf -remote "send $id select \"$(cat "${OPEN_HISTFILE:-${XDG_STATE_HOME:-$HOME/.local/state}/open_history}" | + fzf --reverse --tac --header-first --header='File History')\"" }} map <c-k> ${{ lf -remote "send $id cd \"$(cat ${CD_HISTFILE:-${XDG_STATE_HOME:-$HOME/.local/state}/cd_history} | - fzf --tac --reverse --header-first --header='Path History')\"" }} -map <c-c> select_eval "fzf --reverse --query '/$ ' --header-first --header='Jump to directory'" + fzf --reverse --tac --header-first --header='Path History')\"" }} +map <c-c> select_eval "fzf --reverse --track --header-first --header='Jump to location' --query \"^${f##*/}/$\" --bind 'load:change-query(/$ )'" map c map d @@ -128,16 +128,17 @@ map o $LESSOPEN="|preview %s" less -r $f map O $mimeopen --ask $f map . set hidden! map x cut -map M $lf -remote "send $id select \"$(fmd)\"" +map M $lf -remote "send $id select \"$(FZF_DEFAULT_OPTS="--track --query '^${f##*/}$' --bind 'load:clear-query'" fmd)\"" map D delete map W $setsid -f $TERMINAL >/dev/null 2>&1 map X !$f -map T !dev test $f +map T push :$touch<space>""<c-b> map b $vidir map V push :!nvim<space>""<c-b> map P :link map ge extract +map gz $file="${f#"$PWD/"}"; zip -r "$file" "$file" map gl clear map gx ${{ chmod +x $fx; lf -remote "send $id reload"; }} map gX ${{ chmod -x $fx; lf -remote "send $id reload"; }} @@ -148,6 +149,7 @@ map gf !{{ file "$f" && file --brief --mime-type "$f" }} map gy %{{ printf "%s" "$fx" | xsel -b }} map gi link_index map gsb $setbg $f +map gcp $soffice --headless --convert-to pdf $f map zpp set previewer preview map zpt set previewer text-preview diff --git a/.config/nvim/coc/coc-settings.json b/.config/nvim/coc/coc-settings.json index f90bc38..8b56371 100644 --- a/.config/nvim/coc/coc-settings.json +++ b/.config/nvim/coc/coc-settings.json @@ -1,6 +1,7 @@ { - "suggest.autoTrigger": "always", - "diagnostic.enable": true, - "python.linting.pycodestyleEnabled": true, - "html.autoCreateQuotes": false + "suggest.autoTrigger": "always", + "diagnostic.enable": true, + "python.linting.pycodestyleEnabled": true, + "html.autoCreateQuotes": false, + "coc.preferences.formatOnType": true } diff --git a/.config/nvim/dev.vim b/.config/nvim/dev.vim index a3b888b..149b931 100644 --- a/.config/nvim/dev.vim +++ b/.config/nvim/dev.vim @@ -3,6 +3,7 @@ source ~/.config/nvim/init.vim packadd! onedark.vim " packadd! fzf packadd! fzf.vim +packadd! vim-jsx-pretty " --> Fzf source ~/.config/nvim/other/fzf.vim @@ -36,6 +37,7 @@ nnoremap <silent><nowait> <leader>cj :<C-u>CocNext<CR> nnoremap <silent><nowait> <leader>ck :<C-u>CocPrev<CR> nnoremap <silent><nowait> <leader>cp :<C-u>CocListResume<CR> nnoremap <leader>cm :CocList marketplace<CR> +nnoremap <leader>cff :Format<CR> " --> Vimspector let g:vimspector_base_dir = expand('$HOME/.local/share/nvim/vimspector') diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 9261061..e9772ee 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -124,23 +124,26 @@ inoremap jk <Esc> inoremap ;n <Esc>/<++><Enter>c4l nnoremap <leader>n /<++><Enter>c4l -autocmd FileType html,markdown,template inoremap ;s ><Esc>bi<<Esc>ea -autocmd FileType html,markdown,template inoremap ;c ><Esc>bi</<Esc>ea -autocmd FileType html,markdown,template inoremap ;i <Esc>b"tywi<<Esc>ea></><Esc>PF<i -autocmd FileType html,markdown,template inoremap ;I <Esc>b"tywi<<Esc>ea><++></><Esc>P2F>i<Space> -autocmd FileType html,markdown,template inoremap ;b <Esc>b"tywi<<Esc>ea><CR></<Esc>"tpa><CR><++><Esc>kO -autocmd FileType html,markdown,template inoremap ;B <Esc>b"tywi<<Esc>ea><CR><++><CR></<Esc>"tpa><CR><++><Esc>3k$i<Space> -autocmd FileType html,markdown,template inoremap ;ap <p><CR><++><CR></p><CR><++><Esc>3k$i -autocmd FileType html,markdown,template inoremap ;aa <a href=""><CR><++><CR></a><CR><++><Esc>3k$hi - -autocmd FileType tex inoremap ;b <Esc>b"tywi\begin{<Esc>ea}<CR>\end{<Esc>"tpa}<Esc>kA -autocmd FileType tex inoremap ;s \section{}<Esc>i -autocmd FileType tex inoremap ;at \begin{tikzpicture}<CR>\end{tikzpicture}<Esc>O -autocmd FileType tex inoremap ;ap \usepackage{}<Esc>i -autocmd FileType tex inoremap ;aP \usepackage[]{}<Esc>F[a -autocmd FileType tex inoremap ;ab \textbf{}<Esc>i -autocmd FileType tex inoremap ;ai \textit{}<Esc>i -autocmd FileType tex inoremap ;au \underline{}<Esc>i +inoremap ;s ><Esc>bi<<Esc>ea +inoremap ;c ><Esc>bi</<Esc>ea +inoremap ;i <Esc>b"tywi<<Esc>ea></><Esc>PF<i +inoremap ;I <Esc>b"tywi<<Esc>ea><++></><Esc>P2F>i<Space> +inoremap ;b <Esc>b"tywi<<Esc>ea><CR></<Esc>"tpa><CR><++><Esc>kO +inoremap ;B <Esc>b"tywi<<Esc>ea><CR><++><CR></<Esc>"tpa><CR><++><Esc>3k$i<Space> +inoremap ;ap <p><CR><++><CR></p><CR><++><Esc>3k$i +inoremap ;aa <a href=""><CR><++><CR></a><CR><++><Esc>3k$hi + +augroup Tex + autocmd! + autocmd FileType tex inoremap ;b <Esc>b"tywi\begin{<Esc>ea}<CR>\end{<Esc>"tpa}<Esc>kA + autocmd FileType tex inoremap ;s \section{}<Esc>i + autocmd FileType tex inoremap ;at \begin{tikzpicture}<CR>\end{tikzpicture}<Esc>O + autocmd FileType tex inoremap ;ap \usepackage{}<Esc>i + autocmd FileType tex inoremap ;aP \usepackage[]{}<Esc>F[a + autocmd FileType tex inoremap ;ab \textbf{}<Esc>i + autocmd FileType tex inoremap ;ai \textit{}<Esc>i + autocmd FileType tex inoremap ;au \underline{}<Esc>i +augroup END autocmd FileType go inoremap ;ae err<Space>:=<Space><++><CR>if<Space>err<Space>!=<Space>nil<Space>{<CR>return<Space>err<CR>}<Esc>3kI @@ -169,7 +172,10 @@ autocmd BufEnter vartak-results-data.pl nmap <leader>t :w<CR>:se nornu<CR>:!vart nnoremap <leader>w :set wrap!<CR> nnoremap <leader>fo :!opout "%:p"<CR> -nnoremap <leader>ec :tabnew ~/.config/nvim/init.vim<CR> +nnoremap <leader>ei :tabnew ~/.config/nvim/init.vim<CR> +nnoremap <leader>eo :tabnew ~/.config/nvim/coc/coc-onload.vim<CR> +nnoremap <leader>ec :tabnew ~/.config/nvim/coc/coc-settings.json<CR> +nnoremap <leader>ed :tabnew ~/.config/nvim/dev.vim<CR> nnoremap <leader><C-r> :source ~/.config/nvim/init.vim<CR> nnoremap <leader>s :%s//gc<Left><Left><Left> @@ -179,3 +185,4 @@ let shortcuts = config_dir . "shortcuts.vim" if filereadable(shortcuts) execute "source " . shortcuts endif + diff --git a/.config/nvim/pack/plugins/opt/vim-javascript b/.config/nvim/pack/plugins/opt/vim-javascript new file mode 160000 +Subproject b26c9edb3563e02f5c0b20580f7cf9743e95b15 diff --git a/.config/nvim/pack/plugins/opt/vim-jsx b/.config/nvim/pack/plugins/opt/vim-jsx new file mode 160000 +Subproject 8879e0d9c5ba0e04ecbede1c89f63b7a0efa24a diff --git a/.config/nvim/pack/plugins/opt/vim-jsx-improve b/.config/nvim/pack/plugins/opt/vim-jsx-improve new file mode 160000 +Subproject b179bf9a3901ccc6afcaa3abc9c93bae450f333 diff --git a/.config/nvim/pack/plugins/opt/vim-jsx-pretty b/.config/nvim/pack/plugins/opt/vim-jsx-pretty new file mode 160000 +Subproject 6989f1663cc03d7da72b5ef1c03f87e6ddb70b4 diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc index 7325729..37a847c 100644 --- a/.config/shell/aliasrc +++ b/.config/shell/aliasrc @@ -14,7 +14,6 @@ alias o='${OPENER:-xdg-open}' alias e='${EDITOR:-vi}' alias se='sudoedit' alias lf='lfcd' -alias rs='exec $SHELL' alias sr='ff ~/.config ~/.local/bin ~/bin' alias uc='cd ~ && gitpush' # update config diff --git a/.config/shell/bm-dirs b/.config/shell/bm-dirs index cf9de6c..603136b 100644 --- a/.config/shell/bm-dirs +++ b/.config/shell/bm-dirs @@ -2,6 +2,7 @@ cac ${XDG_CACHE_HOME:-$HOME/.cache} cg ${XDG_CONFIG_HOME:-$HOME/.config} lsh ${XDG_DATA_DIR:-$HOME/.local/share} +lsha ${XDG_DATA_DIR:-$HOME/.local/share}/applications vnv ${XDG_DATA_DIR:-$HOME/.local/share}/virtualenvs ltr ${XDG_DATA_DIR:-$HOME/.local/share}/Trash lsr ${XDG_DATA_DIR:-$HOME/.local/src} @@ -9,6 +10,7 @@ lst ${XDG_DATA_DIR:-$HOME/.local/state} dn ${XDG_DOWNLOAD_DIR:-$HOME/Downloads} dx ${XDG_DOCUMENTS_DIR:-$HOME/Documents} dl ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/latex +dr ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/latex/resume nt ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/Notes ms ${XDG_MUSIC_DIR:-$HOME/Music} px ${XDG_PICTURES_DIR:-$HOME/Pictures} @@ -23,20 +25,20 @@ ap ~/Applications dv ~/Dev cm ~/Dev/cloud-maker cs ~/Dev/sites/csstudent41.github.io -vr ~/Dev/sites/vikas.rocks +vrd ~/Dev/sites/vikas.rocks vrc ~/Dev/sites/vikas.rocks/content vrl ~/Dev/sites/vikas.rocks/layouts vrp ~/Dev/sites/vikas.rocks/public td ~/Dev/test gd ~/GDrive/vartak/CS/sem6 -gf ~/GDrive/vartak/CS/sem6/practicals -gp ~/GDrive/vartak/CS/sem6/journals +gp ~/GDrive/vartak/CS/sem6/practicals +gj ~/GDrive/vartak/CS/sem6/journals gz ~/GDrive/vartak/CS/practical-zip/sem5 gn ~/GDrive/vartak/CS/sem6/notes rs ~/GDrive/vartak/results ph ~/Phone stv ~/Phone/.stversions -pw ~/Phone/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp\ Documents +pw ~/Phone/Android/media/com.whatsapp.w4b/WhatsApp\ Business/Media/WhatsApp\ Business\ Documents mn /mnt stg ${STORAGE:-/mnt/storage} diff --git a/.config/shell/bm-files b/.config/shell/bm-files index 442b116..898e080 100644 --- a/.config/shell/bm-files +++ b/.config/shell/bm-files @@ -9,7 +9,7 @@ zp ~/.zprofile xp ~/.xprofile gi ~/.gitignore zc ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zshrc -zh ${XDG_DATA_HOME:-$HOME/.config}/zsh/history +zh ${XDG_STATE_HOME:-$HOME/.local/state}/zsh/history za ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc arc ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc spf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/server.profile @@ -22,8 +22,8 @@ xi ${XDG_CONFIG_HOME:-$HOME/.config}/X11/xinitrc mm ${XDG_CONFIG_HOME:-$HOME/.config}/mimeapps.list fdi ${XDG_CONFIG_HOME:-$HOME/.config}/fd/ignore ssc ~/.ssh/config -csh ~/Dev/csstudent41.github.io/layouts/_default/home.html qn ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/QuickNote.md bm ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/bookmarks.txt akn ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/Notes/ak47.txt li ${XDG_DOCUMENTS_HOME:-$HOME/Documents}/latex/lorem-ipsum.txt +vrh ~/Dev/sites/vikas.rocks/layouts/_default/home.html diff --git a/.config/shell/profile b/.config/shell/profile index c981fbc..234b1c2 100644 --- a/.config/shell/profile +++ b/.config/shell/profile @@ -68,6 +68,8 @@ export FZF_DEFAULT_OPTS=" --bind 'alt-space:toggle-preview,alt-w:toggle-preview-wrap' --bind 'alt-enter:print-query' --bind 'ctrl-alt-c:change-preview-window(up|left:50%|down|right:50%)' + --bind 'ctrl-alt-k:change-preview-window(50%|60%|70%|80%|90%)' + --bind 'ctrl-alt-j:change-preview-window(50%|40%|30%|20%)' --bind 'ctrl-alt-a:select-all,ctrl-alt-d:deselect-all' --bind 'alt-n:half-page-down,alt-p:half-page-up' --bind 'alt-N:page-down,alt-P:page-up' @@ -84,12 +86,12 @@ export FZF_DEFAULT_OPTS=" --bind 'alt-9:change-preview(printf \"%s\\\n\" {+})' --bind 'alt-!:execute(less {})' --bind 'alt-@:execute(\$PREVIEWER {} | less)' - --bind 'alt-v:execute(echo {q} >> \"$FZF_HISTFILE\"; LESSOPEN=\"|preview %s\" less {})' - --bind 'alt-e:execute(echo {q} >> \"$FZF_HISTFILE\"; eval \"\${EDITOR:-vi} {}\")' - --bind 'ctrl-o:execute(echo {q} >> \"$FZF_HISTFILE\"; eval \"\${OPENER:-xdg-open} {}\")' - --bind 'alt-O:execute(echo {q} >> \"$FZF_HISTFILE\"; mimeopen --ask {})' - --bind 'alt-o:execute(echo {q} >> \"$FZF_HISTFILE\"; eval \"\${FILES:-lf} {}\")' - --bind 'alt-D:become(echo {q} >> \"$FZF_HISTFILE\"; dirname {} )' + --bind 'ctrl-o:execute(append-to-history {q} \"$FZF_HISTFILE\"; eval \"\${OPENER:-xdg-open} {}\")' + --bind 'alt-v:execute(append-to-history {q} \"$FZF_HISTFILE\"; LESSOPEN=\"|preview %s\" less {})' + --bind 'alt-e:execute(append-to-history {q} \"$FZF_HISTFILE\"; eval \"\${EDITOR:-vi} {}\")' + --bind 'alt-O:execute(append-to-history {q} \"$FZF_HISTFILE\"; mimeopen --ask {})' + --bind 'alt-o:execute(append-to-history {q} \"$FZF_HISTFILE\"; eval \"\${FILES:-lf} {}\")' + --bind 'alt-D:become(append-to-history {q} \"$FZF_HISTFILE\"; dirname {} )' " ## Custom themes for GTypist diff --git a/.config/yt-dlp/videos.conf b/.config/yt-dlp/videos.conf index 04d3137..c9e8013 100644 --- a/.config/yt-dlp/videos.conf +++ b/.config/yt-dlp/videos.conf @@ -1,2 +1,2 @@ --config config ---format bestvideo*[height<=1080][fps<=30]+bestaudio +--format bestvideo*[height<=1080][fps<=60]+bestaudio diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 6c3b004..22bf62f 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -263,7 +263,7 @@ case "$TERM" in *256*) } command -v fd >/dev/null && { - FZF_DEFAULT_COMMAND="fd --hidden --no-ignore-vcs --color=always $@" + FZF_DEFAULT_COMMAND="fd --hidden --no-ignore-vcs --color=always | sort" FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS --ansi" ff() { FZF_DEFAULT_COMMAND+="$@" fzf -m; } alias f='fd --hidden --no-ignore-vcs' diff --git a/.config/zsh/zprofile b/.config/zsh/zprofile index f41c6a2..16b64c6 100644 --- a/.config/zsh/zprofile +++ b/.config/zsh/zprofile @@ -9,9 +9,9 @@ on_ac_power="$(cat /sys/class/power_supply/ACAD/online)" case "$TTY" in /dev/tty1) - command -V optimus-manager >/dev/null && [ "$on_ac_power" = 1 ] { + command -V optimus-manager >/dev/null && [ "$on_ac_power" = 1 ] && { echo "Waiting for nvidia card to load up..." - until [ -e /dev/dri/card0 ]; do; sleep 0.1; done + until [ -e /dev/dri/card1 ]; do; sleep 0.1; done } command -V startx >/dev/null && { pgrep startx || startx } ;; @@ -10,9 +10,6 @@ !/.config /.config/* -shortcutrc -shortcuts* - !/.config/fdignore !/.config/ytignore !/.config/mimeapps.list @@ -94,3 +91,7 @@ shortcuts* !/.local/share/applications /.local/share/applications/mimeinfo.cache !/.local/share/chars + +shortcutrc +shortcuts* +*.sync-conflict-* diff --git a/.local/bin/desktop/i3exit b/.local/bin/desktop/i3exit index 0be387c..5aea730 100755 --- a/.local/bin/desktop/i3exit +++ b/.local/bin/desktop/i3exit @@ -22,29 +22,15 @@ lock_desktop() { } case "$command" in - lock) - lock_desktop - xset dpms force off - ;; - logout) - switch-session - i3-msg exit - ;; - switch_user) - dm-tool switch-to-greeter - ;; - suspend) - lock_desktop; $logind suspend - ;; - hibernate) - system_control lock_desktop && $logind hibernate - ;; - reboot) - system_control $logind reboot - ;; - shutdown) - system_control $logind poweroff - ;; + off) xset dpms force off ;; + lock) lock_desktop; xset dpms force off ;; + logout) switch-session; i3-msg exit ;; + switch_user) dm-tool switch-to-greeter ;; + suspend) $logind suspend ;; + sleep) lock_desktop; $logind suspend ;; + hibernate) system_control lock_desktop && $logind hibernate ;; + reboot) system_control $logind reboot ;; + shutdown) system_control $logind poweroff ;; *) echo "== ! i3exit: missing or invalid argument ! ==" echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown" diff --git a/.local/bin/desktop/kiosk b/.local/bin/desktop/kiosk new file mode 100755 index 0000000..64fd977 --- /dev/null +++ b/.local/bin/desktop/kiosk @@ -0,0 +1,3 @@ +#!/bin/sh + +librewolf -P kiosk --kiosk diff --git a/.local/bin/development/dev b/.local/bin/development/dev index 37b50d6..0ba9f3e 100755 --- a/.local/bin/development/dev +++ b/.local/bin/development/dev @@ -45,6 +45,7 @@ js_test() { node "$file"; } js_format() { esbuild "$file"; } js_minify() { esbuild --minify "$file"; } json_format() { jq . "$file"; } +xml_format() { xmllint -format -recover "$file"; } php_run() { php "$file" "$@"; } c_compile() { make "${file%.c}"; } @@ -134,6 +135,8 @@ py_run() { # fi } +R_run() { Rscript "$file"; } + ## Default Tasks _serve() { diff --git a/.local/bin/development/getcomproot b/.local/bin/development/getcomproot index 16e946a..d34a2e4 100755 --- a/.local/bin/development/getcomproot +++ b/.local/bin/development/getcomproot @@ -1,7 +1,5 @@ #!/bin/bash -# author: Luke Smith -# # A helper script for LaTeX/groff files used by `compiler` and `opout`. # The user can add the root file of a larger project as a comment as below: # % root = mainfile.tex diff --git a/.local/bin/development/gh-clone-all b/.local/bin/development/gh-clone-all new file mode 100755 index 0000000..d2b3cdc --- /dev/null +++ b/.local/bin/development/gh-clone-all @@ -0,0 +1,16 @@ +#!/bin/sh + +cntx="${1%%/*}" +name="${1##*/}" +max="${2:-${MAX:-1}}" +[ "$cntx" = "$name" ] && cntx=users +[ -z "$cntx" ] && cntx=users +[ -z "$name" ] && name=${PWD##*/} + +page=0 +while [ "$page" -lt "$max" ]; do + page=$(( page + 1 )) + curl "https://api.github.com/$cntx/$name/repos?page=$page&per_page=100" | + sed -E '/^\s*"clone_url": "(.*)",$/!d; s//\1/' | + xargs -L1 echo git clone +done diff --git a/.local/bin/open b/.local/bin/open index 5b38cb7..5936451 100755 --- a/.local/bin/open +++ b/.local/bin/open @@ -26,7 +26,7 @@ for file in "$@"; do inode/directory) ${FILES:-lf} "$file" ; exit ;; text/html*) ${BROWSER:-w3m} "$file" ;; *pdf|*djvu|*epub+zip|*oxps|*fictionbook) setsid -f zathura "$file" 2>/dev/null ;; - text/*|*json|*zip|*zstd) "${EDITOR:-nvim}" "$file" ;; + text/*|*json|*zip|*zstd|*javascript) "${EDITOR:-nvim}" "$file" ;; application/vnd.openxmlformats-officedocument.*) setsid -f libreoffice "$file" ;; application/sc) sc-im "$file" ;; application/x-executable) "$file" ;; diff --git a/.local/bin/preview b/.local/bin/preview index f15e884..235f0e0 100755 --- a/.local/bin/preview +++ b/.local/bin/preview @@ -47,7 +47,7 @@ case "$1" in *html) w3m -dump "$1" ;; text/markdown) glow "$1" ;; application/json) highlight --syntax=json --replace-tabs=2 -- "$1" ;; - text/*) highlight --force -- "$1" ;; + text/*|*javascript) highlight --force -- "$1" ;; audio/*|video/*|image/*) mediainfo -- "$1" ;; *xz) xz --list "$1" ;; *zip|*tar*|*7z*|*bzip2) atool --list -- "$1" ;; diff --git a/.local/bin/clearx b/.local/bin/screenx index 225c208..3ba25c7 100755 --- a/.local/bin/clearx +++ b/.local/bin/screenx @@ -1,15 +1,15 @@ #!/bin/sh -help() { echo "clearx - execute command in clear screen +help() { echo "screenx - execute command in a new fullscreen terminal USAGE: - clearx [OPTION]... <command> + screenx [OPTION]... <command> OPTIONS: -n no prompt when exiting -h show this help message"; } -err() { printf 'clearx: %s\n' "$@" >&2; exit 1; } +err() { printf 'screenx: %s\n' "$@" >&2; exit 1; } while getopts 'nh' o; do case "$o" in n) nflag=0 ;; h) help >&2; exit ;; @@ -26,15 +26,15 @@ tmuxcmds="tmux set status off; $cmds; tmux set status on;" set_screen() { [ -z "$TMUX" ] && err '$TMUX not set, only tmux is supported for screen program' - tmux new-window -n clearx "$tmuxcmds" + tmux new-window -n screenx "$tmuxcmds" } -new_screen() { tmux new-session -s clearx "$tmuxcmds"; } +new_screen() { tmux new-session -s screenx "$tmuxcmds"; } terminal_emulator() { [ -z "$DISPLAY" ] && return 1 - #err 'clearx: terminal_emulator: $DISPLAY not set' + #err 'screenx: terminal_emulator: $DISPLAY not set' case "$TERMINAL" in - '') echo 'clearx: $TERMINAL not set' && exit 1 ;; + '') echo 'screenx: $TERMINAL not set' && exit 1 ;; alacritty) export TERMINAL="alacritty" ;; esac wmctrl -r :ACTIVE: -b remove,fullscreen diff --git a/.local/bin/shorts/bs b/.local/bin/shorts/bs deleted file mode 100755 index 7e7ec0a..0000000 --- a/.local/bin/shorts/bs +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -# build site - -cd "${SITE_BASE_DIR:-$HOME/Dev/sites/vikas.rocks}" || exit -rm -rf public/* -hugo diff --git a/.local/bin/shorts/ec b/.local/bin/shorts/ec deleted file mode 100755 index bc6e7d5..0000000 --- a/.local/bin/shorts/ec +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -# edit-clipboard: edit the content of clipboard - -xclip -sel clip -o >/tmp/clipboard && nvim /tmp/clipboard && xclip -sel clip -i /tmp/clipboard diff --git a/.local/bin/shorts/scrcpy-k b/.local/bin/shorts/scrcpy-k deleted file mode 100755 index 139732b..0000000 --- a/.local/bin/shorts/scrcpy-k +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -remap -x -adb connect blue:43896 -notify-send scrcpy-k "Starting scrcpy..." -scrcpy -K --no-playback -notify-send scrcpy-k "Connection closed..." -remap diff --git a/.local/bin/web/savesite b/.local/bin/web/savesite index 206a633..66a2461 100755 --- a/.local/bin/web/savesite +++ b/.local/bin/web/savesite @@ -23,6 +23,7 @@ printf ":: Logging to: %s\n" "$WGETLOGS" --restrict-file-names=windows \ --domains "$site" \ --no-parent \ + --no-check-certificate \ --output-file "$WGETLOGS" \ "$url" diff --git a/.local/bin/web/w3mman b/.local/bin/web/w3mman deleted file mode 100755 index 5013fbd..0000000 --- a/.local/bin/web/w3mman +++ /dev/null @@ -1,335 +0,0 @@ -#!/bin/bash - -# w3m-man -# -# Use wget, w3m and less to download and view man pages. -# -# Homepage: https://github.com/sc0ttj/w3m-man -# -# Supports using $MANPAGER, $HTMLPAGER, $TERM_BROWSER, and -# falls back to w3m and less if these are not set. -# -# How it works: -# -# - saves manpage from online sources to $HOME/.w3m-manpages/ -# - not proper man pages, just plain text output of websites -# - prettifies them a bit (removes junk headers, links, messages) -# -# Usage: -# -# man <command> # view man page in plain text in $PAGER -# man -H <command> # view man page as HTML in $BROWSER -# man <command> --url # print the URL of the man page to STDOUT - -# TODO: -# -# - Display the path searched for manpages: -# -# man --path -# -# - Display the location of a manpage rather than the manpage itself: -# -# man -w command -# -# - Search for manpages containing a search string: -# -# man -k "search_string" -# - -if [ "$1" = "--help" ];then - - echo "# man (w3m-man) -# Use wget, w3m and less to download and view man pages -# See https://github.com/sc0ttj/w3m-man - -Usage: - - man <command> # (download and) print the man page - - man <command> --url # print the URL from which the man - # page was/would be downloaded - - man --help # print this help info - -Where <command> is the command name you want to read about. - -Examples: - - man diff # view 'diff' command (section 1) - - man mount.8 # view 'mount' in section 8 (config stuff) - - man 8 mount # same as above, but doesn't work with -H - - man -H mount # view 'mount' man page as HTML using $BROWSER - - man <command> --url # only print the URL from which the man page - # was/would be downloaded - -Man pages are divided into sections, as follows: - - 1. User: most user commands and programs. - - 2. System: calls by the Linux kernel. - - 3. Library: documents provided by the standard C library. - - 4. Devices: documents various devices, most of which reside in /dev. - - 5. Files: describes various file formats and filesystems and proc(5). - - 7. Overviews, conventions, and miscellaneous. - - 8. Superuser and system administration commands. - -Checks the following URLs: - -the Ubuntu or Debian man pages, also: - -http://man.he.net/?topic=\${command}§ion=\${section} -http://manpages.org/\${command}/\${section} -https://linux.die.net/man/\${section}/\${command} -https://www.mankier.com/\${section}/\${command} -https://man7.org/linux/man-pages/man\${section}/\${command}.\${section}.html -http://manpages.org/\${command} -http://man.he.net/?topic=\${command}§ion=all -https://ss64.com/bash/\${command}.html -" - exit 0 -fi - -old_man="$(command -v man)" -unset man - -command="$1" -section="1" - -DISTRO_COMPAT_VERSION="latest" -if [ -f /etc/DISTRO_SPECS ];then - source /etc/DISTRO_SPECS -fi - - -# support GNU man -H option (to view as HTML) -if [ "$1" = "-H" ];then - command="$2" -fi - -# support GNU man syntax `man 1 mount` -re='^[1-8]+$' -if [[ $1 =~ $re ]] ; then - command="${2}.$1" - section="$1" -fi - -# support GNU man syntax `man mount.1`, `man mount.2`, etc -section="${command//*\./}" -command="${command//\.*/}" -if [ "$command" = "$section" ];then - section=1 -fi - -manpage_file="$HOME/.w3m-manpages/$command.$section" - -# support env var $MANPAGER -pager=${MANPAGER:-$PAGER} -pager=${pager:-less -XR} -w3m='w3m -o auto_image=false -o display_image=false' -browser=${TERM_BROWSER:-$TERMBROWSER} -browser=${browser:-$w3m} -htmlpager=${HTMLPAGER:-w3m -dump} - -# Remove some junk from the plain text files generated by w3m, -# such as headers, links to adverts, etc -function prettifier { - url="$1" - case "$url" in - - *'ubuntu.com'*|*'debian.org'*) - sed \ - -e '1,5d' \ - -e 's/ bug$//' \ - -e 's/ / /g' - ;; - - *'linux.die.net'*) - sed -e '1d' -e 's/\[INS::INS\]//g' -e 's/ \[ \]//g' \ - -e 's/Site Search//g' 2>/dev/null | head -n -12 - ;; - - *mankier*) - grep -vEi ' • [A-Z]| □ [A-Z]' | sed -e '1,7d' -e 's/tldr.sh//g' \ - -e "s/$command /$command($section) /g" - ;; - - *ss64*com*) - sed '1,5d' 2>/dev/null - ;; - - *'man7.org'*) - sed -e '1,4d' -e '8,13d' -e 's/ top/ /g' \ - | grep -vE 'StatCounter' | head -n -15 - ;; - - *manpages*org*) - sed -e '1,3d' \ - | head -n -14 - ;; - - *man*he*net*) cat - ;; - - *) cat - ;; - esac -} - -# create the config dir, if needed -[ ! -d $HOME/.w3m-manpages ] && mkdir -p $HOME/.w3m-manpages - -# if we already have a proper man page, just print it and exit -if [ ! -z "$MANPATH" ] && [ "$(which groff)" != "" ] && [ "$1" != "-H" ] && [ "$2" != "--url" ];then - usegroff=false - groff_file='' - zipped=false - paths=$(echo "${MANPATH}" | tr ':' '\n') - # for each path - for dir in ./ $paths - do - zipped=false - # let's find the man page file - groff_file=$dir/man${section}/${command}.${section} - # it might be gzipped - [ ! -f $groff_file ] && groff_file=$dir/man${section}/${command}.${section}.gz && zipped=true - # it might be in the current directory - [ -f ./${command}.${section} ] && groff_file="./${command}.${section}" - [ -f ./${command}.${section}.gz ] && groff_file="./${command}.${section}.gz" && zipped=true - # if we found the file - if [ -f $groff_file ];then - # unpack it, if needed - [ $zipped = true ] && zcat $groff_file > /tmp/unzipped && groff_file=/tmp/unzipped - # now lets read the man page and exit - groff -T utf8 -man $groff_file | $pager && exit 0 - fi - done -fi - -# if we already have the man page as plain text, just print it and exit -[ "$1" != "-H" ] && [ "$2" != "--url" ] && [ -f "$manpage_file" ] && cat "$manpage_file" | $pager && exit 0 - -# set a list of urls to check: - -# these man pages cover the correct versions of the program you have installed, -# for the OS you're actually using (if using an Ubuntu or Debian based pup) -if [ "$DISTRO_BINARY_COMPAT" = "ubuntu" ];then - URLS="https://manpages.ubuntu.com/manpages/${DISTRO_COMPAT_VERSION}/man${section}/${command}.${section}.html" -elif [ "$DISTRO_BINARY_COMPAT" = "debian" ];then - URLS="https://manpages.debian.org/${DISTRO_COMPAT_VERSION}/${command}/${command}.${section}.en.html" -fi - -# add the rest -URLS="$URLS -http://man.he.net/?topic=${command}§ion=${section} -http://manpages.org/${command}/${section} -https://linux.die.net/man/${section}/${command} -https://www.mankier.com/${section}/${command} -https://man7.org/linux/man-pages/man${section}/${command}.${section}.html -http://manpages.org/${command} -http://man.he.net/?topic=${command}§ion=all -https://ss64.com/bash/${command}.html -" -# for each url in the list -for url in ${URLS} -do - # skip any empty urls - [ "$url" != "" ] || continue - [ "$url" != " " ] || continue - - # crawl the url - wget --timeout=2 --spider -S -o /tmp/"$command".html "$url" - - # get the status code - grep -m1 'HTTP/[1-3].[0-9] [0-9][0-9][0-9]' /tmp/"$command".html | grep -E '200 OK' > /tmp/response - - # if HTTP status not 200, skip this url - grep -q -m1 "200" /tmp/response || continue - - # print the URL if --url given - [ "$2" = "--url" ] && echo "$url" && exit 0 - - # grab the URL contents as plain text, put it into a file - timeout 2 $htmlpager "$url" | prettifier "$url" > "$manpage_file" - - # if file is empty, remove it, skip this url - [ ! -s "$manpage_file" ] && rm "$manpage_file" && continue - - # check if we if we got a "not found" page - notfound=false - grep -qiE "^Couldn|Hmmm|Invalid characters|No matches for \"|t found manual page under category" "$manpage_file" && notfound=true - - # if we DID get a "not found" page, delete the man page, skip this url - [ "$notfound" = true ] && rm "$manpage_file" && continue - - # if man page not a file, skip this url - [ ! -f "$manpage_file" ] && continue - - # if -H was given, print it out as HTML (like GNU man) - if [ "$1" = "-H" ] ;then - $browser "$url" - fi - - # - # add a footer to the man page - # - echo >> "$manpage_file" - echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" >> "$manpage_file" - echo >> "$manpage_file" - echo "Generated by https://github.com/sc0ttj/w3m-manpage" >> "$manpage_file" - echo >> "$manpage_file" - echo "Source URL $url" >> "$manpage_file" - echo >> "$manpage_file" - - # man page created, dont need to do another url - break -done - -# if we still did not _create_ a file, see if we have local -# matching ones, in a different section -if [ ! -f "$manpage_file" ];then - local_pages=$(ls $HOME/.w3m-manpages | grep "${command}.") - if [ "$local_pages" != "" ];then - if [ $(echo "$local_pages" | wc -l) = 1 ];then - echo - echo "Loading $local_pages" | tr -d '\n' - echo - sleep 2 - manpage_file="$HOME/.w3m-manpages/$local_pages" - elif [ $(echo "$local_pages" | wc -l) -ge 2 ];then - echo - echo "Did you mean any of these?" - echo - echo "$local_pages" - exit 1 - fi - fi -fi - -# if we have a man page, and didnt already print the html, print it here -[ "$1" != "-H" ] && [ -f "$manpage_file" ] \ - && cat "$manpage_file" | $pager && exit 0 - -# if _still_ nothing, try download it online from the next section -if [ ! -f "$manpage_file" ];then - if [ -f /tmp/man_loopcount ] && [ $(wc -l /tmp/man_loopcount | cut -f1 -d' ') -ge 8 ];then - rm /tmp/man_loopcount - exit 1 - fi - next_section=$(($section + 1)) - [ $next_section -eq 9 ] && next_section=1 - echo -n "." - echo "." >> /tmp/man_loopcount - exec $0 $next_section $command - retval=$? - [ $retval -eq 0 ] && rm /tmp/manprogress - echo -fi - -man="$old_man" diff --git a/.local/share/applications/text.desktop b/.local/share/applications/text.desktop index 6ce6767..1999cd0 100644 --- a/.local/share/applications/text.desktop +++ b/.local/share/applications/text.desktop @@ -1,5 +1,5 @@ [Desktop Entry] Type=Application Name=Text editor -Exec=/usr/local/bin/st -e nvim %u +Exec=/usr/local/bin/st -e nvim %F Icon=text-editor |