diff options
Diffstat (limited to 'i3wm.conf')
-rw-r--r-- | i3wm.conf | 175 |
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 |