Developing on Linux
dotfiles
i3 - Tiling Window Manager
A tiling window manager is a type of window manager that arranges your windows as tiles, usually in such a way that makes managing them more efficient via keyboard shortcuts. i3 is my window manager of choice, after having used xmonad for a long time, i3 provides more flexibility and ease of configuration.
Here is a great sceencast which will help you understand the power of tiling window managers.
i3 does a great job of managing multiple workspaces, even across multiple monitors.
While developing I actively use 7 distinct workspaces across two monitors (soon probably three)
and having an efficient way of transitioning (alt-#
) is critical to maintaining my workflow speed.
Here is a bit of config that I added to i3 (see dotfiles for the full version)
# Zolmeister
# disabled status bar (see above)
# screen lock with ctrl + sup + l
bindsym Control+mod4+l exec i3lock -c 000000 -i ~/Pictures/Z/Z-bg.png
# set border to 1
new_window 1pixel
# hide border if 1 window
hide_edge_borders both
# Resize Containers, Vim-style ($mod+Control+[hjkl])
bindsym $mod+Control+j resize grow height 5 px or 5 ppt
bindsym $mod+Control+k resize shrink height 5 px or 5 ppt
bindsym $mod+Control+l resize grow width 5 px or 5 ppt
bindsym $mod+Control+h resize shrink width 5 px or 5 ppt
# custom colors
# class border backgr. text indicator
client.focused #1793D0 #1793D0 #FFFFFF
client.focused_inactive #333333 #333333 #999999
client.unfocused #333333 #333333 #999999
client.urgent #FF0000 #8C5665 #FF0000
# background image
exec --no-startup-id nitrogen --restore
# fix media keys and gtk theme issues
exec gnome-settings-daemon &
# fix deb file installation
exec /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
ZSH + Powerline Shell
Most shells today run [Bash](http://en.wikipedia.org/wiki/Bash(Unixshell)
however ZSH is an alternative which
has great autocompletion and other nifty feature
For my .zshrc
file, check my dotfiles.
In addition, the ZSH framework oh-my-zsh provides some amazing features and shortcuts, definitely work checking out.
Powerline shell is a beautiful shell extension which takes care of drawing your prompt. I have customized it based on my ZSH theme to include additional git hints (like ±).
Atom.io
Atom.io is without a doubt the best editor I have ever used. I have used Aptana (good, but bloated), Sublime Text (excellent, but not open source), and Brackets (ok, missing quite a few features) extensively. None of them compare to Atom (I refuse to use an editor that is not open-source, as my editor is a core part of my development workflow and I must have full control over it).
Some day I may switch to VIM/Emacs, but have been quite happy with my working speed in Atom.
Hardware
After joining Clay.io I have finally gotten around to building another desktop. The only spec requirements I had were a Linux friendly GPU (Nvidia), 32GB of RAM, and 4k monitor support.
Here is the build (newegg wishlist, missing PSU + case):