# ██╗███╗ ██╗███████╗ █████╗ ███╗ ██╗████████╗ ██████╗ ██╗██████╗ ██████╗ ██████╗ ███╗ ██╗███████╗██╗ ██████╗ # ██║████╗ ██║██╔════╝██╔══██╗████╗ ██║╚══██╔══╝██╔═══██╗ ██║╚════██╗ ██╔════╝██╔═══██╗████╗ ██║██╔════╝██║██╔════╝ # ██║██╔██╗ ██║█████╗ ███████║██╔██╗ ██║ ██║ ██║ ██║ ██║ █████╔╝ ██║ ██║ ██║██╔██╗ ██║█████╗ ██║██║ ███╗ # ██║██║╚██╗██║██╔══╝ ██╔══██║██║╚██╗██║ ██║ ██║ ██║ ██║ ╚═══██╗ ██║ ██║ ██║██║╚██╗██║██╔══╝ ██║██║ ██║ # ██║██║ ╚████║███████╗██║ ██║██║ ╚████║ ██║ ╚██████╔╝ ██║██████╔╝ ╚██████╗╚██████╔╝██║ ╚████║██║ ██║╚██████╔╝ # ╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═════╝ # (updated 01/07/2025) ############################################# # MODIFIER KEY # ############################################# set $mod Mod4 ############################################# # STARTUP APPLICATIONS # ############################################# # Display setup exec --no-startup-id xrandr --auto # Transfer X11 lock to i3lock (locks computer before going to sleep) exec xss-lock --transfer-sleep-lock -- i3lock --nofork # Polybar exec_always --no-startup-id $HOME/.config/i3/scripts/polybar.sh exec --no-startup-id gnome-keyring-daemon # Enable Num. Lock exec --no-startup-id numlockx on # Picom (Compositor, disabled) # exec --no-startup-id picom -b # networkmanager-applet exec --no-startup-id nm-applet # Start Nitrogen exec --no-startup-id nitrogen --restore # set powersavings for display: exec --no-startup-id xset s 480 dpms 600 600 600 # Desktop notifications exec --no-startup-id dbus-launch dunst --config ~/.config/dunst/dunstrc exec --no-startup-id ~/scripts/monitor.sh # set floating (nontiling) for special apps for_window [class="Pavucontrol" instance="pavucontrol"] floating enable for_window [class="Blueberry.py" instance="blueberry.py"] floating enable for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable ##################################### # ROFI APPLICATION MENU # ##################################### ## rofi bindings fancy application menu d+d /F9 optional disabled) bindsym $mod+d exec rofi -modi drun -show drun bindsym $mod+shift+d exec rofimoji -f all ## rofi bindings for window menu ($mod+t /F10 optional disabled) bindsym $mod+x exec rofi -show window ##################################### # WORKSPACES/WINDOWS # ##################################### workspace_layout default # Remove borders. default_border pixel 1 default_floating_border pixel 0 for_window [class="^.*"] border pixel 1 # Set inner/outer/top gaps gaps top 35 gaps inner 20 set $ws1 "1:base" set $ws2 "2:term" set $ws3 "3:web" set $ws4 "4:game" set $ws5 "5:music" set $ws6 "6:social" set $ws7 "7" set $ws8 "8" set $ws9 "9" set $ws10 "10" # Bind programs to workspace: assign [class="alacritty"] $ws2 assign [class="(?i)firefox"] $ws3 assign [class="Spotify"] $ws5 ##################################### # KEYBINDS # ##################################### # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod # Define Workspace shortcuts bindsym $mod+1 workspace $ws1 bindsym $mod+2 workspace $ws2 bindsym $mod+3 workspace $ws3 bindsym $mod+4 workspace $ws4 bindsym $mod+5 workspace $ws5 bindsym $mod+6 workspace $ws6 bindsym $mod+7 workspace $ws7 bindsym $mod+8 workspace $ws8 bindsym $mod+9 workspace $ws9 bindsym $mod+0 workspace $ws10 # Define Workspace shortcuts (Num. Lock numpad keys) bindcode $mod+Mod2+87 workspace $ws1 bindcode $mod+Mod2+88 workspace $ws2 bindcode $mod+Mod2+89 workspace $ws3 bindcode $mod+Mod2+83 workspace $ws4 bindcode $mod+Mod2+84 workspace $ws5 bindcode $mod+Mod2+85 workspace $ws6 bindcode $mod+Mod2+79 workspace $ws7 bindcode $mod+Mod2+80 workspace $ws8 bindcode $mod+Mod2+81 workspace $ws9 bindcode $mod+Mod2+90 workspace $ws10 # Define move shortcuts bindsym $mod+Shift+1 move container to workspace $ws1 bindsym $mod+Shift+2 move container to workspace $ws2 bindsym $mod+Shift+3 move container to workspace $ws3 bindsym $mod+Shift+4 move container to workspace $ws4 bindsym $mod+Shift+5 move container to workspace $ws5 bindsym $mod+Shift+6 move container to workspace $ws6 bindsym $mod+Shift+7 move container to workspace $ws7 bindsym $mod+Shift+8 move container to workspace $ws8 bindsym $mod+Shift+9 move container to workspace $ws9 bindsym $mod+Shift+0 move container to workspace $ws10 # Define move shortcuts (Num. Lock numpad keys) bindcode $mod+Shift+87 move container to workspace $ws1 bindcode $mod+Shift+88 move container to workspace $ws2 bindcode $mod+Shift+89 move container to workspace $ws3 bindcode $mod+Shift+83 move container to workspace $ws4 bindcode $mod+Shift+84 move container to workspace $ws5 bindcode $mod+Shift+85 move container to workspace $ws6 bindcode $mod+Shift+79 move container to workspace $ws7 bindcode $mod+Shift+80 move container to workspace $ws8 bindcode $mod+Shift+81 move container to workspace $ws9 bindcode $mod+Shift+90 move container to workspace $ws10 # Define resizing mode mode "resize" { 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 bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" bindsym $mod+f fullscreen toggle bindsym $mod+q kill bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart bindsym $mod+j focus left bindsym $mod+k focus down bindsym $mod+b focus up bindsym $mod+o focus right bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+Shift+j move left bindsym $mod+Shift+k move down bindsym $mod+Shift+b move up bindsym $mod+Shift+o 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 bindsym $mod+h split h bindsym $mod+v split v bindsym $mod+s layout stacking bindsym $mod+g layout tabbed bindsym $mod+e layout toggle split # Define setting window as floating/tiling shortcut bindsym $mod+Shift+space floating toggle # Define focus shift between floating/tiling windows shortcuts bindsym $mod+space focus mode_toggle bindsym $mod+a focus parent # Define apps shortcuts bindsym $mod+Return exec alacritty bindsym $mod+Shift+e exec rofi -show power-menu -modi power-menu:$HOME/.local/bin/powermenu bindsym $mod+l exec ~/.config/i3/scripts/blur-lock # Define Volume/Multimedia shortcuts bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks bindsym XF86AudioMute exec amixer sset Master toggle && killall -USR1 i3blocks bindsym XF86AudioPlay exec playerctl play bindsym XF86AudioPause exec playerctl pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous ###################################### # COLORS # # (updated 18/10/2024) # ###################################### set $green #538f45 set $gold #e6b044 set $urgent #d42a2a set $inactive #302428 set $black #0c0c0c set $white #ffffff # Target Title BG Text Indicator Border client.focused $white $black $white $gold $gold client.focused_inactive $white $black $white $inactive $inactive client.unfocused $white $black $white $inactive $inactive client.urgent $white $black $white $urgent $urgent client.placeholder $white $black $white $white $black client.background $base