# This file has been auto-generated by i3-config-wizard(1). # It will not be overwritten, so edit it as you like. # # Should you change your keyboard layout some time, delete # this file and re-run i3-config-wizard(1). # # i3 config file (v4) # # Please see http://i3wm.org/docs/userguide.html for a complete reference! set $mod Mod4 # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. #font pango:monospace 8 #font pango:Hack 8 font pango:Fira Mono 8 # This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). #font pango:DejaVu Sans Mono 10 # Before i3 v4.8, we used to recommend this one as the default: # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # The font above is very space-efficient, that is, it looks good, sharp and # clear in small sizes. However, its unicode glyph coverage is limited, the old # X core fonts rendering does not support right-to-left and this being a bitmap # font, it doesn’t scale on retina/hidpi displays. # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # start a terminal #bindsym $mod+Return exec i3-sensible-terminal #bindsym $mod+Return exec xterm bindsym $mod+Return exec alacritty # key r=72 set $r 72 bindcode $mod+Shift+$r restart # key ,=25 set $comma 25 bindcode $mod+Shift+$comma exec /home/tj/bin/lock.sh suspend bindcode $mod+$comma exec --no-startup-id /home/tj/bin/lock.sh lock # kill focused window set $c 31 bindcode $mod+Shift+$c kill set $d 43 set $p 27 set $y 28 # start dmenu (a program launcher) $mod+d bindcode $mod+$d exec dmenu_run -l 10 bindcode $mod+$p exec passmenu -l 10 -sf black -sb red bindcode $mod+$y exec lpassmenu.sh # There also is the (new) i3-dmenu-desktop which only displays applications # shipping a .desktop file. It is a wrapper around dmenu, so you need that # installed. # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop # change focus # key h = 44, key l = 33, key j = 54, key k = 55 set $h 44 set $l 33 set $j 54 set $k 55 bindcode $mod+$h focus left bindcode $mod+$l focus right bindcode $mod+$j focus down bindcode $mod+$k focus up # alternatively, you can use the cursor keys: bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # move focused window # Same keys as focus move bindcode $mod+Shift+$h move left bindcode $mod+Shift+$l move right bindcode $mod+Shift+$j move down bindcode $mod+Shift+$k move up # alternatively, you can use the cursor 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 # split in horizontal orientation set $n 46 bindcode $mod+$n split h # split in vertical orientation set $v 60 bindcode $mod+$v split v # enter fullscreen mode for the focused container set $f 29 bindcode $mod+$f fullscreen toggle set $s 47 set $e 40 set $t 45 set $period 26 # change container layout (stacked, tabbed, toggle split) bindcode $mod+$s layout stacking bindcode $mod+$e layout default bindcode $mod+$t layout tabbed bindcode $mod+$period layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle # focus the parent container bindsym $mod+a focus parent # focus the child container #bindsym $mod+d focus child #set $terms "1" #set $emacs "2" #set $browser "3" #set $chats "6" #set $irc "7" # TODO(tj): Get the symbols to work (something with fontawesome) set $terms "1:" set $emacs "2:" set $browser "3:" set $chats "6:" set $irc "7:" # switch to workspace bindsym $mod+1 workspace $terms bindsym $mod+2 workspace $emacs bindsym $mod+3 workspace $browser bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace $chats bindsym $mod+7 workspace $irc bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $terms bindsym $mod+Shift+2 move container to workspace $emacs bindsym $mod+Shift+3 move container to workspace $browser 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 $chats bindsym $mod+Shift+7 move container to workspace $irc 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 assign [class="Firefox"] $browser assign [class="Slack"] $chats # reload the configuration file bindcode $mod+Shift+32 reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) # bindsym $mod+Shift+p restart # exit i3 (logs you out of your X session) bindsym $mod+Shift+period 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'" # resize window (you can also use the mouse for that) # mode "resize" { # # These bindings trigger as soon as you enter the resize mode # # Pressing left will shrink the window’s width. # # Pressing right will grow the window’s width. # # Pressing up will shrink the window’s height. # # Pressing down will grow the window’s height. # # These are the same key bindings as navigation (h, l, j, k) # bindcode $mod+$h resize shrink width 10 px or 10 ppt # bindcode $mod+$l resize grow width 10 px or 10 ppt # bindcode $mod+$j resize shrink height 10 px or 10 ppt # bindcode $mod+$k resize grow height 10 px or 10 ppt # # same bindings, but for the arrow keys # 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" # } # 27 = p #bindcode $mod+27 mode "resize" # set $cyan #4fa8a8 # set $cyanlight #98ece8 set $cyan #222222 set $cyanlight #444444 set $text #ffffff # class border backgr. text indicator #client.focused #666666 #666666 #ffffff #2e9ef4 client.focused $cyanlight $cyanlight $text #2e9ef4 client.focused_inactive $cyan $cyan $text #484e50 client.unfocused $cyan $cyan $text #2e9ef4 client.urgent #2f343a #900000 #ffffff #900000 #client.focused #dddddd #dddddd #000000 #2e9ef4 #client.focused_inactive #555555 #555555 #bbbbbb #484e50 #client.unfocused #333333 #333333 #888888 #292d2e #client.urgent #2f343a #900000 #ffffff #900000 # Pulse Audio controls bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound # Screen brightness controls bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness # Touchpad controls bindsym XF86TouchpadToggle exec /some/path/toggletouchpad.sh # toggle touchpad # Media player controls bindsym XF86AudioPlay exec mpc toggle bindsym XF86AudioStop exec mpc stop bindsym XF86AudioNext exec mpc next bindsym XF86AudioPrev exec mpc prev #for_window [class="^.*"] border pixel 1 for_window [class="(?i)Firefox"] border pixel 1 for_window [class="(?i)Slack"] border pixel 1 #default_border pixel 1 #hide_edge_borders smart # Start these exec pasystray #exec /home/tj/redshift-rs/target/release/redshift-rs --temperature 4500:3500 --brightness 1.0:0.8 # Start i3bar to display a workspace bar (plus the system information i3status # finds out , if available) bar { status_command SCRIPT_DIR=~/.config/i3blocks-contrib i3blocks tray_output primary position top separator_symbol "|" #font pango:DejaVu Sans Mono, Awesome 10 #font pango:Hack 10 font pango:Fira mono 10 strip_workspace_numbers yes tray_padding 0 colors { background #000000 statusline #bbbbbb separator #dddddd focused_workspace $cyanlight $cyanlight $text active_workspace $cyanlight $cyanlight $text inactive_workspace $cyan $cyan $text urgent_workspace #7c6f64 #fabd2f #3c3836 # Old, grey color scheme #focused_workspace #ddddd #dddddd #222222 #active_workspace #555555 #555555 #bbbbbb #inactive_workspace #555555 #555555 #bbbbbb #urgent_workspace #76f64 #fabd2f #3c3836 } }