literate-dotfiles/i3.org

5.0 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

  # for_window [class=".*"] border pixel 0
  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="Lightdm-settings"] floating enable
  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 [class="Xfburn"] floating enable
  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="Sxiv"] floating enable, resize set 800 600, move position center
  for_window [title="nmtui"] floating enable, resize set 800 600

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 $HOME/.config/polybar/scripts/launch.sh