dotfiles/i3/config

177 lines
6.8 KiB
Plaintext
Raw Normal View History

2023-10-29 19:09:51 +05:30
font pango:SFNS Display 13
focus_follows_mouse no
# ----- Set variables -----
# Colors variables
set $active_window_border #FFFFFF
set $bar_color #4B0082
set $inactive_color #4B0082
set $active_workspace_indicator #D90077
set $urgent_color #E53935
# Mod keys variables
set $mod Mod4
set $alt Mod1
floating_modifier $mod
# Workspace names variables
set $terminal "1"
set $firefox "2"
set $music "3"
set $studies "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $porn "9"
set $social "0"
# ----- KEYBINDS -----
# Switch workspace keybinds
bindsym $mod+1 workspace number $terminal
bindsym $mod+2 workspace number $firefox
bindsym $mod+3 workspace number $music
bindsym $mod+4 workspace number $studies
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 $porn
bindsym $mod+0 workspace number $social
# Move container to workspace keybinds
bindsym $mod+Shift+1 move container to workspace number $terminal
bindsym $mod+Shift+2 move container to workspace number $firefox
bindsym $mod+Shift+3 move container to workspace number $music
bindsym $mod+Shift+4 move container to workspace number $studies
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 $porn
bindsym $mod+Shift+0 move container to workspace number $social
# Power keybinds
bindsym $mod+Escape exec i3lock --color "#202020"
bindsym $mod+ctrl+Escape exec i3lock --color "#202020" && systemctl suspend
bindsym $mod+ctrl+Shift+Escape exec i3-msg exit
bindsym $mod+Shift+ctrl+$alt+Escape exec poweroff
# Launcher keybinds
bindsym $mod+d exec --no-startup-id rofi -show run -lines 1 -eh 2
bindsym $mod+$alt+f exec --no-startup-id firefox -P "Default" --class "firefox_default"
bindsym $mod+$alt+Shift+f exec --no-startup-id firefox -P "Student" --class "studies"
bindsym $mod+$alt+ctrl+f exec --no-startup-id firefox -P "Porn" --class "porn"
bindsym $mod+$alt+w exec --no-startup-id firefox "web.whatsapp.com" --class "social" -P "WhatsApp"
bindsym Print exec --no-startup-id flameshot gui
bindsym $mod+$alt+Return exec --no-startup-id kitty
bindsym $mod+$alt+m exec --no-startup-id kitty --class "music" mocp -T ~/.config/moc/theme; exec kitty --class "music" cava
# Scratchpad keybinds
bindsym $mod+n [instance="notes"] scratchpad show; [instance="notes"] move position center
bindsym $mod+Shift+n [instance="notes"] move scratchpad
# Function control keybinds
bindsym $alt+F2 exec brightnessctl set 1%-
bindsym $alt+F3 exec brightnessctl set 1%+
bindsym $alt+F6 exec amixer -q sset Master 1%+
bindsym $alt+F7 exec pamixer -d 1
bindsym $alt+F8 exec pamixer -i 1
# Change focus keybinds
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# Move window keybinds
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# Split orientation keybinds
bindsym $mod+ctrl+h split h
bindsym $mod+ctrl+v split v
# Container layout keybinds
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Mecelaneous keybinds
bindsym $alt+F4 kill
bindsym $mod+F11 fullscreen toggle
bindsym $mod+Shift+r restart
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
mode "resize" {
bindsym w resize grow width 1 px or 1 ppt
bindsym t resize shrink width 1 px or 1 ppt
bindsym l resize grow height 1 px or 1 ppt
bindsym s resize shrink height 1 px or 1 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# gaps
gaps inner 45
gaps outer 0
gaps top 80
gaps left 10
gaps right 10
# Startup
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id nm-applet
exec --no-startup-id kitty --name notes nvim ~/.backup/notes.txt
exec_always --no-startup-id picom
2023-10-29 20:14:10 +05:30
exec_always --no-startup-id bgchd -dir ~/.dotfiles/wallpapers/ -bcknd feh -intv 10s -rpl
2023-10-29 19:09:51 +05:30
exec_always --no-startup-id xinput set-prop "ELAN0710:01 04F3:30ED Touchpad" "libinput Natural Scrolling Enabled" 1
exec_always --no-startup-id ~/.config/polybar/polybar.sh
# Assign
assign [class="Element"] $social
assign [class="social"] $social
assign [class="kitty"] $terminal
assign [class="firefox_default"] $firefox
assign [class="studies"] $studies
assign [class="music"] $music
assign [class="porn"] $porn
# Border size
default_border pixel 3
default_floating_border pixel 3
# Colors
client.focused $active_window_border $active_window_border $active_window_border $active_window_border $active_window_border
client.unfocused $inactive_color $inactive_color $inactive_color $inactive_color
client.focused_inactive $active_window_border $active_window_border $active_window_border $active_window_border $active_window_border
client.urgent $urgent_color $urgent_color $urgent_color $urgent_color
# Scratchpad:-
for_window [instance = "notes"] floating enable
for_window [instance = "notes"] resize set 725 550
for_window [instance = "notes"] move scratchpad