DEV Community

sathishsekarss
sathishsekarss

Posted on

I3 Tiling Window manager

I started my vim journey right after my college. From that day till today, I haven't regretted learning VIM in my life. But wait is that all ? Woah.... in July 2024 I started using Linux for fun. Then I came across this weird word called Tiling window manager, I was like what is that ? just curious you know. I started to google it and then boom, there I was exposed to the real world of Linux. Now I officially don't need my mouse for 75% of the task that I do.

In this article, I'll share some of the technique's that I used to learn i3TWM in a quick span of time within 2 month.

What is i3 Tiling Window Manager ?
It is a tool for managing windows in the linux screen, that allows us to efficiently manage the space in the screen. is that all ? No way.... it's all about customization. Jumping from the world of VIM. My first step was to remove the default configuration provided by i3 TWM (jkl;) and insert VIM like configurations (hjkl).

Below is the configuration code add VIM like key bindings in i3.

# keybinding for focusing on windows
bindcode $mod+h "focus left"
bindcode $mod+j "focus down"
bindcode $mod+k "focus up"
bindcode $mod+l "focus right"

# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# split in horizontal orientation
bindsym $mod+Shift+v split h

# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt

Enter fullscreen mode Exit fullscreen mode

dmenu - A boring program launcher
I3 comes with default dmenu program launcher. Ofcourse, we are not going to use dmenu, that would just suck the overall experience of i3. We Rofi a program launcher alternative to dmenu, but better in many ways.

Connecting and managing multiple monitors in i3

I3 comes with built monitor management tool called Xrandr, where you'll be able to customize and configure multiple monitors.

Example command.

xrandr -- output {{monitor one name}} --primary --right -of {{monitor two name}}
Enter fullscreen mode Exit fullscreen mode

Other tools that enhances your productivity

Tmux 🔥

Tmux is a terminal multiplexer; it allows you to create several "pseudo terminals" from a single terminal. This is very useful for running multiple programs with a single connection, such as when you're remotely connecting to a machine using Secure Shell (SSH).

Now I can run node server in one terminal and my angular application in another terminal, and my database server in another terminal under the same window. Noice!!!!!!.

These are just my essentials tools that I use day to day for my development activities. But still there's lot open source tools available when it come's to ricing linux desktop.

Top comments (0)