summaryrefslogtreecommitdiff
path: root/i3wm.conf
diff options
context:
space:
mode:
Diffstat (limited to 'i3wm.conf')
-rw-r--r--i3wm.conf175
1 files changed, 175 insertions, 0 deletions
diff --git a/i3wm.conf b/i3wm.conf
new file mode 100644
index 0000000..097de41
--- /dev/null
+++ b/i3wm.conf
@@ -0,0 +1,175 @@
+# dotfiles -- i3config
+# author: johannst
+
+# i3 config file (v4)
+
+# helpful cmdline tools:
+# * xev
+# * xmodmap
+
+# alt key
+set $mod Mod1
+# super key
+#set $mod Mod4
+
+font pango:Terminus 10
+
+# mouse+$mod to move/rezie window in floating mode
+floating_modifier $mod
+
+# kill focused Window
+bindsym $mod+Shift+q kill
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+# exit i3 (logs you out of your X session)
+bindsym $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'"
+
+#{{{ basic layout hadling
+
+# container layout
+bindsym $mod+q layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# fullscreen focused container
+bindsym $mod+f fullscreen
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# split vertical -> new window right to current one
+bindsym $mod+v split h
+
+# split horizontal -> new window below current one
+bindsym $mod+s split v
+
+#}}}
+#{{{ container focus
+
+# Change focus vim style
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+# Change focus arrow keys
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+a focus parent
+
+#}}}
+#{{{ navigate between workspaces
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+#}}}
+#{{{ move focused container
+
+# Move focused window vim style
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+# Move focused window arrow keys
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+#}}}
+#{{{ resize mode
+
+bindsym $mod+r mode "resize"
+
+# bindings for resize mode
+mode "resize" {
+ 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
+
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+#}}}
+#{{{ Thinkpad T410 volume keys
+
+bindsym XF86AudioRaiseVolume exec "amixer set Master 5%+"
+bindsym XF86AudioLowerVolume exec "amixer set Master 5%-"
+
+#}}}
+#{{{ lock/suspend
+
+set $lock_cmd i3lock --inactivity-timeout 30s -d --ignore-empty-password -c 455a64
+
+# lock screen
+bindsym $mod+Control+l exec $lock_cmd
+
+# power mode
+set $power_mode (l) lock (s) suspend
+bindsym $mod+Pause mode "$power_mode"
+
+mode "$power_mode" {
+ bindsym l exec $lock_cmd, mode "default"
+ bindsym s exec $lock_cmd && systemctl suspend, mode "default"
+
+ bindsym Escape mode "default"
+ bindsym Return mode "default"
+}
+
+#}}}
+#{{{ i3bar
+
+# Start i3bar
+bar {
+ status_command i3status --config ~/.i3/i3status.conf
+}
+
+#}}}
+
+# PLAYGROUND
+
+# pin applications to specific workspace
+# helpfull to get name: 'xprop | grep WM_CLASS' (then click window)
+assign [class="Firefox"] 9
+
+bindsym $mod+p exec "notify-send \\"Hello, i3; $USER\\""
+
+#% vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1