summaryrefslogblamecommitdiff
path: root/.config/i3/config
blob: 1aec666ef8ebf13e076c31f3818c5b9d4bcf858e (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 exec i3-msg 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

## GAPS/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 --no-startup-id i3-filescmd.sh
bindsym $mod+F4 				exec --no-startup-id i3-mailcmd.sh
bindsym $mod+F5 				exec --no-startup-id i3-newsboatcmd.sh
bindsym $mod+F6 				exec --no-startup-id url_handler.sh 
bindsym $mod+F7 				exec --no-startup-id dict.sh
bindsym $mod+F8 				exec toggle-webcam.sh
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 toggle-compositing.sh
#bindsym $mod+F10				exec 
#bindsym $mod+F11				exec 
bindsym $mod+Shift+F11			exec --no-startup-id xautolock -toggle
bindsym $mod+Shift+F12			exec --no-startup-id i3-mixercmd.sh
bindsym $mod+Return 			split horizontal; exec --no-startup-id alacritty
bindsym $mod+Shift+Return		split vertical; exec --no-startup-id alacritty
bindsym $mod+Shift+Insert		exec --no-startup-id $locker
bindsym $mod+a					exec --no-startup-id rofi -show run
bindsym $mod+shift+q			kill
bindsym --release Print			exec --no-startup-id i3-screeniecmd.sh
bindsym --release shift+Print	exec --no-startup-id i3-screenie_regioncmd.sh
bindsym --release $mod+Print	exec --no-startup-id i3-screenie_regioncmd.sh
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 exec --no-startup-id i3-msg exit, mode "default"
	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 --no-startup-id doas reboot, mode "default"
	bindsym shift+s exec --no-startup-id doas poweroff, mode "default"
	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