dotfiles/i3/config

180 lines
7.2 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
2023-11-04 20:05:31 +05:30
bindsym $mod+ctrl+l workspace next
bindsym $mod+ctrl+h workspace prev
2023-10-29 19:09:51 +05:30
# 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
2023-12-17 21:02:43 +05:30
bindsym $mod+$alt+f exec --no-startup-id firefox -P "Kosh" --class "firefox_default"
2023-10-29 19:09:51 +05:30
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"
2023-12-17 21:02:43 +05:30
bindsym Print exec --no-startup-id flameshot gui
bindsym $mod+$alt+Return exec --no-startup-id alacritty
bindsym $mod+$alt+m exec --no-startup-id alacritty --class "music" mocp -T ~/.config/moc/theme; exec allacrity --class "music" cava
2023-10-29 19:09:51 +05:30
# 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
2023-11-04 20:05:31 +05:30
bindsym $mod+ctrl+Shift+h split h
bindsym $mod+ctrl+Shift+v split v
2023-10-29 19:09:51 +05:30
# 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
2023-12-17 21:02:43 +05:30
#exec --no-startup-id nm-applet
2024-01-07 17:54:56 +05:30
exec --no-startup-id alacritty --name notes nvim ~/back/notes.txt
2023-10-29 19:09:51 +05:30
exec_always --no-startup-id picom
2023-11-26 18:04:09 +05:30
exec_always --no-startup-id bgchd -dir ~/.dotfiles/wallpapers/ -bcknd feh -intv 5s -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
2023-12-17 21:02:43 +05:30
exec_always --no-startup-id xinput --set-prop "Genius Optical Mouse" "libinput Accel Speed" 0
exec_always --no-startup-id xinput --set-prop "Genius Optical Mouse" "Coordinate Transformation Matrix" .08, 0, 0, 0, .08, 0, 0, 0, 1
2023-10-29 19:09:51 +05:30
exec_always --no-startup-id ~/.config/polybar/polybar.sh
# Assign
assign [class="Element"] $social
assign [class="social"] $social
2023-12-17 21:02:43 +05:30
assign [class="alacritty"] $terminal
2023-10-29 19:09:51 +05:30
assign [class="firefox_default"] $firefox
assign [class="studies"] $studies
assign [class="music"] $music
assign [class="porn"] $porn
# Border size
2023-11-04 20:05:31 +05:30
default_border pixel 0
default_floating_border pixel 0
2023-10-29 19:09:51 +05:30
# 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