Merge branch 'master' of gitlab.com:rehashedsalt/home
This commit is contained in:
commit
58ba55521c
169
.config/i3/config
Normal file
169
.config/i3/config
Normal 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
209
.config/polybar/config
Normal 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
76
.config/polybar/launch.sh
Executable 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 "$@"
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user