diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index d0dbc3d3..994a25ce 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -20,21 +20,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -## Clean up some variables that I use in device-specific scripts -unset PB_BAR_WIDTH -unset PB_MONITOR - -## Patch path, if not already done -if [[ "$PATH" != "*$HOME/.local/bin*" ]]; then - printf "[INFO] Patching path for $HOME/.local/bin\n" - export PATH="$HOME/.local/bin:$PATH" -fi - -## Load device-specific scripts -if [[ -x ".config/bspwm/$(hostname).rc" ]]; then - printf "[INFO] Sourcing .config/bspwm/$(hostname).rc\n" - source .config/bspwm/$(hostname).rc +## Load session startup script +dtfscript=$HOME/.config/dtfscripts/wmstartup.sh +if [[ -x "$dtfscript" ]]; then + source "$dtfscript" fi +unset dtfscript ## bspwm GENERAL CONFIGURATION printf "[INFO] Setting up monitors\n" @@ -91,55 +82,3 @@ bspc rule -a 'Minecraft 1.7.10' state=fullscreen bspc rule -a plasmashell state=floating sticky=on border=off bspc rule -a krunner state=floating layer=above sticky=on border=off -printf "[INFO] Performing simple configuration\n" -## SIMPLE CONFIGURATION -xset -b -xset -dpms -xset s off -# This depends on a script found at rehashedsalt/bin -xrdbupdate - -## SERVICES AND DAEMONS -printf "[INFO] Killing existing daemons\n" -services="sxhkd polybar conky dunst compton" -for service in $services; do - printf " [INFO] Killing $service\n" - killall $service -done -# Wallpaper management -# Note that this MUST happen before the compositor starts, otherwise xsetroot -# will not apply properly -if which xfdesktop; then - printf "[INFO] Starting xfdesktop\n" - xfdesktop& -elif which feh; then - printf "[INFO] Setting wallpaper with feh\n" - printf "[WARN] This solution may cause problems on multi-monitor systems\n" - feh --randomize --bg-fill ~/Pictures/Wallpapers/.active & -elif which xsetroot; then - printf "[INFO] Setting root window color\n" - xsetroot -solid "#282828" -else - printf "[WARN] Could not find any wallpaper manager\n" -fi -# Don't start the compositor in a VM -if [[ $(hostname) != "vm"* ]]; then - printf " [INFO] Starting compton\n" - compton & -fi -# Different startup for OpenBSD and Linux -if [[ $(uname) == "Linux" ]]; then - printf "[INFO] Starting Linux tasks\n" - compton & - $HOME/.config/polybar/start.sh & - sxhkd & -else - printf "[INFO] Starting OpenBSD tasks\n" - sxhkd -c $XDG_CONFIG_HOME/sxhkd/sxhkdrc-obsd & -fi -# Start these all the time regardless of platform -printf "[INFO] Starting platform-independent tasks\n" -conky& -dunst& -printf "[INFO] Finished initialization\n" - diff --git a/.config/dotfilescripts/kdestartup.sh b/.config/dtfscripts/kdestartup.sh similarity index 100% rename from .config/dotfilescripts/kdestartup.sh rename to .config/dtfscripts/kdestartup.sh diff --git a/.config/dtfscripts/wmstartup.sh b/.config/dtfscripts/wmstartup.sh new file mode 100755 index 00000000..92ce4758 --- /dev/null +++ b/.config/dtfscripts/wmstartup.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +# Copyright (c) 2018 rehashedsalt/vintagesalt +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +## Clean up some variables that I use in device-specific scripts +unset PB_BAR_WIDTH +unset PB_MONITOR + +## Patch path, if not already done +if [[ "$PATH" != "*$HOME/.local/bin*" ]]; then + printf "[INFO] Patching path for $HOME/.local/bin\n" + export PATH="$HOME/.local/bin:$PATH" +fi + +## Load device-specific scripts +if [[ -x ".config/bspwm/$(hostname).rc" ]]; then + printf "[INFO] Sourcing .config/bspwm/$(hostname).rc\n" + source .config/bspwm/$(hostname).rc +fi + +printf "[INFO] Performing simple configuration\n" +## SIMPLE CONFIGURATION +xset -b +xset -dpms +xset s off +# This depends on a script found at rehashedsalt/bin +xrdbupdate + +## SERVICES AND DAEMONS +printf "[INFO] Killing existing daemons\n" +services="sxhkd polybar conky dunst compton" +for service in $services; do + printf " [INFO] Killing $service\n" + killall $service +done +for service in $services; do + while pgrep $service; do + sleep 0.5 + done +done +# Wallpaper management +# Note that this MUST happen before the compositor starts, otherwise xsetroot +# will not apply properly +if which xfdesktop 2&> /dev/null; then + printf " [INFO] Starting xfdesktop\n" + xfdesktop& +elif which feh 2&> /dev/null; then + printf " [INFO] Setting wallpaper with feh\n" + printf " [WARN] This solution may cause problems on multi-monitor systems\n" + feh --randomize --bg-fill ~/Pictures/Wallpapers/.active & +elif which xsetroot 2&> /dev/null; then + printf " [INFO] Setting root window color\n" + xsetroot -solid "#282828" +else + printf " [WARN] Could not find any wallpaper manager\n" +fi +# Don't start the compositor in a VM +if [[ $(hostname) != "vm"* ]]; then + printf " [INFO] Starting compton\n" + compton & +fi +# Different startup for OpenBSD and Linux +if [[ $(uname) == "Linux" ]]; then + printf "[INFO] Starting Linux tasks\n" + compton & + $HOME/.config/polybar/start.sh & + sxhkd & +else + printf "[INFO] Starting OpenBSD tasks\n" + sxhkd -c $XDG_CONFIG_HOME/sxhkd/sxhkdrc-obsd & +fi +# Start these all the time regardless of platform +printf "[INFO] Starting platform-independent tasks\n" +conky& +dunst& +printf "[INFO] Finished initialization\n" + diff --git a/.local/bin b/.local/bin index 2cfc81d1..3bdc167c 160000 --- a/.local/bin +++ b/.local/bin @@ -1 +1 @@ -Subproject commit 2cfc81d11f229a542442e4c5eba8945a3df76640 +Subproject commit 3bdc167c24fb481f200048f6b6aeeeb1f9d2e00c