# Time-stamp: <2020-05-20 18:56:40 (tslil@forfeit)> set $mod Mod4 # ----------------------------------------------------------------------------- # Run on startup # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # screen before suspend. Use loginctl lock-session to lock your screen. exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork exec --no-startup-id nm-applet exec --no-startup-id pasystray # ----------------------------------------------------------------------------- # Global options font pango:DejaVu Sans Mono 8 workspace_layout tabbed title_align center hide_edge_borders smart focus_follows_mouse no workspace_auto_back_and_forth yes # ----------------------------------------------------------------------------- # Global keybinds # Use pactl to adjust volume in PulseAudio. set $refresh_i3status killall -SIGUSR1 i3status bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status floating_modifier $mod bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+Shift+k kill bindsym $mod+p exec rofi -show window bindsym $mod+space exec rofi -show run bindsym $mod+q exec firefox bindsym $mod+d exec emacs # ----------------------------------------------------------------------------- # Focus bindsym $mod+n focus left bindsym $mod+e focus down bindsym $mod+o focus up bindsym $mod+i focus right bindsym $mod+Shift+n move left bindsym $mod+Shift+e move down bindsym $mod+Shift+o move up bindsym $mod+Shift+i move right # Cursor keys bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus 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 # ----------------------------------------------------------------------------- # Resizing mode "resize" { bindsym n resize grow width 5 px or 5 ppt bindsym e resize shrink height 5 px or 5 ppt bindsym o resize grow height 5 px or 5 ppt bindsym i resize shrink width 5 px or 5 ppt # same bindings, but for the arrow keys bindsym Left resize grow width 5 px or 5 ppt bindsym Down resize shrink height 5 px or 5 ppt bindsym Up resize grow height 5 px or 5 ppt bindsym Right resize shrink width 5 px or 5 ppt # back to normal: Enter or Escape or $mod+r bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+a mode "default" } bindsym $mod+a mode "resize" # ----------------------------------------------------------------------------- # Splitting and layouts bindsym $mod+h split h bindsym $mod+v split v bindsym $mod+Shift+f fullscreen toggle bindsym $mod+s layout stacking bindsym $mod+t layout tabbed bindsym $mod+Tab layout toggle split bindsym $mod+Shift+space floating toggle bindsym $mod+f focus mode_toggle bindsym $mod+u focus parent bindsym $mod+Shift+u focus child # ----------------------------------------------------------------------------- # Workspaces set $ws1 "1 : default" set $ws2 "2 : work" set $ws3 "3 : code" set $ws4 "4" set $ws5 "5" set $ws6 "6" set $ws7 "7" set $ws8 "8" set $ws9 "9 : game" set $ws10 "10" # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 bindsym $mod+3 workspace number $ws3 bindsym $mod+4 workspace number $ws4 bindsym $mod+5 workspace number $ws5 bindsym $mod+6 workspace number $ws6 bindsym $mod+7 workspace number $ws7 bindsym $mod+8 workspace number $ws8 bindsym $mod+9 workspace number $ws9 bindsym $mod+0 workspace number $ws10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace number $ws1 bindsym $mod+Shift+2 move container to workspace number $ws2 bindsym $mod+Shift+3 move container to workspace number $ws3 bindsym $mod+Shift+4 move container to workspace number $ws4 bindsym $mod+Shift+5 move container to workspace number $ws5 bindsym $mod+Shift+6 move container to workspace number $ws6 bindsym $mod+Shift+7 move container to workspace number $ws7 bindsym $mod+Shift+8 move container to workspace number $ws8 bindsym $mod+Shift+9 move container to workspace number $ws9 bindsym $mod+Shift+0 move container to workspace number $ws10 # ----------------------------------------------------------------------------- # Config management bindsym $mod+Shift+r reload bindsym $mod+Shift+w restart bindsym $mod+Shift+x 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'" # ---------------------------------------------------------------------------- # Colours set $bg #282828 set $red #cc241d set $green #98971a set $yellow #d79921 set $blue #458588 set $purple #b16286 set $aqua #689d68 set $gray #a89984 set $darkgray #1d2021 # class border|backgr|text|indicator|child_border client.focused $blue $blue $darkgray $purple $darkgray client.focused_inactive $darkgray $darkgray $yellow $purple $darkgray client.unfocused $darkgray $darkgray $yellow $purple $darkgray client.urgent $red $red $white $red $red # ----------------------------------------------------------------------------- # Bar bar { status_command i3status colors { # bar background color background $bg # text color used for blocks that do not have a color specified. statusline $yellow # workspaces section # border backgr. text focused_workspace $aqua $aqua $darkgray inactive_workspace $darkgray $darkgray $yellow active_workspace $darkgray $darkgray $yellow urgent_workspace $red $red $bg } }