literate-dotfiles/i3.org

4.4 KiB

I3 Configuration

# i3 config file (v4)

Mod Key

Set mod key (Mod1=<Alt>, Mod4=<Super>)

set $mod Mod4

Border Style

# Use custom colors for black
new_window pixel 1
new_float normal

Hide borders

hide_edge_borders smart

Font for window titles

font Hack Nerd Font 11

Colors Variables

set_from_resource $bg         color0  #000000
set_from_resource $darkred    color1  #000000
set_from_resource $darkgreen  color2  #000000
set_from_resource $darkyellow color3  #000000
set_from_resource $darkblue   color4  #000000
set_from_resource $darkpurple color5  #000000
set_from_resource $darkaqua   color6  #000000
set_from_resource $darkgray   color7  #000000
set_from_resource $gray       color8  #000000
set_from_resource $red        color9  #000000
set_from_resource $green      color10 #000000
set_from_resource $yellow     color11 #000000
set_from_resource $blue       color12 #000000
set_from_resource $purple     color13 #000000
set_from_resource $aqua       color14 #000000
set_from_resource $fg         color15 #000000

Theme colors

# class                 border  backgr. text    indic.   child_border
client.focused          $darkaqua $darkaqua $fg  $bg
client.focused_inactive $bg    $bg    $fg     $bg
client.unfocused        $bg    $bg    $fg     $bg
client.urgent           $bg    $bg    $fg     $bg

client.background       $bg

Various Config

Layout mode for new containers

workspace_layout default
focus_follows_mouse yes

Border

default_border pixel 1

Settings for i3-gaps

gaps inner 10
gaps outer 2

Workspace names

To display names or symbols instead of plain workspace numbers you can use something like: set $ws1 1:mail and set $ws2 2:.

set $ws1 1
set $ws2 2
set $ws3 3
set $ws4 4
set $ws5 5
set $ws6 6
set $ws7 7
set $ws8 8

Use Mouse+$mod to drag floating windows

floating_modifier $mod

Back and Forth

workspace_auto_back_and_forth yes

Application Specific

Open applications on specific workspaces

assign[title="^Fig"] $ws6 # Matlab Figures
for_window [title="^Fig"] layout tabbed
assign[title="^HG_Peer"] $ws6 # Name of window when export figure with matlab

Open specific applications in floating mode

for_window [title="File Transfer*"] floating enable
for_window [class="GParted"] floating enable border normal
for_window [class="Lxappearance"] floating enable sticky enable border normal
for_window [class="Pavucontrol"] floating enable
for_window [class="Arandr"] floating enable
for_window [class="Simple-scan"] floating enable border normal
for_window [class="(?i)System-config-printer.py"] floating enable border normal
for_window [title="^Documentation -"] floating enable border normal
for_window [class="Yad"] floating enable
for_window [title="Bluetooth Devices"] floating enable
for_window [title="Simulink Library Browser"] floating enable
for_window [class="Floating"] floating enable, resize set 800 600, move position 1100 460
for_window [class="mpv"] floating enable # Size/Position is defined in mpv.conf
for_window [class="Sxiv"] floating enable, resize set 800 600, move position center
for_window [title="khal"] floating enable, resize set 600 600, move position center
for_window [title="ncmpcpp"] floating enable, resize set 800 400, move position center
for_window [title="nmtui"] floating enable, resize set 800 600, move position center

Scratchpad

Move the currently focused window to the scratchpad

bindsym $mod+Shift+BackSpace move scratchpad

Show the next scratchpad window or hide the focused scratchpad window. If there are multiple scratchpad windows, this command cycles through them.

bindsym $mod+BackSpace scratchpad show

Run Polybar and SXHKD

exec --no-startup-id sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.i3
exec --no-startup-id polybar top >>/tmp/polybar.log 2>&1 &