my various app configuration files

update: I’ll be adding links next to the apps each time I post a guide

I’ve decided to document the configuration of the apps I use most in blog posts 🙂

Maybe someone will find them useful!

Some of the apps (linked to their homepages):

awesome (+ conky)
urxvtview post
quicky: my shell prompt (view)

I’ve created a separate category called configs where you’ll find all the related posts!


posted in configs by wired | No Comments


luakit – fast, small, webkit based micro-browser extensible by lua

I’ve added ebuilds in Gentoo’s portage for a new webkit browser called luakit.

[I] www-client/luakit
Available versions: (~)2010.08.07 (~)2010.08.13 **9999
Description: a webkit-gtk based, micro-browser framework in Lua

It is a webkit based, low footprint browser written in C and Lua, modeled after awesome wm, my favorite window manager 😉

Vim-like bindings, low memory usage, lua configuration file (if you use awesome you will feel at home) and rapid development are some of luakit‘s key points.

To try it out:

emerge -av luakit

(~testing only, so you have to keyword it if running stable)

For more information, visit the luakit website, or join #luakit (OFTC IRC network) 🙂

tags: , , ,
posted in gentoo, luakit by wired | 3 Comments


nominated for the upcoming Gentoo Council Elections

I’m a nominee for the upcoming Gentoo Council (thanks Markos :)).

To help developers decide if they want to vote for me, I wrote a short manifesto. It follows:

swift. decisive. vigilant. for an even better Gentoo!


this year I've decided not to write a long, tiresome manifesto.
there is no point in making promises for things that may never even reach the
council's umbrella.

besides, in reality almost everything landing on the council's agenda is
dynamically decided by the developers a few days or weeks before meetings
and council members need to be swift, decisive and always vigilant to be able
to resolve things quickly and efficiently, even from the shadows, if possible.

these three words pretty much describe my "running for council" manifesto:

swift, decisive, vigilant.

Gentoo deserves nothing less ;)


who am I:

Alex Alexander, 26yo, currently working as a web developer.
Qt Project Lead, KDE Project Member, maintainer of various other packages.

tags: , , ,
posted in gentoo by wired | 6 Comments


Qt 4.7 beta 1 in qting-edge gentoo overlay

Qt 4.7 beta 1 is now available in the qting-edge overlay.

To install it, add the overlay (using layman or PORTDIR_OVERLAY) and unmask qt-4.7_beta1 by copying or linking the keywords file we provide in your /etc/portage/package.unmask/ folder.

ln -s /path/to/qting-edge/Documentation/package.keywords/qt-4.7 /etc/portage/package.unmask/

# IF YOU USE A package.unmask FILE, run the following INSTEAD
cat /path/to/qting-edge/Documentation/package.keywords/qt-4.7 >> /etc/portage/package.unmask

then update your world:

emerge -avDuN world

if you only want to update Qt, run

emerge -av1 $(eix -I --only-names x11-libs/qt-)

Please report any ebuild-related bugs you find in our bugzilla, prefixed with [qting-edge] in the summary!

Enjoy 🙂

tags: , , ,
posted in gentoo by wired | 2 Comments


switching from gnu screen to tmux (updated)

update #1: upstream accepted my patch, so the next tmux release will provide window-status-alert-{attr,fg,bg} 😉 Only difference is the use of alert instead of flagged. It sounds better anyway 😉 I’ll adjust my patch on 1.2 as well 🙂

update #2 [2010/05/17]: uploaded my updated config file, now using ` as my prefix key

update #3 [2013/12/07]: a few things have changed in tmux the last few years, so I’ve uploaded my updated config 🙂

update #4 [2016/02/05]: a few more updates, most notably some extra bindings and set-option -g repeat-time 200 🙂

I gave tmux a try yesterday.

Clean config file, thorough documentation and a few nice touches here and there (i.e. better, persistent window splitting) make it a nice alternative to screen, but the biggest difference lies in memory usage. Screen can easily eat up to 40-50mb with just a few windows open, but tmux has yet to reach the 10mb mark!

You may argue that ram is cheap these days, but when you’re on a 360mb VPS ram matters 😉

I did find a few bugs/annoyances, for instance if you add set-option -g default-terminal “screen-256color” in your config file, tmux stops evaluating the #T variable.

I hacked my way out of this one by adding the following in my .bash_profile instead:

[[ $TERM == "screen" ]] && export -p TERM="screen-256color"

Turns out that’s not tmux’s fault but bash’s, I’ll have to create a patch for that as well 🙂 If you have the same issue, you can use the above hack as a temporary fix.

Also version 1.2 does not provide a way for you to customize the colors used on window titles with alerts (either monitored or when the bell is active), but I patched that and sent it upstream 😉

You can find an ebuild with the patch in my overlay, wirelay (layman -a wirelay ;)).

The patch was accepted upstream so it’ll be in the next release.

My tmux looks like this:

and with some split panes:

finally, below is my (updated on 2016/02/05) tmux.conf config file, used in the above screenshots.

I decided to use ` as my prefix key, its really better than hitting ctrl-a all the time 😛

# ` is an interesting key for a prefix
set-option -g prefix `
# set-option -g prefix C-a


unbind-key C-b
bind-key C-a last-window
bind-key ` last-window
bind-key a send-prefix


# we might need ` at some point, allow switching
# we can also send the prefix char with `-a
bind-key F11 set-option -g prefix C-a
bind-key F12 set-option -g prefix `


# 0 is too far from ` 😉
set -g base-index 1


# half a second is TOO FREAKING LONG
set-option -g repeat-time 200


# set-option -g default-terminal “screen-256color”
set-option -g mouse-select-pane on
set-option -g status-keys vi
set-option -g bell-action any
set-option -g set-titles on
set-option -g set-titles-string ‘#H:#S.#I.#P #W #T’ # window number,program name,active (or not)
set-option -g visual-bell off


setw -g mode-keys vi
setw -g mode-mouse on
setw -g monitor-activity on


bind e previous-window
bind f next-window
bind E swap-window -t -1
bind F swap-window -t +1


bind k select-pane -U
bind j select-pane -D
bind h select-pane -L
bind l select-pane -R


bind M-j resize-pane -D 10
bind M-k resize-pane -U 10
bind M-h resize-pane -L 10
bind M-l resize-pane -R 10


set-option -g status-utf8 on
# set-option -g status-justify centre
set-option -g status-justify left
set-option -g status-bg black
set-option -g status-fg white
set-option -g status-left-length 40
set-option -g status-right-length 80


set-option -g pane-active-border-fg green
set-option -g pane-active-border-bg black
set-option -g pane-border-fg white
set-option -g pane-border-bg black


set-option -g message-fg black
set-option -g message-bg green


#setw -g mode-bg black


setw -g window-status-bg black
setw -g window-status-current-fg green
setw -g window-status-bell-attr default
setw -g window-status-bell-fg red
setw -g window-status-content-attr default
setw -g window-status-content-fg yellow
setw -g window-status-activity-attr default
setw -g window-status-activity-fg yellow


set -g status-left ‘#[fg=red]#H#[fg=green]:#[fg=white]#S #[fg=green]][#[default]’


set -g status-interval 5

#set -g status-right ‘#[fg=green]][#[fg=white] #(tmux-mem-cpu-load 5 4) #[fg=green]][ #[fg=yellow]%H:%M#[default]’
set -g status-right ‘#[fg=green]][ #[fg=yellow]%H:%M#[default]’


set -g history-limit 130000

bind r source-file ~/.tmux.conf


tags: , , ,
posted in general, gentoo by wired | 46 Comments


IMAP Spam Begone – remote email spam filtering using spamassassin

Do you need to filter spam email on your IMAP account, but can’t do it on the email server and your client software (mutt? ;)) won’t provide that capability?

meet IMAP Spam Begone

a nifty python script that uses spamassassin to remotely mark (and optionally move/delete) spam mail over IMAP.
it can also use spam/ham folders to teach your spamassassin 😉

Available in gentoo:
[*] mail-filter/isbg
Available versions: (~)0.99-r1
Description: IMAP Spam Begone: a script that makes it easy to scan an IMAP inbox for spam using SpamAssassin

usage instructions here:

some example commands I’m using:

# to check for spam: --imaphost [HOST] --imapuser [EMAIL] --delete --noreport --spamc
# to teach spamassassin: --imaphost [HOST] --imapuser [EMAIL] --noreport --teachonly --learnspambox INBOX.spam --learnhambox --spamc

tags: , , ,
posted in general, gentoo by wired | 1 Comment

2010, my new home

For the last few days, has been enjoying its new home, a VPS. Running Gentoo. Of-course 😉

A 24/7 remote box had been on my wish-list for some time and my shared-hosting 1-year contract was ending, when I discovered

They give you a VPS and let you do anything you want with it. They also provide you with a control panel that lets you tweak pretty much everything.

So I bought the cheapest one (360), created some partitions and booted it using a bootable image they provide (something similar to systemrescuecd).

I then downloaded the latest stage3, configured the base system and booted it using a kernel provided by linode.

Instead of compiling anything on the VPS, I decided to use binary packages to speed things up.

I have a bunch of chroots on my home box, one of them being stable-x-less. I cloned it, adjusted the use flags a bit and rsync’d all the binpackages to the VPS.

Now everything works great and I have a bunch of services running (http,email,znc,nagios,etc) 😉

Linode++ for the excellent service they provide 😉

tags: , ,
posted in gentoo by wired | 2 Comments


FOSDEM 2010 :)

This year’s FOSDEM is just around the corner! (February 6th/7th, Brussels, Belgium)

A lot of interesting talks and presentations will take place and I’m pretty sure there’s going to be a lot of beer too! ^_^

Many Gentoo Developers will be there for the whole weekend, including me 🙂

See you all there 😀

tags: , ,
posted in gentoo by wired | 1 Comment


how-to: migrating your passwords from firefox to uzbl’s formfiller

update 2009-11-07: fixed bug in script

uzbl has a simple but nice formfiller script that automatically fills forms for you.

if you’ve been using firefox’s password manager, you probably have a large list of user details you’d probably like to use in uzbl too. migrating the data is actually simpler than you think.

first, install the Password Exporter add-on in your firefox.

then go to edit->preferences->security->import/export passwords, click export passwords (do NOT check the checkbox), select csv in the bottom right select box and save the file in your ${HOME}.

you should now have a file called password-export-`date +%Y-%m-%d` (current date ;)) in your ~ folder.

now open a terminal and run the following:

cat ~/password-export-`date +%Y-%m-%d` | grep "^\"http" | while read i; do S=`echo $i | cut -d"\"" -f2`; S="${S/http:\/\/}"; S="${S/https:\/\/}"; U=`echo $i | cut -d"\"" -f4`; P=`echo $i | cut -d"\"" -f6`; UF=`echo $i | cut -d"\"" -f12`; PF=`echo $i | cut -d"\"" -f14`; echo $UF: $U | sed "s/\@/\\\@/g" > ~/.local/share/uzbl/forms/$S; echo $PF: $P | sed "s/\@/\\\@/g" >> ~/.local/share/uzbl/forms/$S; done

note that the above command will overwrite any existing domains.
the command below are slightly modified to only add non-existing domains:

cat ~/password-export-`date +%Y-%m-%d` | grep "^\"http" | while read i; do S=`echo $i | cut -d"\"" -f2`; S="${S/http:\/\/}"; S="${S/https:\/\/}"; U=`echo $i | cut -d"\"" -f4`; P=`echo $i | cut -d"\"" -f6`; UF=`echo $i | cut -d"\"" -f12`; PF=`echo $i | cut -d"\"" -f14`; echo $UF: $U | sed "s/\@/\\\@/g" >> ~/.local/share/uzbl/forms/$S; [[ ! -f ~/.local/share/uzbl/forms/$S ]] && echo $PF: $P | sed "s/\@/\\\@/g" >> ~/.local/share/uzbl/forms/$S; done

that’s it! you should have a file per domain with the necessary info in ~/.local/share/uzbl/forms

ls ~/.local/share/uzbl/forms/

open a uzbl instance, visit a site with a form and press zl [default binding] to tell formfiller to fill in the form for you 🙂

tags: , , ,
posted in uzbl by wired | 6 Comments


uzbl – a terminal for the web – in gentoo :)

I’ve been using firefox for too long.

Its excellent vimperator extension has prevented me from switching to anything else, but it is beginning to show its age. Slow loading times, occasional crashes, horrible JS performance…

Meet uzbl. Wordplay for usable. Its developers describe it as web interface tools which adhere to the unix philosophy. I like to think of it as a terminal for the web.

I have valid reasons: Instead of using tabs, I just spawn uzbl windows whenever I need something, then close them. Same as a terminal. That is possible because it loads instantly – like a terminal! Add the fully customizable vim-like bindings and very good webkit engine and you have a winner!

The fact that I’m using awesome (a tiling wm) also helps, since it manages all the windows for me.

Since I like uzbl so much, I added it to the portage tree:

[I] www-client/uzbl
Available versions: (~)0_pre20091130{tbz2} **9999{tbz2} {helpers}
Installed versions: 0_pre20091130{tbz2}(04:03:14 PM 12/04/2009)(helpers)
Description: A keyboard controlled (modal vim-like bindings, or with modifierkeys) browser based on Webkit

One tagged release and a live ebuild (that uses either the master or experimental branch).

I’ve also patched dmenu with the vertical patch to make it useful with uzbl. You can find the updated ebuild in wirelay (layman -a wirelay) – at least until I get the dmenu maintainers to add the patch in portage.


tags: , ,
posted in gentoo, uzbl by wired | 33 Comments

Powered by Wordpress and MySQL. Original theme by - customization by me :)