Merge branch 'xdgify' of https://github.com/dennisleexyz/dotfiles into dennisleexyz-xdgify
This commit is contained in:
@@ -3,4 +3,4 @@
|
||||
# Toggles all cronjobs off/on.
|
||||
# Stores disabled crontabs in ~/.consaved until restored.
|
||||
|
||||
([ -f ~/.config/cronsaved ] && crontab - < ~/.config/cronsaved && rm ~/.config/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > ~/.config/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.")
|
||||
([ -f $XDG_CONFIG_HOME/cronsaved ] && crontab - < $XDG_CONFIG_HOME/cronsaved && rm $XDG_CONFIG_HOME/cronsaved && notify-send "🕓 Cronjobs re-enabled.") || ( crontab -l > $XDG_CONFIG_HOME/cronsaved && crontab -r && notify-send "🕓 Cronjobs saved and disabled.")
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# Must have xclip installed to even show menu.
|
||||
xclip -h 2>/dev/null || exit 1
|
||||
|
||||
chosen=$(cut -d ';' -f1 ~/.local/share/larbs/emoji | dmenu -i -l 20 | sed "s/ .*//")
|
||||
chosen=$(cut -d ';' -f1 $XDG_DATA_HOME/larbs/emoji | dmenu -i -l 20 | sed "s/ .*//")
|
||||
|
||||
[ "$chosen" != "" ] || exit
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
cat ~/.local/share/larbs/getkeys/"$1" 2>/dev/null && exit
|
||||
cat $XDG_DATA_HOME/larbs/getkeys/"$1" 2>/dev/null && exit
|
||||
echo "Run command with one of the following arguments for info about that program:"
|
||||
ls ~/.local/share/larbs/getkeys
|
||||
ls $XDG_DATA_HOME/larbs/getkeys
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Toggles the LARBS welcome message.
|
||||
|
||||
PIC="$HOME/.local/share/larbs/larbs.png"
|
||||
PIC="$XDG_DATA_HOME/larbs/larbs.png"
|
||||
|
||||
grep LARBSWELCOME "$HOME/.xprofile" &&
|
||||
( sed -i "/LARBSWELCOME/d" ~/.xprofile && notify-send -i "$PIC" "LARBS welcome message" "Welcome message disabled. Press Super+Shift+F1 again to reverse." ) ||
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
[ "$(pgrep -x $(basename $0) | wc -l)" -gt 2 ] && exit
|
||||
|
||||
echo ~/.local/share/newsboat/queue | entr -p queueandnotify 2>/dev/null
|
||||
echo $XDG_DATA_HOME/newsboat/queue | entr -p queueandnotify 2>/dev/null
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Podboat sucks. This script replaces it.
|
||||
# It reads the newsboat queue, queuing downloads with taskspooler.
|
||||
# It also removes the junk from extentions.
|
||||
queuefile="$HOME/.local/share/newsboat/queue"
|
||||
queuefile="$XDG_DATA_HOME/newsboat/queue"
|
||||
|
||||
while read -r line; do
|
||||
[ -z "$line" ] && continue
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
! echo "$1" | grep "https*://\S\+\.[A-Za-z]\+\S*" >/dev/null &&
|
||||
notify-send "That doesn't look like a full URL." && exit
|
||||
RSSFILE="$HOME/.config/newsboat/urls"
|
||||
RSSFILE="$XDG_CONFIG_HOME/newsboat/urls"
|
||||
if awk '{print $1}' "$RSSFILE" | grep "^$1$" >/dev/null; then
|
||||
notify-send "You already have this RSS feed."
|
||||
else
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Output locations. Unactivated progs should go to /dev/null.
|
||||
shell_shortcuts="$HOME/.config/shortcutrc"
|
||||
ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf"
|
||||
shell_shortcuts="$XDG_CONFIG_HOME/shortcutrc"
|
||||
ranger_shortcuts="$XDG_CONFIG_HOME/ranger/shortcuts.conf"
|
||||
qute_shortcuts="/dev/null"
|
||||
fish_shortcuts="/dev/null"
|
||||
vifm_shortcuts="$HOME/.config/vifm/vifmshortcuts"
|
||||
vifm_shortcuts="$XDG_CONFIG_HOME/vifm/vifmshortcuts"
|
||||
|
||||
# Remove, prepare files
|
||||
rm -f "$ranger_shortcuts" "$qute_shortcuts" 2>/dev/null
|
||||
@@ -14,14 +14,14 @@ printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts"
|
||||
printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts"
|
||||
|
||||
# Format the `directories` file in the correct syntax and sent it to all three configs.
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "$XDG_CONFIG_HOME/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \
|
||||
>(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \
|
||||
>(awk '{print "map g" $1, ":cd", $2 "<CR>\nmap t" $1, "<tab>:cd", $2 "<CR><tab>\nmap M" $1, "<tab>:cd", $2 "<CR><tab>:mo<CR>\nmap Y" $1, "<tab>:cd", $2 "<CR><tab>:co<CR>" }' >> "$vifm_shortcuts") \
|
||||
>(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \
|
||||
| awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts"
|
||||
|
||||
# Format the `files` file in the correct syntax and sent it to both configs.
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/files" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \
|
||||
sed "s/\s*#.*$//;/^\s*$/d" "$XDG_CONFIG_HOME/files" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \
|
||||
>(awk '{print "abbr", $1, "\"$EDITOR "$2"\""}' >> "$fish_shortcuts") \
|
||||
>(awk '{print "map", $1, ":e", $2 "<CR>" }' >> "$vifm_shortcuts") \
|
||||
| awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts"
|
||||
|
||||
@@ -4,7 +4,7 @@ date '+%Y %b %d (%a) %I:%M%p'
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) pgrep -x dunst >/dev/null && notify-send "This Month" "$(cal --color=always | sed "s/..7m/<b><span color=\"red\">/;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;;
|
||||
2) $TERMINAL -e calcurse -D ~/.config/calcurse ;;
|
||||
2) $TERMINAL -e calcurse -D $XDG_CONFIG_HOME/calcurse ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\`
|
||||
- Middle click opens calcurse if installed" ;;
|
||||
esac
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
case $BLOCK_BUTTON in
|
||||
1) groff -mom ~/.local/share/larbs/readme.mom -Tpdf | zathura - ;;
|
||||
1) groff -mom $XDG_DATA_HOME/larbs/readme.mom -Tpdf | zathura - ;;
|
||||
2) i3 restart ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "❓ Help module" "\- Left click to open LARBS guide.
|
||||
- Middle click to refresh i3.";;
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
# https://www.maketecheasier.com/ip-address-geolocation-lookups-linux/
|
||||
ifinstalled "geoiplookup" || exit
|
||||
addr="$(curl ifconfig.me 2>/dev/null)" || exit
|
||||
grep "flag: " ~/.config/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//"
|
||||
grep "flag: " $XDG_CONFIG_HOME/emoji | grep "$(geoiplookup $addr | sed 's/.*, //')" | sed "s/flag: //;s/;.*//"
|
||||
|
||||
@@ -13,7 +13,7 @@ case $BLOCK_BUTTON in
|
||||
- Middle click syncs mail" ;;
|
||||
esac
|
||||
|
||||
unread="$(find ~/.local/share/mail/*/INBOX/new/* -type f | wc -l 2>/dev/null)"
|
||||
unread="$(find $XDG_DATA_HOME/mail/*/INBOX/new/* -type f | wc -l 2>/dev/null)"
|
||||
|
||||
icon="$(cat "/tmp/imapsyncicon_$USER")"
|
||||
|
||||
|
||||
@@ -14,4 +14,4 @@ case $BLOCK_BUTTON in
|
||||
<b>Note:</b> Only one instance of newsboat (including updates) may be running at a time." ;;
|
||||
esac
|
||||
|
||||
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed s/^0$//g)$(cat ~/.config/newsboat/.update 2>/dev/null)"
|
||||
cat /tmp/newsupdate 2>/dev/null || echo "$(newsboat -x print-unread | awk '{ print "📰 " $1}' | sed s/^0$//g)$(cat $XDG_CONFIG_HOME/newsboat/.update 2>/dev/null)"
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
# You could set up a shell alias to view the full file in a pager in the
|
||||
# terminal if desired. This function will only be run once a day when needed.
|
||||
getforecast() { ping -q -c 1 1.1.1.1 >/dev/null &&
|
||||
curl -sf "wttr.in/$LOCATION" > "$HOME/.local/share/weatherreport" || exit 1 ;}
|
||||
curl -sf "wttr.in/$LOCATION" > "$XDG_DATA_HOME/weatherreport" || exit 1 ;}
|
||||
|
||||
# Some very particular and terse stream manipulation. We get the maximum
|
||||
# precipication chance and the daily high and low from the downloaded file and
|
||||
# display them with coresponding emojis.
|
||||
showweather() { printf "%s" "$(sed '16q;d' "$HOME/.local/share/weatherreport" |
|
||||
showweather() { printf "%s" "$(sed '16q;d' "$XDG_DATA_HOME/weatherreport" |
|
||||
grep -wo "[0-9]*%" | sort -rn | sed "s/^/☔ /g;1q" | tr -d '\n')"
|
||||
sed '13q;d' "$HOME/.local/share/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}' ;}
|
||||
sed '13q;d' "$XDG_DATA_HOME/weatherreport" | grep -o "m\\([-+]\\)*[0-9]\\+" | sort -n -t 'm' -k 2n | sed -e 1b -e '$!d' | tr '\n|m' ' ' | awk '{print " ❄️",$1 "°","🌞",$2 "°"}' ;}
|
||||
|
||||
# The BLOCK_BUTTON bloat for clicking in i3.
|
||||
case $BLOCK_BUTTON in
|
||||
1) $TERMINAL -e less -Srf "$HOME/.local/share/weatherreport" ;;
|
||||
1) $TERMINAL -e less -Srf "$XDG_DATA_HOME/weatherreport" ;;
|
||||
2) getforecast && showweather ;;
|
||||
3) pgrep -x dunst >/dev/null && notify-send "🌈 Weather module" "\- Left click for full forecast.
|
||||
- Middle click to update forecast.
|
||||
@@ -29,7 +29,7 @@ esac
|
||||
|
||||
# The test if our forcecast is updated to the day. If it isn't download a new
|
||||
# weather report from wttr.in with the above function.
|
||||
[ "$(stat -c %y "$HOME/.local/share/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
|
||||
[ "$(stat -c %y "$XDG_DATA_HOME/weatherreport" 2>/dev/null | cut -d' ' -f1)" = "$(date '+%Y-%m-%d')" ] ||
|
||||
getforecast
|
||||
|
||||
showweather
|
||||
|
||||
Reference in New Issue
Block a user