# i3 config file (v4) # # Please see https://i3wm.org/docs/userguide.html for a complete reference! set $mod Mod4 font pango:monospace 20 set $UTILS /home/w0ryn/.config/wryn/i3utils set $SLACK_CLIENT_CLASS ^Slack$ set $MESSAGE_CLIENT_CLASS ^android-messages-desktop$ set $MEDIA_CLIENT_CLASS ^youtubemusic-nativefier set $DISCORD_CLIENT_CLASS ^discord$ set $EMAIL_CLIENT_CLASS ^Thunderbird$ set $GAMES_CLIENT_CLASSES ^(Steam)|(dolphin-emu)|(Visualboyadvance-m)$ set $TERMINAL_EMULATOR_CLASSES ^(kitty)$ # for use after any command which should refresh the statusbar set $refresh_statusbar killall -SIGUSR1 i3status bar { status_command i3status } ################################################################################ ## Media Keys ################################################################## ################################################################################ # Audio bindsym XF86AudioRewind exec --no-startup-id $UTILS prev bindsym XF86AudioPrev exec --no-startup-id $UTILS prev bindsym XF86AudioForward exec --no-startup-id $UTILS next bindsym XF86AudioNext exec --no-startup-id $UTILS next bindsym XF86AudioPlay exec --no-startup-id $UTILS playpause bindsym XF86AudioRaiseVolume exec --no-startup-id $UTILS volumeraise bindsym XF86AudioLowerVolume exec --no-startup-id $UTILS volumelower bindsym XF86AudioMute exec --no-startup-id $UTILS mute bindsym XF86AudioMicMute exec --no-startup-id $UTILS micmute bindsym $mod+backslash exec --no-startup-id $UTILS micmute # Screen brightness bindsym XF86MonBrightnessUp exec --no-startup-id $UTILS backlightup bindsym XF86MonBrightnessDown exec --no-startup-id $UTILS backlightdown ################################################################################ ## Window Management and Navigation ############################################ ################################################################################ bindsym $mod+q kill bindsym $mod+h focus left bindsym $mod+j focus down bindsym $mod+k focus up bindsym $mod+l focus right 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+b split h bindsym $mod+v split v bindsym $mod+f fullscreen toggle bindsym $mod+Shift+f focus parent; fullscreen; focus child mode "resize" { bindsym h resize grow width 10 px or 10 ppt bindsym j resize shrink height 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink width 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" bindsym $mod+r mode "default" } bindsym $mod+r mode "resize" bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split ################################################################################ ## Floating / Scratchpad Management and Navigation ############################# ################################################################################ bindsym $mod+Shift+space floating toggle bindsym $mod+d focus mode_toggle floating_modifier $mod bindsym $mod+Shift+Tab move scratchpad bindsym $mod+Tab scratchpad show bindsym $mod+Shift+d exec --no-startup-id $UTILS discord $DISCORD_CLIENT_CLASS; bindsym $mod+Shift+t exec --no-startup-id $UTILS email $EMAIL_CLIENT_CLASS; bindsym $mod+m exec --no-startup-id $UTILS media $MEDIA_CLIENT_CLASS; bindsym $mod+Shift+m exec --no-startup-id $UTILS message $MESSAGE_CLIENT_CLASS; bindsym $mod+Shift+s exec --no-startup-id $UTILS slack $SLACK_CLIENT_CLASS; bindsym $mod+Shift+x [class=$GAMES_CLIENT_CLASSES] scratchpad show bindsym $mod+x [class=$TERMINAL_EMULATOR_CLASSES] scratchpad show ################################################################################ ## Workspace Management and Navigation ######################################### ################################################################################ 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 $ws10 "10" 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 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 ################################################################################ ## i3 Settings ################################################################# ################################################################################ bindsym $mod+Shift+e exec $UTILS logout bindsym $mod+Shift+r restart bindsym $mod+Shift+c reload # i3-gaps settings for_window [class="^.*"] border pixel 4 gaps inner 10 gaps outer 10 bindsym $mod+z gaps outer current plus 2; gaps inner current plus 2; bindsym $mod+shift+z gaps outer current minus 2; gaps inner current minus 2; # color settings set $FOCUSED_BORDER #288B52 set $FOCUSED_BACKGROUND #288B52 set $FOCUSED_TEXT #CCDDFF set $FOCUSED_INDICATOR #55C9B5 set $FOCUSED_CHILD_BORDER #225925 set $INACTIVE_BORDER #690420 set $INACTIVE_BACKGROUND #690420 set $INACTIVE_TEXT #CCDDFF set $INACTIVE_INDICATOR #800040 set $INACTIVE_CHILD_BORDER #400010 set $UNFOCUSED_BORDER #614F41 set $UNFOCUSED_BACKGROUND #614F41 set $UNFOCUSED_TEXT #CCDDFF set $UNFOCUSED_INDICATOR #614F41 set $UNFOCUSED_CHILD_BORDER #614F41 set $URGENT_BORDER #FFFFFF set $URGENT_BACKGROUND #FFFFFF set $URGENT_TEXT #FF1440 set $URGENT_INDICATOR #FFFFFF set $URGENT_CHILD_BORDER #FFFFFF set $PLACEHOLDER_BORDER #614F41 set $PLACEHOLDER_BACKGROUND #614F41 set $PLACEHOLDER_TEXT #CCDDFF set $PLACEHOLDER_INDICATOR #614F41 set $PLACEHOLDER_CHILD_BORDER #614F41 client.focused $FOCUSED_BORDER $FOCUSED_BACKGROUND $FOCUSED_TEXT $FOCUSED_INDICATOR $FOCUSED_CHILD_BORDER client.focused_inactive $INACTIVE_BORDER $INACTIVE_BACKGROUND $INACTIVE_TEXT $INACTIVE_INDICATOR $INACTIVE_CHILD_BORDER client.unfocused $UNFOCUSED_BORDER $UNFOCUSED_BACKGROUND $UNFOCUSED_TEXT $UNFOCUSED_INDICATOR $UNFOCUSED_CHILD_BORDER client.urgent $URGENT_BORDER $URGENT_BACKGROUND $URGENT_TEXT $URGENT_INDICATOR $URGENT_CHILD_BORDER client.placeholder $PLACEHOLDER_BORDER $PLACEHOLDER_BACKGROUND $PLACEHOLDER_TEXT $PLACEHOLDER_INDICATOR $PLACEHOLDER_CHILD_BORDER # Terminal / Application Launcher bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+shift+Return exec --no-startup-id $UTILS alternateterm bindsym $mod+space exec --no-startup-id dmenu_run -fn 'DejaVu Sans Mono-25' ################################################################################ ## Miscellaneous ############################################################### ################################################################################ # exec --no-startup-id nm-applet # network-manager-applet exec --no-startup-id compton # composite bindsym $mod+p exec --no-startup-id $UTILS bgrandomize bindsym $mod+Shift+minus exec --no-startup-id $UTILS lock