From 48cc6cecb880712e66108d6d9f0f93a04a323a09 Mon Sep 17 00:00:00 2001 From: luxagraf Date: Fri, 1 Oct 2021 20:13:13 -0400 Subject: updated dotfiles to latest in sway setup --- .aliases | 29 ++--- .bashrc | 43 ++++--- .config/alacritty/alacritty.yml | 25 +--- .config/qutebrowser/bookmarks/urls | 4 + .config/qutebrowser/config.py | 60 +++++---- .../qutebrowser/greasemonkey/twitter-to-nitter.js | 11 ++ .../greasemonkey/youtube-to-invidious.js | 11 ++ .config/qutebrowser/private-whitelist | 3 - .config/qutebrowser/quickmarks | 10 +- .../qutebrowser/userscripts/twitter-to-nitter.js | 11 ++ .../userscripts/youtube-to-invidious.js | 11 ++ .config/qutebrowser/whitelists/cookies | 16 ++- .config/ranger/bookmarks | 2 +- .config/sway/config | 108 ++++++++-------- .config/waybar/config | 1 + .config/waybar/modules/weather.sh | 2 +- .mbsyncrc | 19 ++- .mpd/mpd.conf | 6 + .mutt/muttrc | 12 +- .mutt/offlineimap.py | 2 + .mutt/personal | 2 +- .tmux/write-wire | 2 +- .vimrc | 140 +++++++++++++++------ SP2 Instax Color Ver 1-00.icc | Bin 0 -> 558541 bytes 24 files changed, 320 insertions(+), 210 deletions(-) create mode 100644 .config/qutebrowser/greasemonkey/twitter-to-nitter.js create mode 100644 .config/qutebrowser/greasemonkey/youtube-to-invidious.js delete mode 100644 .config/qutebrowser/private-whitelist create mode 100644 .config/qutebrowser/userscripts/twitter-to-nitter.js create mode 100644 .config/qutebrowser/userscripts/youtube-to-invidious.js create mode 100644 .mpd/mpd.conf create mode 100644 SP2 Instax Color Ver 1-00.icc diff --git a/.aliases b/.aliases index 64c0d03..543591c 100644 --- a/.aliases +++ b/.aliases @@ -1,13 +1,16 @@ # vi:syntax=sh +# connect to wireless: +alias jp='sudo netctl start jetpack' +alias ngear='sudo netctl start netgear' alias egrep='egrep --color=auto' alias tmux="tmux -2" alias v="nvim " -#alias vim="nvim " +#alias v="vim " alias dmenu="dmenu_run " #alias thunar="pcmanfm-qt" alias mpv="mpv --hwdec=vaapi -v " - +alias python="python3" # I like feedback alias cp='cp -v' alias mv='mv -v' @@ -49,9 +52,6 @@ alias gl="git log" alias music='ncmpcpp' alias write='countdown $((60*20))' -#clipboard search -alias clip="clipman pick --print0 --tool=CUSTOM --tool-args=\"fzf --prompt 'pick > ' --bind 'tab:up' --cycle --read0\" --histpath=/home/lxf/.local/share/clipman-primary.json " - # rsync/s3cmd aliases alias syncw="rsync -vv --recursive --delete --checksum -P --ignore-times --exclude-from=/home/lxf/.rsync-exclude-weekly $1 $2" alias s3pics="s3cmd sync --rr --exclude '*.*' pictures/ s3://lxfpictures" @@ -64,16 +64,6 @@ alias remp4="~/./bin/rename_mp4_files.sh" alias mtsconvert="~/./bin/mts-convert.sh" alias findname='find . -name $1' -# get organized -alias @t="~/./bin/kanbanscripts/addtask.sh" -alias @t="~/./bin/kanbanscripts/starttask.sh" -alias @todo="~/./bin/kanbanscripts/showall.sh" -alias @a="~/./bin/kanbanscripts/showinprogress.sh" - -alias t="todo.sh" -alias ts="todo.sh ls WIRED" -alias ta="todo.sh add " - #Django web dev alias virt='source venv/bin/activate' alias serve='python -m http.server' @@ -102,8 +92,8 @@ alias watchtraffic="nload wlp3s0" alias mt="vnstat -m" # sync -alias ccgtodt="rsync -avvz --progress ~/pictures/nextcloud-ccg/ ~/pictures/2021/00_phone/" -alias lxftodt="rsync -avvz --progress ~/pictures/nextcloud-lxf/ ~/pictures/2021/00_phone/" +alias ccgtodt="rsync -avvz --progress ~/pictures/nextcloud-ccg-phone/ ~/pictures/2020/00_phone/" +alias lxftodt="rsync -avvz --progress ~/pictures/nextcloud-lxf-phone/ ~/pictures/2020/00_phone/" alias mntHFS="sudo mount -t hfsplus -o force,rw" @@ -112,3 +102,8 @@ alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT1 | egrep "time alias gpphoto="~/./bin/download-photos-gopro.py /mnt/card/DCIM/100GOPRO/" alias gpvid="~/./bin/download-videos-gopro.py /mnt/card/DCIM/100GOPRO/" + +# plain text accounting: +alias ebean="vim documents/_fin.beancount" +alias bean-school='bean-report documents/_fin.beancount journal -a Assets:SchoolsFirst:Checking --balance' +alias bean-schwab='bean-report documents/_fin.beancount journal -a Assets:Schwab:Checking --balance' diff --git a/.bashrc b/.bashrc index f0590ba..13dfd7b 100644 --- a/.bashrc +++ b/.bashrc @@ -1,22 +1,22 @@ #basics stty -ixon export MOZ_DBUS_REMOTE=1 -export BROWSER="vivaldi-snapshot --ozone-platform=wayland --enable-features=UseOzonePlatform,UseSkiaRenderer,Vulkan" +#export BROWSER="vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --use-cmd-decoder=validating --use-gl=egl" + +export BROWSER="qutebrowser" export EDITOR="nvim" +#export EDITOR="vim" # keep dictionaries in ~/bin/ export STARDICT_DATA_DIR="$HOME/bin/dict/" +export NOTES_DIR="$HOME/notes" export TERM="screen-256color" export GREP_COLOR='00;38;5;166' +export CM_HISTLENGTH=50 # my scripts on PATH export PATH=/usr/local/bin:$PATH export PATH=$PATH:$HOME/bin export PATH=$PATH:$HOME/bin/bash-scripts -export PATH=$PATH:$HOME/.gem/ruby/2.6.0/bin -export QT_QPA_PLATFORM=wayland -export QT_PLATFORM_THEME=qt5ct -export QT_QPA_PLATFORMTHEME=qt5ct -export XDG_SESSION_TYPE=wayland -export GDK_BACKEND=wayland +export PATH=$PATH:$HOME/.local/bin # Alias definitions if [ -f ~/.aliases ]; then @@ -56,17 +56,15 @@ shopt -s autocd shopt -s cdable_vars export FZF_DEFAULT_OPTS=" ---color dark,hl:33,hl+:37,fg+:235,bg+:136,fg+:254 +--color dark,hl:33,hl+:37,fg+:235,bg+:136,fg+:254 --color info:254,prompt:37,spinner:108,pointer:235,marker:235 --no-mouse --height 70% -1 --multi --inline-info --preview='[[ \$(file --mime {}) =~ binary ]] && echo {} is a binary file || (bat --style=numbers --color=always {} || cat {}) 2> /dev/null | head -300' --preview-window='right:hidden:wrap' --bind='f3:execute(bat --style=numbers {} || less -f {}),f2:toggle-preview,ctrl-d:half-page-down,ctrl-u:half-page-up,ctrl-a:select-all+accept,ctrl-y:execute-silent(echo {+} | wl-copy),ctrl-x:execute(rm -i {+})+abort'" if type rg &> /dev/null; then export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden' export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" fi - - # Don't use ~ to define your home here, it won't work. -export wir="$HOME/writing/conde/wired" +export wir="$HOME/writing/wired" export l="$HOME/writing/luxagraf/" export lux="$HOME/sites/luxagraf.net" export d="$HOME/documents" @@ -97,9 +95,12 @@ export PS1="\[\033[33;1m\]\[\033[m\]\$(pwd-prompt.bash) \[$txtred\]\$git_dirty\[ # Complete all the things source ~/bin/pass-completion.bash +# arch: source /usr/share/fzf/key-bindings.bash source /usr/share/fzf/completion.bash - +#debian: +#source /usr/share/doc/fzf/examples/key-bindings.bash +#source /usr/share/bash-completion/completions/fzf fzf-snippet() { selected="$(cat ~/documents/snippets | sed '/^$/d' | sort -n | fzf -e -i )" # remove tags, leading and trailing spaces, also no newline @@ -120,12 +121,12 @@ function fore(){ #search any folder like you're in nvalt: function nv() { - ${EDITOR:-nvim} "$(find ${2:-~/notes} -maxdepth ${3:-1} -type f -print0 | xargs -0 grep -li $1 | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; + ${EDITOR:-vim} "$(find ${2:-~/notes} -maxdepth ${3:-1} -type f -print0 | xargs -0 grep -li $1 | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; } #search any folder like you're in nvalt but have ripgrep at your disposal function fn() { - ${EDITOR:-nvim} "$(rg -l $1 ${2:-~/notes} | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; + ${EDITOR:-vim} "$(rg -l $1 ${2:-~/notes} | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; } # same thing, but context function nvl(){ @@ -136,7 +137,6 @@ function nvl(){ function fnt(){ find ~/notes ~/documents/bookmarks ~/documents/reading\ notes -type f -maxdepth 2 -print0 | xargs -0 grep -$2i $1 } - function fntt(){ ${EDITOR:-nvim} "$(rg -l $1 ~/notes/ ~/documents/bookmarks/ ~/documents/reading\ notes/ | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; } @@ -145,12 +145,15 @@ function f() { ${EDITOR:-nvim} "$(rg -l $1 ${2:-.} | fzf --preview="bat {}" --preview-window=right:70%:wrap)"; } -fo() { ${EDITOR:-nvim} $(rg -n '.*' "$HOME/documents/org/" | fzf --layout=reverse --height 50% --ansi | sed -E 's/(.*):([0-9]+):.*/\1 +\2/g'); } #fuzzy find file names only function ff() { ag -g "$1" ${2:-.} | fzf --preview="bat {}" --preview-window=right:70%:wrap } +# Notational Velocity +function fn() { + rg -l $1 ${2:-~/notes} | fzf --preview="bat {}" --preview-window=right:70%:wrap +} function tolux() { scp $3 $1 lxf:/home/lxf/$2 @@ -201,7 +204,7 @@ function md() { # Encode webm: function webm() { - ffmpeg -i "$1" -c:v libvpx -quality good -cpu-used 0 -b:v 7000k -qmin 10 -qmax 42 -maxrate 500k -bufsize 2500k -threads 8 -vf scale=-1:720 -c:a libvorbis -b:a 192k -f webm "$1".webm + ffmpeg -i $1 -c:v libvpx -quality good -cpu-used 0 -b:v 7000k -qmin 10 -qmax 42 -maxrate 500k -bufsize 2500k -threads 8 -vf scale=-1:720 -c:a libvorbis -b:a 192k -f webm $1.webm } # encode ogg v: function ogv() { @@ -262,7 +265,7 @@ function timer(){ } function markdone(){ - echo "@done - $(date '+%Y-%m-%d')" >> "$1" + echo '\n@done' >> "$1" mkdir -p ~/gtd/done/$(date '+%Y-%m-%d') mv "$1" ~/gtd/done/$(date '+%Y-%m-%d') clear @@ -274,10 +277,6 @@ fd() { cd "$dir" } -fo() { ${EDITOR:-nvim} $(rg -n '.*' "$HOME/documents/org/" | fzf --layout=reverse --height 50% --ansi | sed -E 's/(.*):([0-9]+):.*/\1 +\2/g'); } - -fr() { ${EDITOR:-nvim} $(rg -n '.*' "$HOME/.config/remind/" | fzf --layout=reverse --height 50% --ansi | sed -E 's/(.*):([0-9]+):.*/\1 +\2/g'); } - if [[ "$OSTYPE" == "darwin"* ]]; then # OSX-SPECIFIC SETTINGS diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index 4863466..335c371 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -120,7 +120,7 @@ font: # Point size of the font #size: 10.0 - size: 16 + size: 15 # Offset is the extra space around each character. `offset.y` can be thought of # as modifying the line spacing, and `offset.x` as modifying the letter spacing. @@ -241,7 +241,7 @@ bell: # # Window opacity as a floating point number from `0.0` to `1.0`. # The value `0.0` is completely transparent and `1.0` is opaque. -background_opacity: 0.9 +background_opacity: 0.8 # Mouse bindings # @@ -273,27 +273,6 @@ mouse: # If this is `true`, the cursor is temporarily hidden when typing. hide_when_typing: false - url: - # URL launcher - # - # This program is executed when clicking on a text which is recognized as a URL. - # The URL is always added to the command as the last parameter. - # - # When set to `None`, URL launching will be disabled completely. - # - # Default: - # - (macOS) open - # - (Linux) xdg-open - # - (Windows) explorer - #launcher: - # program: xdg-open - # args: [] - - # URL modifiers - # - # These are the modifiers that need to be held down for opening URLs when clicking - # on them. The available modifiers are documented in the key binding section. - modifiers: None selection: semantic_escape_chars: ",│`|:\"' ()[]{}<>" diff --git a/.config/qutebrowser/bookmarks/urls b/.config/qutebrowser/bookmarks/urls index 9200d46..4146274 100644 --- a/.config/qutebrowser/bookmarks/urls +++ b/.config/qutebrowser/bookmarks/urls @@ -130,3 +130,7 @@ https://amazingribs.com/tested-recipes/vegetables-and-salads/simple-creamy-south https://amazingribs.com/tested-recipes/spice-rubs-and-pastes/meatheads-memphis-dust-rub-recipe Meathead's World Famous Memphis Dust Rub https://manage.buyvm.net/# Stallion https://www.richardphotolab.com/ Premium Film Developing, Scanning and Photo Printing | Richard Photo Lab +https://www.tradingview.com/chart/1a1NjVtp/ AVIR 32.16 ▲ +1.87% Unnamed +https://wandererfinancial.com/trade-talk/ Trade Talk - Wanderer Financial +https://wandererfinancial.com/9-29-21-todays-market/ 9/29/21 Today's Market - Wanderer Financial +https://www.summitpost.org/ Climbing, Hiking, Mountaineering : SummitPost diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py index 09965e0..51f4a0b 100644 --- a/.config/qutebrowser/config.py +++ b/.config/qutebrowser/config.py @@ -21,7 +21,7 @@ c.tabs.background = True c.tabs.position = "top" c.content.autoplay = False -c.editor.command = ['foot', 'nvim', '{}'] +c.editor.command = ['alacritty', 'nvim', '{}'] c.url.default_page = "about:blank" # searches @@ -34,33 +34,43 @@ c.url.searchengines['a'] = 'https://wiki.archlinux.org/?search={}' c.url.searchengines['y'] = 'https://www.youtube.com/results?search_query={}' c.url.searchengines['ap'] = 'https://www.archlinux.org/packages/?sort=&q={}' c.url.searchengines['w'] = 'https://www.google.com/search?q={}+site%3Awired.com' -c.url.searchengines['t'] = 'https://lite.duckduckgo.com/lite/?q={}%20site%3Ahttps%3A%2F%2Fwww.elliotoracle.com%2Fblog%2F&t=fpas&ia=web' + #tor #c.content.proxy = 'socks://localhost:9050/' # block JS out of the box: c.content.javascript.enabled = False +# JS is okay for some sites: js_whitelist = [ - "*://localhost/*", - "*://127.0.0.1/*", - "*://github.com/*", - "*://gitlab.com/*", - "*://*.youtube.com/*", - "*://*.luxagraf.net/*" - "*://translate.google.com/*", - "*://schoolsfirst.com/*", +"*://localhost/*", +"*://127.0.0.1/*", +"https://live.luxagraf.net/*", +"https://cloud.luxagraf.net/*", +"https://luxagraf.net/*", +"*://github.com/*", +"*://gitlab.com/*", +"*://*.youtube.com/*", +"*://*.tastyworks.com/*", +"*://wandererfinancial.com/*", +"*://*.tradingview.com/*", +"*://translate.google.com/*", +"*://*.schoolsfirstfcu.com/*", +"*://www.ssec.wisc.edu/*", +"*://bumfuzzle.com/*", +"*://pmags.com/*", +"*://*.tastyworks.com/*", +"https://discuss.pixls.us/*", +"https://www.startpage.com/*", +"https://*.schwab.com/*", +"https://*.hyvor.com/*", +"https://ecosophia.dreamwidth.org/*", ] -private_whitelist = os.path.expanduser("~/.config/qutebrowser/private-whitelist") -if os.path.exists(private_whitelist): - with open(private_whitelist) as f: - js_whitelist += filter(lambda l: bool(l), f.read().split("\n")) - for site in js_whitelist: with config.pattern(site) as p: p.content.javascript.enabled = True -# ================== Youtube Add Blocking ======================= {{{ +# ================== Youtube Ad Blocking ======================= {{{ def filter_yt(info: interceptor.Request): """Block the given request if necessary.""" url = info.request_url @@ -82,6 +92,11 @@ config.unbind('K', mode='normal') config.bind('J', 'tab-prev', mode='normal') config.bind('K', 'tab-next', mode='normal') +# pinned tab nav +config.bind('', 'tab-select 1', mode='normal') +config.bind('', 'tab-select 2', mode='normal') +config.bind('', 'tab-select 3', mode='normal') +config.bind('', 'tab-select 4', mode='normal') # get rid of things I always hit accidentally config.unbind('') # however passthru mode is nice on some sites @@ -94,13 +109,12 @@ config.unbind('') config.bind (',r', 'spawn --userscript myread.py', mode='normal') #download current or hinted video -config.bind(';y', 'spawn --userscript youtube-dl') +config.bind(',y', 'spawn --userscript youtube-dl') config.bind(';yh', 'hint links --userscript youtube-dl') # watch current or hinted video config.bind(',yl', 'hint links spawn --detach mpv --force-window yes {hint-url}') config.bind(',yv', 'spawn --detach mpv --force-window yes {url}') -config.bind(',ys', 'spawn --userscript youtube-dl') # open selected text in tab config.bind (',f', 'open {primary}') @@ -471,22 +485,24 @@ c.colors.tabs.indicator.stop = solarized['orange'] ## Background color of unselected odd tabs. ## Type: QtColor c.colors.tabs.odd.bg = solarized['base03'] - +c.colors.tabs.pinned.odd.bg = solarized['base03'] +c.colors.tabs.pinned.even.bg = solarized['base03'] ## Foreground color of unselected odd tabs. ## Type: QtColor c.colors.tabs.odd.fg = solarized['base1'] ## Background color of selected even tabs. ## Type: QtColor -c.colors.tabs.selected.even.bg = solarized['violet'] - +c.colors.tabs.selected.even.bg = solarized['yellow'] +c.colors.tabs.pinned.selected.even.bg = solarized['yellow'] +c.colors.tabs.pinned.selected.odd.bg = solarized['yellow'] ## Foreground color of selected even tabs. ## Type: QtColor c.colors.tabs.selected.even.fg = solarized['base2'] ## Background color of selected odd tabs. ## Type: QtColor -c.colors.tabs.selected.odd.bg = solarized['violet'] +c.colors.tabs.selected.odd.bg = solarized['yellow'] ## Foreground color of selected odd tabs. ## Type: QtColor diff --git a/.config/qutebrowser/greasemonkey/twitter-to-nitter.js b/.config/qutebrowser/greasemonkey/twitter-to-nitter.js new file mode 100644 index 0000000..b9ccc38 --- /dev/null +++ b/.config/qutebrowser/greasemonkey/twitter-to-nitter.js @@ -0,0 +1,11 @@ +// ==UserScript== +// @name Twitter to Nitter redirector +// @namespace mamg22's userscripts +// @match http://twitter.com/* +// @match https://twitter.com/* +// @match http://www.twitter.com/* +// @match https://www.twitter.com/* +// @run-at document-start +// ==/UserScript== + +location.href=location.href.replace("twitter.com","nitter.net"); diff --git a/.config/qutebrowser/greasemonkey/youtube-to-invidious.js b/.config/qutebrowser/greasemonkey/youtube-to-invidious.js new file mode 100644 index 0000000..b51c506 --- /dev/null +++ b/.config/qutebrowser/greasemonkey/youtube-to-invidious.js @@ -0,0 +1,11 @@ +// ==UserScript== +// @name YouTube to Invidious redirector +// @namespace lxf userscripts +// @match http://youtube.com/* +// @match https://youtube.com/* +// @match http://www.youtube.com/* +// @match https://www.youtube.com/* +// @run-at document-start +// ==/UserScript== + +location.href=location.href.replace("www.youtube.com","invidious.fdn.fr"); diff --git a/.config/qutebrowser/private-whitelist b/.config/qutebrowser/private-whitelist deleted file mode 100644 index d2a8266..0000000 --- a/.config/qutebrowser/private-whitelist +++ /dev/null @@ -1,3 +0,0 @@ -*://bumfuzzle.com/*, -*://pmags.com/*, -*://git.luxagraf.net/*, diff --git a/.config/qutebrowser/quickmarks b/.config/qutebrowser/quickmarks index bdc5e82..4b83a6f 100644 --- a/.config/qutebrowser/quickmarks +++ b/.config/qutebrowser/quickmarks @@ -1,15 +1,17 @@ ad https://live.luxagraf.net/admin/ +tr https://live.luxagraf.net/trading/ +base https://wandererfinancial.com/basecamp/ li https://live.luxagraf.net/ lx https://luxagraf.net/ -dev http://10.97.181.153:8000/ -aw https://awstats.luxagraf.net/cgi-bin/awstats.pl?config=luxagraf.net -stats https://stats.luxagraf.net/ -arch https://www.archlinux.org/news/ +dev http://10.87.144.224:8000/ +stats https://awstats.luxagraf.net/cgi-bin/awstats.pl?config=luxagraf.net wind https://earth.nullschool.net/ weather http://www.ssec.wisc.edu/data/us_comp/large map https://maps.usgs.gov/padus/ trans https://translate.google.com/ salts https://lovelovething.com/cell-salts-easy-homeopathy/ sch https://www.schoolsfirstfcu.org/ +tast https://trade.tastyworks.com/login/index.html sw http://schwab.com/ wm https://webmail.luxagraf.net/rainloop/ +arch https://www.archlinux.org/news/ diff --git a/.config/qutebrowser/userscripts/twitter-to-nitter.js b/.config/qutebrowser/userscripts/twitter-to-nitter.js new file mode 100644 index 0000000..b9ccc38 --- /dev/null +++ b/.config/qutebrowser/userscripts/twitter-to-nitter.js @@ -0,0 +1,11 @@ +// ==UserScript== +// @name Twitter to Nitter redirector +// @namespace mamg22's userscripts +// @match http://twitter.com/* +// @match https://twitter.com/* +// @match http://www.twitter.com/* +// @match https://www.twitter.com/* +// @run-at document-start +// ==/UserScript== + +location.href=location.href.replace("twitter.com","nitter.net"); diff --git a/.config/qutebrowser/userscripts/youtube-to-invidious.js b/.config/qutebrowser/userscripts/youtube-to-invidious.js new file mode 100644 index 0000000..b51c506 --- /dev/null +++ b/.config/qutebrowser/userscripts/youtube-to-invidious.js @@ -0,0 +1,11 @@ +// ==UserScript== +// @name YouTube to Invidious redirector +// @namespace lxf userscripts +// @match http://youtube.com/* +// @match https://youtube.com/* +// @match http://www.youtube.com/* +// @match https://www.youtube.com/* +// @run-at document-start +// ==/UserScript== + +location.href=location.href.replace("www.youtube.com","invidious.fdn.fr"); diff --git a/.config/qutebrowser/whitelists/cookies b/.config/qutebrowser/whitelists/cookies index 35b04c6..a60c46b 100644 --- a/.config/qutebrowser/whitelists/cookies +++ b/.config/qutebrowser/whitelists/cookies @@ -1 +1,15 @@ -google.com +luxagraf.net +live.luxagraf.net +wandererfinancial.com +www.wandererfinancial.com +trade.tastyworks.com +tradingview.com +www.tradingview.com +tradingview.com +www.schwab.com +schwab.com +client.schwab.com +www.schoolsfirstfcu.com +schoolsfirstfcu.com +talk.hyvor.com +webmail.luxagraf.net diff --git a/.config/ranger/bookmarks b/.config/ranger/bookmarks index aa71123..bfef72a 100644 --- a/.config/ranger/bookmarks +++ b/.config/ranger/bookmarks @@ -10,4 +10,4 @@ c:/home/lxf/pictures/nextcloud-ccg-phone t:/home/lxf/temp p:/home/lxf/temp/wired k:/home/lxf/videos/downloads -':/mnt/backup/week.0/videos +':/home/lxf/videos/downloads/darktable diff --git a/.config/sway/config b/.config/sway/config index 2d1688a..8c57f55 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,8 +1,7 @@ set $mod Mod1 set $mod2 Mod4 set $term alacritty -#set $background /mnt/storage/pictures/desktops/isla-dark.jpg -set $background ~/pictures/desktops/Beach\ -\ Renato\ Giordanelli.jpg +set $background ~/pictures/desktops/mountains_night_sky_dark.jpg set $screenshot grim ~/pictures/screenshots/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png set $screenclip slurp | grim -g - ~/pictures/screenshots/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png @@ -21,27 +20,22 @@ exec swayidle -w \ resume 'swaymsg "output * dpms on"' \ before-sleep 'swaylock -f -c 000000' -# Launch apps -bindsym $mod+Escape exec qutebrowser -bindsym $mod+Return exec $term - - # Shortcuts +bindsym $mod+Return exec $term bindsym $mod+F11 exec $screenshot bindsym $mod+F12 exec $screenclip # background output * bg $background fill -input "1739:30383:DELL07E6:00_06CB:76AF_Touchpad" { +input type:touchpad { natural_scroll enabled } - # change focus bindsym $mod2+j focus left bindsym $mod2+k focus right -#bindsym $mod2+k focus up -#bindsym $mod2+j focus down +#bindsym $mod+l focus up +#bindsym $mod+semicolon focus down # move focused window bindsym $mod+Shift+j move left @@ -50,14 +44,14 @@ bindsym $mod+Shift+l move up bindsym $mod+Shift+semicolon move down # split in horizontal orientation -bindsym $mod2+h split h +bindsym $mod+Shift+h split h # split in vertical orientation -bindsym $mod2+v split v +bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+Shift+f fullscreen toggle -bindsym $mod2+f floating toggle +bindsym $mod+f floating toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+Shift+s layout stacking @@ -80,8 +74,6 @@ set $ws7 "7" set $ws8 "8" set $ws9 "9" -#gaps outer 0 -default_border pixel 2 # switch to workspace bindsym $mod+1 workspace $ws1 @@ -119,36 +111,48 @@ bindsym $mod+Shift+minus move scratchpad # If there are multiple scratchpad windows, this command cycles through them. bindsym $mod+minus scratchpad show +for_window [class="^Chromium$"] border none +for_window [class="tasty.javafx.launcher.LauncherFxApp"] border none +for_window [title="Confirmation"] floating enable +for_window [app_id="com.nextcloud.desktopclient.nextcloud"] floating enable +for_window [app_id="com.nextcloud.desktopclient.nextcloud"] border none for_window [title="Oracle VM VirtualBox Manager"] floating enable -for_window [class="^Pcmanfm"] floating enable +for_window [app_id="thunar"] floating enable +for_window [app_id="soffice"] floating enable for_window [class="^lxf$"] floating enable -for_window [app_id="pavucontrol"] floating enable, resize set width 50 ppt height 60 ppt -for_window [window_role="pop-up"] floating enable -for_window [class="Yad"] floating enable -for_window [class="feh"] floating enable -for_window [app_id="gedit"] floating enable -for_window [app_id="python3"] border none, floating enable - +for_window [app_id="system-config-printer"] floating enable -for_window [class="^Chromium$"] border none for_window [app_id="darktable"] border none -for_window [app_id="org.qutebrowser.qutebrowser"] border none -for_window [app_id="qutebrowser"] border none +for_window [class="Darktable"] border none +for_window [app_id="python3"] border none, floating enable +for_window [class="^URxvt"] border none for_window [app_id="firefoxdeveloperedition"] border none for_window [class="firefoxdeveloperedition"] border none for_window [app_id="Vivaldi-snapshot"] border none -for_window [class="Vivaldi-snapshot"] border none +for_window [app_id="Vivaldi-stable"] border none +for_window [class="Vivaldi"] border none for_window [class="^qutebrowser"] border none +for_window [app_id="org.qutebrowser.qutebrowser"] border none +for_window [app_id="^Alacritty"] border none for_window [class="Slack"] border none -#for_window [app_id="Alacritty"] floating enable, resize set width 53 ppt height 100 ppt -for_window [app_id="Alacritty"] border none -for_window [app_id="mpv"] border none -for_window [app_id="foot"] border none +for_window [class="Pavucontrol"] floating enable +for_window [window_role="pop-up"] floating enable +for_window [class="Yad"] floating enable +for_window [class="feh"] floating enable +for_window [class="QtPass"] floating enable +for_window [app_id="mpv"] floating enable +for_window [class="hangouts.google.com"] floating disable +for_window [class="hangouts.google.com"] border normal +for_window [app_id="gedit"] floating enable assign [class="qutebrowser"] $ws2 assign [app_id="org.qutebrowser.qutebrowser"] $ws2 +assign [class="Firefox Developer"] $ws4 assign [class="Slack"] $ws6 +assign [class="Vivaldi"] $ws2 +assign [class="Darktable"] $ws3 assign [app_id="darktable"] $ws3 +assign [title="Oracle VM VirtualBox Manager"] $ws4 #workspace switching bindsym $mod+k workspace next @@ -160,8 +164,8 @@ bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -#bindsym XF86MonBrightnessUp exec --no-startup-id light -A 10 -#bindsym XF86MonBrightnessDown exec --no-startup-id light -U 10 +bindsym --locked XF86MonBrightnessUp exec --no-startup-id light -A 10 +bindsym --locked XF86MonBrightnessDown exec --no-startup-id light -U 10 set $alsacard 1 @@ -200,48 +204,36 @@ input * { xkb_options ctrl:nocaps } input "1:1:AT_Translated_Set_2_keyboard" { - repeat_delay 200 - repeat_rate 30 + repeat_delay 250 + repeat_rate 25 } -exec --no-startup-id gammastep & -exec --no-startup-id gnome-keyright-daemon & -exec --no-startup-id nextcloud & - -# old i3 X11 stuff -#exec --no-startup-id xset r rate 250 25 & -#exec --no-startup-id xset -b -#exec --no-startup-id xcape -e 'Control_L=Escape' +exec vivaldi-stable --ozone-platform=wayland --enable-features=UseOzonePlatform & +exec alacritty & +exec nextcloud & +exec mpd & # clipboard manager exec wl-paste -t text --watch clipman store --max-items=200 --histpath="~/.local/share/clipman-primary.json" -bindsym $mod+z exec clipman pick --tool="wofi" --max-items=200 --histpath="~/.local/share/clipman-primary.json" +bindsym $mod+c exec alacritty --class 'smsearch' --command bash -c 'fzclip | xargs -r swaymsg -t command exec' -# homemade app launcher -#bindsym $mod+Space exec foot --app-id=launcher bash -c "compgen -c | sort -u | fzf --bind 'tab:up' | xargs -r swaymsg -t command exec" -# -#trying bemenu: -bindsym $mod+Space exec bemenu-run +# app launcher +bindsym $mod+Space exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec' # pass chooser -bindsym $mod+p exec foot --app-id=launcher bash -c 'pass clip --fzf | xargs -r swaymsg -t command exec' +bindsym $mod+p exec alacritty --class 'launcher' --command bash -c 'pass clip --fzf | xargs -r swaymsg -t command exec' for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 20 ppt, move position 0 px 0 px #snippet manager -bindsym $mod+s exec foot --app-id=smsearch bash -c 'fzsnip | xargs -r swaymsg -t command exec' - -#clipboard manager -bindsym $mod+c exec foot --app-id=smsearch bash -c 'fzclip | xargs -r swaymsg -t command exec' +bindsym $mod+s exec alacritty --class 'smsearch' --command bash -c 'fzsnip | xargs -r swaymsg -t command exec' -bindsym $mod+b exec foot --app-id=smsearch bash -c 'url=$(cat .config/qute-wired/bookmarks/urls | fzf | cut -d \" \" -f 1) && qutebrowser "$url" | xargs -r swaymsg -t command exec' +bindsym $mod+b exec alacritty --class 'smsearch' --command bash -c 'url=$(cat .config/qutebrowser/bookmarks/urls | fzf | cut -d \" \" -f 1) && qutebrowser "$url" | xargs -r swaymsg -t command exec' for_window [app_id="^smsearch$"] floating enable, border none, resize set width 80 ppt height 60 ppt, move position 0 px 0 px bindsym $mod+n exec alacritty --class 'smsearch' --command bash -c 'notes' -bindsym $mod2+n exec alacritty --class 'smsearch' --command bash -c 'stocks' - for_window [app_id="^smsearch$"] floating enable, border none, resize set width 80 ppt height 60 ppt, move position 0 px 0 px exec_always ~/.config/waybar/waybar.sh diff --git a/.config/waybar/config b/.config/waybar/config index e379c02..3dbeb15 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -16,6 +16,7 @@ "format": "{:%a, %b %d | %H:%M}", "tooltip": true, "tooltip-format": "{:%Y %B}\n{calendar}", + "on-click": "gsimplecal", }, "battery": { "format": "| {capacity}% {icon} | ", diff --git a/.config/waybar/modules/weather.sh b/.config/waybar/modules/weather.sh index d64acd0..0333af3 100755 --- a/.config/waybar/modules/weather.sh +++ b/.config/waybar/modules/weather.sh @@ -3,4 +3,4 @@ w=$(curl -s wttr.in/ahn?format="%l:+%c+%t+%C+%w+%h+%m") w=${w:7} w="$(echo -e "${w}" | sed -e 's/^[[:space:]]*//')" m=$(python ~/bin/moonphase-waybar.py) -echo "{\"text\":\""$w ""$m"\", \"tooltip\":\""tooltip"\", \"class\":\""lxf-weather"\"}" +#echo "{\"text\":\""$w ""$m"\", \"tooltip\":\""tooltip"\", \"class\":\""lxf-weather"\"}" diff --git a/.mbsyncrc b/.mbsyncrc index fd6ec18..91d1fa3 100644 --- a/.mbsyncrc +++ b/.mbsyncrc @@ -1,4 +1,4 @@ -IMAPAccount lxf +IMAPAccount personal # Address to connect to Host echo.mxrouting.net Port 993 @@ -6,18 +6,17 @@ User sng@luxagraf.net Pass LAv['q_N:|Mn collapse-thread macro index \Cr "T~UN." "mark all messages as read" # Sync email -macro index O "offlineimap" "run offlineimap to sync all mail" -macro index i "offlineimap -qf INBOX" "run offlineimap to sync inbox" +macro index O "mbsync personal" "run mbsync to sync all mail" +macro index o "mbsync personal:INBOX" "run mbsync to sync inbox" # Saner copy/move dialogs # macro index C "?" "copy a message to a mailbox" @@ -144,7 +144,7 @@ bind index p recall-message set query_command = "abook --mutt-query '%s'" bind editor complete-query bind editor ^T complete -set editor="nvim -c 'set spell spelllang=en'" +set editor="vim -c 'set spell spelllang=en'" source ~/.mutt/mutt-colors-solarized-dark-16.muttrc #undo limit searches @@ -157,8 +157,8 @@ macro index "unset wait_keynotmuch-mutt #macro generic,index,pager \ca "abook" "launch abook" macro index,pager A "abook --add-email" "add the sender address to abook" -set spoolfile = "+personal/INBOX" +set spoolfile = "+INBOX" source ~/.mutt/personal -folder-hook personal/* source ~/.mutt/personal +#folder-hook personal/* source ~/.mutt/personal #folder-hook wired/* source ~/.mutt/work diff --git a/.mutt/offlineimap.py b/.mutt/offlineimap.py index f84b6bc..a885aef 100644 --- a/.mutt/offlineimap.py +++ b/.mutt/offlineimap.py @@ -3,3 +3,5 @@ from subprocess import check_output def get_password(account): return check_output("pass " + account, shell=True).splitlines()[0] + + diff --git a/.mutt/personal b/.mutt/personal index 748b1bf..d349c2b 100644 --- a/.mutt/personal +++ b/.mutt/personal @@ -1,5 +1,5 @@ set from = "sng@luxagraf.net" -set folder = ~/mail/personal +set folder = ~/.mail set sendmail = "/usr/bin/msmtp -a personal" set sendmail_wait = 0 set trash = "+Trash" diff --git a/.tmux/write-wire b/.tmux/write-wire index da7c7bd..43e383f 100644 --- a/.tmux/write-wire +++ b/.tmux/write-wire @@ -3,4 +3,4 @@ rename-window "wir" splitw -h -p 22 selectp -t 1 # select the original pane splitw -h -p 69 -send "cd ~/writing/conde/wired/ && v wired.txt" enter #open vim +send "cd ~/writing/ && v wired.txt" enter #open vim diff --git a/.vimrc b/.vimrc index 1b456cd..00147f8 100644 --- a/.vimrc +++ b/.vimrc @@ -4,7 +4,7 @@ filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Bundle 'gmarik/Vundle.vim' -"Bundle 'ervandew/supertab' +Bundle 'ervandew/supertab' Bundle 'airblade/vim-gitgutter' Bundle 'scrooloose/syntastic' Bundle 'tpope/vim-fugitive' @@ -12,7 +12,6 @@ Bundle 'tpope/vim-surround' Bundle 'vim-scripts/multvals.vim' Bundle 'altercation/vim-colors-solarized' Bundle 'vim-scripts/django.vim' -Bundle 'nelstrom/vim-markdown-folding' Bundle 'tpope/vim-markdown' Bundle 'amperser/proselint' Bundle 'jgdavey/tslime.vim' @@ -26,10 +25,14 @@ Bundle 'francoiscabrol/ranger.vim' Bundle 'junegunn/fzf' Bundle 'junegunn/fzf.vim' Bundle 'chengzeyi/fzf-preview.vim' -Bundle 'ervandew/supertab' +Bundle 'alok/notational-fzf-vim' +Bundle 'nathangrigg/vim-beancount' +Bundle 'lambdalisue/suda.vim' +Bundle 'jasonccox/vim-wayland-clipboard' call vundle#end() filetype plugin indent on "}}} +" " Basic stuff {{{ set encoding=utf-8 set scrolloff=3 @@ -50,57 +53,59 @@ set laststatus=1 set showcmd set showmode set backspace=indent,eol,start -set path+=** -set wildmenu let mapleader = "," -set clipboard=unnamedplus -set completeopt+=menuone -set completeopt+=noselect "save things when we turn our back autocmd BufLeave,FocusLost * silent! wall " save things all the time: + let g:auto_save = 1 let g:auto_save_in_insert_mode = 0 "}}} + " Abbreviations {{{ " easier markdown links: let @a ='Sr%a()h' let @s ='Sr%a(){: rel=nofollow}17h' - " email signature: let @c ='icheers Scott Gilbertson sng@luxagraf.net ' -let @w ='icheers Scott Gilbertson wired@scottgilbertson.net' +let @w ='i cheers Scott Gilbertson -- ' + + let @t ='iThank you for your help. ' let @h ="iHello, my name is Scott Gilbertson and and I am a product writer with WIRED's Gear team. I am reaching out because we're working on an article about " +let @b ='tag=w050b-20' +let @n ='tag=wirednl-20' let @d ='
' " get rid of line breaks in paragraphs let @p ='g/^./ .,/^$/-1 join' -iab @d strftime("%Y-%m-%d") -iab @w 'cheers Scott Gilbertson wired@scottgilbertson.net ' -let @w ='icheers Scott Gilbertson wired@scottgilbertson.net ' " }}} " Convenience mappings {{{ "for rewrapping things when composing email map q gq} +"uppercase words +nnoremap up :%s/\<./\u&/g +"Lowercase words +nnoremap down :%s/\<./\l&/g + "conver to emdash nnoremap - :%s/ -- /—/g -nnoremap it /\vit's\|its -nmap i :%s/ //g -nmap p :%s/\#\#\# /###/g +nnoremap t TlistToggle + +nnoremap cd :lcd %:p:h -imap jj -vmap r :'<,'>:w !espeak-ng &> /dev/null " sane spelling options nnoremap sp :set spell! spelllang=en_us spell? set spellfile=~/.vim/dict.add map ]s map z= - +"quicker way to get to the thesaurus: +inoremap ;t +nnoremap ;m :%s/ $// "Let's just leave the whole w out of it shall we. noremap h noremap j @@ -143,6 +148,10 @@ inoremap inoremap nnoremap j gj nnoremap k gk +" Make os x clipboard work +set clipboard=unnamedplus + + " Visual mode pressing * or # searches for the current selection " Super useful! From an idea by Michael Naumann @@ -151,7 +160,7 @@ vnoremap # :call VisualSelection('b') "yank a line, not a line and some more nnoremap Y y$ - +nnoremap it /\vit's\|its " Fuck you, help key. noremap :checktime inoremap :checktime @@ -164,6 +173,9 @@ nnoremap zh mzzt10`z " Easier linewise reselection of what you just pasted. nnoremap V V`] +" HTML tag closing +inoremap :call InsertCloseTag()a + " Select (charwise) the contents of the current line, excluding indentation. " Great for pasting Python lines into REPLs. nnoremap vv ^vg_ @@ -198,16 +210,44 @@ nnoremap :noh " Tab Completion -------------------------------------------------------------- {{{ set wildmode=list:longest,list:full set wildignore+=*.o,*.obj,.git,*.rbc,*.class,.svn,vendor/gems/* -let g:minisnip_trigger = '' "}}} -"mucomplete -"let g:mucomplete#enable_auto_at_startup = 1 -"let g:mucomplete#completion_delay = 1 -"let g:mucomplete#cycle_with_trigger = 0 -nnoremap nt :Ranger +"Trying ranger +"function! RangeChooser() +" let temp = tempname() +" " The option "--choosefiles" was added in ranger 1.5.1. Use the next line +" " with ranger 1.4.2 through 1.5.0 instead. +" "exec 'silent !ranger --choosefile=' . shellescape(temp) +" if has("gui_running") +" exec 'silent !xterm -e ranger --choosefiles=' . shellescape(temp) +" else +" exec 'silent !ranger --choosefiles=' . shellescape(temp) +" endif +" if !filereadable(temp) +" redraw! +" " Nothing to read. +" return +" endif +" let names = readfile(temp) +" if empty(names) +" redraw! +" " Nothing to open. +" return +" endif +" " Edit the first item. +" exec 'edit ' . fnameescape(names[0]) +" " Add any remaning items to the arg list/buffer list. +" for name in names[1:] +" exec 'argadd ' . fnameescape(name) +" endfor +" redraw! +"endfunction +"command! -bar RangerChooser call RangeChooser() + +nnoremap nt :Ranger + " Backups ----------------------------------------------------------------------{{{ set backup " enable backups @@ -232,8 +272,17 @@ endif set backupskip=/tmp/*,/private/tmp/*" " }}} +"Thesaurus +set thesaurus+=/home/lxf/.mthesaur.txt +"}}} +" Notes (AKA NValt in Vim){{{ +" NValt style searching with Ack to quicklist +command! -nargs=1 Nvs :Ack -i -n "" $NOTES_DIR +command! -nargs=1 Ngrep vimgrep "" $NOTES_DIR/*.txt|:cw +"noremap n :Ngrep +noremap v :Nvs +" }}} " Filetype stuff {{{ -" augroup ft_vim au! au FileType vim setlocal foldmethod=marker @@ -328,6 +377,19 @@ augroup END noremap zE " }}} " Plugins {{{ +"Ctrl P {{{ +"nnoremap r :CtrlPMRU +"nnoremap m :CtrlPBuffer +"nnoremap . :CtrlP +"nnoremap w :CtrlP ~/writing/wired/ +"nnoremap a :CtrlP app/ +"nnoremap d :CtrlP $HOME/notes/ +"nnoremap l :CtrlP $HOME/writing/luxagraf/ +let g:ctrlp_custom_ignore = { + \ 'dir': '\v[\/]\.(git|hg|svn|venv|site|static)$', + \ 'file': '\v\.(pyc|so|dll)$', + \ } +"}}} "FZF {{{ let g:fzf_preview_window='right:60%' let g:fzf_history_dir = '~/.local/share/fzf-history' @@ -348,19 +410,17 @@ let g:nv_search_paths = ['~/notes', '~/writing/luxagraf/', '~/documents/bookmark " SimpylFold Python folding plugin {{{ let g:SimpylFold_docstring_preview = 0 "}}} -let g:markdown_fold_style = 'nested' - -" POSIX Commands -nmap cd :cd =expand('%:h') - -"quick buffer navigation -nnoremap j :bnext -nnoremap k :bprevious - -xnoremap "+y y:call system("wl-copy", @") -nnoremap "+p :let @"=substitute(system("wl-paste --no-newline"), '', '', 'g')p -nnoremap "*p :let @"=substitute(system("wl-paste --no-newline --primary"), '', '', 'g')p - +" make YvmapCM compatible with UltiSnips (using supertab) +let g:ycm_key_list_select_completion = ['', ''] +let g:ycm_key_list_previous_completion = ['', ''] +let g:SuperTabDefaultCompletionType = '' +nnoremap :NV +let g:markdown_folding = 1 +let g:markdown_fold_style = 'nested' +nmap i :%s/ //g +nmap # :%s/### /###/g +imap jj +vmap r :'<,'>:w !espeak &> /dev/null diff --git a/SP2 Instax Color Ver 1-00.icc b/SP2 Instax Color Ver 1-00.icc new file mode 100644 index 0000000..5749f7b Binary files /dev/null and b/SP2 Instax Color Ver 1-00.icc differ -- cgit v1.2.3-70-g09d2