dgy
/
hexagons
Archived
1
0
Fork 0

nvim y tmux mas tuneados (never gonna stop). REPL plugin alpha. firefox css. neomutt powerline. mil giladitas mas

This commit is contained in:
deadguy 2019-06-23 00:48:32 -03:00
parent 68c65de02d
commit 2ec1046c9f
Signed by: dgy
GPG Key ID: 37CA55B52CF63730
36 changed files with 1015 additions and 314 deletions

View File

@ -35,8 +35,6 @@
*.color7: #a89984
*.color15: #c9c9c9
!URxvt.font: xft:sarasatermj:size=10
!URxvt.font: -t-cherry-medium-r-normal--13-120-96-96-c-100-iso8859-1
URxvt.font: xft:blex mono nerd font:pixelsize=14
URxvt.boldFont:
URxvt.perl-ext-common: default,clipboard,url-select

View File

@ -3,17 +3,8 @@ set -euf -o pipefail
multipantalla &
# variables
gap=8
pad=6
b_width=4
export b_width
export gap
export pad
export panel
# Si se usa -$gap en *_padding, solamente se ven huecos entre las ventanas, pero no entre las ventanas y los bordes del escritorio
bspc config window_gap $pad
# Si se usa un numero negativo en *_padding, solamente se ven huecos entre las ventanas, pero no entre las ventanas y los bordes del escritorio
bspc config window_gap 6
bspc config top_padding 0
bspc config left_padding 0
bspc config right_padding 0
@ -45,10 +36,10 @@ xrdb -merge "${HOME}/.Xresources"
# Colores
bspc config normal_border_color "$(get_xrdb color0)"
bspc config focused_border_color "$(get_xrdb color3)"
bspc config focused_border_color "$(get_xrdb color4)"
bspc config active_border_color "$(get_xrdb color8)"
bspc config presel_feedback_color "$(get_xrdb color5)"
bspc config border_width $b_width
bspc config border_width 2
# Flotantes
bspc rule -a REAPER state=floating, layer=below
@ -83,8 +74,5 @@ bspc rule -a Firefox desktop='^2'
bspc rule -a Termite:archi desktop='^3'
bspc rule -a Termite:multi desktop='^1'
# scripts utiles
bspc config external_rules_command ~/.config/bspwm/scripts/external_rules.sh
setbg &
unclutter &

View File

@ -36,6 +36,7 @@ blur-kern = "3x3box";
opacity-rule = [
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
"35:class_g = 'Bspwm' && class_i = 'presel_feedback'",
];
shadow-exclude = [

View File

@ -1,22 +0,0 @@
# For documentation, see the manpage for modprobed-db
# Path where database will reside.
# Do NOT user a variable in the following path like $HOME
# You MUST use a the fully qualified path or else invoking the script via sudo
# will trick it into thinking that the db is in /root/foo/bar
DBPATH="/home/deadguy/.config"
# Define the background of your terminal theme here.
# A setting of dark will produce colors that nicely contrast a dark background.
# setting of light will produce colors that nicely contrast a light background.
COLORS=dark
#COLORS=light
# Add modules in the ignore array that you do NOT want counted, for example modules that
# get built or that are provided by another package.
#
# For Arch Linux, some examples are given below.
IGNORE=(uvcvideo hp_wmi nouveau nvidia vboxdrv vboxnetflt vboxnetadp vboxpci lirc_dev lirc_i2c
osscore oss_hdaudio oss_usb tp_smapi thinkpad_ec
zavl znvpair zunicode zcommon zpios zfs spl splat firewire-core)

View File

@ -8,14 +8,13 @@ macro index,pager i3 '<sync-mailbox><enter-command>source /home/deadguy/.config/
source "~/.config/mutt/gpg.rc"
macro index O "<shell-escape>correo -Va<enter>" "run offlineimap to sync all mail"
macro index,pager \cb "<pipe-message> urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro index,pager u "<pipe-message> urlscan -dcp -r 'linkhandler \"{}\"'<Enter>" "call urlscan to extract URLs out of a message"
bind index,pager,browser D half-down
bind index,pager,browser U half-up
bind index,pager d delete-message
bind index \cu undelete-message
bind index <space> collapse-thread
bind index d delete-message
bind index u undelete-message
bind index <left> previous-unread
bind index <right> next-unread
bind pager <up> previous-line
@ -29,8 +28,6 @@ set uncollapse_jump # no collapse on unread message
set sort_re # thread based on regex
set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
set date_format ="%a %d %b %R"
set alias_format = " %4n %t %-20a %r "
set autoedit ## Skip directly to composing
set sendmail_wait = 1 ## wait for sending to complete
set attribution = "El %d, %n escribio:" ## set the attribution
@ -38,12 +35,51 @@ set reply_to ## reply to Reply to: field
set sig_dashes ## dashes before sig
set text_flowed = yes ## Eliminate odd line breaks
set skip_quoted_offset = 3
set sidebar_visible = no
set editor="nvim -c 'set textwidth=80'"
set status_on_top = yes
set status_chars = " *%A"
set status_format = "──┄┄╼ %f: %m Messages ╾┄┄──────────┈%?n? %n New?%?d?, %d to Delete?%?t?, %t Tagged?%?p?, %p Postponed?%?l? %l Total ?┈───%>─┤ %P ├───"
# set status_chars = " *%A"
# set status_format = "──┄┄╼ %f: %m Messages ╾┄┄──────────┈%?n? %n New?%?d?, %d to Delete?%?t?, %t Tagged?%?p?, %p Postponed?%?l? %l Total ?┈───%>─┤ %P ├───"
set alias_format = " %4n %t %-20a %r "
set date_format ="%a %d %b %R"
set index_format=" %T %{!%d %b} %1M %-28.28L %?X?&·? %s"
set pager_format=" %n  %T %s%*  %{!%d %b · %H:%M}  %?X?  %X ? %P  "
set status_format = " %f%?r? %r?   %m %?n?  %n ?  %?d?  %d ?%?t?  %t ?%?F?  %F? %>  %?p?  %p ?"
set vfolder_format = " %N %?n?%3n& ? %8m  · %f"
set attach_format = "%u%D  %T%-75.75d %?T?%& ? %5s · %m/%M"
# no addressed to me, to me, group, cc, sent by me, mailing list
set to_chars=""
# unchanged mailbox, changed, read only, attach mode
set status_chars = " "
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
tag-transforms "replied" "↻ " \
"encrytpted" "" \
"signed" "" \
"attachment" "" \
# The formats must start with 'G' and the entire sequence is case sensitive.
tag-formats "replied" "GR" \
"encrypted" "GE" \
"signed" "GS" \
"attachment" "GA" \
# powerline status bar hack
color status white black
color status green black ''
color status yellow black ''
color status red black ''
color status brightblack blue '(.*) ' 1
color status blue black '.*( )' 1
color status black blue '\s* [0-9]+\s*'
color status blue black '( ).*$' 1
color status yellow black '( )\s*\s*[0-9]+\s*' 1
color status black yellow '\s*\s*[0-9]+\s*'
color status blue yellow '( ) ([0-9]+%|all|end) \s*' 1
color status black blue ' ([0-9]+%|all|end) \s*'
color status yellow black '( )\s* ' 1
color status default black ' '
ignore * ## Ignore all headers
unignore from: to: cc: date: subject: ## Show only these
@ -59,5 +95,3 @@ set my_index_format_post=' %-4.4c %?M?<%M ?%-$my_col_subject.${my_col_subject}
folder-hook .*[sS]ent.* "$my_index_format_pre"t"$my_index_format_post"
folder-hook ! .*[sS]ent.* "$my_index_format_pre"F"$my_index_format_post"

View File

@ -2,26 +2,39 @@
refresh-on-startup no
always-display-description yes
display-article-progress yes
reload-only-visible-feeds yes
text-width 80
auto-reload yes
show-keymap-hint no
user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"
error-log "~/.config/newsboat/error.log"
# formatos
articlelist-format " %t %> %D %L "
feedlist-format "%S %n %11u %t %d"
datetime-format "%Y-%m-%d"
feedlist-title-format "Feeds: %u sin leer, %t total"
datetime-format "%d/%m"
feedlist-format " %n %3U %t "
feedlist-title-format " Feeds: %u/%t %?T?Tag: %T ? %> %N %V "
#articlelist-format " %f %D %t"
#articlelist-title-format " %u/%t - '%T' - %U"
itemview-title-format "Article: %T %> %N %V"
#datetime-format "%Y-%m-%d"
#feedlist-format "%S %n %11u %t %d"
#feedlist-title-format "Feeds: %u sin leer, %t total"
articlelist-format " %f %t %> %D "
articlelist-title-format "%T [%U] (%u sin leer, %t total)"
searchresult-title-format "Search (%u sin leer, %t total)"
#itemview-title-format "%T"
searchresult-title-format "Resultados (%u sin leer, %t total)"
filebrowser-title-format "%f %?O?Open File&Save File?"
help-title-format "Ayuda"
selecttag-title-format "Elegir Etiqueta"
selectfilter-title-format "Elegir Filtro"
itemview-title-format "%T"
urlview-title-format "URLs"
dialogs-title-format "Dialogs"
notify-format "%d Articulos nuevos. %n Articulos no leidos"
# teclas
bind-key ; toggle-show-read-feeds
bind-key j down
bind-key k up
bind-key J next-feed articlelist
@ -42,22 +55,23 @@ bind-key ^t next-unread
bind-key / open-search
# colores
color listnormal cyan default
color listfocus green default standout bold
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info default default bold
color article cyan default
highlight article "^(Feed|Title|Author|Link|Date):.*" color4 default
highlight article "^Podcast Download URL:.*" color5 default
highlight article "^Links:" color15 default
highlight article "\\[[0-9][0-9]*\\]" color1 default
highlight article "\\[image [0-9][0-9]*\\]" color2 default
highlight article "\\[embedded flash: [0-9][0-9]*\\]" color5 default
highlight article ":.*\\(link\\)$" color12 default
highlight article ":.*\\(image\\)$" color2 default
highlight article ":.*\\(embedded flash\\)$" color3 default
color listnormal cyan default
color listfocus green default bold
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info color232 color67 bold
color article color250 default
color background default default
highlight article "^(Feed|Title|Author|Link|Date|Links):" blue default underline
highlight article "^Podcast Download URL:.*" blue default bold
highlight article "\\[image [0-9][0-9]*\\]" cyan default
highlight article "\\[[0-9][0-9]*\\]" white default
highlight article "\\[embedded flash: [0-9][0-9]*\\]" red default
highlight article "\\(link\\)$" blue default
highlight article "\\(image\\)$" cyan default
highlight article "\\(embedded flash\\)$" red default
highlight article "Read more" white default
highlight article "https?://([.:_~!$&'=+*(),;@?a-z/0-9\\-]|%[0-9a-f]{2})+" magenta default
# programas externos
notify-program "notify-send"
@ -74,6 +88,5 @@ macro v set browser "setsid nohup mpv"; open-in-browser ; set browser linkhandle
macro w set browser "tmux split-window -p 70 && tmux send-keys '$w3m %u && tmux kill-pane\n'"; open-in-browser ; set browser linkhandler
macro r set browser "tmux split-window -p 70 && tmux send-keys 'rtv -l %u && tmux kill-pane\n'"; open-in-browser ; set browser linkhandler
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkandler
macro f set browser "firefox -new-tab" ; open-in-browser ; set browser linkandler
# vim: ft=conf cms=#%s

View File

@ -7,7 +7,6 @@ https://vimways.org/index.xml "~Vimways" blogs
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "~DistroTube" youtube
https://www.youtube.com/feeds/videos.xml?user=gotbletu "~Gotbletu" youtube
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith" youtube
https://www.youtube.com/feeds/videos.xml?user=JtheLinuxguy "~Learn Linux" youtube
https://www.youtube.com/feeds/videos.xml?channel_id=UCi8XrDg1bK_MJ0goOnbpTMQ "~BudLabs" youtube
https://www.youtube.com/feeds/videos.xml?user=moviebob "~Moviebob" youtube
https://www.youtube.com/feeds/videos.xml?playlist_id=PLXleEiD94A2d6WdmDU0h7dXJg8scAaZ9U "~Moviebob Reviews" youtube
@ -25,11 +24,12 @@ https://www.youtube.com/feeds/videos.xml?user=olbaidoinomed "~Olbaid" youtube
https://www.reddit.com/r/argentina.rss "~Argentina" reddit
https://www.reddit.com/r/zsh.rss "~Zsh" reddit
https://www.reddit.com/r/bspwm.rss "~Bspwm" reddit
https://www.reddit.com/r/linuxaudio.rss "~Linux Audio" reddit
https://www.reddit.com/r/vim.rss "~Vim" reddit
https://www.reddit.com/r/neovim.rss "~Neovim" reddit
https://www.reddit.com/r/vimporn.rss "~Vim Porn" reddit
https://www.reddit.com/r/unixart.rss "~Unix Art" reddit
https://www.reddit.com/r/vim.rss "~Vim" reddit
https://www.reddit.com/r/commandline.rss "~Command line" reddit
https://www.reddit.com/r/linuxaudio.rss "~Linux Audio" reddit
https://www.reddit.com/r/learnprogramming.rss "~Learn Programming" reddit
https://www.reddit.com/r/chiptunes.rss "~Chiptunes" reddit
https://www.reddit.com/r/jungle.rss "~Jungle" reddit

View File

@ -0,0 +1,35 @@
{
"suggest.triggerAfterInsertEnter": false,
"suggest.noselect": false,
"suggest.snippetIndicator": "★",
"suggest.timeout": 500,
"suggest.minTriggerInputLength": 2,
"suggest.detailField":"abbr",
"suggest.triggerCompletionWait": 100,
"suggest.echodocSupport": true,
"suggest.enablePreview": true,
"diagnostic.displayByAle": true,
"diagnostic.refreshOnInsertMode": true,
"diagnostic.messageTarget": "float",
"diagnostic.virtualText": true,
"diagnostic.checkCurrentLine": true,
"coc.preferences.hoverTarget": "echo",
"signature.target": "echo",
"suggest.maxCompleteItemCount": 20,
"codeLens.enable": true,
"coc.preferences.formatOnSaveFiletypes": [],
"python.autoComplete.addBrackets": true,
"emmet.includeLanguages": {"vue-html": "html", "javascript": "javascriptreact"},
"tsserver.enableJavascript": true,
"tslint.enable": true,
"tslint.autoFixOnSave": true,
"javascript.validate.enable": false,
"eslint.autoFix": true,
"eslint.autoFixOnSave": true,
"eslint.filetypes": ["javascript", "javascript.jsx", "typescript", "typescriptreact", "javascriptreact"],
"prettier.eslintIntegration": true,
"prettier.tslintIntegration": true,
"prettier.stylelintIntegration": true,
"coc.preferences.formatOnType":false
}

View File

@ -1,42 +1 @@
setlocal tw=0
setlocal colorcolumn=0
setlocal fileformat=unix
setlocal syntax=foxdot
let g:ale_sign_column_always = 0
let b:ale_linters = []
let b:ale_fixers = []
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Mappings
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if !exists("g:foxdot_no_mappings") || !g:foxdot_no_mappings
if !hasmapto('<Plug>FoxdotConfig', 'n')
nmap <buffer> <localleader>c <Plug>FoxdotConfig
endif
if !hasmapto('<Plug>FoxdotLineSend', 'n')
nmap <buffer> <localleader>s <Plug>FoxdotLineSend
nmap <buffer> <c-c> <Plug>FoxdotLineSend
endif
if !hasmapto('<Plug>FoxdotParagraphSend', 'n')
nmap <buffer> <localleader>ss <Plug>FoxdotParagraphSend
nmap <buffer> <c-e> <Plug>FoxdotParagraphSend
endif
imap <buffer> <c-e> <Esc><Plug>FoxdotParagraphSend<Esc>i<Right>
imap <buffer> <c-c> <Esc><Plug>FoxdotLineSend<Esc>i<Right>
nnoremap <buffer> <localleader>h :FoxdotHush<cr>
nnoremap <buffer> <c-h> :FoxdotHush<cr>
let i = 1
while i <= 9
execute 'nnoremap <buffer> <localleader>'.i.' :FoxdotSilence '.i.'<cr>'
execute 'nnoremap <buffer> <c-'.i.'> :FoxdotSilence '.i.'<cr>'
execute 'nnoremap <buffer> <localleader>s'.i.' :FoxdotPlay '.i.'<cr>'
let i += 1
endwhile
endif
au BufNewFile,BufRead *.foxdot setfiletype=foxdot

View File

@ -0,0 +1,42 @@
"this indent function isn't that smart yet, hopefully it'll improve in the future
if exists ("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetSCIndent()
setlocal indentkeys+=0),0],0}
if exists ("*GetSCIndent")
finish
endif
function GetSCIndent()
let curr_line = getline(v:lnum)
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
return 0
endif
let prev_line = getline(lnum)
let ind = indent(lnum)
if prev_line =~ '\(\/\/.*\)\@\<![[({]\s*\([^])}]*\)\=$'
let ind = ind + &sw
endif
if curr_line =~ '\v^\s*[)}\]]'
"if synIDattr(synID(line("."), col("."), 0), "name") =~? "scComment" ||
" synIDattr(synID(line("."), col("."), 0), "name") =~? "scString" ||
" synIDattr(synID(line("."), col("."), 0), "name") =~? "scSymbol"
" "do nothing
"else
let ind = ind - &sw
"end
endif
return ind
endfunction

View File

@ -25,14 +25,14 @@ Plug 'othree/es.next.syntax.vim', {'for': 'javascript'}
Plug 'mxw/vim-jsx', {'for': 'javascript'}
Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'}
Plug 'mhartington/nvim-typescript', {'do': './install.sh', 'for': 'typescript'}
Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}}
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'sheerun/vim-polyglot'
Plug 'tmsvg/pear-tree'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-vinegar'
Plug '/usr/bin/fzf'
Plug 'junegunn/fzf.vim'
Plug 'vim-airline/vim-airline'
Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'mhartington/oceanic-next'
call plug#end()
" }}}
@ -49,7 +49,9 @@ set noswapfile " New buffers will be loaded without creating a swapfile
set hidden " Enables to switch between unsaved buffers and keep undo history
set lazyredraw " Don't redraw while executing macros (better performance)
set showmatch " Show matching brackets when text indicator is over them
set matchtime=2 " How many tenths of a second to blink when matching brackets
set matchpairs+=<:> " Add HTML brackets to pair matching
set matchtime=1 " Tenths of a second to show the matching paren
set cpoptions-=m " showmatch will wait 0.5s or until a char is typed
set nojoinspaces " No extra space when joining a line which ends with . ? !
set updatetime=300 " Update time used to create swap file or other things
set synmaxcol=200 " Don't try to syntax highlight minified files
@ -67,6 +69,8 @@ set foldnestmax=10 " Deepest fold is 10 levels
set foldmethod=marker " Markers are used to specify folds.
set foldlevelstart=10
set foldclose=all
set selectmode=key
set keymodel=startsel
set softtabstop=4
set noshowmode
set breakindent
@ -82,9 +86,10 @@ set undofile
set undolevels=1000
set undoreload=10000
set undodir=$HOME/.config/nvim/undo
set formatoptions+=n
set formatoptions+=nj
set signcolumn=yes
set pastetoggle=<F12>
set fillchars+=vert:\|
" Display all matching files when we tab complete
set wildmode=longest:full,full
@ -112,24 +117,9 @@ if &readonly
set signcolumn=no
let g:ale_disabled
let w:airline_disabled=1
let g:loaded_airline = 0
endif
" }}}
" Netrw {{{
" - :edit a folder to open a file browser
" - <CR>/v/t to open in an h-split/v-split/tab
let g:netrw_banner=0
let g:netrw_browse_split=4
let g:netrw_altv=1
let g:netrw_preview=1
let g:netrw_liststyle=3
let g:netrw_list_hide=netrw_gitignore#Hide()
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
let g:netrw_sort_sequence = '[\/]$,*'
let g:netrw_fastbrowse=2
let g:netrw_winsize=-28
let g:netrw_localrmdir='rm -r'
nnoremap <F5> Lexplore<CR>
" }}}
" {{{ Ale
let g:ale_use_global_executables = 1
let g:ale_completion_enabled = 0
@ -148,7 +138,6 @@ let g:ale_loclist_msg_format = '[%linter%] %s% (code)% [%severity%]'
let g:ale_set_highlights = 1
let g:ale_set_signs = 1
let g:ale_set_balloons = 1
let g:ale_virtualtext_cursor = 1
let g:ale_linter_aliases = {
\ 'jsx': ['css', 'javascript'],
\ 'vue': ['vue', 'javascript'],
@ -178,13 +167,15 @@ nmap <silent> <F10> <Plug>(ale_previous_wrap)
nmap <silent> <F11> <Plug>(ale_next_wrap)
" }}}
" CoC {{{
let g:coc_global_extensions = ['coc-stylelint', 'coc-vetur', 'coc-tsserver', 'coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-eslint', 'coc-prettier', 'coc-python']
let g:coc_global_extensions = ['coc-vimlsp', 'coc-stylelint', 'coc-vetur', 'coc-tsserver', 'coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-eslint', 'coc-prettier', 'coc-python']
" Remap keys for gotos
nmap <silent> <leader>ld <Plug>(coc-definition)
nmap <silent> <leader>lt <Plug>(coc-type-definition)
nmap <silent> <leader>li <Plug>(coc-implementation)
nmap <silent> <leader>lf <Plug>(coc-references)
nmap <silent> <leader>lr <Plug>(coc-references)
nmap <silent> <leader>l{ <Plug>(coc-diagnostic-prev)
nmap <silent> <leader>l} <Plug>(coc-diagnostic-next)
" Remap for rename current word
nmap <leader>lr <Plug>(coc-rename)
@ -199,9 +190,6 @@ function! s:show_documentation()
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
au CursorHold * silent call CocActionAsync('highlight')
"}}}
" FZF {{{
let g:fzf_layout = { 'down': '~35%' }
@ -225,10 +213,12 @@ let g:fzf_colors = {
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
let $FZF_DEFAULT_COMMAND='fd -t f -S -2m -F -H --ignore-file .gitignore'
let g:fzf_buffers_jump = 1
let g:fzf_tags_command = 'ctags -R'
let g:fzf_history_dir = '~/.local/share/fzf-history'
let g:fzf_nvim_statusline = 0
let g:fzf_files_options = "--preview 'bat --color \"always\" {}'"
command! -bang -nargs=* Rg
\ call fzf#vim#grep(
@ -255,83 +245,126 @@ let g:polyglot_disabled = ['javascript', 'jsx', 'typescript', 'json', 'python']
let g:jsx_ext_required = 1
let g:yats_host_keyword = 1
"}}}
" Colors {{{
let g:oceanic_next_terminal_italic = 1
colo OceanicNext
function! MyHighlights() abort
highlight Trail ctermbg=red guibg=red
call matchadd('Trail', '\s\+$', 100)
endfunction
hi! Comment cterm=italic ctermbg=NONE guibg=NONE
hi! Normal ctermbg=NONE guibg=NONE
hi! NonText ctermbg=NONE guibg=NONE
hi! LineNr ctermbg=232 ctermfg=237 guibg=#6699CC
hi! CursorLineNr ctermbg=236 ctermfg=NONE
hi! CursorLine ctermbg=236 ctermfg=NONE
hi! StatusLine guifg=#16252b guibg=#6699CC
hi! StatusLineNC guifg=#16252b guibg=#16252b
hi! EndOfBuffer ctermbg=NONE ctermfg=NONE guibg=#17252c guifg=#17252c
hi! link CocErrorSign WarningMsg
hi! link CocWarningSign Number
hi! link CocInfoSign Type
" }}}
" Statusline {{{
let g:airline_extensions = ['quickfix', 'ale']
let g:airline_extensions = ['quickfix', 'ale', 'coc', 'tabline']
let g:airline#extensions#default#layout = [['a', 'c'], ['warning', 'error', 'z']]
let g:airline_section_z = '%p%%'
let g:airline_skip_empty_sections = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline_section_z = airline#section#create(['linenr'])
let g:airline#extensions#default#layout = [['a', 'c', 'warning', 'error'], ['x', 'z']]
let g:airline#extensions#ale#enabled = 1
let g:airline#extensions#ale#checking_symbol=""
let airline#extensions#ale#show_line_numbers = 1
let g:airline#extensions#tabline#show_splits = 0
let g:airline#extensions#tabline#show_buffers = 0
let g:airline#extensions#tabline#show_tab_count = 0
let g:airline#extensions#tabline#show_tab_type = 0
let g:airline#extensions#tabline#show_close_button = 0
let g:airline#extensions#tabline#exclude_preview = 1
let g:airline#extensions#tabline#tab_min_count = 2
let g:airline#extensions#tabline#tab_nr_type = 2 " splits and tab number
let g:airline_exclude_preview = 1
let g:airline_powerline_fonts = 1
let g:airline_highlighting_cache = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_left_sep = ''
let g:airline_right_sep = ''
let g:airline_symbols.linenr = 'Ξ'
let g:airline_theme='space'
let g:airline_left_sep = ' '
let g:airline_right_sep = ' '
let g:airline_left_alt_sep = ' '
let g:airline_right_alt_sep = ' '
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = ' '
let g:airline#extensions#tabline#right_sep = ' '
let g:airline#extensions#tabline#right_alt_sep = ' '
let g:airline_theme='moonfly'
let g:airline#extensions#ale#checking_symbol=""
let airline#extensions#ale#show_line_numbers = 1
" }}}
" Colors {{{
set termguicolors
let g:oceanic_next_terminal_italic = 1
colo OceanicNext
function! MyHighlights() abort
highlight Trail ctermbg=red guibg=red
call matchadd('Trail', '\s\+$', 100)
highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)
endfunction
hi! VertSplit ctermbg=NONE ctermfg=NONE guibg=#080808 guifg=#080808
hi! Comment cterm=italic ctermbg=NONE
hi! Normal ctermbg=NONE guibg=#080808
hi! NonText ctermbg=NONE guibg=#080808
hi! LineNr ctermbg=232 ctermfg=237 guibg=#080808 guifg=#3a3a3a
hi! CursorLineNr ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE
hi! CursorLine ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE
hi! SignColumn ctermbg=NONE guibg=#080808
hi! Folded ctermbg=NONE guibg=#080808
hi! StatusLine guibg=#080808 ctermbg=NONE
hi! StatusLineNC guibg=#080808 ctermbg=NONE
hi! TabLine cterm=None ctermbg=NONE guibg=#080808
hi! TabLineSel cterm=None ctermbg=NONE guibg=#080808
hi! TabLineFill cterm=None ctermbg=NONE guibg=#080808 guifg=#080808
hi! EndOfBuffer ctermbg=NONE ctermfg=NONE guibg=#080808 guifg=NONE
hi! WildMenu ctermfg=226 ctermbg=0 guifg=#ffff00 guibg=#000000
hi! link CocErrorSign WarningMsg
hi! link CocWarningSign Number
hi! link CocInfoSign Type
" }}}
" AutoCommands {{{
if !exists("autocommands_loaded") && has("autocmd")
let autocommands_loaded = 1
" Auto remove all trailing whitespace on :w
au BufWritePre * :%s/\s\+$//e
" Disables automatic commenting on newline
au FileType * setl formatoptions-=cro
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
au VimLeave *.tex !texclear %
au ColorScheme * call MyHighlights()
au BufWritePost ~/.Xresources,~/.Xdefaults !xrdb %
au InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif
au TermOpen * setlocal nonumber norelativenumber
au QuitPre * if empty(&buftype) | lclose | endif
au FocusLost,TabLeave * call PopOutOfInsertMode()
function! PopOutOfInsertMode()
if v:insertmode
feedkeys("\<C-\>\<C-n>")
call feedkeys("\<C-\>\<C-n>")
endif
endfunction
aug aug_cursor_line
aug on_save
au BufWritePre * :%s/\s\+$//e " Auto remove all trailing whitespace on :w
au BufWritePost ~/.Xresources,~/.Xdefaults !xrdb %
au BufWritePost ~/.config/nvim/init.vim source $MYVIMRC
au BufWritePost init.vim source $MYVIMRC " Editing in dotfiles repo
aug END
aug on_quit
au VimLeave *.tex !texclear % " Runs a script that cleans out tex build files whenever I close out of a .tex file.
au QuitPre * if empty(&buftype) | lclose | endif
aug END
aug defx_things
" Close defx if it's the only buffer left in the window
au WinEnter * if &ft == 'defx' && winnr('$') == 1 | q | endif
" Move focus to the next window if current buffer is defx
au TabLeave * if &ft == 'defx' | wincmd w | endif
au FileType defx do WinEnter | call s:defx_my_settings()
aug END
aug term_stuff
au TermOpen * setlocal nonumber
au TermOpen * setlocal laststatus=0
au TermOpen * setlocal nocursorline
au TermOpen * setlocal signcolumn=no
au TermOpen * setlocal noshowmode
au TermOpen * setlocal noruler
aug END
aug miscs
au CursorHold * silent call CocActionAsync('highlight') " Highlight symbol under cursor on CursorHold
au ColorScheme * call MyHighlights()
aug END
aug inserts
au InsertEnter * setlocal nocursorline
au InsertLeave * setlocal cursorline
au InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endif
au FocusLost,TabLeave * call PopOutOfInsertMode()
aug END
aug skeletons
autocmd BufNewFile *.py 0r ~/.config/nvim/templates/py.skeleton
autocmd BufNewFile *.sh 0r ~/.config/nvim/templates/sh.skeleton
au BufNewFile *.py 0r ~/.config/nvim/templates/py.skeleton
au BufNewFile *.sh 0r ~/.config/nvim/templates/sh.skeleton
aug END
aug fzf_setup
@ -340,20 +373,147 @@ if !exists("autocommands_loaded") && has("autocmd")
au TermOpen term://*FZF tnoremap <silent> <buffer> <esc> <c-c>
aug END
" Automatic syntax highlighting for files
aug set_file_types
aug file_types
au FileType * setl formatoptions-=cro " Disables automatic commenting on newline
au BufRead,BufNewFile man set textwidth=80
au BufRead,BufNewFile *.md set filetype=markdown
au BufRead,BufNewFile *.conf set filetype=dosini
au BufRead,BufNewFile *.conf set filetype=config
au BufRead,BufNewFile *.bash* set filetype=sh
au BufRead,BufNewFile *.vue set filetype=vue
au BufRead,BufNewFile *.jsx set filetype=javascript.jsx
au BufRead,BufNewFile *.ts set filetype=typescript
au BufRead,BufNewFile *.tsx set filetype=typescript.tsx
au BufRead,BufNewFile *.vue set filetype=vue
au BufRead,BufNewFile man set textwidth=80
au FileType typescript,json setl formatexpr=CocAction('formatSelected')
au FileType json syntax match Comment +\/\/.\+$+
aug END
endif
" }}}
" File browser {{{
call defx#custom#option('_', {
\ 'columns': 'mark:indent:icons:filename',
\ 'winwidth': 30,
\ 'split': 'vertical',
\ 'direction': 'botright',
\ 'show_ignored_files': 0,
\ 'toggle': 1,
\ })
call defx#custom#column('icon', {
\ 'directory_icon': '▸',
\ 'opened_icon': '▾',
\ 'root_icon': ' ',
\ })
call defx#custom#column('mark', {
\ 'readonly_icon': '✗',
\ 'selected_icon': '✓',
\ })
function! s:defx_my_settings() abort
nnoremap <silent><buffer><expr> <CR> defx#do_action('drop')
nnoremap <silent><buffer><expr> l <sid>defx_toggle_tree()
nnoremap <silent><buffer><expr> s defx#do_action('open', 'botright vsplit')
nnoremap <silent><buffer><expr> i defx#do_action('open', 'topleft split')
nnoremap <silent><buffer><expr> st defx#do_action('multi', [['drop', 'tabnew'], 'quit'])
nnoremap <silent><buffer><expr> sg defx#do_action('multi', [['drop', 'vsplit'], 'quit'])
nnoremap <silent><buffer><expr> sp defx#do_action('multi', [['drop', 'split'], 'quit'])
nnoremap <silent><buffer><expr> P defx#do_action('open', 'pedit')
nnoremap <silent><buffer><expr> K defx#do_action('new_directory')
nnoremap <silent><buffer><expr> N defx#do_action('new_multiple_files')
nnoremap <silent><buffer><expr> dd defx#do_action('remove')
nnoremap <silent><buffer><expr> r defx#do_action('rename')
nnoremap <silent><buffer><expr> x defx#do_action('execute_system')
nnoremap <silent><buffer><expr> . defx#do_action('toggle_ignored_files')
nnoremap <silent><buffer><expr> yy defx#do_action('yank_path')
nnoremap <silent><buffer><expr> h defx#do_action('cd', ['..'])
nnoremap <silent><buffer><expr> ~ defx#async_action('cd')
nnoremap <silent><buffer><expr> q defx#do_action('quit')
nnoremap <silent><buffer><expr><nowait> \ defx#do_action('cd', getcwd())
nnoremap <silent><buffer><expr><nowait> c defx#do_action('copy')
nnoremap <silent><buffer><expr><nowait> m defx#do_action('move')
nnoremap <silent><buffer><expr><nowait> p defx#do_action('paste')
nnoremap <silent><buffer><expr> ' defx#do_action('toggle_select') . 'j'
nnoremap <silent><buffer><expr> * defx#do_action('toggle_select_all')
nnoremap <silent><buffer><expr> <C-r> defx#do_action('redraw')
nnoremap <silent><buffer><expr> S defx#do_action('toggle_sort', 'Time')
endfunction
function! s:defx_toggle_tree() abort
if defx#is_directory()
return defx#do_action('open_or_close_tree')
endif
return defx#do_action('drop')
endfunction
nnoremap <F5> :Defx<CR>
" }}}
" REPL {{{
let g:my_active_terminal_job_id = -1
function! LaunchTerminal() range
silent exe "normal! :12split\n"
silent exe "normal! :terminal\n"
exe "normal! G\n"
call SetActiveTerminalJobID()
endfunction
function! LaunchSC() range abort
silent exe "normal! :tabnew\n"
silent exe "normal! :terminal\n"
exe "normal! G\n"
call SetActiveTerminalJobID()
call jobsend(g:my_active_terminal_job_id, "scsynth -u 57110\r")
sleep 2200ms
silent exe "normal! :vsplit\n"
silent exe "normal! :terminal\n"
exe "normal! G\n"
call SetActiveTerminalJobID()
call jobsend(g:my_active_terminal_job_id, "sclang -D ~/Music/LiveCoding/foxdot.scd\r")
silent exe "normal! :tabprev\n"
sleep 2200ms
endfunction
function! LaunchFoxDot() range abort
call LaunchTerminal()
call jobsend(g:my_active_terminal_job_id, "ipython\r")
sleep 2200ms
call jobsend(g:my_active_terminal_job_id, "from FoxDot import *\r")
endfunction
function! SetActiveTerminalJobID()
let g:my_active_terminal_job_id = b:terminal_job_id
echom "Active terminal job ID set to " . g:my_active_terminal_job_id
endfunction
function! LineFlash(blinktime)
redraw!
exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
silent exe "normal! vv"
endfunction
function! SendToFoxdot() range abort
" Yank the last selection into register 'a'
silent exe 'normal! gv"ay'
" Flash selection
call LineFlash(0.3)
" Send register 'a' into the terminal
call jobsend(g:my_active_terminal_job_id, @a)
" Pause a moment, then send a carriage return to trigger its evaluation
sleep 210ms
call jobsend(g:my_active_terminal_job_id, "\r")
endfunction
function! SilenceFoxDot() abort
call jobsend(g:my_active_terminal_job_id, "Clock.clear()\r")
endfunction
map <silent> <Leader>xs :call LaunchSC()<CR>
map <silent> <Leader>xd :call LaunchFoxDot()<CR>
map <silent> <Leader>xx :call SendToFoxdot()<CR>
map <silent> <Leader>x. :call SilenceFoxDot()<CR>
map <silent> <Leader>xf :set filetype=foxdot<CR>
"}}}
"Mappings {{{
"Normal {{{
" LaTeX and friends
@ -363,9 +523,6 @@ nnoremap <F8> :w! \| !compiler <c-r>%<CR>
nnoremap <leader>pu :PlugUpdate<CR>
nnoremap <leader>pU :PlugUpgrade<CR>
" Use urlview to choose and open a url:
nnoremap <leader>u :w<Home>silent <End> !urlscan<CR>
" Super quick search and replace
nnoremap <leader>+ :'{,'}s/\<<C-r>=expand("<cword>")<CR>\>/
nnoremap <leader>¿ :%s/\<<C-r>=expand("<cword>")<CR>\>/
@ -387,6 +544,7 @@ nnoremap <leader>w :w!<CR>
" Fast exits
nnoremap <leader>q :q!<CR>
nnoremap <leader>Q :qa!<CR>
" Splits
nnoremap <leader>T :terminal<CR>
@ -422,6 +580,7 @@ noremap <silent> <Home> g<Home>
noremap <silent> <End> g<End>
nnoremap Y 0y$
nnoremap <leader>y y$
nnoremap L 0v$
" Alt to switch windows
nnoremap <M-j> <C-W><C-J>
@ -431,12 +590,16 @@ nnoremap <M-h> <C-W><C-H>
" Tab movement
nnoremap tn :tabnew<cr>
nnoremap tk :tabnext<cr>
nnoremap tj :tabprev<cr>
nnoremap th :tabfirst<cr>
nnoremap tl :tablast<cr>
" Center view on search result
nnoremap n nzz
nnoremap N Nzz
nnoremap * *zz
nnoremap # #zz
nnoremap g* g*zz
nnoremap g# g#zz
"}}}
"Insert {{{
" Ensure that ctrl+u in insert mode can be reversed
@ -472,6 +635,10 @@ vnoremap <buffer><silent><expr>k v:count ? 'k' : 'gk'
" Line movements
vnoremap $ $h
" Fix indentation without leaving visual mode
vnoremap > >gv
vnoremap < <gv
" Delete current visual selection and dump in black hole buffer before pasting
" Used when you want to paste over something without it getting copied to
" Vim's default buffer
@ -498,7 +665,7 @@ tnoremap <M-l> <C-\><C-n><C-w>l
:command! QA qa
"}}}
" }}}
" Stuff i'll probably use if i remember to {{{
" Functions {{{
" Don't close window when deleting a buffer
command! Bclose call <SID>BufcloseCloseIt()
function! <SID>BufcloseCloseIt()
@ -571,18 +738,6 @@ nnoremap <Leader>cw
\ unlet b:sub <Bar>
\ endif <CR>
" highlight long lines
let w:longlines = matchadd('ColorColumn', '\%'.&tw.'v', &tw)
nnoremap <silent> <Leader>ll
\ :if exists('w:longlines') <Bar>
\ silent! call matchdelete(w:longlines) <Bar>
\ unlet w:longlines <Bar>
\ elseif &textwidth > 0 <Bar>
\ let w:longlines = matchadd('ColorColumn', '\%'.&textwidth.'v', &textwidth) <Bar>
\ else <Bar>
\ let w:longlines = matchadd('ColorColumn', '\%80v', 80) <Bar>
\ endif <CR>
" local keyword jump
nnoremap <Leader>fw
\ [I:let b:jump = input('Go To: ') <Bar>

View File

@ -0,0 +1,207 @@
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syntax case match
"syntax region foxdotInstrument start=/(/ skip=/\\(\\)/ end=/)/
"syntax region foxdotArray start=/[/ end=/]/
syn keyword foxdotSynths
\ loop
\ gsynth
\ play
\ play1
\ play2
\ audioin
\ noise
\ dab
\ varsaw
\ lazer
\ growl
\ bass
\ dirt
\ crunch
\ rave
\ scatter
\ charm
\ bell
\ gong
\ soprano
\ dub
\ viola
\ scratch
\ klank
\ feel
\ glass
\ soft
\ quin
\ pluck
\ spark
\ blip
\ ripple
\ creep
\ orient
\ zap
\ marimba
\ fuzz
\ bug
\ pulse
\ saw
\ snick
\ twang
\ karp
\ arpy
\ nylon
\ donk
\ squish
\ swell
\ razz
\ sitar
\ star
\ piano
\ sawbass
\ prophet
\ pads
\ pasha
\ ambi
\ space
\ keys
\ dbass
\ sinepad
\ Clock
\ Group
\ Master
syn keyword foxdotAttribs
\ degree
\ oct
\ freq
\ dur
\ delay
\ buf
\ blur
\ amplify
\ scale
\ bpm
\ sample
\ env
\ fmod
\ pan
\ rate
\ amp
\ midinote
\ channel
\ vib
\ vibdepth
\ slide
\ sus
\ slidedelay
\ slidefrom
\ bend
\ benddelay
\ coarse
\ striate
\ pshift
\ hpf
\ hpr
\ lpf
\ lpr
\ bpf
\ bpr
\ bpnoise
\ bits
\ amp
\ crush
\ dist
\ tmp
\ chop
\ tremolo
\ beat_dur
\ echo
\ spin
\ cut
\ room
\ mix
\ formant
\ shape
\ drive
syn keyword foxdotVars
\ var
\ linvar
\ now
\ pitch
\ follow
\ PDur
\ PWalk
\ PStep
\ stop
\ sometimes
\ often
\ every
\ clear
syn keyword foxdotScales
\ aeolian
\ chinese
\ chromatic
\ custom
\ default
\ diminished
\ dorian
\ dorian2
\ egyptian
\ freq
\ harmonicMajor
\ harmonicMinor
\ indian
\ justMajor
\ justMinor
\ locrian
\ locrianMajor
\ lydian
\ lydianMinor
\ major
\ majorPentatonic
\ melodicMajor
\ melodicMinor
\ minor
\ minorPentatonic
\ mixolydian
\ phrygian
\ prometheus
\ romanianMinor
\ yu
\ zhi
syn match foxdotOperator '\V=\|-\|+\|*\|@\|/\|%\|&\||\|^\|~\|<\|>\|!='
"syn match foxdotError '[$?]\|\([-+@%&|^~]\)\1\{1,}\|\([=*/<>]\)\2\{2,}\|\([+@/%&|^~<>]\)\3\@![-+*@/%&|^~<>]\|\*\*[*@/%&|^<>]\|=[*@/%&|^<>]\|-[+*@/%&|^~<]\|[<!>]\+=\{2,}\|!\{2,}=\+' display
syn match foxdotError '\<\d\+[^0-9[:space:]]\+\>' display
syn match foxdotComment "\v#.*$"
syn match foxdotNumberError '\<\d[_0-9]*\D\>' display
syn match foxdotNumberError '\<0[_0-9]\+\>' display
syn match foxdotNumberError '\<0_x\S*\>' display
syn match foxdotNumberError '\<0[bBxXoO][_0-9a-fA-F]*_\>' display
syn match foxdotNumberError '\<\d[_0-9]*_\>' display
syn match foxdotNumber '\<\d\>' display
syn match foxdotNumber '\<[1-9][_0-9]*\d\>' display
syn match foxdotNumber '\<\d[jJ]\>' display
syn match foxdotNumber '\<[1-9][_0-9]*\d[jJ]\>' display
syn match foxdotFloat '\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=\>' display
syn match foxdotFloat '\<\d\%([_0-9]*\d\)\=[eE][+-]\=\d\%([_0-9]*\d\)\=[jJ]\=\>' display
syn match foxdotFloat '\<\d\%([_0-9]*\d\)\=\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=' display
hi def link foxdotSynths Function
hi def link foxdotNumber Number
hi def link foxdotFloat Number
hi def link foxdotScales Keyword
hi def link foxdotAttribs Label
hi def link foxdotVars Conditional
hi def link foxdotComment Comment
hi def link foxdotError Error
hi def link foxdotNumberError Error
hi def link foxdotOperator Operator
let b:current_syntax = "foxdot"

View File

@ -0,0 +1,7 @@
from FoxDot import *
Clock.clear()
Clock.bpm = 130

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euf -o pipefail

View File

@ -247,7 +247,6 @@ map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
# Filesystem Operations
map = chmod
map pp paste
map po paste overwrite=True
map pP paste append=True

View File

@ -1,4 +1,7 @@
# BSPWM Hotkeys
ctrl + alt + {q,r}
bspc {quit,wm -r}
super + {_,shift} + w
bspc node -{c,k}
@ -78,11 +81,8 @@ ctrl + alt + z
Print
pantallazo
super + F1
fecha
super + {F2,F3,F4,F5,F6}
{pila,tapa,notifocus,grabar,corte}
super + {F1,F2,F3,F4,F5,F6,F7}
{fecha,pila,tapa,notifocus,grabar,corte,touchpad}
# Media Keys
XF86Audio{Prev,Next}

View File

@ -1,4 +1,5 @@
[options]
font = NotoSansMono Nerd Font Regular 9.5
scroll_on_output = false
scroll_on_keystroke = true
audible_bell = false
@ -54,9 +55,4 @@ color14 = #149b93
# white
color7 = #a89984
color15 = #c9c9c9
[hints]
padding = 8
font = NotoSansMono Nerd Font Regular 9.5
# vim: ft=dosini cms=#%s

View File

@ -20,7 +20,7 @@ alias surfraw='surfraw -browser=$BROWSER'
alias bm='bashmount'
alias kat='cat'
alias nb='newsboat --quiet'
alias gal='sxiv -p -b -a -q'
alias sxiv='sxiv -p -b -a -q'
# MAXIMUM VERBOSITY YIELDS MAXIMUM RESULTS
alias chmod='chmod -v'
@ -36,7 +36,7 @@ alias mount='mount -v | column -t'
alias umount='umount -v'
# Con opciones por defecto
alias cat='bat --color=always'
alias cat='bat --color=always --terminal-width=-10'
alias buscar="rg --files --color='always' --heading --line-number --no-messages --no-ignore --hidden --follow --smart-case --glob '!.git/' --glob '!node_modules/' --regexp"
alias ncdu='ncdu --color dark -rr -x --exclude .git --exclude node_modules'
alias ls='ls -Ft --color=always --group-directories-first'
@ -58,6 +58,7 @@ alias dd='dd status=progress'
alias dirs='dirs -v -p'
alias dfc='dfc -dmT'
alias diff='diff --color=auto'
alias dif='diff-so-fancy | less --tabs=1,5 -SRX'
# Comandos
alias sudo='sudo '

View File

@ -1,4 +1,6 @@
[Desktop Entry]
Type=Application
Name=Mail
Terminal=false
Exec=/usr/bin/termite -e neomutt %u
MimeType=x-scheme-handler/mailto;

View File

@ -0,0 +1,278 @@
:root {
--tabs-border: #212121 !important;
/* active tab left & right borders - not working in 58?*/
--toolbox-border-bottom-color: #212121 !important;
/* 1px line under background tabs */
--chrome-nav-bar-controls-border-color: #212121 !important;
/* border around url bar */
}
#main-window {
--tabs-navbar-shadow-size: 0px !important;
}
#bookmarks-menu-button {
/* 'Show your bookmarks' toolbar button */
list-style-image: url("bookmarks.svg") !important;
}
#main-window[lwthemetextcolor="bright"] #urlbar,
#main-window[lwthemetextcolor="bright"] .searchbar-textbox {
box-shadow: initial !important;
background-color: rgb(20, 20, 22) !important;
transition: background-color 0.3s !important;
}
#main-window[lwthemetextcolor="bright"] #urlbar:focus-within,
#main-window[lwthemetextcolor="bright"] .searchbar-textbox:focus-within {
background-color: rgb(12, 12, 13) !important;
border-color: transparent !important;
border-image: none !important;
}
#main-window[lwthemetextcolor="bright"] #urlbar:hover,
#main-window[lwthemetextcolor="bright"] .searchbar-textbox:hover {
box-shadow: initial !important;
background-color: rgb(12, 12, 13) !important;
border-color: transparent !important;
border-image: none !important;
}
toolbox {
background-color: #141414 !important;
color: #737f7f;
}
#tabbrowser-tabs .tabbrowser-tab .tab-close-button {
display: none !important;
}
:root:-moz-any([inFullscreen], [tabsintitlebar])
#TabsToolbar:not(:-moz-lwtheme) {
-moz-appearance: none !important;
}
#TabsToolbar {
background-color: #141414 !important;
margin-bottom: 0px !important;
margin-top: 0px !important;
margin-left: 45vw !important;
margin-right: 0px !important;
max-height: 35px !important;
height: 35px !important;
}
#nav-bar {
margin-bottom: 0px !important;
margin-top: -35px !important;
margin-left: 0px !important;
margin-right: 55vw !important;
border: none !important;
border-radius: 0px;
height: 35px;
background-color: #141414 !important;
padding-top: 2px;
padding-bottom: 2px;
}
#main-window[sizemode="normal"] > #titlebar {
-moz-appearance: initial !important;
}
#stop-reload-button,
nav-bar-overflow-button,
#PanelUI-button,
home-button,
#customizableui-special-spring1,
#customizableui-special-spring2,
#library-button,
#sidebar-button,
.tabs-newtab-button,
.titlebar-placeholder {
display: none !important;
}
#back-button > .toolbarbutton-icon,
#forward-button > .toolbarbutton-icon {
transform: scale(0.9, 0.9) !important;
margin-left: -2px !important;
margin-right: -2px !important;
}
#PanelUI-button,
#customization-panel-container,
#customization-panelWrapper .panel-arrow {
-moz-box-ordinal-group: 0 !important;
margin-right: -6px !important;
}
#appMenu-popup {
margin-right: -258px !important;
}
#appMenu-popup .panel-arrow {
margin-right: 248px !important;
}
#nav-bar-overflow-button {
transform: scale(0.9, 0.9) !important;
fill: var(--color-overflow) !important;
}
.tabbrowser-tab {
height: 35px !important;
}
.tabbrowser-tab::after,
.tabbrowser-tab::before {
border-left: none !important;
color: #141414 !important;
opacity: 0.2 !important;
}
.tabbrowser-tab::after,
.tabbrowser-tab::before {
color: #212121 !important;
opacity: 0.2 !important;
}
/* New tab button color */
#new-tab-button,
.tabs-newtab-button {
fill: var(--chrome-color) !important;
}
/* tab line - adjust color & size, default #737F7F 2px */
/* .tab-line { */
/* background-color: #737f7f !important; */
/* height: 0px !important; */
/* } */
.tab-line {
display: none !important;
}
/* Hide various elements */
/* Menu */
#appMenu-fxa-container,
/* Sign in to Sync */
#appMenu-fxa-container+toolbarseparator,
/* #appMenuRestoreLastSession, */
#appMenu-zoom-controls,
#appMenu-zoom-controls+toolbarseparator,
#appMenu-edit-controls,
#appMenu-edit-controls+toolbarseparator,
#appMenu-library-button,
#appMenu-customize-button,
#appMenu-customize-button+toolbarseparator,
#appMenu-open-file-button,
#appMenu-save-file-button,
#appMenu-find-button,
#appMenu-more-button,
/* URL Bar */
#urlbar[focused="true"],
#urlbar:hover, .searchbar-textbox:hover {
box-shadow: 0 0 0 !important;
border: 1 solid #535c5c !important;
}
#urlbar,
.searchbar-textbox,
#urlbar:hover,
.searchbar-textbox:hover {
background: #212121 !important;
color: #737f7f !important;
height: 35px !important;
padding: 2px 10px !important;
font-size: 0.9em !important;
outline: none !important;
box-shadow: 0 0 0;
border: none !important;
-moz-appearance: none;
margin: 5px 5px !important;
min-height: 25px !important;
cursor: default;
}
#pageActionButton,
#pocket-button-box,
ar-button,
.autocomplete-history-dropmarker,
#identity-box,
.urlbar-history-dropmarker.urlbar-icon.chromeclass-toolbar-additional,
#TabsToolbar .titlebar-placeholder[type="pre-tabs"],
#page-action-buttons,
#PanelUI-menu-button,
#identity-icon-labels {
display: none !important;
}
:root:not([uidensity="compact"]) .tab-content {
padding: 0 10px;
background-color: #141414 !important;
color: #535c5c !important;
border: 0;
}
.CodeMirror {
font-family: "Iosevka" !important;
font-size: 10pt !important;
}
tab .tab-icon,
.tab-icon-image {
filter: invert(1); /* Remove invert(1) to make it dark */
}
:root:not([customizing]) .tab-line {
display: none;
}
.tabbrowser-tab[fadein]:not([pinned]) {
max-width: none !important;
}
.tabbrowser-tab:not([pinned]):hover .tab-icon-image {
display: none !important;
}
.tabbrowser-tab:hover .tab-throbber,
.tabbrowser-tab:hover .tab-icon-image,
.tabbrowser-tab:hover .tab-sharing-icon-overlay,
.tabbrowser-tab:hover .tab-icon-overlay,
.tabbrowser-tab:hover .tab-label-container,
.tabbrowser-tab:hover .tab-icon-sound {
-moz-box-ordinal-group: 2 !important;
}
/* Change the color of buttons in the nav-bar (sidebar, more, hamburger)*/
/* nav-bar-overflow-button, */
/* #PanelUI-menu-button, */
/* #sidebar-button { */
/* opacity: 1 !important; */
/* fill: var(--primary-accent-color) !important; */
/* } */
/* Put refresh button "inside" address bar */
#pageActionSeparator {
margin-right: 26px !important;
}
#stop-reload-button .toolbarbutton-icon {
border-radius: 0px !important;
padding: 5px 6px !important;
}
#stop-reload-button {
transform: translateX(-62px);
border-radius: 0px !important;
margin-right: -32px !important;
}

View File

@ -13,8 +13,8 @@ set-option -g history-limit 102400
# Ventanas
set -g base-index 1
setw -g automatic-rename on
set -g renumber-windows on
setw -g automatic-rename on
# Panes
setw -g pane-base-index 1
@ -27,9 +27,11 @@ set -g visual-bell off
set -g visual-silence off
set -g bell-action none
# Vim
# Vi
set -g mode-keys vi
set -g status-keys vi
bind-key [ copy-mode
bind-key ] paste-buffer
# Statusbar
setw -g pane-border-status bottom
@ -37,7 +39,7 @@ setw -g pane-border-format '─'
setw -g automatic-rename-format "#{s/zsh//:pane_current_command}"
setw -g pane-border-style 'fg=#080808'
setw -g pane-active-border-style 'fg=#080808'
set -g mode-style fg=black,bg=white
set -g mode-style fg=black,bg=yellow
set -g message-command-style bg=colour0,fg=colour13
set -g message-style bg=default,fg=default
set -g status-style bg=default,fg=colour7
@ -45,12 +47,12 @@ set -g set-titles on
set -g set-titles-string "#T"
set -g status-interval 1
set -g status-left ''
set -g status-right '#(txbar)#[fg=colour4] %R #[fg=colour10]#S'
set -g window-status-separator ' '
set -g status-right '#(txbar)#[fg=colour4] %R #[fg=colour10]#S:#[fg=colour14]#I.#P'
set -g window-status-separator ' '
set -g window-status-current-style fg=colour3
set -g window-status-activity-style bg=colour0,fg=colour15
set -g window-status-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
set -g window-status-current-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}} "
set -g window-status-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}}"
set -g window-status-current-format "#{=-15:?window_name,#{window_name},#{s/deadguy/home/:?pane_current_path,#{b:pane_current_path},}}"
# Limpiar atajos
unbind-key -a
@ -58,7 +60,6 @@ unbind-key C-b
unbind-key space
unbind-key '"'
unbind-key %
unbind-key q
# Prefijo
set -g prefix M-a
@ -66,12 +67,12 @@ bind-key M-a send-prefix
# Varios
bind-key ? list-keys
bind-key d detach-client
bind-key D detach-client
bind-key : command-prompt
bind-key R respawn-window
bind-key T command-prompt 'rename-window %%'
bind-key S command-prompt 'rename-session %%'
bind-key r source-file $HOME/.tmux.conf \; display "Config Reloaded!"
bind-key r source-file $HOME/.tmux.conf \; display "Config Reloaded"
# Cambiar de pane usando alt-flecha sin prefijo
bind-key -n M-Left select-pane -L
@ -79,33 +80,31 @@ bind-key -n M-Right select-pane -R
bind-key -n M-Up select-pane -U
bind-key -n M-Down select-pane -D
# Trocar panes usando alt-shift-flecha sin prefijo
# Redimensionar usando alt-shift-flecha sin prefijo
bind-key -nr M-S-Left resize-pane -L 2
bind-key -nr M-S-Right resize-pane -R 2
bind-key -nr M-S-Up resize-pane -U 2
bind-key -nr M-S-Down resize-pane -D 2
bind-key -n M-z resize-pane -Z
# Trocar panes usando alt-shift-flecha con prefijo
bind-key M-S-Left swap-pane -s {left-of}
bind-key M-S-Right swap-pane -s {right-of}
bind-key M-S-Up swap-pane -U
bind-key M-S-Down swap-pane -D
# Redimensionar
bind -r J resize-pane -D 2
bind -r K resize-pane -U 2
bind -r H resize-pane -L 2
bind -r L resize-pane -R 2
# Dividir
bind-key | split-window -h -c "#{pane_current_path}"
bind-key - split-window -v -c "#{pane_current_path}"
bind-key / split-window -fh -c "#{pane_current_path}"
bind-key _ split-window -fv -c "#{pane_current_path}"
bind-key X select-layout even-vertical
# Zoom
bind-key -n M-z resize-pane -Z
bind-key = select-layout even-vertical
# Cerrar
bind-key q kill-window
bind-key x kill-pane
bind-key X kill-window
bind-key Z kill-session
bind-key Q kill-server
bind-key Q kill-server
# Ir a ventana
bind-key 1 select-window -t :1
@ -120,29 +119,24 @@ bind-key 9 select-window -t :9
bind-key 0 select-window -t :0
# Movimiento de ventanas
bind-key Enter new-window
bind-key Tab choose-window
bind-key -n S-left prev
bind-key -n S-right next
bind-key -n C-left prev
bind-key -n C-right next
bind-key -n M-< swap-window -t -1
bind-key -n M-> swap-window -t +1
bind-key M-d display-panes
bind-key Enter new-window
bind-key Tab choose-window
bind-key d display-panes
bind-key w choose-tree -Zw "swap-window -t '%%'"
bind-key s choose-tree -Zw "swap-pane -t '%%'"
bind-key m choose-tree -Zw "move-pane -t '%%'"
# Urlview
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan < /tmp/tmux-buffer"'
# Vim
bind-key [ copy-mode
bind-key ] paste-buffer
# Copy/paste. Seleccionar texto con el mouse lo copia automaticamente al clipboard
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xsel -i -p -b"
bind-key -n M-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key p run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind -n M-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
bind-key M-S-v run "xsel -o | tmux load-buffer - ; tmux paste-buffer"
# FZF Locate
bind-key -n 'M-/' new-window -n locate \; send-keys "fl && tmux kill-window\n"
# Prender y apagar statusbar
bind-key & set-option -g status

View File

@ -33,7 +33,6 @@ export FZF_DEFAULT_OPTS="$FZF_DEFAULT_COLORS \
--no-bold \
--ansi \
--bind ctrl-f:page-down,ctrl-b:page-up \
--preview 'bat --color=always {}' \
--preview-window wrap"
export FZF_DEFAULT_COMMAND="fd --type file --color=always --follow --hidden --exclude .git"
@ -41,7 +40,7 @@ export FZF_DEFAULT_COMMAND="fd --type file --color=always --follow --hidden --ex
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND="bfs -type d -nohidden"
export FZF_COMPLETION_OPTS='+c -x'
export FZF_CTRL_T_OPTS="--select-1 --exit-0"
export FZF_CTRL_T_OPTS="--select-1 --exit-0 --preview 'bat --color=always {}'"
export FZF_ALT_C_OPTS="--select-1 --exit-0"
export FZF_VIM_LOG=$(git config --get alias.l | awk '{$1=""; print $0;}' | tr -d '\r')
# }}}

View File

@ -4,7 +4,6 @@ advcp
alsa-plugins
alsa-utils
android-file-transfer
artyfx
atool
audacity
autoconf
@ -19,6 +18,7 @@ cadence
calf
carla
compton
compton-conf
cpupower
crda
cronie
@ -34,6 +34,7 @@ downgrade
dunst
ecryptfs-utils
efibootmgr
electron
eslint
ethtool
exfat-utils
@ -48,7 +49,6 @@ firefox
flex
gcc
ghostscript
gimp-nufraw
gimp-plugin-gmic
gimp-plugin-lqr
gpart
@ -69,7 +69,6 @@ hub
hunspell-en_US
hunspell-es_any
hunspell-es_ar
infamousplugins
iniparser
inkscape
intel-ucode
@ -80,14 +79,13 @@ isync
jfsutils
jp2a
jq
jre-openjdk
libzip
licenses
linux-rt-manjaro
logrotate
lrzip
lsof
lsp-plugins
ltrace
lxappearance-gtk3
lzop
maim
@ -97,7 +95,6 @@ man-pages
manjaro-firmware
manjaro-release
manjaro-system
mda.lv2
mediainfo
memtest86+
mkinitcpio-openswap
@ -118,7 +115,6 @@ npm
ntfs-3g
oblogout
offlineimap
openbsd-netcat
os-prober
p7zip
pacui
@ -136,7 +132,6 @@ perl-text-charwidth
pkgbrowser
pkgconf
prettier
processing
pulseaudio-bluetooth
pulseaudio-jack
pygmentize
@ -193,16 +188,14 @@ unarj
uncrustify
unrar
urlscan
v86d
vbam-sdl
vice
vint
w3m
weechat
which
wireless_tools
wmctrl
wmutils
x42-plugins
x86_energy_perf_policy
xcb-util-cursor
xdo

View File

@ -1,8 +1,8 @@
bashmount
bfs
cfiles
colort-git
curseradio-git
deflemask
figlet-fonts
gimp-paint-studio
gimp-plugin-akkana-git
@ -30,9 +30,9 @@ python-proc
python-pysdl2
ranger-git
realtimeconfigquickscan-git
reaper-bin
soulseekqt
stylelint
sws
task-spooler
terminus-font-ll2-td1
thermald

View File

@ -3,9 +3,10 @@ set -euf -o pipefail
youtube-dl --add-metadata -icx --no-cache-dir --no-call-home --audio-format mp3 --audio-quality 0 --prefer-ffmpeg --no-post-overwrites --geo-bypass -o "$HOME/Music/Albums/%(artist)s/%(album)s/%(artist)s - %(album)s - %(track_number)d %(track)s.%(ext)s" "$1"
echo "Trying to get cover..."
HTML_TEMP=$(mktemp)
curl -s "$1" > "$HTML_TEMP"
titulo=$(grep -Po "<title>.*</title>" "$HTML_TEMP" | sed 's/<[^>]*>//g')
disco=${titulo% | *}
grupo=${titulo#* | }
sed -n '/image_/s/.*rel="image_src"\s\+href="\([^"]\+\).*/\1/p' "$HTML_TEMP" | xargs -r curl -s --create-dirs -o "$HOME/Music/Albums/${grupo}/${disco}/cover.jpg"
sed -n '/image_/s/.*rel="image_src"\s\+href="\([^"]\+\).*/\1/p' "$HTML_TEMP" | xargs -r curl -s --create-dirs -o "$HOME/Music/Albums/${grupo}/${disco}/cover.jpg" && echo "Got it" || echo "Failed :("

View File

@ -1,29 +1,38 @@
#!/usr/bin/env sh
# Sync mail and give notification if there is new mail.
pgrep -u "$USER" >/dev/null || exit
pgrep -x mbsync >/dev/null && exit
ping -q -c 1 1.1.1.1 > /dev/null || exit
export DISPLAY=:0.0
notify() { notify-send -i ~/Pictures/.icn/correo.png "You've got mail" "$2 new message(s) in \`$1\` " ;}
syncandnotify() {
acc="$(echo "$account" | sed "s/.*\///")"
mbsync "$acc"
new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "$HOME/.config/mutt/.mailsynclastrun" 2> /dev/null)
newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l)
if [ "$newcount" -gt "0" ]; then
for file in $new; do
# Extract subject and sender from mail.
from=$(awk '/^From: / && ++n ==1,/^\<.*\>:/' "$file" | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | awk '{ $1=""; if (NF>=3)$NF=""; print $0 }' | sed 's/^[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//')
subject=$(awk '/^Subject: / && ++n == 1,/^\<.*\>: / && ++i == 2' "$file" | head -n-1 | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | sed 's/^Subject: //' | sed 's/^{[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//' | tr -d '\n')
notify-send -i ~/Pictures/.icn/correo.png "New message in $acc" "$from: $subject" &
done
fi
}
# Run mbsync. You can feed this script different settings.
if [ $# -eq 0 ]; then
mbsync -a
if [ "$#" -eq "0" ]; then
accounts="$(awk '/^Channel/ {print $2}' "$HOME/.mbsyncrc")"
else
mbsync "$@"
accounts=$*
fi
# Check all accounts/mailboxes for new mail. Notify if there is new content.
for account in "$HOME/.local/share/mail/"*
for account in $accounts
do
acc="$(echo "$account" | sed "s/.*\///")"
newcount=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "$HOME/.config/mutt/.mailsynclastrun" 2> /dev/null | wc -l)
[ "$newcount" -gt "0" ] && notify "$acc" "$newcount" &
syncandnotify &
done
wait
notmuch new 2>/dev/null
#Create a touch file that indicates the time of the last run of mailsync
touch "$HOME/.config/mutt/.mailsynclastrun"

View File

@ -3,5 +3,5 @@
# Showing off during live shows
echo " "
toilet -t -f 3d " $@ " | lolcat
toilet -t -f 3d " $* " | lolcat
echo " "

View File

@ -2,10 +2,10 @@
set -euf -o pipefail
git log --graph --color=always \
--format="%C(auto)%h%d %s %C(black)%C(bold)%cr" "$@" |
--pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%C(blue)%x20(%ce)%x20%C(cyan)[gpg:%GK%x20%G?]%C(reset)%n%x20%s%n" "$@" |
fzf --ansi --exit-0 --preview "echo {} | grep -o '[a-f0-9]\{7\}' | head -1 | xargs -I % sh -c 'git show --color=always %'" \
--bind "enter:execute:
(grep -o '[a-f0-9]\{7\}' | head -1 |
xargs -I % sh -c 'git show --color=always % | less -R') << 'FZF-EOF'
xargs -I % sh -c 'git show --color=always % | less --tabs=4 -RFX') << 'FZF-EOF'
{}
FZF-EOF"

2
bin/fk
View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euf -o pipefail
pid=$(ps -ef | sed 1d | fzf-tmux -m | awk '{print $2}')
pid=$(ps -ef | sed 1d | fzf --exit-0 -m | awk '{print $2}')
if [ "x$pid" != "x" ]
then

View File

@ -1,5 +1,8 @@
#!/usr/bin/env bash
set -euf -o pipefail
pacman -Qqettn > ~/paketes.txt
pacman -Qqettm > ~/paurketos.txt
echo "Actualizando la lista de paquetes..."
locate -e --regex "\.pac(new|save)$" > ~/Documents/pacman/pacnew.log
pacman -Qqettn > ~/Documents/pacman/paketes.txt
pacman -Qqettm > ~/Documents/pacman/paurketos.txt
echo "Listo."

View File

@ -1,3 +1,3 @@
#!/bin/bash
sxiv -p -b -a "$@"
sxiv -p -q -b -a "$@"

View File

@ -44,5 +44,5 @@ count="$(listfiles | grep -a -m 1 -ZznF "$target" | cut -d: -f1)"
if [ -n "$count" ]; then
listfiles | xargs -0 sxiv -p -b -n "$count" --
else
sxiv -p -b -- "$@" # fallback
sxiv -p -b -q -- "$@" # fallback
fi

View File

@ -6,7 +6,7 @@ set -euf -o pipefail
music_dir="$HOME/Music/Albums"
# What should the covers be resized to in pixels
cover_resize="150"
cover_resize="100"
# What is the cover file called?
img_reg=".*/(cover|front|folder|art).(jpg|jpeg|png|gif)$"

View File

@ -1,15 +1,18 @@
#!/usr/bin/env bash
set -euf -o pipefail
icon1="/home/deadguy/Pictures/.icn/trans1.png"
icon2="/home/deadguy/Pictures/.icn/trans2.png"
transmission-daemon --foreground --log-info 2>&1 | while read -r line; do
echo "$line" |
grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" |
grep -v "Saved.*variant.c:" |
while read -r line; do
echo "$line" | grep -q "Queued for verification (verify.c:" &&
notify-send -i /home/deadguy/Pictures/.icn/trans1.png "Transmission Started" "${line#* * }"
notify-send -i "$icon1" "Transmission Started" "${line#* * }"
echo "$line" | grep -q "changed from .Incomplete. to .Complete." &&
notify-send -i /home/deadguy/Pictures/.icn/trans2.png "Transmission Complete" "${line#* * }"
notify-send -i "$icon2" "Transmission Complete" "${line#* * }"
echo "$line" | systemd-cat --identifier="TransWrap" --priority=5
done > /dev/null 2>&1
done & disown

View File

@ -3,5 +3,6 @@ set -euf -o pipefail
sudo pacman-mirrors -c Canada,United_States
yay -Syu
echo "Actualizando db..."
sudo updatedb
locate -e --regex "\.pac(new|save)$" > ~/pacnew.log
paclist