refactor: group stow packages into common, mac and kde
Split the packages by platform so each app stays an opt-in Stow package under common/, mac/ or kde/. KDE gets its own Fastfetch, Helium and Spectacle packages, and darwin-breeze becomes kde/theme. The READMEs document stowing a whole group as well as individual packages.
No files matched your search
@@ -0,0 +1 @@
|
||||
<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(0.78 0 0 0.78 3.52 3.52)"><g transform="matrix(.99917103 0 0 .9988667 .023961 .026876)"><path d="m29.946 15.942c.354 9.205-9.874 16.514-18.469 13.197-8.505-2.569-12.285-13.93-7.003-21.077 4.9-7.801 17.469-8.068 22.695-.48a13.97 13.97 0 0 1 2.777 8.36z" fill="none" opacity=".95" stroke="#f5f5f5" stroke-width="2.093"/><path d="m12.758 26.311v-5.725c-.282.433-.679.792-1.19 1.079a3.216 3.216 0 0 1 -1.613.43c-1.27 0-2.366-.555-3.287-1.663-.914-1.109-1.371-2.628-1.371-4.559 0-1.174.185-2.227.555-3.16.376-.932.917-1.636 1.623-2.114a4.074 4.074 0 0 1 2.34-.726c1.323 0 2.365.609 3.125 1.827v-1.563h1.633v16.174zm-5.596-10.36c0 1.504.29 2.635.867 3.39.579.75 1.27 1.124 2.078 1.124.773 0 1.438-.356 1.996-1.068.558-.72.837-1.81.837-3.27 0-1.557-.296-2.727-.887-3.513-.585-.785-1.274-1.178-2.067-1.178-.787 0-1.456.367-2.007 1.101-.544.727-.817 1.865-.817 3.413m11.938 5.88h-1.683v-16.141h1.815v5.758c.766-1.05 1.744-1.574 2.934-1.574.658 0 1.28.147 1.865.44a3.768 3.768 0 0 1 1.452 1.222c.383.521.682 1.153.897 1.894s.323 1.534.323 2.378c0 2.004-.454 3.553-1.361 4.647-.908 1.093-1.997 1.64-3.267 1.64-1.264 0-2.255-.576-2.974-1.728v1.464m-.02-5.935c0 1.402.174 2.415.524 3.04.571 1.02 1.344 1.53 2.319 1.53.793 0 1.479-.375 2.057-1.123.578-.756.867-1.88.867-3.37 0-1.526-.28-2.653-.837-3.38-.551-.726-1.22-1.09-2.007-1.09-.793 0-1.478.378-2.057 1.134-.578.75-.867 1.835-.867 3.26" fill="#fafafa"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# Copy the Breeze-style icons over Ngó Sen's monochrome tray icons.
|
||||
# Runs as root; the pacman hook re-runs it after every fcitx5-ngosen install/upgrade.
|
||||
set -euo pipefail
|
||||
here=$(cd "$(dirname "$0")" && pwd)
|
||||
ROOT=${ROOT:-} # for dry-run testing only
|
||||
|
||||
# Ngó Sen points at hicolor, but Plasma looks the icon up by name in breeze/breeze-dark
|
||||
dirs=(usr/share/icons/hicolor/scalable/{apps,status}
|
||||
usr/share/icons/breeze{,-dark}/status/{22,24})
|
||||
mtree=$(zcat "$ROOT"/var/lib/pacman/local/fcitx5-ngosen-*/mtree 2>/dev/null || true)
|
||||
|
||||
for d in "${dirs[@]}"; do
|
||||
for f in "$here"/icons/*.svg; do
|
||||
n=$(basename "$f"); t=$ROOT/$d/$n
|
||||
[[ -f $t ]] || continue
|
||||
# Still the file the package installed: keep it as the original for restore.sh
|
||||
sum=$(grep -F "./$d/$n " <<<"$mtree" | grep -o 'sha256digest=[0-9a-f]*' | cut -d= -f2 || true)
|
||||
if [[ -n $sum && $(sha256sum <"$t" | cut -d' ' -f1) == "$sum" ]]; then
|
||||
install -Dm644 "$t" "$here/orig/$d/$n"
|
||||
fi
|
||||
install -m644 "$f" "$t"
|
||||
done
|
||||
done
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #232629; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
|
||||
<rect x="3.5" y="3.5" width="15" height="15" rx="2.5" stroke-width="1"/><path d="M8.3 7.5 11 14.5l2.7-7"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 426 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #fcfcfc; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
|
||||
<rect x="3.5" y="3.5" width="15" height="15" rx="2.5" stroke-width="1"/><path d="M8.3 7.5 11 14.5l2.7-7"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 426 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #232629; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1">
|
||||
<circle cx="11" cy="11" r="7.5"/><path d="M7.8 12.6q3.2 3.2 6.4 0"/><path d="M8.6 8.6v.6M13.4 8.6v.6" stroke-width="1.6"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 440 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #fcfcfc; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1">
|
||||
<circle cx="11" cy="11" r="7.5"/><path d="M7.8 12.6q3.2 3.2 6.4 0"/><path d="M8.6 8.6v.6M13.4 8.6v.6" stroke-width="1.6"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 440 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #232629; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
|
||||
<rect x="3.5" y="3.5" width="15" height="15" rx="2.5" stroke-width="1"/><path d="M13.3 7.5H8.8v7h4.5M8.8 11h3.7"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 434 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
|
||||
<style id="current-color-scheme" type="text/css">.ColorScheme-Text { color: #fcfcfc; }</style>
|
||||
<g class="ColorScheme-Text" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
|
||||
<rect x="3.5" y="3.5" width="15" height="15" rx="2.5" stroke-width="1"/><path d="M13.3 7.5H8.8v7h4.5M8.8 11h3.7"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 434 B |
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Install Breeze-style tray icons for Ngó Sen. Usage: sudo ./install.sh
|
||||
set -euo pipefail
|
||||
here=$(cd "$(dirname "$0")" && pwd)
|
||||
ROOT=${ROOT:-} # for dry-run testing only
|
||||
[[ $EUID -eq 0 || -n $ROOT ]] || { echo "Must be run with sudo"; exit 1; }
|
||||
owner=${SUDO_USER:-$(id -un "${PKEXEC_UID:-0}")}
|
||||
dest=$ROOT/usr/local/share/ngosen-breeze-icons
|
||||
|
||||
install -d "$dest/icons"
|
||||
install -m644 "$here"/icons/*.svg "$dest/icons/"
|
||||
install -m755 "$here/apply.sh" "$dest/apply.sh"
|
||||
install -Dm644 "$here/ngosen-breeze-icons.hook" "$ROOT/etc/pacman.d/hooks/ngosen-breeze-icons.hook"
|
||||
# Older versions used NoUpgrade in pacman.conf; the hook replaces it
|
||||
sed -i '/^# ngosen-breeze-icons$/,+1d' "$ROOT/etc/pacman.conf"
|
||||
ROOT=$ROOT "$dest/apply.sh"
|
||||
|
||||
# Ngó Sen: use the monochrome icons (not the lotus ones), white for a dark panel
|
||||
conf=$ROOT$(getent passwd "$owner" | cut -d: -f6)/.config/fcitx5/conf/ngosen.conf
|
||||
as_owner() { if [[ -n $ROOT ]]; then "$@"; else runuser -u "$owner" -- "$@"; fi; }
|
||||
if [[ -f $conf ]]; then
|
||||
for kv in UseLotusIcons=False IconTheme=Dark; do
|
||||
k=${kv%%=*}
|
||||
if grep -q "^$k=" "$conf"; then as_owner sed -i "s/^$k=.*/$kv/" "$conf"
|
||||
elif grep -q "^# $k=" "$conf"; then as_owner sed -i "s/^# $k=.*/$kv/" "$conf"
|
||||
else as_owner sh -c "echo '$kv' >> '$conf'"; fi
|
||||
done
|
||||
else
|
||||
as_owner install -Dm600 /dev/stdin "$conf" <<<$'UseLotusIcons=False\nIconTheme=Dark'
|
||||
fi
|
||||
|
||||
echo "Done. Restart fcitx5 and plasmashell (without sudo):"
|
||||
echo " $here/restart-fcitx5.sh; systemctl --user restart plasma-plasmashell"
|
||||
@@ -0,0 +1,10 @@
|
||||
[Trigger]
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Type = Package
|
||||
Target = fcitx5-ngosen
|
||||
|
||||
[Action]
|
||||
Description = Applying Breeze-style tray icons for Ngó Sen...
|
||||
When = PostTransaction
|
||||
Exec = /usr/local/share/ngosen-breeze-icons/apply.sh
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
# Restart fcitx5 through KWin (KDE Wayland) so it keeps the Wayland input method frontend.
|
||||
L=$(kreadconfig6 --file kwinrc --group Wayland --key InputMethod)
|
||||
[[ -n $L ]] || L=/usr/share/applications/fcitx5-wayland-launcher.desktop
|
||||
pkill -x fcitx5; sleep 1
|
||||
kwriteconfig6 --notify --file kwinrc --group Wayland --key InputMethod --delete; sleep 1
|
||||
kwriteconfig6 --notify --file kwinrc --group Wayland --key InputMethod "$L"
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
# Put Ngó Sen's original icons back and remove the hook. Usage: sudo ./restore.sh
|
||||
set -euo pipefail
|
||||
ROOT=${ROOT:-} # for dry-run testing only
|
||||
[[ $EUID -eq 0 || -n $ROOT ]] || { echo "Must be run with sudo"; exit 1; }
|
||||
dest=$ROOT/usr/local/share/ngosen-breeze-icons
|
||||
[[ -d $dest/orig/usr ]] || { echo "No original icons in $dest/orig"; exit 1; }
|
||||
(cd "$dest/orig" && find usr -name '*.svg' -print0) | while IFS= read -r -d '' f; do
|
||||
install -m644 "$dest/orig/$f" "$ROOT/$f"
|
||||
done
|
||||
rm -f "$ROOT/etc/pacman.d/hooks/ngosen-breeze-icons.hook"
|
||||
rm -rf "$dest"
|
||||
echo "Restored. To get the lotus icons back, turn them on in Ngó Sen Settings."
|
||||
echo "Restart plasmashell (without sudo): systemctl --user restart plasma-plasmashell"
|
||||