Stebalien's Blog
Hello, and welcome to my blog! I post sporadically on random subjects from Linux to Emacs. Check out my tags if you want to browse posts on a specific subject.
If you want to be notified about new posts, this blog has an Atom feed feed. However, unless you want to read my every rant, you may want to subscribe specific tags instead, each of which has its own Atom feed. Most feed readers will correctly deduplicate entries so you shouldn’t run into any issues if you subscribe to multiple tags.
My Configuration Files
I have finally got around to making a git repository for my configuration files.
Here they are: http://github.com/Stebalien/dotfiles
Turn the Zim Desktop Wiki into a calendar
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
Why
I recently switched to Arch Linux and decided to ditch evolution (a good but bloated program). Claws Mail works perfectly as an email manager but I couldn’t get its calendar plugin to work properly. I have been using Zim for a while and noticed that it had a very basic calendar plugin; this was exactly what I needed. The plugin allows users to create pages in their wikis for individual days: no complex forms to fill out, just a simple page to keep track of what you are doing on a given day.
What
As Zim lacks desktop integration so I wrote two python scripts for conky integration:
zim-conky_cal.py
Prints a calendar (like the cal command) with the current date and appointments highlighted.
zim-conky_events.py
Lists the next 5 events or all of the events in the current month and the next, whichever comes first.
I also wrote a program for adding events to the calendar (zim-cal.py and zim-cal.ui). Select some text, run the program and double click the date to add your text to calendar. You can also input your own text by clicking the edit button (the big button on the right).
How
First: Enable the calendar plugin (Edit->Preferences->Plugins->Calendar).
Download: zimcal.tar.bz2
Conky scripts
- Edit CAL_PATH to point to the folder that stores your Zim calendar.
- Add
${execpi 300 /path/to/zim-conky_cal.py}
and${execpi 300 /path/to/zim-conky_events.py}
to your conkyrc
Zim-Cal program
- Edit CAL_PATH to point to the folder that stores your Zim calendar.
- Make PROG_PATH point to the directory where you put “zim-cal.ui”
- If you intend to use this program regularly, you should probably assign a global hotkey to it in your window manager.
Make Gksu and Policykit red
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
I was bored one day and decided to make my gksu(do) and policykit dialogs red. The results are actually quite nice.
Add this to the bottom of your gtkrc file:
style "gksu" {
bg[NORMAL] = "#770000"
bg[ACTIVE] = "#550000"
bg[PRELIGHT] = "#990000"
bg[SELECTED] = "#550000"
bg[INSENSITIVE] = "#220000"
}
widget "GksuuiDialog*" style "gksu"widget "PolkitGnomeAuthenticationDialog*" style "gksu"
Packagekit with apturl
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
Although I no longer use packagekit, I still have my apturl script so I thought I would post it. This script will allow you to open apt:// scripts with packagekit. (Just save this to a file, mark it executable, and tell your browser to open apt scripts with it).
#!/bin/bash
/usr/bin/gpk-install-package-name $(echo $* | sed -e 's/apt:\/\?\/\?//')
Useful Bash functions
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
cdd: cd and list the files.
function cdd(){ cd $* ls --color}
changelog: get the change log for a program
changelog() {
log=/usr/share/doc/"$*"/changelog*
if [ -r $log ]; then
less $log
unset log
else
log=/usr/share/doc/"$*"/CHANGELOG*
if [ -r $log ]; then
less $log
fi
fi
}
mkdircd: make a directory and move in.
function mkdircd() {
mkdir $* cd ${!#}
}
Screenshot of Arch
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
I have been trying Arch Linux in VirtualBox and will probably switch when I get around to it (or at least duel boot along with Ubuntu).
Here is what it looks like so far; if you have any questions about tools, configs, etc., ask and I will post.
Kupfer Plugins
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
After getting frustrated with GNOME-Do’s memory hogging, I switched to Kupfer. Kupfer is a lightweight, extensible application launcher like Do (as it is now called) but much more powerful and easier to extend (it is written in python).
My Plugins
So far, I’ve written the following plugins:
gwibber\_plugin.py
: This plugin allows you to send messages from Kupfer through Gwibber (with no configuration).exaile\_plugin.py
: This plugin allows you to pause, play, skip, and go backwards in Exaile. It is based on the Rhytmbox plugin.
+1: evolution\_plugin.py
: I did not write this plugin (although I did do a fair bit of editing). The Evolution plugin adds an evolution contact source (and works with the built in email plugin).
Download: kupfer-plugins.tar.gz
Start conky only after the root window loads
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
Every time I logged in, conky would start up before nautilus loaded the desktop. This caused conky to load as a floating window that stayed on top of all other windows. I have finally gotten around to fixing this problem.
Here (gone, email if found) is a simple python script that waits for nautilus to load the desktop before starting conky.
I stored the script referenced in this post in a paste-bin and now it’s gone. Live and learn…
This script is probably very inefficient but it gets the job done.
Humanity Icon for Caffeine
Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
For those who don’t know, Caffeine is a small program for Linux that lets a user prevent his or her computer from entering a power save state. If a user wishes, he or she can even configure caffeine to automatically inhibit power-saving when watching a flash movie, or running VLC, Totem etc. For more information, visit its website here.
As a user of both Caffeine and the new Humanity icon theme (the default icon theme in karmic), I made a very basic gray-scale version of the Caffeine icon. You can download it here.
Service Manager for Karmic
> Caveat lector: I wrote this post in high school; it’s likely outdated and poorly written.
Annoyingly, as karmic has mostly switched to Upstart, it does not include a service manager. While I hope that the gnome service-manager will be updated to include support for upstart soon I have, for the interim, written a very simple service manager.
Be warned: When I say “very simple” I mean “very simple, noob unfriendly, and potentially dangerous”. While it should not harm your computer, I make no guarantees because it is my first PyGTK program and was written in my spare time over a couple of days. A word of warning, the code is very messy and inefficient (understatement).