# # i3 Config # # # Basic Settings # --------------------------------------------------------------------- # We'll use the Windows Key set $mod Mod4 # Font font pango:Ubuntu 12 # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # Workspaces set $ws1 1: set $ws2 2: set $ws3 3: set $ws4 4: set $ws5 5: set $ws6 6: set $ws7 7: set $ws8 8: set $ws9 9: set $ws0 10: # The lock command set $lock exec i3lock -i ~/.dotfiles/wallpaper.png # Display notification command set $notif exec --no-startup-id notif -b i3 -u critical # The return to default and hide notification command set $go_default exec --no-startup-id notif -c i3, mode "default" # Volume command set $volume exec --no-startup-id ~/.dotfiles/sbin/change_volume # Allow quick tabbing back and forth workspace_auto_back_and_forth yes # This is just annoying focus_follows_mouse no # Visual Items # --------------------------------------------------------------------- # General colours client.focused #3F8AC2 #096BAA #00BAA7 #00DA8E client.focused_inactive #333333 #5F676A #ffffff #484e50 client.unfocused #333333 #424242 #888888 #292d2e client.urgent #C10004 #900000 #ffffff #900000 # Bar at bottom of the screen bar { font pango:Font Awesome 12 strip_workspace_numbers yes status_command i3blocks colors { background #232323 statusline #DCDCDC } } # General Key Bindings # --------------------------------------------------------------------- # Lock the screen bindsym $mod+l $lock # Audio controls bindsym XF86AudioRaiseVolume $volume up bindsym XF86AudioLowerVolume $volume down bindsym XF86AudioMute $volume mute-spkr bindsym F6 $volume mute # Sreen brightness controls bindsym XF86MonBrightnessUp exec xbacklight -inc 10 bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # Media player controls bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous # Start a terminal bindsym $mod+Return exec i3-sensible-terminal # Kill focused window bindsym $mod+Shift+q kill # The program and password menus (handled by rofi) bindsym $mod+p exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -show run -dmenu' bindsym $mod+o exec --no-startup-id passmenu # Window Management Key Bindings # --------------------------------------------------------------------- # Change focus around bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+a focus parent bindsym $mod+c focus child bindsym $mod+space focus mode_toggle # Move windows around bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split bindsym $mod+f fullscreen # Spawn the next window horizontally / vertically bindsym $mod+h split h bindsym $mod+v split v # Make a window floating / sticky bindsym $mod+Shift+space floating toggle bindsym $mod+Shift+s sticky toggle # Switching around workspaces bindsym $mod+1 workspace $ws1 bindsym $mod+2 workspace $ws2 bindsym $mod+3 workspace $ws3 bindsym $mod+4 workspace $ws4 bindsym $mod+5 workspace $ws5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace $ws0 # Moving windows to workspaces bindsym $mod+Shift+1 move container to workspace $ws1 bindsym $mod+Shift+2 move container to workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5 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 $ws0 # Argh, here be dragons! # Reload the i3 config or the whole environment bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart # Modes # --------------------------------------------------------------------- # Resize windows set $resize "Resize Mode: Use arrow keys to adjust size" bindsym $mod+r $notif 'Resize Mode' $resize, mode $resize mode $resize { # Resize Windows 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 # Resize Windows more precisely bindsym Shift+Left resize shrink width 1 px or 1 ppt bindsym Shift+Down resize grow height 1 px or 1 ppt bindsym Shift+Up resize shrink height 1 px or 1 ppt bindsym Shift+Right resize grow width 1 px or 1 ppt # back to normal: Enter or Escape bindsym Return $go_default bindsym Escape $go_default } # Default power options set $power "Power Options: (P)oweroff (R)estart (H)ibernate (S)uspend" bindsym $mod+Shift+p $notif 'Power Mode' $power, mode $power mode $power { bindsym h $lock && systemctl hibernate, $go_default bindsym p exec systemctl poweroff, $go_default bindsym r exec systemctl reboot, $go_default bindsym s $lock && systemctl suspend, $go_default bindsym Escape $go_default } # Change Screen Orientation set $screen "Change Screen Orientation" bindsym $mod+Shift+o mode $screen mode $screen { bindsym Up exec ~/.dotfiles/sbin/rotate_screen up, mode "default" bindsym Left exec ~/.dotfiles/sbin/rotate_screen left, mode "default" bindsym Down exec ~/.dotfiles/sbin/rotate_screen inverted, mode "default" bindsym Right exec ~/.dotfiles/sbin/rotate_screen right, mode "default" bindsym Escape mode "default" } # Tablet mode has simplified key bindings set $tablet_mode "Tablet Mode" bindsym $mod+Shift+t exec ~/.dotfiles/sbin/tablet_mode on, mode $tablet_mode mode $tablet_mode { bindsym $mod+Left move left bindsym $mod+Down move down bindsym $mod+Up move up bindsym $mod+Right move right bindsym $mod+t exec ~/.dotfiles/sbin/tablet_mode off, mode "default" } # Startup # --------------------------------------------------------------------- # Popup a box asking for my ecryptfs password exec --no-startup-id ~/.dotfiles/sbin/start # Set the background exec --no-startup-id feh --bg-scale /home/emily/Pictures/wallpaper.jpg # Notification daemon exec --no-startup-id dunst # Make windows fade in and out and look nice exec --no-startup-id compton # Turn off touchpad during typing exec --no-startup-id syndaemon -t -K # Load the X server defaults exec --no-startup-id xrdb ~/.dotfiles/Xresources # Load up the multi-tilded setup of the main workspace exec --no-startup-id "i3-msg 'workspace $ws3; append_layout ~/.i3/ws3.json'" exec chromium exec chromium