summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlxf <sng@luxagraf.net>2022-04-05 10:18:12 -0400
committerlxf <sng@luxagraf.net>2022-04-05 10:18:12 -0400
commit45c4fbcc06d5bfd452c2f054930cd7eeb374ff19 (patch)
tree4969657401e100a60bde941da70b8f1881f82c6d
parente2737d673880d1a4896490f784919bcf08b8af9d (diff)
wrapped up all the updates into one commit
-rw-r--r--.config/qutebrowser/bookmarks/urls8
-rw-r--r--.config/qutebrowser/config.py68
-rw-r--r--.config/qutebrowser/greasemonkey/youtube-to-invidious.js2
-rw-r--r--.config/qutebrowser/quickmarks5
-rw-r--r--.config/qutebrowser/userscripts/youtube-to-invidious.js11
-rw-r--r--.config/ranger/bookmarks5
-rw-r--r--.config/ranger/tagged2
-rw-r--r--.config/sway/config36
-rw-r--r--.config/waybar/config22
-rwxr-xr-x.config/waybar/modules/storagehome.sh24
-rwxr-xr-x.config/waybar/modules/storagestorage.sh24
-rw-r--r--.mutt/mutt-colors-solarized-dark-16.muttrc15
-rw-r--r--.mutt/muttrc6
-rw-r--r--.mutt/personal3
-rw-r--r--.newsboat/config10
-rw-r--r--.photocopyrc2
-rw-r--r--.tmux.conf2
-rw-r--r--.vim/dict.add2
-rw-r--r--.vim/dict.add.splbin1599 -> 1613 bytes
-rw-r--r--.vimrc17
-rw-r--r--caps2esc.yaml4
21 files changed, 182 insertions, 86 deletions
diff --git a/.config/qutebrowser/bookmarks/urls b/.config/qutebrowser/bookmarks/urls
index 4146274..ed1ac30 100644
--- a/.config/qutebrowser/bookmarks/urls
+++ b/.config/qutebrowser/bookmarks/urls
@@ -134,3 +134,11 @@ 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
+https://manage.buyvm.net/login Stallion
+https://client.schwab.com/Areas/Trade/Stocks/Entry.aspx? Charles Schwab Client Center
+https://www.aza.org/find-a-zoo-or-aquarium Find a Zoo or Aquarium Near Me | AZA
+https://darksitefinder.com/maps/world.html#4/57.42/224.65 Light Pollution Map - DarkSiteFinder.com
+http://192.168.0.1/index.html#/index 4G LTE Mobile Hotspot
+https://live.luxagraf.net/admin/locations/location/add/ Add location | Django site admin
+https://client.schwab.com/Areas/Trade/Allinone/Index.aspx# All in One Trade | Charles Schwab
+https://wandererfinancial.com/4-4-22-todays-market/ 4/4/22 Today's Market - Wanderer Financial
diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py
index 51f4a0b..27be7d2 100644
--- a/.config/qutebrowser/config.py
+++ b/.config/qutebrowser/config.py
@@ -21,14 +21,15 @@ c.tabs.background = True
c.tabs.position = "top"
c.content.autoplay = False
-c.editor.command = ['alacritty', 'nvim', '{}']
+c.editor.command = ['foot', 'nvim', '{}']
c.url.default_page = "about:blank"
# searches
-c.url.searchengines['DEFAULT'] = 'https://www.startpage.com/rvd/search?query={}&language=auto'
+#c.url.searchengines['DEFAULT'] = 'https://www.startpage.com/rvd/search?query={}&language=auto'
# tor
#c.url.searchengines['DEFAULT'] = 'https://3g2upl4pq6kufc4m.onion/?q={}'
-c.url.searchengines['s'] = 'https://duckduckgo.com/?q={}'
+c.url.searchengines['DEFAULT'] = 'https://html.duckduckgo.com/html?q={}'
+c.url.searchengines['DEFAULT'] = 'https://duckduckgo.com/?q={}'
c.url.searchengines['g'] = 'http://www.google.com/search?hl=en&source=hp&ie=ISO-8859-l&q={}'
c.url.searchengines['a'] = 'https://wiki.archlinux.org/?search={}'
c.url.searchengines['y'] = 'https://www.youtube.com/results?search_query={}'
@@ -42,30 +43,12 @@ c.url.searchengines['w'] = 'https://www.google.com/search?q={}+site%3Awired.com'
c.content.javascript.enabled = False
# JS is okay for some sites:
-js_whitelist = [
-"*://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/whitelists/js")
+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
@@ -107,6 +90,7 @@ config.unbind('<Ctrl+h>')
# Userscripts
# call readability on page
config.bind (',r', 'spawn --userscript myread.py', mode='normal')
+config.bind (',c', 'spawn --userscript camel.py', mode='normal')
#download current or hinted video
config.bind(',y', 'spawn --userscript youtube-dl')
@@ -120,32 +104,32 @@ config.bind(',yv', 'spawn --detach mpv --force-window yes {url}')
config.bind (',f', 'open {primary}')
config.bind (',F', 'open --tab {primary}')
-config.bind (',e', 'open-editor')
+config.bind (',e', 'edit-text')
# clear cookies
config.bind('co', 'spawn bisc', mode='normal')
#config.set("colors.webpage.darkmode.enabled", True)
# save bookmark to luxagraf
-config.bind(',s', "jseval --quiet if(document.getSelection){s=document.getSelection();}else{s='';};document.location='https://live.luxagraf.net/admin/links/link/add?&url='+encodeURIComponent(location.href)+'&description='+encodeURIComponent(s)+'&title='+encodeURIComponent(document.title);")
+config.bind(',s', "jseval if(document.getSelection){s=document.getSelection();}else{s='';};document.location='https://live.luxagraf.net/admin/links/link/add/?url='+encodeURIComponent(location.href)+'&description='+encodeURIComponent(s)+'&title='+encodeURIComponent(document.title);")
import sys, os
#sys.path.append(os.path.join(sys.path[0], "jblock"))
#config.source("jblock/jblock/integrations/qutebrowser.py")
-config.set(
- "content.blocking.hosts.lists",
- [
- "https://easylist.to/easylist/fanboy-annoyance.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/annoyances.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt",
- "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt",
- "https://www.malwaredomainlist.com/hostslist/hosts.txt",
- ],
-)
+#config.set(
+# "content.blocking.hosts.lists",
+# [
+# "https://easylist.to/easylist/fanboy-annoyance.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/annoyances.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/privacy.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/resource-abuse.txt",
+# "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/unbreak.txt",
+# "https://www.malwaredomainlist.com/hostslist/hosts.txt",
+# ],
+#)
#config.set(
# "content.blocking.whitelist'",
diff --git a/.config/qutebrowser/greasemonkey/youtube-to-invidious.js b/.config/qutebrowser/greasemonkey/youtube-to-invidious.js
index b51c506..b61f20c 100644
--- a/.config/qutebrowser/greasemonkey/youtube-to-invidious.js
+++ b/.config/qutebrowser/greasemonkey/youtube-to-invidious.js
@@ -8,4 +8,4 @@
// @run-at document-start
// ==/UserScript==
-location.href=location.href.replace("www.youtube.com","invidious.fdn.fr");
+location.href=location.href.replace("www.youtube.com","invidio.xamh.de");
diff --git a/.config/qutebrowser/quickmarks b/.config/qutebrowser/quickmarks
index 4b83a6f..d9fb33d 100644
--- a/.config/qutebrowser/quickmarks
+++ b/.config/qutebrowser/quickmarks
@@ -1,9 +1,12 @@
ad https://live.luxagraf.net/admin/
tr https://live.luxagraf.net/trading/
base https://wandererfinancial.com/basecamp/
+pic https://live.luxagraf.net/admin/media/luximage/add/
li https://live.luxagraf.net/
lx https://luxagraf.net/
-dev http://10.87.144.224:8000/
+dev http://10.157.15.149:8000/
+devlbh http://10.157.15.227:8000/
+devccg http://10.157.15.137: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
diff --git a/.config/qutebrowser/userscripts/youtube-to-invidious.js b/.config/qutebrowser/userscripts/youtube-to-invidious.js
deleted file mode 100644
index b51c506..0000000
--- a/.config/qutebrowser/userscripts/youtube-to-invidious.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// ==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/ranger/bookmarks b/.config/ranger/bookmarks
index bfef72a..da6778f 100644
--- a/.config/ranger/bookmarks
+++ b/.config/ranger/bookmarks
@@ -9,5 +9,6 @@ s:/home/lxf/sites/luxagraf.net
c:/home/lxf/pictures/nextcloud-ccg-phone
t:/home/lxf/temp
p:/home/lxf/temp/wired
-k:/home/lxf/videos/downloads
-':/home/lxf/videos/downloads/darktable
+k:/home/lxf/pictures/exported
+':/home/lxf
+m:/home/lxf
diff --git a/.config/ranger/tagged b/.config/ranger/tagged
index 29f2d21..42ac542 100644
--- a/.config/ranger/tagged
+++ b/.config/ranger/tagged
@@ -18,3 +18,5 @@ r:/home/lxf/sites/corrinne-site/app/clients_
/home/lxf/pictures/screenshots/scrn-2020-12-23-15-51-06.png
/home/lxf/pictures/screenshots/scrn-2020-12-23-15-52-05.png
/home/lxf/pictures/screenshots/scrn-2020-12-24-22-48-59.png
+/home/lxf/lux/essays
+/home/lxf/sites/luxagraf.net/luxagraf.net/media/js/leaflet-1.7.1
diff --git a/.config/sway/config b/.config/sway/config
index 8c57f55..9916797 100644
--- a/.config/sway/config
+++ b/.config/sway/config
@@ -1,6 +1,6 @@
set $mod Mod1
set $mod2 Mod4
-set $term alacritty
+set $term foot #alacritty
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
@@ -29,7 +29,9 @@ bindsym $mod+F12 exec $screenclip
output * bg $background fill
input type:touchpad {
+ click_method clickfinger
natural_scroll enabled
+ middle_emulation disabled
}
# change focus
bindsym $mod2+j focus left
@@ -121,6 +123,7 @@ for_window [app_id="thunar"] floating enable
for_window [app_id="soffice"] floating enable
for_window [class="^lxf$"] floating enable
for_window [app_id="system-config-printer"] floating enable
+for_window [app_id="epiphany"] border none
for_window [app_id="darktable"] border none
for_window [class="Darktable"] border none
@@ -128,12 +131,12 @@ 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 [app_id="Vivaldi-stable"] border none
-for_window [class="Vivaldi"] border none
+for_window [app_id="vivaldi-snapshot"] border none
+for_window [app_id="vivaldi-stable"] 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 [app_id="^foot"] border none
for_window [class="Slack"] border none
for_window [class="Pavucontrol"] floating enable
for_window [window_role="pop-up"] floating enable
@@ -144,6 +147,8 @@ 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
+for_window [app_id="org.kde.kdenlive"] border none
+
assign [class="qutebrowser"] $ws2
assign [app_id="org.qutebrowser.qutebrowser"] $ws2
@@ -208,31 +213,38 @@ input "1:1:AT_Translated_Set_2_keyboard" {
repeat_rate 25
}
exec vivaldi-stable --ozone-platform=wayland --enable-features=UseOzonePlatform &
-exec alacritty &
-exec nextcloud &
+exec foot &
+exec mako &
exec mpd &
# clipboard manager
exec wl-paste -t text --watch clipman store --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'
+#bindsym $mod+c exec alacritty --class 'smsearch' --command bash -c 'fzclip | xargs -r swaymsg -t command exec'
+bindsym $mod+c exec foot --app-id=smsearch bash -c 'fzclip | xargs -r swaymsg -t command exec'
# app launcher
-bindsym $mod+Space exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec'
+#bindsym $mod+Space exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec'
+bindsym $mod+Space exec foot --app-id=launcher bash -c "compgen -c | sort -u | fzf --bind 'tab:up' | xargs -r swaymsg -t command exec"
# pass chooser
-bindsym $mod+p exec alacritty --class 'launcher' --command 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'
+bindsym $mod+p exec foot --app-id=launcher 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 alacritty --class 'smsearch' --command bash -c 'fzsnip | 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+s exec foot --app-id=smsearch bash -c 'fzsnip | 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'
+#bookmarks search
+#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'
+bindsym $mod+b exec foot --app-id=smsearch 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 $mod+n exec alacritty --class 'smsearch' --command bash -c 'notes'
+bindsym $mod+n exec foot --app-id=smsearch bash -c 'notes'
for_window [app_id="^smsearch$"] floating enable, border none, resize set width 80 ppt height 60 ppt, move position 0 px 0 px
diff --git a/.config/waybar/config b/.config/waybar/config
index 3dbeb15..2575944 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -4,7 +4,7 @@
"height": 24,
"modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": [""],
- "modules-right": ["mpd", "network", "idle_inhibitor", "battery", "custom/storage", "cpu", "memory", "custom/weather", "tray", "clock"],
+ "modules-right": ["mpd", "network", "idle_inhibitor", "battery", "custom/storage", "custom/storagehome", "custom/storagestorage", "cpu", "memory", "custom/weather", "tray", "clock"],
"sway/mode": {
"format": " {}"
},
@@ -31,7 +31,7 @@
"tooltip": false
},
"network": {
- "interface": "wlp3s0",
+ "interface": "wlp1s0",
"format": "{ifname}",
"format-wifi": "{essid} ({signalStrength}%) | ",
"format-ethernet": "{ifname} ",
@@ -40,7 +40,7 @@
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
"tooltip-format-ethernet": "{ifname} ",
"tooltip-format-disconnected": "Disconnected",
- "on-click": "alacritty -e nmtui",
+ "on-click": "foot -e nmtui",
"tooltip": false
},
"pulseaudio": {
@@ -77,6 +77,22 @@
"interval": 60,
"exec": "$HOME/.config/waybar/modules/storage.sh"
},
+ "custom/storagestorage": {
+ "format": "{}  |",
+ "format-alt": "{percentage}% ",
+ "format-alt-click": "click-right",
+ "return-type": "json",
+ "interval": 60,
+ "exec": "$HOME/.config/waybar/modules/storagestorage.sh"
+ },
+ "custom/storagehome": {
+ "format": "{}  |",
+ "format-alt": "{percentage}% ",
+ "format-alt-click": "click-right",
+ "return-type": "json",
+ "interval": 60,
+ "exec": "$HOME/.config/waybar/modules/storagehome.sh"
+ },
"backlight": {
"format": "{icon}",
"format-alt": "{percent}% {icon} | ",
diff --git a/.config/waybar/modules/storagehome.sh b/.config/waybar/modules/storagehome.sh
new file mode 100755
index 0000000..e59c051
--- /dev/null
+++ b/.config/waybar/modules/storagehome.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+mount="/home"
+warning=20
+critical=10
+
+df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical '
+/\/.*/ {
+ text=$4
+ tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6
+ use=$5
+ exit 0
+}
+END {
+ class=""
+ gsub(/%$/,"",use)
+ if ((100 - use) < critical) {
+ class="critical"
+ } else if ((100 - use) < warning) {
+ class="warning"
+ }
+ print "{\"text\":\""text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}"
+}
+ '
diff --git a/.config/waybar/modules/storagestorage.sh b/.config/waybar/modules/storagestorage.sh
new file mode 100755
index 0000000..f04adfd
--- /dev/null
+++ b/.config/waybar/modules/storagestorage.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+mount="/storage"
+warning=20
+critical=10
+
+df -h -P -l "$mount" | awk -v warning=$warning -v critical=$critical '
+/\/.*/ {
+ text=$4
+ tooltip="Filesystem: "$1"\rSize: "$2"\rUsed: "$3"\rAvail: "$4"\rUse%: "$5"\rMounted on: "$6
+ use=$5
+ exit 0
+}
+END {
+ class=""
+ gsub(/%$/,"",use)
+ if ((100 - use) < critical) {
+ class="critical"
+ } else if ((100 - use) < warning) {
+ class="warning"
+ }
+ print "{\"text\":\" "text"\", \"percentage\":"use",\"tooltip\":\""tooltip"\", \"class\":\""class"\"}"
+}
+ '
diff --git a/.mutt/mutt-colors-solarized-dark-16.muttrc b/.mutt/mutt-colors-solarized-dark-16.muttrc
index e9d6def..d499e3a 100644
--- a/.mutt/mutt-colors-solarized-dark-16.muttrc
+++ b/.mutt/mutt-colors-solarized-dark-16.muttrc
@@ -41,7 +41,9 @@ mono bold bold
mono underline underline
mono indicator reverse
mono error bold
-
+color normal default default
+color normal yellow default
+color normal default default
# index ----------------------------------------------------------------
#color index red default "~D(!~p|~p)" # deleted
@@ -120,8 +122,6 @@ color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
-mono body bold "^gpg: Good signature"
-mono body bold "^gpg: BAD signature from.*"
# yes, an insance URL regex
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
@@ -149,3 +149,12 @@ color body red default "([a-z][a-z0-9+-]*://(((([a-
#folder-hook gmail/inbox "color status J_black yellow "
#folder-hook gmail/important "color status J_black yellow "
+color body blue default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
+color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
+color body green default "\`[^\`]*\`" # Green text between ` and `
+color body brightblue default "^# \.*" # Headings as bold blue
+color body brightcyan default "^## \.*" # Subheadings as bold cyan
+color body brightgreen default "^### \.*" # Subsubheadings as bold green
+color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
+color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
+
diff --git a/.mutt/muttrc b/.mutt/muttrc
index 23b7153..b110401 100644
--- a/.mutt/muttrc
+++ b/.mutt/muttrc
@@ -72,11 +72,11 @@ macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# Gmail style archiving and starring
macro index,pager a "<save-message>=Archive<enter><sync-mailbox>" "Archive"
-macro index,pager s "<save-message>=starred<enter><sync-mailbox>" "Starred"
+macro index,pager s "<save-message>=Starred<enter><sync-mailbox>" "Starred"
macro index,pager gi "<change-folder>=INBOX<enter>" "Go to inbox"
macro index,pager ga "<change-folder>=Archive<enter>" "Go to all mail"
macro index,pager gb "<change-folder>=Bookmarks<enter>" "Go to Bookmarks"
-#macro index,pager gs "<change-folder>=starred<enter>" "Go to starred messages"
+macro index,pager gt "<change-folder>=Starred<enter>" "Go to starred messages"
macro index,pager gs "<change-folder>=Sent<enter>" "Go to starred messages"
#Save a message to my notes folder
macro index,pager N "<pipe-message>~/bin/mqq.sh "
@@ -144,7 +144,7 @@ bind index p recall-message
set query_command = "abook --mutt-query '%s'"
bind editor <Tab> complete-query
bind editor ^T complete
-set editor="vim -c 'set spell spelllang=en'"
+set editor="nvim -c 'set spell spelllang=en'"
source ~/.mutt/mutt-colors-solarized-dark-16.muttrc
#undo limit searches
diff --git a/.mutt/personal b/.mutt/personal
index d349c2b..e90d825 100644
--- a/.mutt/personal
+++ b/.mutt/personal
@@ -1,4 +1,5 @@
set from = "sng@luxagraf.net"
+set reverse_name = yes
set folder = ~/.mail
set sendmail = "/usr/bin/msmtp -a personal"
set sendmail_wait = 0
@@ -7,7 +8,7 @@ set mbox = "+Archive"
set postponed = "+Drafts"
set record="+Sent"
# Alternate email addresses.
-alternates "luxagraf@gmail.com"
+alternates "wired@scottgilbertson.net"
# Mailboxes to show
mailboxes =INBOX \
diff --git a/.newsboat/config b/.newsboat/config
index f5c3efe..3507a3e 100644
--- a/.newsboat/config
+++ b/.newsboat/config
@@ -16,14 +16,16 @@ bind-key g home
bind-key G end
#macro y set browser "mpv %u" ; open-in-browser ; set browser "browser %u"
-macro y set browser "tsp youtube-dl %u"; open-in-browser ; set browser "$BROWSER %u"
-
+macro y set browser "tsp yt-dlp %u"; open-in-browser ; set browser "$BROWSER %u"
+macro d set browser "yt-dlp %u &"; open-in-browser-noninteractively; set browser $BROWSER
+confirm-mark-all-feeds-read no
+confirm-mark-feed-read no
download-full-page yes
confirm-exit yes
#browser "~/bin/open-in-pane"
+browser ~/bin/newsboat-browser.sh
#browser "$BROWSER"
-#browser "qutebrowser -l critical "
-#browser "xvivaldi-snap %u"
+#browser "xvivaldi-stable & >> /dev/null "
#browser "firefox-developer-edition"
bind-key v open-in-browser-and-mark-read
#bind-key o open-in-browser-and-mark-read
diff --git a/.photocopyrc b/.photocopyrc
index 192bfc8..a347063 100644
--- a/.photocopyrc
+++ b/.photocopyrc
@@ -1 +1 @@
-DSC04454.ARW \ No newline at end of file
+DSC06429.ARW \ No newline at end of file
diff --git a/.tmux.conf b/.tmux.conf
index 2867e7c..9ca16e3 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -58,6 +58,8 @@ bind C-f source-file ~/.tmux/write-fict
bind C-x source-file ~/.tmux/write-lux
bind C-w source-file ~/.tmux/write-wire
bind C-d source-file ~/.tmux/dev
+bind C-l source-file ~/.tmux/dev-lbh
+bind C-c source-file ~/.tmux/dev-ccg
set -g status-left-length 52
diff --git a/.vim/dict.add b/.vim/dict.add
index 736fe18..f2ee528 100644
--- a/.vim/dict.add
+++ b/.vim/dict.add
@@ -108,3 +108,5 @@ lateen
unsubscribe
Lenovo
terabyte
+Leica
+M11
diff --git a/.vim/dict.add.spl b/.vim/dict.add.spl
index 45efa04..b9d7bf3 100644
--- a/.vim/dict.add.spl
+++ b/.vim/dict.add.spl
Binary files differ
diff --git a/.vimrc b/.vimrc
index 00147f8..011cb86 100644
--- a/.vimrc
+++ b/.vimrc
@@ -29,6 +29,8 @@ Bundle 'alok/notational-fzf-vim'
Bundle 'nathangrigg/vim-beancount'
Bundle 'lambdalisue/suda.vim'
Bundle 'jasonccox/vim-wayland-clipboard'
+Bundle 'fcpg/vim-waikiki'
+Bundle 'tyru/open-browser.vim'
call vundle#end()
filetype plugin indent on
"}}}
@@ -54,20 +56,24 @@ set showcmd
set showmode
set backspace=indent,eol,start
let mapleader = ","
-
+let maplocalleader = "."
"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
+let g:netrw_nogx = 1 " disable netrw's gx mapping.
+nmap gx <Plug>(openbrowser-smart-search)
+vmap gx <Plug>(openbrowser-smart-search)
"}}}
" Abbreviations {{{
" easier markdown links:
let @a ='Sr%a()h'
-let @s ='Sr%a(){: rel=nofollow}17h'
+let @s ='Sr%a(){: rel=nofollow isAffiliateLink="true"}40h'
+
" email signature:
let @c ='icheers Scott Gilbertson sng@luxagraf.net '
let @w ='i cheers Scott Gilbertson -- <wired@scottgilbertson.net> <scott_gilbertson@wired.com> <https://www.wired.com/author/scott-gilbertson/>'
@@ -80,6 +86,7 @@ let @n ='tag=wirednl-20'
let @d ='<div class="cluster"> <span class="row-2"> </span> </div>'
" get rid of line breaks in paragraphs
let @p ='g/^./ .,/^$/-1 join'
+let @v='/a bit|a little|sort of|kind of|rather|quite|very|too|pretty much'
" }}}
" Convenience mappings {{{
@@ -424,3 +431,9 @@ nmap <leader># :%s/### /###/g
imap jj <Esc>
vmap <silent> <leader>r <esc>:'<,'>:w !espeak &> /dev/null <CR>
+"let g:waikiki_default_maps = 1
+let g:waikiki_wiki_roots = ['~/notes']
+let g:waikiki_ext ='.txt'
+let g:waikiki_index = "index.txt"
+nnoremap <Leader>b :bp<CR>
+nmap <leader><cr> <Plug>(waikikiFollowLink)
diff --git a/caps2esc.yaml b/caps2esc.yaml
new file mode 100644
index 0000000..9a1f96b
--- /dev/null
+++ b/caps2esc.yaml
@@ -0,0 +1,4 @@
+- JOB: "intercept -g $DEVNODE | caps2esc | uinput -d $DEVNODE"
+ DEVICE:
+ EVENTS:
+ EV_KEY: [KEY_CAPSLOCK, KEY_ESC]