summaryrefslogblamecommitdiff
path: root/.config/i3/config
blob: 6ff56d5ab34691be32863da1687a578ff19cbe2c (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                                                                            

                               
                        

                                 


                                

                                                                                                                                                             

                                 























                              
                                         












                                                      
         









                                                     
 
                               


                                                                                  

















































                                                                      
                                                                     


                                                                                                    
                                                                    
                                                          
                                                      
                                                                                                            



                                                                                                   
                                                                




                                                                                                  



                                                                        
                                            
                                                                                                                                      

                                                                                                                          
                                                                    


                                                                                              














                                                                                     
                      

                                                                                                                  

                                          






















                                                                                                                                                                                      

                                     












                                                             



                                                                             




                                          
                                          

                                                                                                         
                                            

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

## GENERAL
default_border pixel 1
default_floating_border pixel 1
font pango:sans-serif 13
force_display_urgency_hint 500 ms
hide_edge_borders smart
set $locker xautolock -locknow
set $mod Mod1
set $sigaudio pkill -75 i3blocks
set $syncmail "mbsync -c ~/.config/mbsync/mbsyncrc -a && pkill -77 i3blocks && notify-send Mail synced"
set $mail "alacritty -e zsh -i -c 'cd ~/downloads ; mutt ; cd - ' ; mbsync -c ~/.config/mbsync/mbsyncrc -a && pkill -77 i3blocks && notify-send Mail synced" 
title_align center
workspace_auto_back_and_forth yes

## 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

## COLORS
set_from_resource $color0 i3wm.color0 
set_from_resource $color15 i3wm.color15 
set_from_resource $color8 i3wm.color8 
set_from_resource $coloru i3wm.color2 
set_from_resource $color4 i3wm.color4 
set_from_resource $split i3wm.color4
set_from_resource $color_active i3wm.color4
set_from_resource $colorin i3wm.color10
set_from_resource $color_bar_urgent i3wm.color2
set_from_resource $color_workspace_urgent i3wm.color1

client.background       $color0
# class                 border    backgr    text    indicator child_border
client.focused          $color_active $color_active $color15 $split  $color_active
client.focused_inactive $color_active $color_active $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+F1					exec dockd.sh
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 url_handler.sh 
bindsym $mod+F4 				exec $mail
bindsym $mod+shift+F4 			exec $syncmail
#bindsym $mod+F5 				exec alacritty -e zsh -i -c 'newsboat && pkill -78 i3blocks'
bindsym $mod+F6 				exec --no-startup-id dict.sh
#bindsym $mod+F7 				exec 
#bindsym $mod+F8 				exec "killall pwcview || exec pwcview -f 30 -s sif"
#bindsym $mod+shift+F8			exec --no-startup-id toggle-screencast.sh
bindsym $mod+F9					exec passmenu.sh
#bindsym $mod+shift+F9			exec --no-startup-id "killall picom || exec picom"
#bindsym $mod+F10				exec xautolock -toggle
#bindsym $mod+F11				exec dockd.sh dock
#bindsym $mod+shift+F11			exec dockd.sh undock
#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 import -window root ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
bindsym --release shift+Print	exec import -monitor ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
#bindsym --release $mod+Print	exec import -monitor ~/Nextcloud/InstantUpload/Screenshots/`date +"%Y-%m-%d-%H-%M-%S"`.png
bindsym Mod4+p					exec nvidia-settings
bindsym $mod+F10				exec --no-startup-id mixer vol 0 && $sigaudio
bindsym $mod+F11				exec --no-startup-id mixer vol -5 && $sigaudio
bindsym $mod+F12				exec --no-startup-id mixer vol +5 && $sigaudio
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 $color_active $color15
		active_workspace $color15 $color_active $color15
		inactive_workspace $colorin $color8 $color15
		urgent_workspace $color_bar_urgent $color_bar_urgent $color15
	}
}

## DEFAULT PLACEMENT
for_window [class = "Wpg"] floating enable
for_window [title = "x64"] 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 --no-startup-id dockd.sh
exec --no-startup-id wal.sh
exec --no-startup-id dunst
exec firefox
#exec nextcloud