fortune bible

probably not to everyone's tastes, but may generate some ideas for others ;)

i grew weary of the random quotes, and wanted something more inspirational O:) has a KJV Bible formatted for fortunes. download & extract it to /usr/share/games/fortunes.

#! has fortunes pre-installed. if you don't have fortunes installed
# apt-get install fortune-mod

now you can get a random bible verse
$ fortune bible
add this to ~/.profile or ~/.bashrc to get it automatically every time you login to the console or start a shell.

to get it to pop up in a notification
$ notify-send "KJV Bible" "$(fortune bible)"
add this to your x startup file to get popup notification automatically at startup. call it with a sleep delay if you don't want this to be the first popup at the start.

i used xfce4-notifyd-config to change my notify theme to greybird, which looks like waldorf but also bolds the summary heading.

you can also get this to popup every few mins/hrs, like i have in my .xsession
while notify-send --urgency=low --icon=/usr/share/pixmaps/geany.xpm "KJV Bible" "$(fortune bible)"; do sleep 30m; done &
or you can put this line to your openbox autostart in .config/openbox/autostart

ok, now i would like your help with some shell scripting:
$ fortune bible
Better is the poor that walketh in his integrity, than he that is
perverse in his lips, and is a fool.
-- Proverbs 19:1

the output is a verse split into one or more lines, followed by a line with lots of spaces, then "--" and the "verse number".

how could i extract the verse (in this case, first two lines) and the verse number (in this case, "Proverbs 19:1", third line after --) into two variables?

what i want to do is
$ notify-send "$verse-number" "$verse"

update: thanks to porkpiehat, i have a script for my requirement.

verse=$(fortune bible | tr "\n" " " | xargs --null)
notify-send --urgency=low --icon=/usr/share/pixmaps/geany.xpm "${verse#*--}" "${verse%--*}"


#! openbox background/wallpaper

i keep only openbox relevant stuff in the openbox/autostart, and moved everything .xsession. this way, i can seemlessly change wm.

my ~/.xsession contains:
hsetroot -solid "#000000" -fill ~/.wallpaper &
exec openbox-session

i have commented out wallpaper settings in ~/.config/openbox/autostart, like so:
## Set root window colour
#hsetroot -solid "#2E3436" &

## Group start:
## 1. nitrogen - restores wallpaper
## 2. compositor - start
## 3. sleep - give compositor time to start
## 4. tint2 panel
#nitrogen --restore && \
cb-compositor --start && \
sleep 2s && \
tint2 \
) &

my problem:
hsetroot in ~/.xsession correctly sets my wallpaper. at some point during openbox startup, the wallpaper settings are reset, and i end up with a blank grey background at the end of openbox startup.

my question:
what/where is this happening?

thanks for the hint to look at openbox configs. i suspected something running from somewhere in my user configs. it is rather strange that openbox would contain hard-coded configs overwriting user settings. i would consider this a bug. would this be openbox upstream or crunchbang specific?

/usr/bin/openbox-session calls
1. /etc/xdg/openbox/environment
2. $HOME/.config/openbox/environment
3. /usr/lib/openbox/openbox-autostart

/usr/lib/openbox/openbox-autostart sets background, resetting any user settings for background/wallpaper. then it calls
1. /etc/xdg/openbox/autostart
2. $HOME/.config/openbox/autostart
3. /usr/lib/openbox/openbox-xdg-autostart

which means that any ~/.xsession settings, conflicting in any of the above files, would be overwritten. openbox expects all user x configs to be within openbox only, which i think is plain wrong.

i have commented out the background color section in /usr/lib/openbox/openbox-autostart, which resolves my op. thanks porkpiehat :)

/etc/X11/openbox/ is yet another directory with openbox configs

i am loathe to edit system configs, as they might conflict with upstream upgrades later when i might not remember what/why i changed something. hence why i keep them pristine, preferring to keep my settings in local user configs. this also help me seemlessly switch wm and/or carry them over to other machines.

would openbox expect users to call ~/.xsession at the end of ~/.config/openbox/autostart? that would be crazy logic :o


debian time

check whether your system uses utc or localtime
$ cat /etc/adjtime

if utc, all is well. you might find hwclock set to localtime.

it is recommended to use utc for every os. the only objection might be from windows users. you can set a registry key for windows to use utc. this is far more preferable than tinkering with the hardware clock, as your system will never be able to catchup with drift.

# hwclock --adjust --utc
# hwclock --systohc --utc

check your timezone
$ cat /etc/timezone

if not correct
# dpkg-reconfigure tzdata

ntp sync your clock and adjust hwclock again, if need be.
rdate -nuv

most popular posts