2022-12-10 17:09:35 -08:00
|
|
|
# i3 config file (v4)
|
|
|
|
# TODO: add scratchpads (terminal, password manager, discord, task)
|
2023-04-30 20:40:44 -07:00
|
|
|
# Test a edit!
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- VARIABLES
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
2023-07-03 16:57:11 -07:00
|
|
|
set $HOME /home/tstarr
|
2022-12-10 17:09:35 -08:00
|
|
|
|
2023-07-03 16:57:11 -07:00
|
|
|
set $DISP_PRI HDMI-0
|
|
|
|
set $DISP_SEC DP-3
|
2022-12-10 17:09:35 -08:00
|
|
|
|
2022-12-10 23:04:30 -08:00
|
|
|
set $BOR_WIDTH 4
|
|
|
|
set $GAP_INNER 4
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
set $mod Mod4
|
|
|
|
|
|
|
|
set $tag1 "1:game"
|
|
|
|
set $tag2 "2:dev"
|
|
|
|
set $tag3 "3:web"
|
2022-12-18 20:01:46 -08:00
|
|
|
set $tag4 "4:dev"
|
2022-12-10 17:09:35 -08:00
|
|
|
set $tag5 "5:web"
|
|
|
|
set $tag6 "6:web"
|
2022-12-18 20:01:46 -08:00
|
|
|
set $tag7 "7:web"
|
|
|
|
set $tag8 "8:comm"
|
|
|
|
|
|
|
|
set $e exec i3-msg mode default
|
|
|
|
|
2022-12-21 00:07:52 -08:00
|
|
|
set $mode_power "[r]eboot | [s]hutdown"
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- COLORS
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# class border bground text indicator child_border
|
2022-12-21 00:07:52 -08:00
|
|
|
client.focused #bd93f9 #bd93f9 #F8F8F2 #bd93f9 #bd93f9
|
2022-12-10 17:09:35 -08:00
|
|
|
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
|
|
|
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
|
|
|
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
|
|
|
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
|
|
|
|
|
|
|
client.background #F8F8F2
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- MISC. CONFIGURATION
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
font pango:Google Noto 8.5
|
2022-12-21 00:07:52 -08:00
|
|
|
default_border pixel 3
|
|
|
|
default_floating_border pixel 3
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- BINDING WORKSPACE TO DISPLAY
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
workspace $tag1 output $DISP_PRI
|
|
|
|
workspace $tag2 output $DISP_PRI
|
|
|
|
workspace $tag3 output $DISP_PRI
|
|
|
|
workspace $tag4 output $DISP_PRI
|
2023-01-24 15:35:22 -08:00
|
|
|
workspace $tag5 output $DISP_SEC
|
2022-12-10 17:09:35 -08:00
|
|
|
workspace $tag6 output $DISP_SEC
|
|
|
|
workspace $tag7 output $DISP_SEC
|
|
|
|
workspace $tag8 output $DISP_SEC
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- CONTAINER GAPS
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# CREATING GAPS BETWEEN THE WINDOWS AND EDGES
|
|
|
|
gaps inner $GAP_INNER
|
|
|
|
gaps outer 0
|
|
|
|
gaps horizontal 0
|
|
|
|
gaps vertical 0
|
|
|
|
gaps top 0
|
|
|
|
gaps bottom 0
|
|
|
|
gaps right 0
|
|
|
|
gaps left 0
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- FORCE FLOATING
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
for_window [title="Steam - News"] floating enable
|
|
|
|
for_window [title="Friends List"] floating enable
|
|
|
|
|
|
|
|
for_window [title="Picture-in-Picture"] sticky toggle
|
|
|
|
|
|
|
|
for_window [con_mark="scratch-term"] floating enable, \
|
|
|
|
resize set 800 px 600 px, \
|
|
|
|
move position 880 px 420 px
|
|
|
|
|
2022-12-10 23:53:30 -08:00
|
|
|
for_window [con_mark="scratch-warrior"] floating enable, \
|
2023-01-09 17:09:31 -08:00
|
|
|
resize set 1500 px 800 px, \
|
|
|
|
move position 530 px 320 px
|
2022-12-10 23:53:30 -08:00
|
|
|
|
2022-12-17 13:01:44 -08:00
|
|
|
for_window [class="Blueman-manager"] floating enable, \
|
|
|
|
resize set 1000 px 800 px, \
|
|
|
|
move position 780 px 320 px
|
|
|
|
|
2023-01-09 17:09:31 -08:00
|
|
|
for_window [class="scratch-nb"] floating enable, \
|
2022-12-17 13:01:44 -08:00
|
|
|
resize set 1000 px 800 px, \
|
|
|
|
move position 780 px 320 px
|
|
|
|
|
2022-12-10 17:09:35 -08:00
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- BINDING APPLICATIONS TO WORKSPACE
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
assign [class="Steam"] "1:game"
|
|
|
|
for_window [class="Steam"] move container to workspace "1:game"
|
2022-12-18 20:01:46 -08:00
|
|
|
for_window [class="discord"] move container to workspace $tag8
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- KEY BINDINGS
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
2022-12-18 20:01:46 -08:00
|
|
|
# [p]ower commands
|
|
|
|
bindsym $mod+p mode $mode_power
|
|
|
|
mode $mode_power {
|
2022-12-21 00:07:52 -08:00
|
|
|
bindsym s exec loginctl poweroff
|
|
|
|
bindsym r exec loginctl reboot
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym Escape mode default
|
|
|
|
}
|
|
|
|
|
2022-12-21 00:07:52 -08:00
|
|
|
# [x]utility commands
|
|
|
|
bindsym $mod+x mode utility
|
2022-12-18 20:01:46 -08:00
|
|
|
mode utility {
|
|
|
|
bindsym q exit
|
2022-12-24 00:16:26 -08:00
|
|
|
bindsym r restart
|
2022-12-25 20:43:52 -08:00
|
|
|
bindsym p exec "rofi-rbw", $e
|
2022-12-18 20:01:46 -08:00
|
|
|
# TODO: gamemode (mod+Ctrl+g). Needs script to toggle
|
|
|
|
bindsym Escape mode default
|
|
|
|
}
|
|
|
|
|
2023-01-24 15:35:22 -08:00
|
|
|
# layout commands
|
|
|
|
bindsym $mod+Ctrl+t splitv; layout tabbed
|
|
|
|
bindsym $mod+Ctrl+v layout splitv
|
|
|
|
bindsym $mod+Ctrl+s layout splith
|
|
|
|
bindsym $mod+Ctrl+h resize shrink width 50
|
|
|
|
bindsym $mod+Ctrl+j resize shrink height 50
|
|
|
|
bindsym $mod+Ctrl+k resize grow height 50
|
|
|
|
bindsym $mod+Ctrl+l resize grow width 50
|
|
|
|
bindsym $mod+Ctrl+c move position center
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
# program management
|
|
|
|
bindsym $mod+d kill
|
|
|
|
bindsym $mod+f fullscreen toggle
|
2023-01-24 15:35:22 -08:00
|
|
|
bindsym $mod+t floating toggle
|
2022-12-17 13:01:44 -08:00
|
|
|
bindsym $mod+s sticky toggle
|
2022-12-10 17:09:35 -08:00
|
|
|
bindsym $mod+Tab focus mode_toggle
|
|
|
|
floating_modifier $mod
|
|
|
|
|
|
|
|
# spatial container management
|
2023-01-24 15:35:22 -08:00
|
|
|
bindsym $mod+h exec $HOME/.config/i3/scripts/tabfocus.sh "h"
|
|
|
|
bindsym $mod+j exec $HOME/.config/i3/scripts/tabfocus.sh "j"
|
|
|
|
bindsym $mod+k exec $HOME/.config/i3/scripts/tabfocus.sh "k"
|
|
|
|
bindsym $mod+l exec $HOME/.config/i3/scripts/tabfocus.sh "l"
|
2022-12-10 17:09:35 -08:00
|
|
|
bindsym $mod+Shift+h move left
|
|
|
|
bindsym $mod+Shift+j move down
|
|
|
|
bindsym $mod+Shift+k move up
|
|
|
|
bindsym $mod+Shift+l move right
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym $mod+minus split v
|
|
|
|
bindsym $mod+backslash split h
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
# workspace management
|
|
|
|
bindsym $mod+1 workspace $tag1
|
|
|
|
bindsym $mod+2 workspace $tag2
|
|
|
|
bindsym $mod+3 workspace $tag3
|
|
|
|
bindsym $mod+4 workspace $tag4
|
2023-01-24 15:35:22 -08:00
|
|
|
bindsym $mod+q workspace $tag5
|
|
|
|
bindsym $mod+w workspace $tag6
|
|
|
|
bindsym $mod+e workspace $tag7
|
|
|
|
bindsym $mod+r workspace $tag8
|
2022-12-10 17:09:35 -08:00
|
|
|
bindsym $mod+Shift+1 move container to workspace $tag1
|
|
|
|
bindsym $mod+Shift+2 move container to workspace $tag2
|
|
|
|
bindsym $mod+Shift+3 move container to workspace $tag3
|
|
|
|
bindsym $mod+Shift+4 move container to workspace $tag4
|
2023-01-24 15:35:22 -08:00
|
|
|
bindsym $mod+Shift+q move container to workspace $tag5
|
|
|
|
bindsym $mod+Shift+w move container to workspace $tag6
|
|
|
|
bindsym $mod+Shift+e move container to workspace $tag7
|
|
|
|
bindsym $mod+Shift+r move container to workspace $tag8
|
2022-12-18 20:01:46 -08:00
|
|
|
|
|
|
|
# audio
|
2023-01-19 15:35:55 -08:00
|
|
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +2%
|
|
|
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -2%
|
2023-02-13 21:22:54 -08:00
|
|
|
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle
|
2022-12-18 20:01:46 -08:00
|
|
|
|
|
|
|
# [o]pen applications
|
2022-12-21 00:07:52 -08:00
|
|
|
bindsym $mod+Return exec alacritty
|
2022-12-23 16:07:26 -08:00
|
|
|
bindsym $mod+a exec rofi -show drun -show-icons
|
|
|
|
bindsym $mod+Shift+a exec rofi -show window -show-icons
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym $mod+o mode open
|
|
|
|
mode open {
|
2023-01-19 15:35:55 -08:00
|
|
|
bindsym b exec flatpak run org.mozilla.firefox, $e
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym s exec steam, $e
|
|
|
|
bindsym d exec flatpak run com.discordapp.Discord, $e
|
|
|
|
bindsym Escape mode default
|
|
|
|
}
|
|
|
|
|
|
|
|
# s[c]ratchpads commands
|
|
|
|
bindsym $mod+c mode scratch
|
|
|
|
mode scratch {
|
|
|
|
bindsym Return exec $HOME/.config/i3/scripts/scratch.sh \
|
2022-12-21 00:07:52 -08:00
|
|
|
'scratch-term' 'alacritty', $e
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym n exec $HOME/.config/i3/scripts/scratch.sh \
|
2023-01-09 17:09:31 -08:00
|
|
|
'scratch-nb' 'alacritty -e tmuxinator start nb', $e
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym t exec $HOME/.config/i3/scripts/scratch.sh \
|
2023-01-09 17:09:31 -08:00
|
|
|
'scratch-warrior' 'alacritty -e tmuxinator start task', $e
|
2022-12-18 20:01:46 -08:00
|
|
|
bindsym Escape mode default
|
|
|
|
}
|
2022-12-10 17:09:35 -08:00
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#----- AUTOSTART WITH I3
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
2022-12-23 16:07:26 -08:00
|
|
|
exec --no-startup-id "autorandr --change && i3-msg restart"
|
2023-01-19 15:35:55 -08:00
|
|
|
exec --no-startup-id "pipewire & pipewire-pulse &"
|
2023-01-09 17:09:31 -08:00
|
|
|
exec --no-startup-id "udiskie &"
|
2023-02-13 21:22:54 -08:00
|
|
|
exec_always --no-startup-id "$HOME/.config/i3/scripts/autolayout.sh"
|
2022-12-17 13:01:44 -08:00
|
|
|
exec_always --no-startup-id "$HOME/.config/i3/scripts/polybar.sh"
|
|
|
|
exec_always --no-startup-id "blueman-applet"
|
2023-01-24 15:35:22 -08:00
|
|
|
exec_always --no-startup-id "nm-applet"
|
|
|
|
exec_always --no-startup-id "flameshot"
|
2023-01-03 21:33:20 -08:00
|
|
|
exec_always --no-startup-id "xsetroot -solid '#282A36'"
|