mirror of
https://github.com/archlinux/aur.git
synced 2026-02-08 13:12:02 +01:00
Initial upload: plasmazones-bin 1.3.4
This commit is contained in:
commit
c9bc8f879f
5 changed files with 198 additions and 0 deletions
34
.SRCINFO
Normal file
34
.SRCINFO
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
pkgbase = plasmazones-bin
|
||||
pkgdesc = FancyZones-style window tiling for KDE Plasma (prebuilt binary)
|
||||
pkgver = 1.3.4
|
||||
pkgrel = 1
|
||||
url = https://github.com/fuddlesworth/PlasmaZones
|
||||
install = plasmazones.install
|
||||
arch = x86_64
|
||||
license = GPL-3.0-or-later
|
||||
depends = qt6-base
|
||||
depends = qt6-declarative
|
||||
depends = qt6-shadertools
|
||||
depends = kconfig
|
||||
depends = kconfigwidgets
|
||||
depends = kcoreaddons
|
||||
depends = kdbusaddons
|
||||
depends = ki18n
|
||||
depends = kcmutils
|
||||
depends = kwindowsystem
|
||||
depends = kglobalaccel
|
||||
depends = knotifications
|
||||
depends = kcolorscheme
|
||||
depends = layer-shell-qt
|
||||
optdepends = plasma-activities: activity-based layouts
|
||||
provides = plasmazones
|
||||
conflicts = plasmazones
|
||||
conflicts = plasmazones-git
|
||||
source = plasmazones-bin-1.3.4.pkg.tar.zst::https://github.com/fuddlesworth/PlasmaZones/releases/download/v1.3.4/plasmazones-1.3.4-1-x86_64.pkg.tar.zst
|
||||
source = kbuildsycoca.hook
|
||||
source = plasmazones-refresh-sycoca
|
||||
sha256sums = f21bf6aa1ffa6f0d5d59ad3bd1f6a8b0b54227ce482446e502ff67c0a7cf4e29
|
||||
sha256sums = 8bd1b7fe1ca040f18fc0aa95f5da775cdbc1b090a23f63d8e16dd572cbba3c80
|
||||
sha256sums = f128058da53fd97e6a35718348fefa219b6352517bd13f6a1039368872cb0b6d
|
||||
|
||||
pkgname = plasmazones-bin
|
||||
61
PKGBUILD
Normal file
61
PKGBUILD
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Maintainer: fuddlesworth
|
||||
# PlasmaZones (binary) - FancyZones-style window tiling for KDE Plasma
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# Binary package - downloads prebuilt binaries from GitHub releases.
|
||||
# For source-based package, see: https://aur.archlinux.org/packages/plasmazones
|
||||
|
||||
pkgname=plasmazones-bin
|
||||
pkgver=1.3.4
|
||||
pkgrel=1
|
||||
pkgdesc="FancyZones-style window tiling for KDE Plasma (prebuilt binary)"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/fuddlesworth/PlasmaZones"
|
||||
license=('GPL-3.0-or-later')
|
||||
depends=(
|
||||
'qt6-base'
|
||||
'qt6-declarative'
|
||||
'qt6-shadertools'
|
||||
'kconfig'
|
||||
'kconfigwidgets'
|
||||
'kcoreaddons'
|
||||
'kdbusaddons'
|
||||
'ki18n'
|
||||
'kcmutils'
|
||||
'kwindowsystem'
|
||||
'kglobalaccel'
|
||||
'knotifications'
|
||||
'kcolorscheme'
|
||||
'layer-shell-qt'
|
||||
)
|
||||
optdepends=(
|
||||
'plasma-activities: activity-based layouts'
|
||||
)
|
||||
provides=('plasmazones')
|
||||
conflicts=('plasmazones' 'plasmazones-git')
|
||||
source=(
|
||||
"$pkgname-$pkgver.pkg.tar.zst::$url/releases/download/v$pkgver/plasmazones-$pkgver-1-x86_64.pkg.tar.zst"
|
||||
"kbuildsycoca.hook"
|
||||
"plasmazones-refresh-sycoca"
|
||||
)
|
||||
sha256sums=(
|
||||
'f21bf6aa1ffa6f0d5d59ad3bd1f6a8b0b54227ce482446e502ff67c0a7cf4e29'
|
||||
'8bd1b7fe1ca040f18fc0aa95f5da775cdbc1b090a23f63d8e16dd572cbba3c80'
|
||||
'f128058da53fd97e6a35718348fefa219b6352517bd13f6a1039368872cb0b6d'
|
||||
)
|
||||
install=plasmazones.install
|
||||
|
||||
package() {
|
||||
# Extract the prebuilt Arch package directly into $pkgdir
|
||||
# The .pkg.tar.zst contains the filesystem layout ready to install
|
||||
bsdtar -xf "$srcdir/$pkgname-$pkgver.pkg.tar.zst" -C "$pkgdir"
|
||||
|
||||
# Remove pacman metadata (not needed when repackaging)
|
||||
rm -rf "$pkgdir/.BUILDINFO" "$pkgdir/.MTREE" "$pkgdir/.PKGINFO"
|
||||
|
||||
# Install pacman hook to auto-refresh sycoca cache
|
||||
install -Dm644 "$srcdir/kbuildsycoca.hook" \
|
||||
"$pkgdir/usr/share/libalpm/hooks/plasmazones-kbuildsycoca.hook"
|
||||
install -Dm755 "$srcdir/plasmazones-refresh-sycoca" \
|
||||
"$pkgdir/usr/share/libalpm/scripts/plasmazones-refresh-sycoca"
|
||||
}
|
||||
17
kbuildsycoca.hook
Normal file
17
kbuildsycoca.hook
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Pacman hook to refresh KDE sycoca cache when KCM modules are installed
|
||||
# Ensures new System Settings modules are immediately visible
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
[Trigger]
|
||||
Type = Path
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Operation = Remove
|
||||
Target = usr/lib/qt6/plugins/plasma/kcms/systemsettings/*.so
|
||||
Target = usr/share/applications/kcm_*.desktop
|
||||
|
||||
[Action]
|
||||
Description = Refreshing KDE service cache...
|
||||
When = PostTransaction
|
||||
Exec = /usr/share/libalpm/scripts/plasmazones-refresh-sycoca
|
||||
19
plasmazones-refresh-sycoca
Executable file
19
plasmazones-refresh-sycoca
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
# Refresh KDE sycoca cache for all logged-in users with KDE sessions
|
||||
# This script is called by the pacman hook after KCM installation
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Find all users running kded6 (indicates active KDE session)
|
||||
for pid in $(pgrep -x kded6); do
|
||||
user=$(ps -o user= -p "$pid" 2>/dev/null | tr -d ' ')
|
||||
if [ -n "$user" ] && [ "$user" != "root" ]; then
|
||||
# Run kbuildsycoca6 as that user
|
||||
su - "$user" -c "kbuildsycoca6 --noincremental" >/dev/null 2>&1 &
|
||||
fi
|
||||
done
|
||||
|
||||
# Wait for all background jobs
|
||||
wait 2>/dev/null
|
||||
|
||||
exit 0
|
||||
67
plasmazones.install
Normal file
67
plasmazones.install
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
# 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
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue