Merge branch 'master' of gitlab.com:rehashedsalt/home

This commit is contained in:
Salt 2020-04-16 09:27:58 -05:00
commit 58ba55521c
6 changed files with 457 additions and 2 deletions

169
.config/i3/config Normal file
View File

@ -0,0 +1,169 @@
#
# Salt's i3 configuration file
# Licensed under the terms of the MIT License
#
## STARTUP TASKS
# High-priority
exec --no-startup-id pulseaudio
exec --no-startup-id ~/.config/compton/launch.sh
exec --no-startup-id nitrogen --restore
exec --no-startup-id ~/.config/polybar/launch.sh
exec --no-startup-id redshift
# Low-priority
exec --no-startup-id dunst
exec --no-startup-id "sleep 15 && mpd"
exec --no-startup-id "g910-lights"
# XDG
exec --no-startup-id "dex -a"
## 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
# Workspace setup for my desktop
# Defaults to whatever on my laptop and on other machines
set $monprim DisplayPort-0
set $monsec HDMI-A-0
workspace $w1 output $monprim
workspace $w2 output $monprim
workspace $w3 output $monprim
workspace $w4 output $monprim
workspace $w5 output $monprim
# Putting 8 here first so it's the default for my secondary
workspace $w8 output $monsec
workspace $w6 output $monsec
workspace $w7 output $monsec
## COSMETICS
font pango:Roboto 10
new_window pixel 4
focus_on_window_activation none
gaps inner 8
## KEYBINDINGS
# Set modifiers
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 "konsole"
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
# pavucontrol-qt controls
bindsym $mod+p exec --no-startup-id "pgrep pavucontrol-qt || pavucontrol-qt"
bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol-qt"
# i3-settree
bindsym $mod+o exec --no-startup-id "~/.bin/i3-settree"
# Miscellaneous non-movement hotkeys
bindsym $ctl+$mod+l exec --no-startup-id "~/.bin/i3lock-custom"
bindsym $mod+$shift+c reload
bindsym $mod+$shift+r restart
# 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
bindsym $mod+r mode "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"
}

209
.config/polybar/config Normal file
View File

@ -0,0 +1,209 @@
# vim:ft=dosini
# _ _
# _ __ ___ | |_ _| |__ __ _ _ __
# | '_ \ / _ \| | | | | '_ \ / _` | '__|
# | |_) | (_) | | |_| | |_) | (_| | |
# | .__/ \___/|_|\__, |_.__/ \__,_|_|
# |_| |___/
#
# Copyright (c) 2020 Vintage Salt <rehashedsalt@cock.li>
# Distributed under the terms of the MIT License
#
## VARIABLES
[res/colors]
red = #BF616A
green = #A3BE8C
yellow = #EBCB8B
blue = #81A1C1
magenta = #B48EAD
cyan = #88C0D0
white = #D8DEE9
black = #2E3440
gray = #3B4252
bg = #2E3440
fg = #D8DEE9
border = #3B4252
selection = #88C0D0
[res/config]
padding = 2
[settings]
screenchange-reload = true
format-padding = ${res/config.padding}
format-background = ${res/colors.bg}
## BARS
[template/bar]
bottom = true
wm-restack = ${env:PB_WM_RESTACK:i3}
tray-maxsize = 16
background = ${res/colors.bg}
foreground = ${res/colors.fg}
border-color = ${res/colors.border}
tray-background = ${res/colors.bg}
height = 48
font-0 = "Inconsolata:style=Medium:size=11;2"
font-1 = "Deja Vu Sans Mono:style=Regular:size=11;2"
[bar/primary]
monitor = ${env:PB_MONITOR:eDP-1}
inherit = template/bar
border-top-size = 4
modules-left = i3 cpu memory battery temp
modules-right = backlight pulse date
## MODULES
[module/backlight]
type = internal/xbacklight
format = <ramp> <label>
label = %percentage:3%%
ramp-foreground = ${res/colors.yellow}
ramp-0 = ▁
ramp-1 = ▂
ramp-2 = ▃
ramp-3 = ▄
ramp-4 = ▅
ramp-5 = ▆
ramp-6 = ▇
ramp-7 = █
[module/battery]
type = internal/battery
full-at = 100
time-format = %H:%M
interval = 15
format-charging = <ramp-capacity> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <ramp-capacity> <label-full>
label-charging = %percentage:3%%
label-discharging = %percentage:3%%
ramp-capacity-foreground = ${res/colors.green}
ramp-capacity-0 = ▁
ramp-capacity-0-foreground = ${res/colors.red}
ramp-capacity-1 = ▂
ramp-capacity-1-foreground = ${res/colors.red}
ramp-capacity-2 = ▃
ramp-capacity-3 = ▄
ramp-capacity-4 = ▅
ramp-capacity-5 = ▆
ramp-capacity-6 = ▇
ramp-capacity-7 = █
[module/cpu]
type = internal/cpu
interval = 1
format = <ramp-coreload> <label>
label = %percentage:3%%
ramp-coreload-foreground = ${res/colors.blue}
ramp-coreload-spacing = 1
ramp-coreload-0 = ▁
ramp-coreload-1 = ▂
ramp-coreload-2 = ▃
ramp-coreload-3 = ▄
ramp-coreload-4 = ▅
ramp-coreload-5 = ▆
ramp-coreload-5-foreground = ${res/colors.yellow}
ramp-coreload-6 = ▇
ramp-coreload-6-foreground = ${res/colors.yellow}
ramp-coreload-7 = █
ramp-coreload-7-foreground = ${res/colors.red}
[module/date]
type = internal/date
date = %a
time = %I:%M %p
interval = 30
format = <label>
label = %date% %time%
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
format-padding = 0
enable-scroll = false
pin-workspaces = true
label-mode-padding = ${res/config.padding}
label-mode-background = ${res/colors.red}
label-focused = %name%
label-focused-padding = ${res/config.padding}
label-focused-foreground = ${res/colors.bg}
label-focused-background = ${res/colors.selection}
label-unfocused = %name%
label-unfocused-background = ${res/colors.bg}
label-unfocused-padding = ${res/config.padding}
label-visible = %name%
label-visible-background = ${res/colors.gray}
label-visible-padding = ${res/config.padding}
[module/memory]
type = internal/memory
format = <ramp-used> <ramp-swap-used> <label>
label = %gb_free:8%
ramp-used-foreground = ${res/colors.magenta}
ramp-used-0 = ▁
ramp-used-1 = ▂
ramp-used-2 = ▃
ramp-used-3 = ▄
ramp-used-4 = ▅
ramp-used-5 = ▆
ramp-used-5-foreground = ${res/colors.yellow}
ramp-used-6 = ▇
ramp-used-6-foreground = ${res/colors.yellow}
ramp-used-7 = █
ramp-used-7-foreground = ${res/colors.red}
ramp-swap-used-foreground = ${res/colors.magenta}
ramp-swap-used-0 = ▁
ramp-swap-used-1 = ▂
ramp-swap-used-2 = ▃
ramp-swap-used-3 = ▄
ramp-swap-used-4 = ▅
ramp-swap-used-5 = ▆
ramp-swap-used-5-foreground = ${res/colors.yellow}
ramp-swap-used-6 = ▇
ramp-swap-used-6-foreground = ${res/colors.yellow}
ramp-swap-used-7 = █
ramp-swap-used-7-foreground = ${res/colors.red}
[module/pulse]
type = internal/pulseaudio
format-volume = <ramp-volume> <label-volume>
format-muted = <ramp-volume> <label-muted>
format-muted-foreground = ${res/colors.red}
label-muted = %percentage%%
label-muted-foreground = ${res/colors.red}
ramp-volume-foreground = ${res/colors.cyan}
ramp-volume-0 = ▁
ramp-volume-1 = ▂
ramp-volume-2 = ▃
ramp-volume-3 = ▄
ramp-volume-4 = ▅
ramp-volume-5 = ▆
ramp-volume-6 = ▇
ramp-volume-7 = █
[module/temp]
type = internal/temperature
units = true
warn-temperature = 80
format = <ramp> <label>
format-warn = <ramp> <label-warn>
label = %temperature-c:6%
label-warn = %temperature-c:6%
label-warn-foreground = ${res/colors.red}
ramp-foreground = ${res/colors.yellow}
ramp-0 = ▁
ramp-1 = ▂
ramp-2 = ▃
ramp-3 = ▄
ramp-4 = ▅
ramp-5 = ▆
ramp-6 = ▇
ramp-7 = █
ramp-7-foreground = ${res/colors.red}

76
.config/polybar/launch.sh Executable file
View File

@ -0,0 +1,76 @@
#! /bin/bash
#
# launch.sh
# A Polybar launch script with a heck of a lot of compat
# Copyright (C) 2019 Vintage Salt <rehashedsalt@cock.li>
#
# Distributed under terms of the MIT license.
#
log() {
[ -z "$1" ] && return 1
printf "$1\\n"
}
# Trap our exit
die() {
kill $(jobs -p)
}
trap die EXIT
# Steps
step_fallback() {
if ! command -v polybar > /dev/null 2>&1; then
if command -v tint2 > /dev/null 2>&1; then
log "Executing fallback"
exec tint2
fi
log "No valid bars found"
exit 51
fi
}
step_configure_restack() {
# Restack compatibility
if pgrep -U "$UID" bspwm > /dev/null 2>&1; then
export PB_WM_RESTACK="bspwm"
elif pgrep -U "$UID" i3 > /dev/null 2>&1; then
export PB_WM_RESTACK="i3"
fi
}
step_spawn_primary() {
# Spawn bars on the primary monitor
log "Spawning primary bars"
export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}')
polybar -r primary &
polybar -r primary-2 &
}
step_spawn_secondary() {
# Spawn more for each secondary
log "Spawning secondary bars"
export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}')
if [ "$secondary_monitors" == "" ]; then
return 0
fi
for monitor in $secondary_monitors; do
PB_MONITOR=$monitor
polybar -r secondary &
polybar -r secondary-2 &
done
}
step_wait() {
# And wait
log "Waiting"
wait
}
# Main
main() {
step_fallback
step_configure_restack
step_spawn_primary
step_spawn_secondary
step_wait
}
main "$@"

View File

@ -1,5 +1,6 @@
[Appearance]
ColorScheme=Nordic
Font=Inconsolata,11,-1,5,57,0,0,0,0,0,Medium
[General]
Name=Main

@ -1 +1 @@
Subproject commit 9f13011738e11d6f926a641d774635fa415f1b6e
Subproject commit 90cf416c03ed841ad7f3d44f4d6f3192f216176a

@ -1 +1 @@
Subproject commit db595656304959dcc3805cf63ea9a430e3f01e8f
Subproject commit c3966153e81bc3766b1627e6ab0cd53333b61c1e