You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- #!/bin/bash
- #
- # bspwm-session
- #
- # This script is a session launcher for bspwm.
- # It is based on similar scripts included with Openbox.
-
- if [ -n "$1" ]; then
- echo "Usage: bspwm-session"
- echo
- exit 1
- fi
-
- # Multi-user support:
- # state_prefix=${XDG_CACHE_HOME:-"$HOME/.cache"}
- # mkdir -p "${state_prefix}"
-
- # if [ ! -d "${state_prefix}" ]; then
- # echo "bspwm-session: cache directory ‘${state_prefix}‘ is missing."
- # echo
- # exit 1
- # elif [ ! -w "${state_prefix}" ]; then
- # echo "bspwm-session: cache directory ‘${state_prefix}‘ is not writable."
- # echo
- # exit 1
- # fi
-
- # state_path=$(mktemp -d "${state_prefix}/bspwm-session.XXXXXX")
-
- # if [ $? -ne 0 ]; then
- # echo "bspwm-session: failed to create state directory ‘${state_path}‘."
- # echo
- # exit 1
- # fi
-
- # export BSPWM_SOCKET=${state_path}/bspwm-socket
- export BSPWM_SOCKET=$HOME/.cache/bspwm-socket
-
- # Trap: make sure everything started in ~/.config/bspwm/autostart is
- # signalled when this script exits or dies. Also clean up $state_path.
- function on_exit {
- for child in $(jobs -p); do
- jobs -p | grep -q $child && kill $child
- done
- # Extra paranoia
- [[ -d "${state_path}" && -w "${state_path}" ]] && rm -rf -- "${state_path}"
- }
-
- trap on_exit EXIT SIGHUP SIGINT SIGTERM
-
- # Environment and autostart:
- source_these=(
- "/etc/profile"
- "${HOME}/.profile"
- "${XDG_CONFIG_HOME:-"$HOME/.config"}/bspwm/autostart"
- )
-
- for file in "${source_these[@]}"; do
- [ -r "${file}" ] && . "${file}"
- done
-
- # Launch sxhkd:
- sxhkd &
-
- # Launch bspwm:
- bspwm
|