summaryrefslogblamecommitdiff
path: root/.config/i3/config
blob: dd6a9e6305f9f20292911f27496681fd38dbaf0c (plain) (tree)
































                                                                            
                                         












                                                      
          








































































                                                                                                    


                                                                                                                                                                   

                                                                                    

                                                                                                 
                                                                                      
                                                                                          

                                                     





                                                                                                  
                                            


                                                                                                                           















                                                                                     
                      

                                                                                                                  

                                          






















































                                                                                                                                                                                      
## i3 config file (v4)
##
## Please see https://i3wm.org/docs/userguide.html for a complete reference!

## GENERAL
font pango:sans-serif 13
set $locker xautolock -locknow
set $mod Mod1
set $sigaudio pkill -75 i3blocks

## WORKSPACES
set $ws1  "1:󰖟"
set $ws2  "2:󰲢"
set $ws3  "3:󰲤"
set $ws4  "4:󰲦"
set $ws5  "5:󰲨"
set $ws6  "6:󰲪"
set $ws7  "7:󰲬"
set $ws8  "8:󰲮"
set $ws9  "9:󰣀"
set $ws10 "10:󰭹"

# switch to workspace
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
bindsym $mod+Tab workspace back_and_forth

# move focused container to workspace
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

## BORDERS
default_border pixel 2
default_floating_border pixel 2
hide_edge_borders smart
title_align center
workspace_auto_back_and_forth yes

## COLORS
# base colors -- set by WPG
set $coloract "#7b895c"
set $colorin "#545e3f"
set_from_resource $color0 i3wm.color0 "#12231e"
set_from_resource $color15 i3wm.color15 "#fffff5"
set_from_resource $color8 i3wm.color8 "#22443a"
set_from_resource $coloru i3wm.color2 "#6C6E57"
set_from_resource $split i3wm.color10 "#969b64"

# class                 border    backgr    text    indicator child_border
client.background       $color0
client.focused          $coloract $coloract $color15 $split  $coloract
client.focused_inactive $coloract $coloract $color15 $split  $colorin
client.placeholder      $color0   $color8   $color15 $color0 $color8
client.unfocused        $colorin  $colorin  $color15 $split  $colorin
client.urgent           $coloru   $coloru   $color15 $coloru $coloru

## WINDOW CONTROL
# movement
floating_modifier $mod
set $down j
set $left h
set $right l
set $up k

# change focus
bindsym $mod+$down focus down
bindsym $mod+$left focus left
bindsym $mod+$right focus right
bindsym $mod+$up focus up

# move focused window
bindsym $mod+shift+$down move down
bindsym $mod+shift+$left move left
bindsym $mod+shift+$right move right
bindsym $mod+shift+$up move up

# resize
bindsym $mod+i 				resize grow height 100 or 10
bindsym $mod+o 				resize grow width 100 or 10
bindsym $mod+u 				resize shrink height 100 or 10
bindsym $mod+y				resize shrink width 100 or 10

## LAYOUT
# split direction
bindsym $mod+q split toggle

# fullscreen mode
bindsym $mod+f fullscreen toggle

# container layout
bindsym $mod+shift+w layout toggle tabbed stacking
bindsym $mod+shift+e layout toggle split

# toggle tiling / floating / sticky
bindsym $mod+shift+space floating toggle
bindsym $mod+s sticky toggle
bindsym $mod+shift+s floating toggle; sticky toggle

# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle

## SHORTCUTS
bindsym $mod+shift+F1			exec firefox /usr/local/share/doc/freebsd/handbook/book.html
bindsym $mod+F2					exec firefox
bindsym $mod+shift+F2			exec firefox --private-window
bindsym $mod+F3					exec alacritty -e zsh -i -c "vifm ~ ~/downloads"
bindsym $mod+F4 				exec alacritty -t "Reading Email" -e zsh -i -c mutt && mbsync -c ~/.config/mbsync/mbsyncrc -a && pkill -77 i3blocks
bindsym $mod+F5 				exec alacritty -t "Reading News" -e zsh -i -c newsboat && pkill -78 i3blocks
bindsym $mod+F6 				exec --no-startup-id url_handler.sh 
bindsym $mod+F7 				exec --no-startup-id dict.sh
bindsym $mod+F8 				exec "pkill pwcview || exec pwcview -f 30 -s sif"
bindsym $mod+shift+F8			exec --no-startup-id toggle-screencast.sh
bindsym $mod+F9					exec --no-startup-id abraham-porter.sh
bindsym $mod+shift+F9			exec --no-startup-id "killall picom || exec picom"
#bindsym $mod+F10				exec 
#bindsym $mod+F11				exec 
bindsym $mod+shift+F11			exec xautolock -toggle
bindsym $mod+shift+F12			exec alacritty -e zsh -i -c mixertui && pkill -75 i3blocks
bindsym $mod+Return 			split horizontal; exec alacritty
bindsym $mod+shift+Return		split vertical; exec alacritty
bindsym $mod+shift+Insert		exec $locker
bindsym $mod+a					exec rofi -show run
bindsym $mod+shift+q			kill
bindsym --release Print			exec scrot -z -e 'mkdir -p ~/pictures/screenshots && mv $f ~/pictures/screenshots/'
bindsym --release shift+Print	exec scrot -sfz -e 'mkdir -p ~/pictures/screenshots && mv $f ~/pictures/screenshots/'
bindsym --release $mod+Print	exec scrot -sfz -e 'mkdir -p ~/pictures/screenshots && mv $f ~/pictures/screenshots/'
bindsym Mod4+p					exec nvidia-settings
bindsym XF86AudioLowerVolume	exec --no-startup-id mixer vol -5 && $sigaudio
bindsym XF86AudioMute			exec --no-startup-id mixer vol 0 && $sigaudio
bindsym XF86AudioRaiseVolume 	exec --no-startup-id mixer vol +5 && $sigaudio

# scratchpad terminal
bindsym $mod+shift+p move scratchpad
bindsym $mod+p scratchpad show

# reload the configuration file
bindsym $mod+shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+shift+r restart

set $mode_system 󰌾l  󰩈e  󰤄s  󰤁r  󰤂shift+s
mode "$mode_system" {
	bindsym e exit
	bindsym l exec --no-startup-id $locker, mode "default"
	bindsym s exec --no-startup-id $locker ; exec --no-startup-id sleep 2 && doas acpiconf -s3, mode "default"
	bindsym r exec doas reboot
	bindsym shift+s exec doas poweroff
	bindsym Return mode "default"
	bindsym q mode "default"
	bindsym Escape mode "default"
}

set $mode_volume 󰝞j 󰝝k 󰸈m
mode "$mode_volume" {
	bindsym j	exec mixer vol -5 && $sigaudio 
	bindsym m	exec mixer vol 0 && $sigaudio
	bindsym k 	exec mixer vol +5 && $sigaudio
	bindsym Return mode "default"
	bindsym q mode "default"
	bindsym Escape mode "default"
}

set $mode_help 󱊫Help/Handbook 󱊬Browser 󱊭Files 󱊮Email 󱊯News 󱊰YouTube 󱊱Dictionary 󱊲Dock/Compositor 󱊳Ports 󱊴Webcam/Screencast 󱊵AutoLock-Toggle 󱊶Mixer
mode "$mode_help" {
	bindsym Return mode "default"
	bindsym q mode "default"
	bindsym Escape mode "default"
}

bindsym $mod+Insert mode "$mode_system"
bindsym $mod+F1 mode "$mode_help"
bindsym $mod+F12 mode "$mode_volume"

## BARS
bar {
	modifier Mod1
	strip_workspace_numbers yes
	position bottom
	status_command i3blocks 2>/var/log/xinit/i3blocks.log

	colors {
		background $color8
		statusline $color15
		separator $colorin
		# class border background foreground
		focused_workspace $color15 $coloract $color15
		active_workspace $color15 $coloract $color15
		inactive_workspace $split $colorin $color15
		urgent_workspace $coloru $coloru $color15
	}
}

## DEFAULT PLACEMENT
for_window [class = "Wpg"] floating enable
for_window [title = "Reading Email"] floating enable
for_window [title = "Reading News"] floating enable
for_window [title = "Streaming from YouTube"] floating enable; sticky enable
for_window [title = "pwcview"] border pixel 1; floating enable; sticky enable; move position 1598px 808px
for_window [title = "sxiv"] floating enable

## STARTUP
exec firefox