From 106b7ef281fc2567167ccaf03580ff52e3666418 Mon Sep 17 00:00:00 2001 From: Hassan Afify Date: Fri, 28 Feb 2020 06:46:45 +0300 Subject: [PATCH] [feat] vimrc, vifm, unmount_drives, backup deleted:.scripts/lock.sh .bashrc - add alias egyb .config/vifm/vifmrc - \z download file links with wget - add *.ods filetype .vim/colors/minimal.vim - move commented to bottom - make, python special highlight .vimrc - new files template: one exe command (refactor) .scripts/backup - fix sd1: if not mounted the directory exists so sd1/backups the default .scripts/unmount_drives.sh - ask kill ps of selected disk - add unoumt_func, ask_kill functions --- .bashrc | 1 + .config/vifm/vifmrc | 5 ++- .scripts/backup | 4 +- .scripts/lock.sh | 11 ----- .scripts/unmount_drives.sh | 32 +++++++++++--- .vim/colors/minimal.vim | 104 ++++++++++++++++++++++++++++----------------- .vimrc | 31 ++++---------- 7 files changed, 106 insertions(+), 82 deletions(-) delete mode 100755 .scripts/lock.sh diff --git a/.bashrc b/.bashrc index 3f29aef..4cc35ea 100644 --- a/.bashrc +++ b/.bashrc @@ -11,6 +11,7 @@ alias mkdir='mkdir -p' alias xc='xclip -sel clip' alias fonts="fc-list | sed 's/^.*: //' | sort" alias wgetf="wget --tries=10 --continue --content-disposition --trust-server-names -i" +alias egyb="cd $HOME/downloads;python /mnt/data/dev/egybest_downloader/egybest_unix.py" if [[ $(uname) == "OpenBSD" ]]; then alias ll='colorls -lahG' diff --git a/.config/vifm/vifmrc b/.config/vifm/vifmrc index 73e5aeb..1f07779 100644 --- a/.config/vifm/vifmrc +++ b/.config/vifm/vifmrc @@ -62,17 +62,18 @@ noremap \t :cd /tmp noremap \4 :cd /mnt/4tb noremap \1 :cd /mnt/1tb noremap \ :cd /mnt/data +noremap \z :!wget --tries=10 --continue --content-disposition --trust-server-names -i %f filetype *.pdf mupdf -I %f & +filetype *.[1-8] man ./%c filetype *.sig !!gpg --verify %c filetype *.md5 md5sum -c %f %S filetype *.sha1 sha1sum -c %f %S -filetype *.[1-8] man ./%c filetype *.sha256 sha256sum -c %f %S filetype *.sha512 sha512sum -c %f %S filetype *.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm sxiv %f & filetype *.odt,*.doc,*.docx,*.xls,*.xlsx, - \*.odp,*.pptx libreoffice %f & + \*.odp,*.ods,*.pptx libreoffice %f & filetype *.tar.bz2,*.tar.gz,*.tar.xz,*.xz, \*.bz2,*.rar,*.gz,*.tar,*.tbz2,*.tgz, \*.zip,*.Z,*.7z ext %f diff --git a/.scripts/backup b/.scripts/backup index 475f651..df55a87 100644 --- a/.scripts/backup +++ b/.scripts/backup @@ -48,13 +48,13 @@ case $1 in of=$dis/data_$today.tar;; *) files=".ssh .gnupg .password-store .scripts" - default_dis="/mnt/sd1" + default_dis="/mnt/sd1/backups" if [[ ! -d $default_dis ]];then default_dis="/mnt/4tb/backups/home"; fi check_dis $default_dis of=$dis/home_$today.tar;; esac -if [[ ! $dis || ! -d $dis || -f $of.bz2 ]]; then exit 1; +if [[ ! $dis || ! -d $dis || -f $of.bz2 ]]; then echo $of;exit 1; else compress "$1" \ && notify-send "Backup Completed Succesfully"\ diff --git a/.scripts/lock.sh b/.scripts/lock.sh deleted file mode 100755 index 1d7e1db..0000000 --- a/.scripts/lock.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -#============================================================================== -# Name : lock -# GitHub : Afify -# Copyright : MIT -# Version : 0.1 -# Description : -#============================================================================== - -slock & sleep 1 && xset dpms force off diff --git a/.scripts/unmount_drives.sh b/.scripts/unmount_drives.sh index 3cd1018..b4eb1a6 100755 --- a/.scripts/unmount_drives.sh +++ b/.scripts/unmount_drives.sh @@ -35,6 +35,7 @@ if [[ $(uname) == "OpenBSD" ]]; then elif [[ $(uname) == "Linux" ]]; then +# df | awk '{print $1" "$6}' | grep "/mnt/" |\ chosen=$(\ lsblk --noheadings --raw -o NAME,SIZE,TYPE,MOUNTPOINT |\ awk '$1~/[[:digit:]]/ && $4~/\/mnt/;\ @@ -55,14 +56,33 @@ if [ $android_d ]; then exit 0 fi +ask_kill(){ + resp=$(echo -e "no\nyes" | dmenu -p "( $active_ps ) ps running, Force kill ? ") + if [[ "$resp" == "yes" ]]; then + fuser -km $mount_point kill + # umount -l /dev/sdX lazy + unmount_func + else + exit + fi +} + +unmount_func(){ + dmenu -P -p "umount $mount_point | sudo " | sudo -S umount $mount_point;\ + sudo fsck /dev/$partion \ + && notify-send "Unmounted" "$mount_point"\ + || ask_kill +} + # Unmount partion if [ $mount_point ]; then - dmenu -P -p "umount $mount_point | sudo " | sudo -S umount $mount_point\ - && notify-send "Unmounted" "$mount_point"\ - || notify-send -u critical "Error Unmounting" "$mount_point" - # fuser -vm /mnt/dir show ps - # fuser -k /mnt/dir kill - # umount -l /dev/sdX lazy + active_ps=$(fuser -vm $mount_point 2> /dev/null) + active_ps=$(echo $active_ps | wc -l) + if [[ $active_ps -gt 0 ]]; then + ask_kill + else + unmount_func + fi fi # If the drive is encrypted lock after umount diff --git a/.vim/colors/minimal.vim b/.vim/colors/minimal.vim index 3184dbb..57f07d7 100644 --- a/.vim/colors/minimal.vim +++ b/.vim/colors/minimal.vim @@ -17,33 +17,18 @@ autocmd FileType gitcommit set colorcolumn=50,51,72,73 textwidth=72 autocmd FileType gitrebase set colorcolumn=63,64 autocmd BufRead *tmp/neomutt-* set colorcolumn=72,73 textwidth=72 - -" hi Boolean ctermfg=246 ctermbg=0 cterm=none -" hi Character ctermfg=246 ctermbg=0 cterm=none -" hi Conditional ctermfg=246 ctermbg=0 cterm=none -" hi Constant ctermfg=246 ctermbg=0 cterm=none hi ColorColumn ctermfg=none ctermbg=232 cterm=none hi Comment ctermfg=239 ctermbg=0 cterm=italic hi Conceal ctermfg=246 ctermbg=0 cterm=none hi Constant ctermfg=246 ctermbg=0 cterm=none hi Cursor ctermfg=235 ctermbg=254 cterm=none -" hi CursorColumn ctermfg=none ctermbg=236 cterm=none hi CursorLine ctermfg=none ctermbg=232 cterm=none hi CursorLineNr ctermfg=166 ctermbg=232 cterm=bold -" hi Define ctermfg=246 ctermbg=0 cterm=none -" hi Delimiter ctermfg=145 ctermbg=none cterm=none -" hi Directory ctermfg=81 ctermbg=none cterm=none hi DiffAdd ctermfg=246 ctermbg=22 cterm=none hi DiffChange ctermfg=0 ctermbg=94 cterm=none hi DiffDelete ctermfg=0 ctermbg=52 cterm=none hi DiffText ctermfg=246 ctermbg=24 cterm=none hi EndOfBuffer ctermfg=0 ctermbg=0 cterm=none -" hi Exception ctermfg=246 ctermbg=0 cterm=none -" hi Error ctermfg=235 ctermbg=210 cterm=none -" hi ErrorMsg ctermfg=210 ctermbg=none cterm=none -" hi Float ctermfg=246 ctermbg=0 cterm=none -" hi Function ctermfg=246 ctermbg=none cterm=bold -" hi FunctionDef ctermfg=4 ctermbg=none cterm=none hi Folded ctermfg=90 ctermbg=232 cterm=none hi FoldColumn ctermfg=246 ctermbg=0 cterm=none hi GitGutterAdd ctermfg=2 ctermbg=232 cterm=none @@ -51,37 +36,20 @@ hi GitGutterChange ctermfg=166 ctermbg=232 cterm=bold hi GitGutterChangeDelete ctermfg=166 ctermbg=232 cterm=bold hi GitGutterDelete ctermfg=9 ctermbg=232 cterm=bold hi Identifier ctermfg=246 ctermbg=0 cterm=none -" hi Ignore ctermfg=59 ctermbg=none cterm=none -" hi Include ctermfg=246 ctermbg=0 cterm=none hi IncSearch ctermfg=2 ctermbg=0 cterm=none -" hi Keyword ctermfg=246 ctermbg=0 cterm=none -" hi Label ctermfg=246 ctermbg=0 cterm=none hi LineNr ctermfg=236 ctermbg=232 cterm=none -" hi Macro ctermfg=246 ctermbg=0 cterm=none hi MatchParen ctermfg=2 ctermbg=233 cterm=bold hi ModeMsg ctermfg=246 ctermbg=none cterm=none hi MoreMsg ctermfg=2 ctermbg=none cterm=none -" hi Number ctermfg=246 ctermbg=0 cterm=none -" hi None ctermfg=254 ctermbg=none cterm=none hi NonText ctermfg=235 ctermbg=0 cterm=none hi Normal ctermfg=246 ctermbg=0 cterm=none -" hi Operator ctermfg=145 ctermbg=none cterm=none hi Pmenu ctermfg=254 ctermbg=236 cterm=none hi PmenuSbar ctermfg=236 ctermbg=236 cterm=none hi PmenuSel ctermfg=254 ctermbg=26 cterm=none hi PmenuThumb ctermfg=237 ctermbg=237 cterm=none -" hi PreCondit ctermfg=246 ctermbg=0 cterm=none hi PreProc ctermfg=246 ctermbg=0 cterm=none -" hi Repeat ctermfg=246 ctermbg=0 cterm=none -" hi Question ctermfg=211 ctermbg=none cterm=none -" hi QuickFixLine ctermfg=254 ctermbg=26 cterm=none hi Search ctermfg=255 ctermbg=130 cterm=bold hi SignColumn ctermfg=242 ctermbg=2 cterm=none -" hi SpecialComment ctermfg=145 ctermbg=none cterm=none -" hi SpellBad ctermfg=none ctermbg=none cterm=undercurl -" hi SpellCap ctermfg=none ctermbg=none cterm=undercurl -" hi SpellLocal ctermfg=none ctermbg=none cterm=undercurl -" hi SpellRare ctermfg=none ctermbg=none cterm=undercurl hi Special ctermfg=246 ctermbg=0 cterm=none hi SpecialKey ctermfg=236 ctermbg=0 cterm=none hi Statement ctermfg=242 ctermbg=0 cterm=none @@ -90,33 +58,91 @@ hi StatusLine_g ctermfg=106 ctermbg=232 cterm=none hi StatusLine_o ctermfg=166 ctermbg=232 cterm=none hi StatusLine_r ctermfg=124 ctermbg=232 cterm=none hi StatusLineNC ctermfg=245 ctermbg=232 cterm=none -" hi Structure ctermfg=246 ctermbg=0 cterm=none hi StorageClass ctermfg=130 ctermbg=none cterm=bold hi String ctermfg=106 ctermbg=0 cterm=none hi SyntasticErrorLine ctermfg=124 ctermbg=0 cterm=none hi SyntasticErrorLineNr ctermfg=0 ctermbg=124 cterm=none hi SyntasticErrorSign ctermfg=124 ctermbg=232 cterm=none hi SyntasticWarningSign ctermfg=226 ctermbg=232 cterm=none -" hi Title ctermfg=254 ctermbg=none cterm=bold hi Todo ctermfg=9 ctermbg=none cterm=bold hi Type ctermfg=130 ctermbg=0 cterm=none hi Underlined ctermfg=246 ctermbg=0 cterm=none hi VertSplit ctermfg=236 ctermbg=236 cterm=none hi Visual ctermfg=246 ctermbg=237 cterm=none -" hi WarningMsg ctermfg=210 ctermbg=none cterm=none hi WildMenu ctermfg=2 ctermbg=16 cterm=none hi diffAdded ctermfg=100 ctermbg=0 cterm=none -hi diffRemoved ctermfg=88 ctermbg=0 cterm=none hi diffChanged ctermfg=246 ctermbg=0 cterm=none hi diffFile ctermfg=166 ctermbg=0 cterm=none -hi diffNewFile ctermfg=172 ctermbg=0 cterm=none hi diffLine ctermfg=24 ctermbg=0 cterm=none +hi diffNewFile ctermfg=172 ctermbg=0 cterm=none +hi diffRemoved ctermfg=88 ctermbg=0 cterm=none + +hi makeCommands ctermfg=242 ctermbg=0 cterm=none +hi makeIdent ctermfg=24 ctermbg=0 cterm=none +hi makeTarget ctermfg=130 ctermbg=0 cterm=bold + +hi pythonBuiltinFunc ctermfg=130 ctermbg=0 cterm=none +hi pythonFunction ctermfg=130 ctermbg=0 cterm=none if &diff | hi CursorLine ctermbg=none | endif -hi pythonBuiltinFunc ctermfg=130 ctermbg=0 cterm=none -hi pythonFunction ctermfg=130 ctermbg=0 cterm=none +" hi Boolean ctermfg=246 ctermbg=0 cterm=none +" hi Character ctermfg=246 ctermbg=0 cterm=none +" hi Conditional ctermfg=246 ctermbg=0 cterm=none +" hi Constant ctermfg=246 ctermbg=0 cterm=none +" hi CursorColumn ctermfg=none ctermbg=236 cterm=none +" hi Define ctermfg=246 ctermbg=0 cterm=none +" hi Delimiter ctermfg=145 ctermbg=none cterm=none +" hi Directory ctermfg=81 ctermbg=none cterm=none +" hi Exception ctermfg=246 ctermbg=0 cterm=none +" hi Error ctermfg=235 ctermbg=210 cterm=none +" hi ErrorMsg ctermfg=210 ctermbg=none cterm=none +" hi Float ctermfg=246 ctermbg=0 cterm=none +" hi Function ctermfg=246 ctermbg=none cterm=bold +" hi FunctionDef ctermfg=4 ctermbg=none cterm=none +" hi Ignore ctermfg=59 ctermbg=none cterm=none +" hi Include ctermfg=246 ctermbg=0 cterm=none +" hi Keyword ctermfg=246 ctermbg=0 cterm=none +" hi Label ctermfg=246 ctermbg=0 cterm=none +" hi Macro ctermfg=246 ctermbg=0 cterm=none +" hi Number ctermfg=246 ctermbg=0 cterm=none +" hi None ctermfg=254 ctermbg=none cterm=none +" hi Operator ctermfg=145 ctermbg=none cterm=none +" hi PreCondit ctermfg=246 ctermbg=0 cterm=none +" hi Repeat ctermfg=246 ctermbg=0 cterm=none +" hi Question ctermfg=211 ctermbg=none cterm=none +" hi QuickFixLine ctermfg=254 ctermbg=26 cterm=none +" hi SpecialComment ctermfg=145 ctermbg=none cterm=none +" hi SpellBad ctermfg=none ctermbg=none cterm=undercurl +" hi SpellCap ctermfg=none ctermbg=none cterm=undercurl +" hi SpellLocal ctermfg=none ctermbg=none cterm=undercurl +" hi SpellRare ctermfg=none ctermbg=none cterm=undercurl +" hi Structure ctermfg=246 ctermbg=0 cterm=none +" hi Title ctermfg=254 ctermbg=none cterm=bold +" hi WarningMsg ctermfg=210 ctermbg=none cterm=none + +" hi makeBString ctermfg=24 ctermbg=0 cterm=none +" hi makeCmdNextLine ctermfg=24 ctermbg=0 cterm=none +" hi makeCommandError ctermfg=24 ctermbg=0 cterm=none +" hi makeComment ctermfg=24 ctermbg=0 cterm=none +" hi makeConfig ctermfg=24 ctermbg=0 cterm=none +" hi makeDString ctermfg=24 ctermbg=0 cterm=none +" hi makeDefine ctermfg=24 ctermbg=0 cterm=none +" hi makeError ctermfg=24 ctermbg=0 cterm=none +" hi makeEscapedChar ctermfg=24 ctermbg=0 cterm=none +" hi makeExport ctermfg=24 ctermbg=0 cterm=none +" hi makeImplicit ctermfg=24 ctermbg=0 cterm=none +" hi makeInclude ctermfg=24 ctermbg=0 cterm=none +" hi makeNextLine ctermfg=24 ctermbg=0 cterm=none +" hi makeOverride ctermfg=24 ctermbg=0 cterm=none +" hi makePreCondit ctermfg=24 ctermbg=0 cterm=none +" hi makeSString ctermfg=24 ctermbg=0 cterm=none +" hi makeSpecTarget ctermfg=24 ctermbg=0 cterm=none +" hi makeSpecial ctermfg=24 ctermbg=0 cterm=none +" hi makeStatement ctermfg=2 ctermbg=0 cterm=none +" hi makeTodo ctermfg=24 ctermbg=0 cterm=none + " hi pythonBuiltin ctermfg=130 ctermbg=0 cterm=none " hi pythonBuiltinObj ctermfg=130 ctermbg=0 cterm=none " hi pythonDecorator ctermfg=130 ctermbg=0 cterm=none diff --git a/.vimrc b/.vimrc index a3c2384..bae2c5b 100644 --- a/.vimrc +++ b/.vimrc @@ -314,25 +314,12 @@ let g:filename = expand("%:r") let g:filename_ext = expand("%:e") let g:upperfilename = toupper(filename) -autocmd BufNewFile *.sh exe "normal!ggi#!/usr/bin/env bash " -autocmd BufNewFile *.py exe "normal!ggi#!/usr/bin/env python3 " -autocmd BufNewFile *.h :call TempH() -autocmd BufNewFile *.c :call TempC() - -function! TempH() - exe "normal!ggi/* See LICENSE file for copyright and license details. */ " - exe "normal!o#ifndef ".g:upperfilename."_H" - exe "normal!o#define ".g:upperfilename."_H" - exe "normal!o #endif /* ".g:upperfilename."_H */" - exe "normal!kk" -endfunction - -function! TempC() - exe "normal!ggi/* See LICENSE file for copyright and license details. */ " - exe "normal!o/* macros */" - exe "normal!o/* typedef */" - exe "normal!o/* function declarations */" - exe "normal!o/* function implementations */ " - exe "normal!oint main(void) { return 0; }" - exe "normal!kk" -endfunction +autocmd BufNewFile *.sh normal!ggi#!/usr/bin/env bash +autocmd BufNewFile *.py normal!ggi#!/usr/bin/env python3 +autocmd BufNewFile *.h exe "normal!ggi/* See LICENSE file for copyright and " + \"license details. */ #ifndef ".g:upperfilename."_H #define " + \.g:upperfilename."_H \#endif /* ".g:upperfilename."_H */" | normal!kk +autocmd BufNewFile *.c exe "normal!ggi/* See LICENSE file for copyright and license" + \"details. */ /* macros */ /* typedef */ /* function declarations */ /*" + \" global variables */ /* function implementations */ int main(int argc," + \" char *argv[]) { return 0; }" | normal!kk -- 2.11.4.GIT