#!/bin/sh # speedwm-compatcheck # compatibility checker used by 'make' when compiling speedwm. BINDIR=$(cat /usr/share/speedwm-bindir) # Check if xrdb exists if [ -e "${BINDIR}xrdb" ]; then xrdb_exists=true else printf "\nWARNING: xrdb was not found. .Xresources and Pywal support will not work." fi # Check if wmctrl exists if [ -e "${BINDIR}wmctrl" ]; then wmctrl_exists=true else printf "\nWARNING: wmctrl was not found. Window management using 'Alt+Tab' will not work." fi # Check if xsetroot exists if [ -e "${BINDIR}xsetroot" ]; then xsetroot_exists=true else printf "\nerror: ${BINDIR}xsetroot was not found\n" && exit 1 fi # Check if xwallpaper exists if [ -e "${BINDIR}xwallpaper" ]; then xwallpaper_exists=true else printf "\nWARNING: xwallpaper was not found. This means setting your wallpaper and Pywal support won't work." fi # Check if xmodmap exists if [ -e "${BINDIR}xmodmap" ]; then xmodmap_exists=true else printf "\nWARNING: xmodmap was not found. This means the Alt+Tab script will not be able to remap Alt+hjkl temporarily." fi # Check if trayer exists if [ -e "${BINDIR}trayer" ]; then trayer_exists=true elif [ -e "${BINDIR}trayer-srg" ]; then trayer_exists=true trayer_srg=true fi # Check if srg or not. if [ "$trayer_exists" = "false" ]; then printf "\nWARNING: trayer was not found. This means the systray will not be available.\n" elif [ "$trayer_srg" = "true" ]; then printf "\nWARNING: Before trayer-srg can be used instead of trayer, you must edit ~/.config/speedwm-de/systray/config and set USE_SRG to true.\n" fi # Check if dmenu exists command -v dmenu > /dev/null || printf "\nWARNING: dmenu was not found. This means running applications will potentially be very inconvenient. It also means most bundled scripts will NOT work unless modified to work with rofi. See help for more information" # Check if slock exists command -v slock > /dev/null || printf "\nWARNING: slock was not found. This means the shutdown menu can't lock your screen." result="$(echo "$xrdb_exists$wmctrl_exists$xsetroot_exists$xwallpaper_exists$xmodmap_exists$trayer_exists")" case "$result" in "truetruetruetruetruetrue") printf "\nAll dependencies were found.\n\n" ;; "") printf "\nSome dependencies could not be found." ;; esac