exec --no-startup-id ~/.local/bin/startup-progs # super set $mod Mod4 # alt set $mod2 Mod1 # hyper set $mod3 Mod3 # window title and bar font (unless specified differently in 'bar {}' font pango:Source Code Pro 9.5 # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # for dragging floating windows with mouse floating_modifier $mod # default tabbed workspace_layout tabbed # terminal bindsym $mod+Return exec urxvt bindsym $mod+Shift+Return exec urxvt -name floating for_window [class="URxvt" instance="floating"] floating enable # kill focused window (not necessarily its application) bindsym $mod+Shift+w kill # kill an application #bindsym --release $mod+Shift+x exec xkill # rofi launcher and pass bindsym $mod+space exec rofi -show run -display-run ' > ' -display-window ' 🗔 ' bindsym $mod+backslash exec rofi -show window -display-run ' > ' -display-window ' 🗔 ' bindsym $mod+Shift+space exec rofi-pass # brightness bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness # volume bindsym $mod+semicolon exec rofi-pamixer # rofi-based volume chooser bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5 bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5 bindsym XF86AudioMute exec pamixer --toggle-mute bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle # window focus bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right # window move bindsym $mod+Shift+h move left bindsym $mod+Shift+j move down bindsym $mod+Shift+k move up bindsym $mod+Shift+l move right bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # horizontal and vertical orientation bindsym $mod+shift+backslash split h bindsym $mod+minus split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+f floating toggle # toggle tiling / floating focus bindsym $mod+grave focus mode_toggle # toggle sticky bindsym $mod+shift+s sticky toggle # focus parent / child bindsym $mod+a focus parent bindsym $mod+Shift+a focus child # 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 bindsym $mod+bracketleft workspace prev bindsym $mod+bracketright workspace next # 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 bindsym $mod+Shift+bracketleft move container to workspace prev bindsym $mod+Shift+bracketright move container to workspace next # bspwm-esque workspace switch and container move bindsym $mod2+bracketleft exec b-ws-util i3 switch prev bindsym $mod2+bracketright exec b-ws-util i3 switch next bindsym $mod2+Shift+bracketleft exec b-ws-util i3 move prev follow bindsym $mod2+Shift+bracketright exec b-ws-util i3 move next follow set $mode_system System (l)ock | (e)xit i3 | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown mode "$mode_system" { bindsym l exec i3lock, mode "default" bindsym e exec i3-msg exit, mode "default" bindsym s exec systemctl suspend, mode "default" bindsym h exec systemctl hibernate, mode "default" bindsym r exec systemctl reboot, mode "default" bindsym Shift+s exec systemctl poweroff -i, mode "default" bindsym Return mode "default" bindsym Escape mode "default" bindsym q mode "default" } bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart bindsym $mod+Shift+e mode "$mode_system" # 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. bindsym j resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym semicolon resize grow width 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" } bindsym $mod+r mode "resize" # application-specific window configurations for_window [class="mpv"] floating enable for_window [class="Mumble"] floating enable for_window [class="Nm-connection-editor"] floating enable for_window [class="Virt-manager"] floating enable # no title bars for_window [class="^.*"] border pixel 4 # i3bar and system info from i3status bar { status_command i3status | my-i3status tray_output primary }