Configuring i3 for my setup
I later moved to bspwm, maybe you might want to look at that as well --> bspwm
Well, in this article, I will follow step by step procedure of setting up i3. My dotfiles
-
First of all, install i3, i3lock & i3status. Generally, installing i3 will pull these as dependencies.
-
Edit your .xinitrc to launch i3.
exec i3 # If you wish to log to a file exec i3 -V >> ~/.i3/i3log 2>&1
-
During the first run, i3 will ask for your default keybinding. Some help on keyboard layout is here.
-
Now, lets start editing the configuration files. The main config file is present at ~/.i3/config. First, one would prefer to have named workspaces. So the following has to be done for number of named workspaces you want. Check here.
# Name the workspaces set $tag1 "1: www" # switch to workspace bindsym $mod+1 workspace $tag1 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $tag1
-
Wow, so now we have named workspaces (for which you have to login again) let us change some settings for i3bar in ~/.i3/config. Colors can be set here along with some position settings. Check for bar in config file as there are some defaults present. Help on these settings is available here.
# Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { colors { # Whole color settings background #000000 statusline #ffffff separator #666666 # Type border background font focused_workspace #008fff #007fff #ffffff active_workspace #333333 #5f676a #ffffff inactive_workspace #333333 #222222 #888888 urgent_workspace #aa0000 #990000 #ffffff } # i3bar position position top # Using custom i3status.conf status_command i3status -c ~/.i3/i3status.conf }
-
Edit the i3status config file if you want to tweak it. Don't forget to copy it to your home directory. Check out my i3status config. Official wiki is here.
cp /etc/i3status.conf ~/.i3/i3status.conf
-
Some applications have to launched at startup, like setting wallpaper, network manager applet etc.. This can be done from config file. Official wiki here.
# Startup programs exec --no-startup-id nm-applet exec --no-startup-id feh --bg-fill ~/Pictures/Dark-pattern.jpg
-
Next, we have to set up our screenlock, for which I use i3lock. I have a small shell script which does some magic. After that, some keybindings have to be done. Official wiki here.
# Custom KeyBinds bindsym Control+mod1+l exec sh ~/.i3/i3lock.sh bindsym Print exec scrot '%Y-%m-%d-%T_$wx$h_scrot.png' -e 'mv $f ~/Pictures/screenshots/'
-
Now, we have a screen looking something like this (Don't forget to get some cool wallpaper):
Beautification
-
So, now let us transform our ugly looking setup :P, fonts first. Use a good font and change the setting in ~/.i3/config.
font pango: Monospace 8
-
Next up are out ugliest component. GTK Apps :P. Instead of editing configuration files and saving them, I highly recommend lxappearance, which has absolutely no dependencies! Use it set your GTK, Icon & Cursor theme. GTK themes are picked from ~/.themes & remaining from ~/.icons. My generated ~/.config/gtk-3.0/settings.ini looked like this
[Settings] gtk-theme-name=Zukitwo gtk-icon-theme-name=Faenza-Dark gtk-font-name=Ubuntu 10 gtk-cursor-theme-name=Ecliz gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=1 gtk-enable-event-sounds=1 gtk-enable-input-feedback-sounds=1 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintfull gtk-xft-rgba=rgb
-
Use some cool theme and even now, if the buttons are ugly make sure that you have the required gtk-engine installed. For instance, I use Zukwito, so I need gtk-engine-murrine. Now, your gtk apps must be cool as in any other DE.
Screenshots
Other Apps
-
A list of applications that I use
Type | : Application ---------------------|------------ **Window Manager** | : i3 **Editor** | : GVim **Terminal** | : Terminator **IRC Client** | : Weechat **GTK Theme** | : Zukwito **Icon Theme** | : Faenza **Cursor Theme** | : Ecliz **Music Player** | : Cmus **Video Player** | : Mplayer
-
My .vimrc along with molokai colorscheme is present here.
-
WeeChat configuration:
-
Install and enable autoload of some plugins ( beep.pl , buffers.pl etc..).
-
Make sure, your terminal emulator responds to urgent bell. In terminator, set Terminal bell to Window List Flash. To simulate bell
echo -ne '\e' # Sleep & change workspace to see the effect sleep 5; echo -ne '\e'
-
PS: Don't forget to push your dotfiles to github so that anyone else can use those.