.config
bspwm
conky
dtfscripts
dunst
i3
config
plasma-workspace
polybar
rofi
sxhkd
xob
compton.conf
kglobalshortcutsrc
konsolerc
kscreenlockerrc
ksplashrc
redshift.conf
startupconfig
.local
.ssh
.themes
.vim
.xrdb
.bashrc
.gitmodules
.kshrc
.profile
.vimrc
.zshrc
220 lines
6.2 KiB
Plaintext
220 lines
6.2 KiB
Plaintext
# i3 config file (v4)
|
|
#
|
|
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
|
|
#
|
|
###################
|
|
## Workspaces
|
|
###################
|
|
|
|
# Initialize workspaces
|
|
set $w1 1
|
|
set $w2 2
|
|
set $w3 3
|
|
set $w4 4
|
|
set $w5 5
|
|
set $w6 6
|
|
set $w7 7
|
|
set $w8 8
|
|
|
|
###################
|
|
## Cosmetcs
|
|
###################
|
|
|
|
# Set up our colors
|
|
# Note: fallbacks are copied from gruvbox-dark
|
|
# Source: https://github.com/morhetz/gruvbox-generalized
|
|
set_from_resource $bg background #1d2021
|
|
set_from_resource $bgm bg2 #282828
|
|
set_from_resource $bg_soft bg3 #32302f
|
|
set_from_resource $black color0 #282828
|
|
set_from_resource $red color1 #cc241d
|
|
set_from_resource $green color2 #98971a
|
|
set_from_resource $yellow color3 #d79921
|
|
set_from_resource $blue color4 #458588
|
|
set_from_resource $purple color5 #b16286
|
|
set_from_resource $cyan color6 #689d6a
|
|
set_from_resource $gray color7 #a89984
|
|
set_from_resource $gray2 color8 #928374
|
|
set_from_resource $red2 color9 #fb4934
|
|
set_from_resource $green2 color10 #b8bb26
|
|
set_from_resource $yellow2 color11 #fabd2f
|
|
set_from_resource $blue2 color12 #83a598
|
|
set_from_resource $purple2 color13 #d3869b
|
|
set_from_resource $cyan2 color14 #8ec07c
|
|
set_from_resource $fg color15 #ebdbb2
|
|
|
|
# Set up titlebar and i3bar fonts
|
|
font pango:Roboto 10
|
|
|
|
# Titlebar and borders
|
|
new_window pixel 4
|
|
for_window [class=".*"] border pixel 4
|
|
for_window [class=".*"] title_format "%title"
|
|
|
|
# Miscellaneous window rules
|
|
for_window [class="Waterfox"] move to workspace $w1
|
|
for_window [class="discord"] move to workspace $w7
|
|
for_window [class="Spotify"] move to workspace $w8
|
|
|
|
# i3-gaps configs
|
|
gaps inner 6
|
|
gaps outer 0
|
|
|
|
# Apply colors to i3
|
|
# <colorclass> <border> <backgrd> <text> <indicator> <child_border>
|
|
client.focused $blue2 $blue2 $bg $bgm $blue2
|
|
client.focused_inactive $blue $blue $bg $bgm $bg
|
|
client.unfocused $bg $bg $blue $bg $bg
|
|
client.urgent $yellow2 $bg $yellow2 $yellow $bg
|
|
client.placeholder $purple2 $bg $purple2 $purple $bg
|
|
client.background $bg
|
|
|
|
###################
|
|
## Unified configuration script
|
|
###################
|
|
|
|
exec_always --no-startup-id "~/.config/dtfscripts/wmstartup.sh"
|
|
|
|
###################
|
|
## Keybindings
|
|
###################
|
|
|
|
# Set modifiers
|
|
# Mod1 is LALT, Mod4 is LSUP
|
|
set $mod Mod1
|
|
set $sup Mod4
|
|
set $ctl Ctrl
|
|
set $shift Shift
|
|
|
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
floating_modifier $mod
|
|
|
|
# Program opening and closing
|
|
bindsym $mod+Return exec "i3-sensible-terminal"
|
|
bindsym $mod+q kill
|
|
bindsym $mod+space exec "rofi -show drun"
|
|
bindsym $mod+backslash exec "rofi -show ssh"
|
|
bindsym $mod+Tab exec "rofi -show"
|
|
|
|
# Pulse controls
|
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
|
|
|
# Brightness controls
|
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
|
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
|
|
|
|
# mpv-xwinwrap controls
|
|
bindsym $mod+p exec --no-startup-id "~/.local/bin/mpv-xwinwrap"
|
|
bindsym $mod+$shift+p exec --no-startup-id "pkill xwinwrap"
|
|
|
|
# Miscellaneous non-movement hotkeys
|
|
bindsym $mod+$shift+c reload
|
|
bindsym $mod+$shift+r restart
|
|
#bindsym $mod+$shift+e exit
|
|
|
|
# change focus
|
|
bindsym $mod+h focus left
|
|
bindsym $mod+j focus down
|
|
bindsym $mod+k focus up
|
|
bindsym $mod+l focus right
|
|
|
|
# alternatively, you can use the cursor keys:
|
|
bindsym $mod+Left focus left
|
|
bindsym $mod+Down focus down
|
|
bindsym $mod+Up focus up
|
|
bindsym $mod+Right focus right
|
|
|
|
# move focused window
|
|
bindsym $mod+$shift+h move left
|
|
bindsym $mod+$shift+j move down
|
|
bindsym $mod+$shift+k move up
|
|
bindsym $mod+$shift+l move right
|
|
|
|
# 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
|
|
|
|
# move focused workspace between monitors
|
|
bindsym $sup+Left move workspace to output left
|
|
bindsym $sup+Down move workspace to output down
|
|
bindsym $sup+Up move workspace to output up
|
|
bindsym $sup+Right move workspace to output right
|
|
|
|
# split in horizontal orientation
|
|
bindsym $mod+semicolon split h
|
|
|
|
# split in vertical orientation
|
|
bindsym $mod+v split v
|
|
|
|
# enter fullscreen mode for the focused container
|
|
bindsym $mod+$shift+f fullscreen toggle
|
|
|
|
# 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+f floating toggle
|
|
|
|
# focus the parent container
|
|
bindsym $mod+a focus parent
|
|
|
|
# focus the child container
|
|
bindsym $mod+d focus child
|
|
|
|
# switch to workspace
|
|
bindsym $mod+1 workspace $w1
|
|
bindsym $mod+2 workspace $w2
|
|
bindsym $mod+3 workspace $w3
|
|
bindsym $mod+4 workspace $w4
|
|
bindsym $mod+5 workspace $w5
|
|
bindsym $mod+6 workspace $w6
|
|
bindsym $mod+7 workspace $w7
|
|
bindsym $mod+8 workspace $w8
|
|
|
|
# switch to next and previous workspaces
|
|
bindsym $mod+. workspace next
|
|
bindsym $mod+, workspace prev
|
|
|
|
bindsym $ctl+$mod+Right workspace next
|
|
bindsym $ctl+$mod+Left workspace prev
|
|
|
|
# move focused container to workspace
|
|
bindsym $mod+$shift+1 move container to workspace $w1
|
|
bindsym $mod+$shift+2 move container to workspace $w2
|
|
bindsym $mod+$shift+3 move container to workspace $w3
|
|
bindsym $mod+$shift+4 move container to workspace $w4
|
|
bindsym $mod+$shift+5 move container to workspace $w5
|
|
bindsym $mod+$shift+6 move container to workspace $w6
|
|
bindsym $mod+$shift+7 move container to workspace $w7
|
|
bindsym $mod+$shift+8 move container to workspace $w8
|
|
|
|
###################
|
|
## Modes
|
|
###################
|
|
|
|
# Resize
|
|
mode "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
|
|
|
|
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 $mod+r mode "resize"
|
|
|