MANPREFIX = $(PREFIX)/share/man
BASHCPL = $(PREFIX)/share/bash-completion/completions
ZSHCPL = $(PREFIX)/share/zsh/site-functions
+XSESSIONS = $(PREFIX)/share/xsessions
WM_SRC = bspwm.c helpers.c settings.c monitor.c desktop.c tree.c stack.c history.c \
events.c pointer.c window.c messages.c query.c restore.c rule.c ewmh.c subscribe.c
mkdir -p "$(DESTDIR)$(BINPREFIX)"
cp -p bspwm "$(DESTDIR)$(BINPREFIX)"
cp -p bspc "$(DESTDIR)$(BINPREFIX)"
+ cp -p contrib/freedesktop/bspwm-session "$(DESTDIR)$(BINPREFIX)"
mkdir -p "$(DESTDIR)$(MANPREFIX)"/man1
cp -p doc/bspwm.1 "$(DESTDIR)$(MANPREFIX)"/man1
cp -Pp doc/bspc.1 "$(DESTDIR)$(MANPREFIX)"/man1
cp -p contrib/bash_completion "$(DESTDIR)$(BASHCPL)"/bspc
mkdir -p "$(DESTDIR)$(ZSHCPL)"
cp -p contrib/zsh_completion "$(DESTDIR)$(ZSHCPL)"/_bspc
+ mkdir -p "$(DESTDIR)$(XSESSIONS)"
+ cp -p contrib/freedesktop/bspwm.desktop "$(DESTDIR)$(XSESSIONS)"
uninstall:
rm -f "$(DESTDIR)$(BINPREFIX)"/bspwm
rm -f "$(DESTDIR)$(BINPREFIX)"/bspc
+ rm -f "$(DESTDIR)$(BINPREFIX)"/bspwm-session
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspwm.1
rm -f "$(DESTDIR)$(MANPREFIX)"/man1/bspc.1
rm -f "$(DESTDIR)$(BASHCPL)"/bspc
rm -f "$(DESTDIR)$(ZSHCPL)"/_bspc
+ rm -f "$(DESTDIR)$(XSESSIONS)"/bspwm.desktop
doc:
a2x -v -d manpage -f manpage -a revnumber=$(VERSION) doc/bspwm.1.txt
--- /dev/null
+#! /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
+
+# 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
--- /dev/null
+[Desktop Entry]
+Encoding=UTF-8
+Name=bspwm
+Comment=Launch a bspwm session
+Exec=/usr/bin/bspwm-session
+Type=XSession
+++ /dev/null
-#! /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
-
-# 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
+++ /dev/null
-[Desktop Entry]
-Encoding=UTF-8
-Name=bspwm
-Comment=Launch a bspwm session
-Exec=/usr/bin/bspwm-session
-Type=XSession