# Set my variables. Mod4 is windows button, 3 is caps lock, 2 is right ctrl # I use xmodmap to set this set $exmod Mod4 set $winmod Mod3 set $netmod Mod2 # Set the gaps between windows. This is for i3-gaps only set $gapsinner 22 set $gapsouter 48 # Here is where I set all of my default programs set $browser firefox set $email thunderbird # Setting up my shadows, and a custom config location to match the others. exec compton --config ${XDG_CONFIG_HOME}/compton/config -cb # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. ISO 10646 = Unicode font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # Use Mouse+$exmod to drag floating windows to their wanted position floating_modifier $winmod gaps inner $gapsinner gaps outer $gapsouter hide_edge_borders both new_window pixel 1 workspace_auto_back_and_forth yes # This makes it so that anything spawned with the class "Floating" will be...floating. # A good example of this is xterm: # bindsym $exmod+Shift+Return exec xterm -class Floating # Note: -class is a modifier specifically for xterm. Other methods must # be used to change the class of other applications. for_window [class="Floating"] floating enable for_window [class="Octave"] floating enable for_window [title="Weka GUI Chooser"] floating enable for_window [window_role="Msgcompose"] floating enable for_window [window_role="pop-up"] floating enable # Application Stuff # # # bindsym $exmod+1 exec firefox bindsym $exmod+2 exec pcmanfm bindsym $exmod+3 exec uxterm -e vim bindsym $exmod+4 exec uxterm -class Floating -e ncmpcpp bindsym $exmod+5 exec uxterm -e screen irssi --home=${XDG_CONFIG_HOME}/irssi bindsym $exmod+a exec arandr bindsym $exmod+d exec --no-startup-id i3-dmenu-desktop bindsym $exmod+c exec chromium bindsym $exmod+e exec eclipse bindsym $exmod+j exec scrot -s bindsym $exmod+m exec $email bindsym $exmod+n exec nitrogen bindsym $exmod+v exec vlc bindsym $exmod+Return exec uxterm bindsym $exmod+Shift+Return exec uxterm -class Floating # Kill the focused window bindsym $exmod+Shift+q kill # reload the configuration file bindsym $exmod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $exmod+Shift+r restart # exit i3 (logs you out of your X session) bindsym $exmod+Shift+e exec i3-msg exit # # # # # # # # # # # # # # # # # # # # # Color Stuff # # # # # # # # # # # # # # # # # # # # # class border backgr. text indicator client.focused #000000 #eae9da #000000 #eae9da client.focused_inactive #000000 #5f676a #ffffff #5f676a client.unfocused #000000 #30363b #888888 #30363b client.urgent #000000 #9b6465 #ffffff #9b6465 client.placeholder #000000 #ffffff #ffffff #000000 # # # # # # # # # # # # # # # # # # # # # Internet Stuff # # # # # # # # # # # # # # # # # # # # bindsym $netmod+1 exec $browser mail.google.com bindsym $netmod+2 exec $browser www.google.com/calendar bindsym $netmod+3 exec $browser www.drive.google.com bindsym $netmod+4 exec $browser www.youtube.com bindsym $netmod+5 exec $browser www.vcu.edu bindsym $netmod+6 exec $browser www.facebook.com bindsym $netmod+7 exec $browser www.amazon.com # # # # # # # # # # # # # # # # # # # # # Music Stuff # # # # # # # # # # # # # # # # # # # # bindsym XF86AudioRaiseVolume exec amixer set Master 5+ bindsym XF86AudioLowerVolume exec amixer set Master 5- bindsym XF86AudioMute exec amixer set Master toggle # # # # # # # # # # # # # # # # # # # # # Window Stuff # # # # # # # # # # # # # # # # # # # # # Toggle gaps bindsym $winmod+g gaps inner all set 0 gaps outer all set 0 bindsym $winmod+Shift+g gaps inner all set $gapsinner gaps outer all set $gapsouter # change focus bindsym $winmod+h focus left bindsym $winmod+j focus down bindsym $winmod+k focus up bindsym $winmod+l focus right bindsym $winmod+o open # move focused window bindsym $winmod+Shift+h move left bindsym $winmod+Shift+j move down bindsym $winmod+Shift+k move up bindsym $winmod+Shift+l move right # move focused window more bindsym $winmod+Ctrl+h move left 30 px bindsym $winmod+Ctrl+j move down 30 px bindsym $winmod+Ctrl+k move up 30 px bindsym $winmod+Ctrl+l move right 30 px # split in horizontal orientation bindsym $winmod+u split h # split in vertical orientation bindsym $winmod+i split v # enter fullscreen mode for the focused container bindsym $winmod+f fullscreen # change container layout (stacked, tabbed, toggle split) bindsym $winmod+z layout stacking bindsym $winmod+x layout tabbed bindsym $winmod+c layout toggle split # toggle tiling / floating bindsym $winmod+Shift+space floating toggle bindsym $winmod+n sticky enable # change focus between tiling / floating windows bindsym $winmod+m focus mode_toggle # focus the parent container bindsym $winmod+space focus parent # focus the child container bindsym $winmod+Return focus child # # # # # # # # # # # # # # # # # # # # # Workspace Stuff # # # # # # # # # # # # # # # # # # # # # switch to workspace bindsym $winmod+1 workspace 1 bindsym $winmod+2 workspace 2 bindsym $winmod+3 workspace 3 bindsym $winmod+4 workspace 4 bindsym $winmod+5 workspace 5 bindsym $winmod+q workspace q bindsym $winmod+w workspace w bindsym $winmod+e workspace e bindsym $winmod+a workspace a bindsym $winmod+s workspace s bindsym $winmod+d workspace d # throw to workspace bindsym $winmod+Shift+1 move container to workspace 1 bindsym $winmod+Shift+2 move container to workspace 2 bindsym $winmod+Shift+3 move container to workspace 3 bindsym $winmod+Shift+4 move container to workspace 4 bindsym $winmod+Shift+5 move container to workspace 5 bindsym $winmod+Shift+q move container to workspace q bindsym $winmod+Shift+w move container to workspace w bindsym $winmod+Shift+e move container to workspace e bindsym $winmod+Shift+a move container to workspace a bindsym $winmod+Shift+s move container to workspace s bindsym $winmod+Shift+d move container to workspace d # throw and follow bindsym $winmod+ctrl+1 move container to workspace 1; workspace 1 bindsym $winmod+ctrl+2 move container to workspace 2; workspace 2 bindsym $winmod+ctrl+3 move container to workspace 3; workspace 3 bindsym $winmod+ctrl+4 move container to workspace 4; workspace 4 bindsym $winmod+ctrl+5 move container to workspace 5; workspace 5 bindsym $winmod+ctrl+q move container to workspace q; workspace q bindsym $winmod+ctrl+w move container to workspace w; workspace w bindsym $winmod+ctrl+e move container to workspace e; workspace e bindsym $winmod+ctrl+a move container to workspace a; workspace a bindsym $winmod+ctrl+s move container to workspace s; workspace s bindsym $winmod+ctrl+d move container to workspace d; workspace d # Make a window show up on all workspaces # ONLY WORKS ON FLOATING #sticky toggle # resize window (you can also use the mouse for that) mode "resize" { # These bindings trigger as soon as you enter the resize mode # Resize the focused window bindsym h resize shrink width 10 px or 1 ppt bindsym j resize grow height 10 px or 1 ppt bindsym k resize shrink height 10 px or 1 ppt bindsym l resize grow width 10 px or 1 ppt # Resize the focused window more bindsym Shift+h resize shrink width 50 px or 5 ppt bindsym Shift+j resize grow height 50 px or 5 ppt bindsym Shift+k resize shrink height 50 px or 5 ppt bindsym Shift+l resize grow width 50 px or 5 ppt # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $winmod+r mode "resize" # Start i3bar to display a workspace bar (plus the system information i3status # finds out, if available) bar { position bottom status_command i3status --config ~/.config/i3status/config mode hide hidden_state hide modifier $winmod wheel_up_cmd nop wheel_down_cmd nop font Droid Sans Mono for Powerline:style=Regular:size=9:antialias=true colors { background #30363b statusline #eae9da separator #eae9ada focused_workspace #30363b #30363b #4e9ab7 active_workspace #30363b #30363b #4e9ab7 inactive_workspace #30363b #30363b #eae9da urgent_workspace #9b6465 #30363b #eae9da } }