aur/plasmazones.install
2026-02-05 11:59:45 -06:00

67 lines
2.6 KiB
Text

# PlasmaZones pacman install hooks
# SPDX-License-Identifier: GPL-3.0-or-later
post_install() {
# Refresh sycoca for logged-in KDE users (makes KCM immediately visible)
_refresh_sycoca
echo ""
echo "══════════════════════════════════════════════════════════════════"
echo " PlasmaZones installed successfully!"
echo "══════════════════════════════════════════════════════════════════"
echo ""
echo " Settings: System Settings -> Window Management -> PlasmaZones"
echo ""
echo " To enable the daemon:"
echo " systemctl --user enable --now plasmazones.service"
echo ""
echo " If PlasmaZones doesn't appear in System Settings, run:"
echo " kbuildsycoca6 --noincremental"
echo " or log out and back in."
echo ""
}
post_upgrade() {
# Refresh sycoca in case KCM metadata changed
_refresh_sycoca
echo ""
echo "══════════════════════════════════════════════════════════════════"
echo " PlasmaZones upgraded!"
echo "══════════════════════════════════════════════════════════════════"
echo ""
echo " If the daemon was running, restart it:"
echo " systemctl --user restart plasmazones.service"
echo ""
}
post_remove() {
echo ""
echo " Stopping PlasmaZones daemon..."
# Stop for all users
for pid in $(pgrep -x kded6 2>/dev/null); do
user=$(ps -o user= -p "$pid" 2>/dev/null | tr -d ' ')
if [ -n "$user" ] && [ "$user" != "root" ]; then
su - "$user" -c "systemctl --user stop plasmazones.service 2>/dev/null; systemctl --user disable plasmazones.service 2>/dev/null" &
fi
done
wait 2>/dev/null
# Refresh sycoca to remove KCM from System Settings
_refresh_sycoca
echo " PlasmaZones removed."
echo ""
}
# Helper: refresh sycoca cache for all logged-in KDE users
_refresh_sycoca() {
for pid in $(pgrep -x kded6 2>/dev/null); do
user=$(ps -o user= -p "$pid" 2>/dev/null | tr -d ' ')
if [ -n "$user" ] && [ "$user" != "root" ]; then
su - "$user" -c "kbuildsycoca6 --noincremental" >/dev/null 2>&1 &
fi
done
wait 2>/dev/null
}