blob: ae861dc169f0f44ac44f3ecf2e109b572d460f73 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
post_install() {
echo ">>> PKGBUILD Manager installed."
echo ">>> Right-click any PKGBUILD file to see the PKGBUILD submenu."
echo ">>> Press Ctrl+Alt+P to open the menu settings panel."
# Register Ctrl+Alt+P shortcut (GNOME only, only if slot is free)
if command -v gsettings &>/dev/null; then
_user="${SUDO_USER:-$USER}"
_uid=$(id -u "$_user" 2>/dev/null)
_env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${_uid}/bus"
_gset="runuser -u $_user -- env $_env gsettings"
_binding="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/pkgbuild-manager/"
_current=$(${_gset} get org.gnome.settings-daemon.plugins.media-keys \
custom-keybindings 2>/dev/null || echo "[]")
if ! echo "$_current" | grep -q "pkgbuild-manager"; then
# Append to existing list instead of overwriting
_new=$(echo "$_current" | sed "s|]$|, '$_binding']|" | sed "s|\[\]|['$_binding']|")
${_gset} set org.gnome.settings-daemon.plugins.media-keys \
custom-keybindings "$_new" 2>/dev/null || true
${_gset} set \
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:${_binding} \
name "PKGBUILD Manager Settings" 2>/dev/null || true
${_gset} set \
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:${_binding} \
command "pkgbuild-manager-settings" 2>/dev/null || true
${_gset} set \
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:${_binding} \
binding "<Control><Alt>p" 2>/dev/null || true
echo ">>> Keyboard shortcut Ctrl+Alt+P registered."
fi
fi
# Detect installed file managers and show targeted hints
_detected=0
if command -v nautilus &>/dev/null; then
_detected=1
if ! pacman -Q python-nautilus &>/dev/null 2>&1; then
echo ">>> Nautilus detected — install python-nautilus for right-click support:"
echo ">>> sudo pacman -S python-nautilus"
echo ">>> Then run: nautilus -q"
else
echo ">>> Nautilus extension ready. Run: nautilus -q"
fi
fi
if command -v nemo &>/dev/null; then
_detected=1
if ! pacman -Q nemo-python &>/dev/null 2>&1; then
echo ">>> Nemo detected — install nemo-python for right-click support:"
echo ">>> sudo pacman -S nemo-python"
else
echo ">>> Nemo extension ready."
fi
fi
if command -v caja &>/dev/null; then
_detected=1
if ! pacman -Q python-caja &>/dev/null 2>&1; then
echo ">>> Caja detected — install python-caja for right-click support:"
echo ">>> sudo pacman -S python-caja"
else
echo ">>> Caja extension ready."
fi
fi
if command -v dolphin &>/dev/null; then
_detected=1
echo ">>> Dolphin detected — right-click service menu installed automatically."
fi
if [ "$_detected" -eq 0 ]; then
echo ">>> No supported file manager detected."
echo ">>> Supported: Nautilus, Nemo, Caja, Dolphin."
fi
}
post_upgrade() {
_user="${SUDO_USER:-$USER}"
_scripts="$(eval echo ~$_user)/.local/share/nautilus/scripts"
if [ -d "$_scripts/PKGBUILD" ]; then
rm -rf "$_scripts/PKGBUILD"
echo ">>> Removed stale PKGBUILD symlink directory from previous version."
fi
post_install
}
post_remove() {
if command -v gsettings &>/dev/null; then
_user="${SUDO_USER:-$USER}"
_uid=$(id -u "$_user" 2>/dev/null)
_env="DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${_uid}/bus"
_gset="runuser -u $_user -- env $_env gsettings"
_binding="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/pkgbuild-manager/"
_current=$(${_gset} get org.gnome.settings-daemon.plugins.media-keys \
custom-keybindings 2>/dev/null || echo "[]")
_new=$(echo "$_current" | sed "s|, '$_binding'||" | sed "s|'$_binding', ||" | sed "s|'$_binding'||")
${_gset} set org.gnome.settings-daemon.plugins.media-keys \
custom-keybindings "$_new" 2>/dev/null || true
fi
}
|