i3 / .i3 / configon commit ll alias (94066d2)
   1# colours
   2set $bg-color             #268bd2
   3set $inactive-bg-color    #2f343f
   4set $text-color           #2f343f
   5set $inactive-text-color  #839495
   6set $urgent-bg-color      #dc322f
   7set $bar-color            #082833cc
   8
   9# windows key
  10set $mod Mod4
  11
  12# default font (titles & bar)
  13font pango:Ubuntu Mono derivative Powerline 11, Awesome 8
  14
  15# mouse+$mod to drag floating windows
  16floating_modifier $mod
  17
  18# terminal
  19bindsym $mod+Return exec urxvt
  20
  21# kill focused window
  22bindsym $mod+Shift+q kill
  23
  24# window colours
  25# state                 border              background                text                  indicator
  26client.focused          $bg-color           $bg-color           $text-color           $bg-color
  27client.unfocused        $inactive-bg-color  $inactive-bg-color  $inactive-text-color    $inactive-bg-color
  28client.focused_inactive $inactive-bg-color  $inactive-bg-color  $inactive-text-color    $inactive-bg-color
  29client.urgent           $urgent-bg-color    $urgent-bg-color    $text-color           $urgent-bg-color
  30
  31# rofi
  32bindsym $mod+d exec rofi -show run
  33
  34# change focus
  35bindsym $mod+j focus left
  36bindsym $mod+k focus down
  37bindsym $mod+l focus up
  38bindsym $mod+semicolon focus right
  39
  40# alternatively, you can use the cursor keys:
  41bindsym $mod+Left focus left
  42bindsym $mod+Down focus down
  43bindsym $mod+Up focus up
  44bindsym $mod+Right focus right
  45
  46# move focused window
  47bindsym $mod+Shift+j move left
  48bindsym $mod+Shift+k move down
  49bindsym $mod+Shift+l move up
  50bindsym $mod+Shift+semicolon move right
  51
  52# alternatively, you can use the cursor keys:
  53bindsym $mod+Shift+Left move left
  54bindsym $mod+Shift+Down move down
  55bindsym $mod+Shift+Up move up
  56bindsym $mod+Shift+Right move right
  57
  58# split in horizontal orientation
  59bindsym $mod+h split h
  60
  61# split in vertical orientation
  62bindsym $mod+v split v
  63
  64# enter fullscreen mode for the focused container
  65bindsym $mod+f fullscreen toggle
  66
  67# change container layout (stacked, tabbed, toggle split)
  68bindsym $mod+s layout stacking
  69bindsym $mod+w layout tabbed
  70bindsym $mod+e layout toggle split
  71
  72# toggle tiling / floating
  73bindsym $mod+Shift+space floating toggle
  74
  75# change focus between tiling / floating windows
  76bindsym $mod+space focus mode_toggle
  77
  78# focus the parent container
  79bindsym $mod+a focus parent
  80
  81# focus the child container
  82#bindsym $mod+d focus child
  83
  84# Define names for default workspaces for which we configure key bindings later on.
  85# We use variables to avoid repeating the names in multiple places.
  86set $ws1 "term"
  87set $ws2 "chrome"
  88set $ws3 "code"
  89set $ws4 "misc"
  90set $ws5 "school"
  91set $ws6 "spotify"
  92set $ws7 "7"
  93set $ws8 "8"
  94set $ws9 "9"
  95set $ws10 "10"
  96
  97# switch to workspace
  98bindsym $mod+1 workspace $ws1
  99bindsym $mod+2 workspace $ws2
 100bindsym $mod+3 workspace $ws3
 101bindsym $mod+4 workspace $ws4
 102bindsym $mod+5 workspace $ws5
 103bindsym $mod+6 workspace $ws6
 104bindsym $mod+7 workspace $ws7
 105bindsym $mod+8 workspace $ws8
 106bindsym $mod+9 workspace $ws9
 107bindsym $mod+0 workspace $ws10
 108
 109# move focused container to workspace
 110bindsym $mod+Shift+1 move container to workspace $ws1
 111bindsym $mod+Shift+2 move container to workspace $ws2
 112bindsym $mod+Shift+3 move container to workspace $ws3
 113bindsym $mod+Shift+4 move container to workspace $ws4
 114bindsym $mod+Shift+5 move container to workspace $ws5
 115bindsym $mod+Shift+6 move container to workspace $ws6
 116bindsym $mod+Shift+7 move container to workspace $ws7
 117bindsym $mod+Shift+8 move container to workspace $ws8
 118bindsym $mod+Shift+9 move container to workspace $ws9
 119bindsym $mod+Shift+0 move container to workspace $ws10
 120
 121# assign windows to workspaces
 122assign[class="Chromium"] $ws2
 123assign[class="Spotify"] $ws6
 124assign[class="Atom"] $ws3
 125
 126# assign workspaces to monitors
 127workspace $ws6 output VGA1
 128
 129# reload the configuration file
 130bindsym $mod+Shift+c reload
 131# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
 132bindsym $mod+Shift+r restart
 133# exit i3 (logs you out of your X session)
 134bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
 135
 136# resize window (you can also use the mouse for that)
 137mode "resize" {
 138        # These bindings trigger as soon as you enter the resize mode
 139
 140        # Pressing left will shrink the window’s width.
 141        # Pressing right will grow the window’s width.
 142        # Pressing up will shrink the window’s height.
 143        # Pressing down will grow the window’s height.
 144        bindsym j resize shrink width 10 px or 10 ppt
 145        bindsym k resize grow height 10 px or 10 ppt
 146        bindsym l resize shrink height 10 px or 10 ppt
 147        bindsym semicolon resize grow width 10 px or 10 ppt
 148
 149        # same bindings, but for the arrow keys
 150        bindsym Left resize shrink width 10 px or 10 ppt
 151        bindsym Down resize grow height 10 px or 10 ppt
 152        bindsym Up resize shrink height 10 px or 10 ppt
 153        bindsym Right resize grow width 10 px or 10 ppt
 154
 155        # back to normal: Enter or Escape or $mod+r
 156        bindsym Return mode "default"
 157        bindsym Escape mode "default"
 158        bindsym $mod+r mode "default"
 159}
 160
 161bindsym $mod+r mode "resize"
 162
 163# move floating windows with keys
 164bindsym $mod+m mode "move" focus floating
 165mode "move" {
 166    bindsym $mod+Tab focus right
 167
 168    bindsym Left  move left
 169    bindsym Down  move down
 170    bindsym Up    move up
 171    bindsym Right move right
 172
 173    bindsym h     move left
 174    bindsym j     move down
 175    bindsym k     move up
 176    bindsym l     move right
 177
 178    # back to normal: Enter or Escape
 179    bindsym Return mode "default"
 180    bindsym Escape mode "default"
 181}
 182
 183for_window [window_type=dialog] floating enable
 184bindsym XF86AudioRaiseVolume exec --no-startup-id amixer sset Speaker 3dB+
 185bindsym XF86AudioLowerVolume exec --no-startup-id amixer sset Speaker 3dB-
 186bindsym XF86AudioMute exec --no-startup-id amixer sset Speaker toggle
 187bindsym XF86AudioPlay exec playerctl play-pause
 188bindsym XF86AudioPause exec playerctl play-pause
 189bindsym XF86AudioNext exec playerctl next
 190bindsym XF86AudioPrev exec playerctl previous
 191
 192
 193
 194
 195
 196# i3bar
 197bar {
 198        font pango:Ubuntu Mono derivative Powerline 11
 199        i3bar_command i3bar -t
 200        status_command exec i3blocks
 201#       status_command i3status
 202#       output VGA-0
 203        colors {
 204                background $bar-color
 205        }
 206}
 207
 208for_window[class="^.*"] border pixel 5
 209
 210gaps inner 15
 211gaps outer 0
 212