summaryrefslogblamecommitdiffstats
path: root/.config/i3/config
blob: 362d0576462f55cca40be90aa8e49e51269e8a05 (plain) (tree)



















                                               
                       



























































































































































                                                                                                                                                                                 

# ~/.config/i3/config

set $mod Mod1
set $refresh_i3status killall -SIGUSR1 i3status
set $launcher ~/.config/common.d/bemenu.sh
font pango:TerminessTTF Nerd Font 8

floating_modifier $mod
focus_follows_mouse no

# workspaces
set $ws1 "1:  one   "
set $ws2 "2:  two   "
set $ws3 "3:  UwU "
set $ws4 "4:  four  "
set $ws5 "5:  five  "
set $wss1 "11:  one   "
set $wss2 "12:  two   "
set $wss3 "13:  three "
set $wss4 "14:  four  "
set $wss5 "15:  five  "

# keybinds
bindsym $mod+Shift+q kill
bindsym $mod+Return exec alacritty
bindsym $mod+d exec "$launcher run"
bindsym $mod+Shift+d exec "$launcher pass"
bindsym $mod+Shift+s exec "$launcher colorscheme"

bindsym $mod+h focus left
bindsym $mod+k focus up
bindsym $mod+j focus down
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#bindsym $mod+h split h
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
bindsym $mod+Tab workspace back_and_forth
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+F1 workspace number $wss1
bindsym $mod+F2 workspace number $wss2
bindsym $mod+F3 workspace number $wss3
bindsym $mod+F4 workspace number $wss4
bindsym $mod+F5 workspace number $wss5
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+F1 move container to workspace number $wss1
bindsym $mod+Shift+F2 move container to workspace number $wss2
bindsym $mod+Shift+F3 move container to workspace number $wss3
bindsym $mod+Shift+F4 move container to workspace number $wss4
bindsym $mod+Shift+F5 move container to workspace number $wss5
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+r mode "resize"
mode "resize" {
	bindsym j resize shrink width 10 px or 10 ppt
	bindsym k resize grow height 10 px or 10 ppt
	bindsym l resize shrink height 10 px or 10 ppt
	bindsym semicolon resize grow width 10 px or 10 ppt
	bindsym Left resize shrink width 10 px or 10 ppt
	bindsym Down resize grow height 10 px or 10 ppt
	bindsym Up resize shrink height 10 px or 10 ppt
	bindsym Right resize grow width 10 px or 10 ppt
	bindsym Return mode "default"
	bindsym Escape mode "default"
	bindsym $mod+r mode "default"
}
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
bindsym XF86MonBrightnessUp exec --no-startup-id "light -A 5"
bindsym XF86MonBrightnessDown exec --no-startup-id "light -U 5"
bindsym XF86AudioPlay exec --no-startup-id "cmus-remote -u"
bindsym XF86AudioNext exec --no-startup-id "cmus-remote -n"
bindsym XF86AudioPrev exec --no-startup-id "cmus-remote -r"

# i3bar
bar {
	status_command ~/.config/common.d/i3status_ext.sh
	position top
	strip_workspace_numbers yes
	font TerminessTTF Nerd Font
	colors {
		statusline $wh
		separator $wh
		background $bg
		# colorclass       <border> <background><text>
		focused_workspace  $bg      $fg         #FFFFFF
		active_workspace   $bg      $fg         #FFFFFF
		inactive_workspace $bg      $bg         $fg
	}
}

# dual-monitor
exec_always ~/.config/i3/screen_config.sh

workspace $ws1 output DVI-D-0
workspace $ws2 output DVI-D-0
workspace $ws3 output DVI-D-0
workspace $ws4 output DVI-D-0
workspace $ws5 output DVI-D-0
workspace $wss1 output HDMI-0
workspace $wss2 output HDMI-0
workspace $wss3 output HDMI-0
workspace $wss4 output HDMI-0
workspace $wss5 output HDMI-0

# default workspaces
assign [class="qutebrowser"] $wss1
assign [class="discord"] $wss2
assign [title="discord"] $wss2
assign [class="Steam"] $wss3
assign [title="Steam"] $wss3
assign [class="p4v"] $wss4
assign [class="p4v"] $wss4

# default window settings
for_window [class="Steam"] floating enable
for_window [title="Steam"] floating disable
for_window [title="win0"] floating enable
for_window [class="Tor Browser"] floating enable
for_window [class=".*"] title_format "<big><b>%title</b></big>"

# colorscheme
set_from_resource $bg color0 #000000
set_from_resource $rd color1 #FF0000
set_from_resource $fg color4 #FF0000
set_from_resource $gr color8 #8F8F8F
set_from_resource $gl color7 #8F8F8F
set_from_resource $wh color15 #FFFFFF

# class                 border  backgr. text indicator child_border

client.focused          $fg     $fg     $wh  $fg       $fg
client.focused_inactive $gl     $gr     $wh  $gr       $gl
client.unfocused        $gl     $gr     $wh  $gr       $gl
client.urgent           $rd     $rd     $wh  $rd       $rd
client.placeholder      $bg     $bg     $fg  $bg       $bg

# lockscreen
bindsym mod1+F12 exec ~/.config/common.d/lock_screen.sh
bindsym mod1+Shift+F12 exec ~/.config/common.d/lock_screen.sh -s

# autoexec
exec_always xset s off
exec_always xset -dpms
exec_always xset s noblank
exec_always xset r rate 250 45
exec_always setxkbmap -option compose:ralt

remember that computers suck.