.concession
.config
bspwm
concession
conky
dunst
htop
i3
config
liferea
nitrogen
plasma-workspace
polybar
rofi
sxhkd
xob
xrdb
compton.conf
kglobalshortcutsrc
konsolerc
kscreenlockerrc
ksplashrc
redshift.conf
startupconfig
.local
.ssh
.themes
.vim
.bashrc
.gitconfig
.gitmodules
.kshrc
.profile
.vimrc
.xinitrc
.zshrc
220 lines
6.3 KiB
Plaintext
220 lines
6.3 KiB
Plaintext
#
|
|
# Salt's i3 configuration file
|
|
# Licensed under the terms of the MIT License
|
|
#
|
|
|
|
###################
|
|
# DO NOT START DAEMONS HERE
|
|
###################
|
|
# This script leverages Concession for startup scripts
|
|
# gitlab.com/rehashedsalt/concession
|
|
# Set up Concession services instead!
|
|
|
|
###################
|
|
## 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 #282828
|
|
set_from_resource $bgm bg2 #3c3836
|
|
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 2
|
|
for_window [class=".*"] border pixel 2
|
|
for_window [class=".*"] title_format "%title"
|
|
|
|
# Miscellaneous window rules
|
|
for_window [class="Firefox"] move to workspace $w1
|
|
for_window [class="Firefox-esr"] move to workspace $w1
|
|
for_window [class="Waterfox" ] move to workspace $w1
|
|
for_window [class="Liferea" ] move to workspace $w6
|
|
for_window [class="discord"] move to workspace $w7
|
|
for_window [class="Spotify"] move to workspace $w8
|
|
|
|
for_window [title="Minecraft 1.7.10"] fullscreen enable
|
|
for_window [class="explorer.exe"] fullscreen enable
|
|
for_window [class="plasmashell"] kill, floating enable, border none
|
|
|
|
no_focus [class="Conky"]
|
|
no_focus [class="plasmashell"]
|
|
|
|
focus_on_window_activation none
|
|
|
|
# i3-gaps configs
|
|
gaps inner 8
|
|
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 $bgm
|
|
client.unfocused $bgm $bg $blue $bg $bgm
|
|
client.urgent $yellow2 $bg $yellow2 $yellow $bg
|
|
client.placeholder $purple2 $bg $purple2 $purple $bg
|
|
client.background $bg
|
|
|
|
###################
|
|
## 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 window"
|
|
|
|
# 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/tubetop2"
|
|
bindsym $mod+$shift+p exec --no-startup-id "pkill xwinwrap"
|
|
|
|
# Miscellaneous non-movement hotkeys
|
|
bindsym $ctl+$mod+l exec --no-startup-id "~/.local/bin/i3lock-custom"
|
|
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
|
|
|
|
# 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
|
|
|
|
# move focused workspace between monitors
|
|
bindsym $sup+h move workspace to output left
|
|
bindsym $sup+j move workspace to output down
|
|
bindsym $sup+k move workspace to output up
|
|
bindsym $sup+l move workspace to output right
|
|
|
|
# split in horizontal orientation
|
|
bindsym $mod+semicolon split h
|
|
|
|
# split in vertical orientation
|
|
bindsym $mod+v split v
|
|
|
|
# toggle tiling / floating
|
|
bindsym $mod+f floating toggle
|
|
|
|
# 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
|
|
|
|
# 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+period workspace next
|
|
bindsym $mod+comma 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"
|
|
|