52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
# A background script to provide terminal/editor compositing in a Ryudo
|
||
|
# session.
|
||
|
# Licensed under the MIT License -- do what you want with it.
|
||
|
# Copyleft 2021 Derek Stevens <drkste@zoho.com>
|
||
|
|
||
|
termprog=Alacritty
|
||
|
geditor=acme
|
||
|
opacity=0.85
|
||
|
|
||
|
setter=$(which transset)
|
||
|
if [ -z "$setter" ]; then
|
||
|
setter=$(which transset-df)
|
||
|
fi
|
||
|
|
||
|
if [ -z "$setter" ]; then
|
||
|
echo "we need transset or transset-df in PATH!"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
#if which xcompmgr > /dev/null; then
|
||
|
# xcompmgr -n&
|
||
|
#else
|
||
|
# ehco "we need xcompmgr in PATH!"
|
||
|
# exit 1
|
||
|
#fi
|
||
|
|
||
|
if ! which xshove > /dev/null; then
|
||
|
echo "we need xshove in PATH!"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
wlist=$(mktemp)
|
||
|
oldwlist=$(mktemp)
|
||
|
while true; do
|
||
|
xshove > $wlist
|
||
|
while read wprop; do
|
||
|
wid=$(echo ${wprop} | awk '{print $1}')
|
||
|
if ! grep $wid $oldwlist > /dev/null; then
|
||
|
wclass=$(echo ${wprop} | awk '{print $3}')
|
||
|
if [ "$wclass" = "${geditor}" ]; then
|
||
|
$setter -i 0x$wid ${opacity} > /dev/null
|
||
|
elif [ "${wclass}" = "${termprog}" ]; then
|
||
|
$setter -i 0x$wid ${opacity} > /dev/null
|
||
|
fi
|
||
|
fi
|
||
|
done < $wlist
|
||
|
cat $wlist > $oldwlist;
|
||
|
sleep 0.2
|
||
|
done
|