Files
dotfiles/i3/config
2020-07-28 13:36:55 +02:00

259 lines
8.4 KiB
Plaintext

#######################################
# _____ ____ #
# |_ _||___ \ #
# | | __) |__ __ _ __ ___ #
# | | |__ < \ \ /\ / /| '_ ` _ \ #
# _| |_ ___) | \ V V / | | | | | | #
# |_____||____/ \_/\_/ |_| |_| |_| #
# #
#######################################
#############################################
# General configurations #
#############################################
# font
set $font "pango:DejaVu Sans Mono for Powerline 10"
font $font
# floating modifier
# mod1 = Alt (xmodmap to show)
# mod4 = Winkey (xmodmap to show)
set $mod mod4
floating_modifier $mod
# remove window decorations
new_window pixel
# focus follows mouse
focus_follows_mouse no
# border
new_window pixel 3
# gaps
gaps inner 10
gaps outer 10
#############################################
# Script Section #
#############################################
#
# "xev" and "showkeys" can be usefull to determine the keycodes.
#
# display brightness management
bindsym XF86MonBrightnessUp exec "xbacklight +10"
bindsym XF86MonBrightnessDown exec "xbacklight -10"
# webcam
bindym XF86WebCam exec /bin/cheese
# lenovo Key wifi-menu
bindsym XF86Launch1 exec urxvt -e sh -c "sudo wifi-menu wlp3s0"
# jauth two factor authenticator
bindsym $mod+F4 exec --no-startup-id "gnome-screenshot -w"
# start dmenu-launcher
bindsym $mod+d exec rofi -show drun -theme glue_pro_blue -font "mono 10"
# lock i3 with i3lock
bindsym $mod+Shift+x exec i3lock -c 000000
#############################################
# Keymaps #
#############################################
# start terminal
bindsym $mod+Return exec --no-startup-id kitty
# kill focused window
bindsym $mod+Shift+q kill
# change focus vim Style
bindsym $mod+h focus left
bindsym $mod+l focus right
bindsym $mod+k focus up
bindsym $mod+j focus down
# move focused window vim Style
bindsym $mod+Shift+h move left
bindsym $mod+Shift+l move right
bindsym $mod+Shift+k move up
bindsym $mod+Shift+j move down
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+v split h
# split in vertical orientation
bindsym $mod+c split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace
bindsym $mod+Shift+r restart
# exit i3
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -b 'Yes' 'i3-msg exit'"
# enter the resize mode
bindsym $mod+r mode "resize"
# scratchpad
bindsym $mod+y scratchpad show
bindsym $mod+x move scratchpad
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
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
#############################################
# Workspace & Tags #
#############################################
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
#############################################
# Resize handling #
#############################################
mode "resize" {
# bindings to resize
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
# back to normal
bindsym Return mode "default"
bindsym Escape mode "default"
}
#############################################
# Colors #
#############################################
# primary gruvbox colorscheme colors
set $bg #282828
set $bg0 #282828
set $bg1 #3c3836
set $bg2 #504945
set $bg3 #665c54
set $bg4 #7c6f64
set $fg #ebdbb2
set $red #cc241d
set $green #98971a
set $yellow #d79921
set $blue #458588
set $purple #b16286
set $aqua #689d68
set $gray #a89984
set $darkgray #1d2021
# workspace config
# class border backgr text indicator child_border
client.focused $blue $blue $darkgray $green $bg4
client.focused_inactive $darkgray $darkgray $yellow $green $darkgray
client.unfocused $darkgray $darkgray $yellow $green $darkgray
client.urgent $red $red $white $red $red
#############################################
# i3-bar #
#############################################
bar {
font $font
position top
status_command /usr/bin/i3status-rs ~/.config/i3status/i3status.toml
colors {
background #222439 # -> BG of Wallpaper for fake transparency
statusline $yellow
# class border backgr. text
focused_workspace $darkgray $fg $darkgray
inactive_workspace $darkgray $darkgray $fg
active_workspace $darkgray $darkgray $fg
urgent_workspace $red $red $fg
}
}
#############################################
# specific windows #
#############################################
# always floating
for_window [class="Thunar"] floating enable
for_window [class="Nautilus"] floating enable
for_window [class="GParted"] floating enable
for_window [class="Gedit"] floating enable
for_window [class="teamspeak3"] floating enable
# 0px Border
for_window [class="chrome"] border none
for_window [class="firefox"] border none
#############################################
# auto start with i3 #
#############################################
# composite manager
exec --no-startup-id compton -b --config ~/.config/compton.conf
# less eye pain
#exec --no-startup-id redshift -l 46:7
# no beep!
exec --no-startup-id xset b off
# wallpaper
exec --no-startup-id feh --bg-fill /home/aaron/.config/wallpaper.jpg
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock -c000000 --nofork