Another picture of my main desktop machine with its dual head. I have been exclusively using i3 for several days now and I think I have finished configuring it to my liking. I have changed the fonts, some of the colours, added several keybindings and what not. One of the things in the todo list was the background picture (which is hardly ever visible since i3 takes charge of the entire space). I spent quite some time until I found this one.
When all windows are closed, the left monitor screen background remains black. For the picture, I opened weechat, cmus and htop (which are some typical applications that I use all the time. Usually, I also have the mc or pcmanfm for file management) and the right screen shows this cute picture. I really like it, in fact I like it so much that I wanted to publish it on my blog right away. I hope you like it too.
Today, even though I experienced some connectivity problems I managed to release pharc v.4.0. pharc is a very simple script that archives phlog posts on a yearly basis. The nice thing about it is that since a new version is released every year, it grows bigger, with more options, and hopefully, also better. Needless to say that the next release, unless there is a big bug to fix, is scheduled for 2015. This year in particular, I did a lot of testing because there were many new options. And even so, I had to make a last minute change to make it work on NetBSD 6.1.2. I changed one echo call which contained a backlash escape character to printf because NetBSD's version of echo renders the backlash characters literally. So: echo "1Archive $DIR\t$DIR" >> gophermap
Had to be re-written as:
printf "1Archive $DIR\t$DIR\n" >> gophermap
Not a big deal really, but last minute changes are sometimes annoying because you have to re-test and make sure that it remains posix compliant and that it works. Remember that I use two different platforms to test it: NetBSD + ksh and debian + bash Below are some links that will lead you to more detailed information about pharc The official release announcement, of course in my own phlog (which is archived by pharc): gopher://sdf-eu.org:70/1/users/chals/phlog/./06-07-14 The downloads page (Includes the raw script and the .deb package): gopher://sdf-eu.org:70/1/users/chals/downloads The git repository, hosted at gitorious: https://gitorious.org/pharc and the wiki (important to consult, since in includes almost all possible use cases): https://gitorious.org/pharc/pages/Home I hope you like it and have fun with it! Happy phlogging :D
Maybe the most awesome window manager I've ever used is i3 and believe me, I have tried many of them over the years. I must admit that I was not really fond of tiling window managers, but this one excels far beyond the other ones I know, such as awesome or spectrwm
Here is a screenshot of my dual head desktop machine:
Note: I have not prepared the window arrangement for the screenshot. I simply opened some of the windows I use on an everyday basis, such as weechat, cmus, htop, a web browser and some terminals. (On a regular desktop environment I would have also opened a file manager, such as pcmanfm). I launched scrot to perform a test screenshot. Much to my surprise, I liked it and I said to myself, well, this is as good as any other.
Almost every tiling window manager has its own long list of features. However...
There are several things that make i3 outstanding. The first one is that it supports multiple monitors out of the box. In my case, my main desktop is a dual head, so it is really great to take advantage of so much space to fill with windows. I just need to use xrandr as I usually do for example for xfce4: $ xrandr --output VGA-1 --left-of DVI-I-1
Secondly, the way i3 deals with workspaces is really nice. With one single monitor, there is only one initial workspace, but you can create as many workspaces as you want by simply changing into them. This is to say, if the workspace you change into does not exist it gets created at once. If you have two monitors, there will be two initial workspaces (one per monitor), but you will still be able to create new ones.
You can arrange windows in three different layouts: split, stacked or tabbed. I normally simply split them but the other two layouts are very handy to have your windows in fullscreen.
Another feature that makes i3 out of this world is that you can be productive with it from the very moment you install it. Yeah, sure there is an small learning curve until you learn all the keybindings, but you can also perform many operations with the mouse as if you were using a regular desktop environment. What is more, with just one stroke you can make the windows float and move them around with the mouse.
The fact that the window focus follows the mouse is a bit annoying, I'd rather do it with the keyboard because if you move your mouse involuntarily into a window, you might find yourself typing passwords on the irc channel. Such is life, I know... but still embarrassing :-p
But there is a configuration option for that (the config file can be found at either .i3/config or .config/i3/config)
# focus_follows_mouse <yes|no>
Want more? i3 is faster than fast. In my dual head desktop, an old P4 machine, i3 loads in just 3 seconds. Yeah i3 loads in 3s. Ain't that really impressive?
Another thing I like is that you can load any applications you want at startup. You only have to use the exec command in your config file like this:
The config file is the right place to create your own keybindings. The documentation gives an example of how to use a key combination to take a screenshot. Using the example as a reference I have added a shortcut for the sound mixer:
# Open sound mixer
bindsym --release $mod+m exec alsamixergui
Imagine that you would like to have the mixer in all the workspaces. That is easy to achieve. One of the nicest features of i3 is the scratchpad. It is a window that you can have in all the workspaces by simply pressing a key. From the documentation:
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the first scratchpad window
bindsym $mod+minus scratchpad show
It could also be useful for your notes, your text editor, your irc program...
Then $mod+c reloads the config file. Or alternatively $mod+Shift+r restarts i3 inplace
I could certainly go on and on. I think I will continue adding some more info as I discover new tricks. By the way, just as a curiosity. I had installed i3 a while ago but I had never really got very much into it until now. However, I remember using wmii and enjoying it. I even wrote a blog post here
At this very moment I'm reading the i3 user's guide trying to find super "kewl" things to try. I have already learnt by heart most keybindings. I especially like the $mod+f to toggle fullscreen mode. One thing that I do not understand is why the heck (on my stable machines) $mod+h splits the window vertically and $mod+v splits windows horizontally. Both the config file and the user's guide say that $mod+h should split horizontally and $mod+v should split vertically. However they work the other way round, unless I'm going out of my head and horizontal and vertical do not mean horizontal and vertical respectively ;)
Update: It seems to work correctly on my sid machine. It might have been a bug.
I have installed i3 on almost all my machines (even on my tiny eeepc 701) and of course I'm writing this post using it. I hope you like it ;)