In return for an honest review of this audiobook, Rise Of The Supreme, I have some promotional copies that I can give away. Just ask me either in the blog comments or Facebook.
I have been working with the widow of the author to get the cover art updated for an audiobook, Rise Of The Supreme, that I produced / narrated. Guess what, the widow painted this, on canvas! If you look closely, you can see the canvas texture. She said that this painting is in the style that the late author would have preferred. Sadly, the author died soon, months after the audiobook was published. The widow has informed me that he got alot of joy collaborating with me in the final year of his life to get this audiobook published.
It was based on another painting, a collaboration between my son Michael and myself. He did the original pencil sketch. Here is the painting that I did most of the work on.
Here is the aforementioned pencil sketch that my son Michael Witt did. He earned $10 out of my wallet for that. It's pretty good for a sketch based on some ideas I threw at him.
And here is the cover art that inspired it all! :)
Charles Weldon Witt
Audiobook Narrator / Producer
Wednesday, December 9, 2015
Monday, October 26, 2015
i3wm xsession
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: xsession
#!/usr/bin/env bash
# Do custom xrandr and i3 config conditional upon Work / Studio / Laptop
~/.i3/i3config.sh
exec /usr/bin/i3
#
Filename: xsession
#!/usr/bin/env bash
# Do custom xrandr and i3 config conditional upon Work / Studio / Laptop
~/.i3/i3config.sh
exec /usr/bin/i3
#
i3wm Reboot.sh
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: Reboot.sh
#!/bin/bash
# reboot without password
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
#
Filename: Reboot.sh
#!/bin/bash
# reboot without password
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
#
i3wm Poweroff.sh
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: Poweroff.sh
#!/bin/bash
# poweroff without password
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
#
Filename: Poweroff.sh
#!/bin/bash
# poweroff without password
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
#
i3wm i3status.conf
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: i3status.conf
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 10
}
#order += "ipv6"
order += "disk /"
#order += "run_watch DHCP"
#order += "run_watch VPN"
order += "wireless wlan0"
order += "ethernet eth0"
order += "load"
order += "battery 0"
order += "tztime local"
wireless wlan0 {
#format_up = "W: (%quality at %essid) %ip"
format_up = "W:%essid:%ip"
format_down = "W"
}
ethernet eth0 {
# if you use %speed, i3status requires root privileges
format_up = "E:%ip"
format_down = "E"
}
battery 0 {
format = "%status:%percentage %remaining"
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPN {
pidfile = "/var/run/vpnc/pid"
}
tztime local {
format = "%a %d%b%Y %H:%M"
}
load {
format = "load:%1min"
}
disk "/" {
format = "/:%avail"
}
Filename: i3status.conf
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 10
}
#order += "ipv6"
order += "disk /"
#order += "run_watch DHCP"
#order += "run_watch VPN"
order += "wireless wlan0"
order += "ethernet eth0"
order += "load"
order += "battery 0"
order += "tztime local"
wireless wlan0 {
#format_up = "W: (%quality at %essid) %ip"
format_up = "W:%essid:%ip"
format_down = "W"
}
ethernet eth0 {
# if you use %speed, i3status requires root privileges
format_up = "E:%ip"
format_down = "E"
}
battery 0 {
format = "%status:%percentage %remaining"
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPN {
pidfile = "/var/run/vpnc/pid"
}
tztime local {
format = "%a %d%b%Y %H:%M"
}
load {
format = "load:%1min"
}
disk "/" {
format = "/:%avail"
}
i3wm i3GetWindowCriteria.sh
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: i3GetWindowCriteria.sh
#!/bin/sh
# i3-get-window-criteria.sh - Get criteria for use with i3 config commands
# To use, run this script, then click on a window.
# Output is in the format: [<name>=<value> <name>=<value> ...]
# Known problem: when WM_NAME is used as fallback for the 'title="<string>"' criterion,
# quotes in "<string>" are not escaped properly. This is a problem with the output of `xprop`,
# reported upstream: https://bugs.freedesktop.org/show_bug.cgi?id=66807
PROGNAME=`basename "$0"`
# Check for xwininfo and xprop
for cmd in xwininfo xprop; do
if ! which $cmd > /dev/null 2>&1; then
echo "$PROGNAME: $cmd: command not found" >&2
exit 1
fi
done
match_int='[0-9][0-9]*'
match_string='".*"'
match_qstring='"[^"\\]*(\\.[^"\\]*)*"' # NOTE: Adds 1 backreference
{
# Run xwininfo, get window id
window_id=`xwininfo -int | sed -nre "s/^xwininfo: Window id: ($match_int) .*$/\1/p"`
echo "id=$window_id"
# Run xprop, transform its output into i3 criteria. Handle fallback to
# WM_NAME when _NET_WM_NAME isn't set
xprop -id $window_id |
sed -nr \
-e "s/^WM_CLASS\(STRING\) = ($match_qstring), ($match_qstring)$/instance=\1\nclass=\3/p" \
-e "s/^WM_WINDOW_ROLE\(STRING\) = ($match_qstring)$/window_role=\1/p" \
-e "/^WM_NAME\(STRING\) = ($match_string)$/{s//title=\1/; h}" \
-e "/^_NET_WM_NAME\(UTF8_STRING\) = ($match_qstring)$/{s//title=\1/; h}" \
-e '${g; p}'
} | sort | tr "\n" " " | sed -r 's/^(.*) $/[\1]\n/'
#
Filename: i3GetWindowCriteria.sh
#!/bin/sh
# i3-get-window-criteria.sh - Get criteria for use with i3 config commands
# To use, run this script, then click on a window.
# Output is in the format: [<name>=<value> <name>=<value> ...]
# Known problem: when WM_NAME is used as fallback for the 'title="<string>"' criterion,
# quotes in "<string>" are not escaped properly. This is a problem with the output of `xprop`,
# reported upstream: https://bugs.freedesktop.org/show_bug.cgi?id=66807
PROGNAME=`basename "$0"`
# Check for xwininfo and xprop
for cmd in xwininfo xprop; do
if ! which $cmd > /dev/null 2>&1; then
echo "$PROGNAME: $cmd: command not found" >&2
exit 1
fi
done
match_int='[0-9][0-9]*'
match_string='".*"'
match_qstring='"[^"\\]*(\\.[^"\\]*)*"' # NOTE: Adds 1 backreference
{
# Run xwininfo, get window id
window_id=`xwininfo -int | sed -nre "s/^xwininfo: Window id: ($match_int) .*$/\1/p"`
echo "id=$window_id"
# Run xprop, transform its output into i3 criteria. Handle fallback to
# WM_NAME when _NET_WM_NAME isn't set
xprop -id $window_id |
sed -nr \
-e "s/^WM_CLASS\(STRING\) = ($match_qstring), ($match_qstring)$/instance=\1\nclass=\3/p" \
-e "s/^WM_WINDOW_ROLE\(STRING\) = ($match_qstring)$/window_role=\1/p" \
-e "/^WM_NAME\(STRING\) = ($match_string)$/{s//title=\1/; h}" \
-e "/^_NET_WM_NAME\(UTF8_STRING\) = ($match_qstring)$/{s//title=\1/; h}" \
-e '${g; p}'
} | sort | tr "\n" " " | sed -r 's/^(.*) $/[\1]\n/'
#
i3wm i3ExecAlways
2080 while read file;do echo;echo;history|tail -1;echo Filename: "${file}";cat "${file}";echo;echo;echo;done
Filename: i3ExecAlways
#!/bin/bash
# double fork to avoid zombies
# see http://charlesweldonwitt.blogspot.com/2015/08/double-fork-to-avoid-zombies.html
# autokey for some automation stuff
(( sleep 3 && pgrep -f autokey || autokey 0<&- &>/dev/null &) &)
# nm-applet for wifi, ethernet, vpn
(( sleep 20 && pgrep -f 'nm-applet' || sudo /usr/bin/nm-applet 0<&- &>/dev/null &) &)
# duplicati does versioned backups
(( sleep 3 && pgrep -f duplicati || ~/bin/duplicati.sh 0<&- &>/dev/null &) &)
# insync syncs with Google Drive (most recent version only) - hence duplicati for versioning of some things
# insync notify applet seems to disappear upon i3wm restart, so always quit / pkill it and start it again
(( sleep 5;insync quit;sleep 10;pkill -f insync;insync start 0<&- &>/dev/null &) &)
#
Filename: i3ExecAlways
#!/bin/bash
# double fork to avoid zombies
# see http://charlesweldonwitt.blogspot.com/2015/08/double-fork-to-avoid-zombies.html
# autokey for some automation stuff
(( sleep 3 && pgrep -f autokey || autokey 0<&- &>/dev/null &) &)
# nm-applet for wifi, ethernet, vpn
(( sleep 20 && pgrep -f 'nm-applet' || sudo /usr/bin/nm-applet 0<&- &>/dev/null &) &)
# duplicati does versioned backups
(( sleep 3 && pgrep -f duplicati || ~/bin/duplicati.sh 0<&- &>/dev/null &) &)
# insync syncs with Google Drive (most recent version only) - hence duplicati for versioning of some things
# insync notify applet seems to disappear upon i3wm restart, so always quit / pkill it and start it again
(( sleep 5;insync quit;sleep 10;pkill -f insync;insync start 0<&- &>/dev/null &) &)
#
Subscribe to:
Posts (Atom)