dotfiles/i3/config
2025-07-20 18:14:55 +02:00

173 lines
5.9 KiB
Text

# Matuush i3 config
set $mod Mod4
floating_modifier $mod
set $term alacritty
set $font xft:Cascadia Mono 16
set $bar_font xft:Cascadia Mono 20
font $font
# TODO bindsym b exec "bruh; xdootool key b"
# Specific workspaces
assign [class="Spotify"] Spotify
assign [class="Ferdium"] Comm
bindsym $mod+s exec spotify; workspace "Spotify"
bindsym $mod+Shift+s exec --no-startup-id dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
# Start a window
bindsym $mod+t exec $term
bindsym $mod+d exec --no-startup-id rofi -show drun -show-icons -drun-display-format {name}
bindsym $mod+Shift+d exec --no-startup-id rofi -show run
bindsym $mod+period exec --no-startup-id rofimoji
bindsym $mod+Shift+period exec unipicker --command "rofi -dmenu" --copy
bindsym $mod+g exec --no-startup-id alacritty -e ranger
bindsym $mod+c exec --no-startup-id cava
bindsym $mod+b exec firefox
bindsym $mod+z exec zathura
bindsym $mod+i exec ~/.scripts/comm.sh
bindsym $mod+Return exec ~/.scripts/lock
# Meme
bindsym $mod+Shift+b exec --no-startup-id mpv ~/doc/Sound/bruh.mp3
bindsym $mod+Shift+p exec --no-startup-id mpv ~/doc/Sound/pipe.mp3
bindsym $mod+p exec --no-startup-id mpv ~/doc/Sound/cat-anvil.mp3
# WM operations
bindsym $mod+q kill
bindsym $mod+Shift+r restart; exec "~/.scripts/reload"
bindsym $mod+f fullscreen toggle
bindsym $mod+n move workspace to output next
# Change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
focus_follows_mouse no
focus_on_window_activation focus
# Move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# System buttons
set $aup XF86AudioRaiseVolume
set $adown XF86AudioLowerVolume
set $lup XF86MonBrightnessUp
set $ldown XF86MonBrightnessDown
bindsym $aup exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks
bindsym $adown exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks
bindsym $mod+$aup exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks
bindsym $mod+$adown exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks
bindsym $lup exec --no-startup-id light -S $( light | ~/.config/i3/scripts/lightlevel + ) && pkill -RTMIN+11 i3blocks
bindsym $ldown exec --no-startup-id light -S $( light | ~/.config/i3/scripts/lightlevel - ) && pkill -RTMIN+11 i3blocks
bindsym $mod+$lup exec --no-startup-id light -S $( light | ~/.config/i3/scripts/lightlevel + ) && pkill -RTMIN+11 i3blocks
bindsym $mod+$ldown exec --no-startup-id light -S $( light | ~/.config/i3/scripts/lightlevel - ) && pkill -RTMIN+11 i3blocks
bindsym $mod+Print exec flameshot gui
# Colors
set $unf-border #111111
set $background #111111
set $indicator #111111
set $text #111111
set $focus #555555
# Class border backgr text indic child_border
client.focused $focus $background $text $focus $focus
client.focused_inactive $unf-border $background $text $indicator $unf-border
client.unfocused $unf-border $background $text $indicator $unf-border
client.urgent $unf-border $background $text $indicator $unf-border
client.placeholder $unf-border $background $text $indicator $unf-border
client.background #000000
# i3-gaps configuration
gaps inner 10
gaps outer 0
smart_gaps on
default_border none
smart_borders on
hide_edge_borders both
# Floating dialogs
#for_window [window_role="pop-up"] floating enable
#for_window [window_role="task_dialog"] floating enable
# switch to workspace
bindsym $mod+ctrl+l workspace next
bindsym $mod+ctrl+h workspace prev
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
bar {
status_command i3blocks -c ~/.config/i3/i3blocks.conf
tray_output none
position top
mode hide
font $bar_font
colors {
background #010101
statusline #839496
focused_workspace #eeeeee #666666 #eeeeee
active_workspace #eeeeee #222222 #eeeeee
inactive_workspace #888888 #222222 #888888
urgent_workspace #eeeeee #aa5555 #eeeeee
}
}
bindsym $mod+m bar mode toggle
mode "resize" {
bindsym h resize shrink width 1 px or 1 ppt
bindsym j resize grow height 1 px or 1 ppt
bindsym k resize shrink height 1 px or 1 ppt
bindsym l resize grow width 1 px or 1 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
default_border pixel 2
#exec --no-startup-id i3-msg 'workspace 1; exec $term'
exec_always --no-startup-id autotiling
exec_always --no-startup-id ~/.scripts/reload
exec --no-startup-id wired
exec --no-startup-id nmcli c up k222
exec --no-startup-id nmcli c up Wired connection 1
exec --no-startup-id xset 600; xss-lock --transfer-sleep-lock -- /home/matuush/.scripts/lock --nofork
#exec_always --no-startup-id feh --bg-fill $HOME/Documents/Pictures/hippopotat.webp