Wednesday, December 9, 2015

New Cover Art - Rise Of The Supreme

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! :)


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

#

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

#

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

#

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"
}

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/'

#

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 &) &)

#