From 5bb0014265536ee59a9d63625f716257bdd2785c Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 26 Apr 2020 21:01:48 -0700 Subject: Reorganize xsession and Xresources - Add xsession. Instead of requiring each of my machines to setup their own ‘.xsession’ add one that should work for all of them. - Use M4 for the Xresources database. I didn’t want the X11 project to be aware of all the configuration files that could be added in there and I was able to figure out how to have it load all of the configuration files in the ‘Xresources.d’ directory. Now each configuration can inject properties into the X resources database. - Have ‘.xsession’ load all of the scripts in ‘.config/X11/Xsession.d’. Each configuration can now inject some script to run when X starts. - Have ‘.xsession’ load a machine-specific script so that each machine can override what it does when X starts. --- lib/usr/lib/sh/loading.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lib/usr/lib/sh/loading.sh (limited to 'lib') diff --git a/lib/usr/lib/sh/loading.sh b/lib/usr/lib/sh/loading.sh new file mode 100644 index 0000000..47c396a --- /dev/null +++ b/lib/usr/lib/sh/loading.sh @@ -0,0 +1,23 @@ +load_machine_config() { + directory="$1" + path="${HOME}/${directory}/$(hostname).sh" + + # shellcheck source=/dev/null + [ -x "$path" ] && . "$path" + + unset directory + unset path +} + +load_config_directory() { + directory="$1" + path="${HOME}/${directory}" + + if [ -d "${path}" ]; then + for f in "${path}/"?*.sh; do + # shellcheck source=/dev/null + [ -x "$f" ] && . "$f" + done + unset f + fi +} -- cgit v1.2.3-54-g00ecf