GNOME: desktop icons through the Desktop Icons NG extension

This commit is contained in:
theupriser committed 2026-10-14 13:51:49 +02:00
1 parent ae12c1bb41
commit 2b84e6afa6
2 files changed
+18 -1

No files matched your search

+17
View File
@@ -78,6 +78,7 @@ EOF
# GNOME only starts launchers it trusts. # GNOME only starts launchers it trusts.
gio set "$shortcut_path" metadata::trusted true 2>/dev/null || true gio set "$shortcut_path" metadata::trusted true 2>/dev/null || true
gnome_dash_pin gnome_dash_pin
gnome_desktop_icons_enable
fi fi
ok "Desktop shortcut created successfully." ok "Desktop shortcut created successfully."
@@ -121,3 +122,19 @@ gnome_dash_unpin() {
favorites="$(sed -e "s/, '$GNOME_SHORTCUT_ID'//; s/'$GNOME_SHORTCUT_ID', //; s/'$GNOME_SHORTCUT_ID'//" <<< "$favorites")" favorites="$(sed -e "s/, '$GNOME_SHORTCUT_ID'//; s/'$GNOME_SHORTCUT_ID', //; s/'$GNOME_SHORTCUT_ID'//" <<< "$favorites")"
gsettings set org.gnome.shell favorite-apps "$favorites" gsettings set org.gnome.shell favorite-apps "$favorites"
} }
# Desktop icons on GNOME (it draws none itself): the Desktop Icons NG extension,
# installed with the other GNOME packages (lib/packages.sh). Enabled in the
# user's settings; GNOME loads a new extension at the next login.
DING_UUID=ding@rastersoft.com
gnome_desktop_icons_enable() {
user_session && command -v gsettings >/dev/null || return 0
[[ -d "/usr/share/gnome-shell/extensions/$DING_UUID" ]] || return 0
local enabled
enabled="$(gsettings get org.gnome.shell enabled-extensions 2>/dev/null)" || return 0
[[ "$enabled" == *"$DING_UUID"* ]] && return 0
if [[ "$enabled" == "@as []" || "$enabled" == "[]" ]]; then enabled="['$DING_UUID']"
else enabled="${enabled%]}, '$DING_UUID']"; fi
gsettings set org.gnome.shell enabled-extensions "$enabled"
}
+1 -1
View File
@@ -86,7 +86,7 @@ install_required_packages() {
# Step 2: gamescope/Steam and the desktop helpers the rest of the setup uses. # Step 2: gamescope/Steam and the desktop helpers the rest of the setup uses.
local -a MISSING required=(gamescope-session-cachyos steam mangohud xterm ttf-liberation wqy-zenhei) local -a MISSING required=(gamescope-session-cachyos steam mangohud xterm ttf-liberation wqy-zenhei)
# Plasma's on-screen keyboard; on GNOME kconfig instead, for the kreadconfig6/kwriteconfig6 Steamify's undo journal uses. # Plasma's on-screen keyboard; on GNOME kconfig instead, for the kreadconfig6/kwriteconfig6 Steamify's undo journal uses.
if [[ "$(desktop_kind)" == gnome ]]; then required+=(kconfig accountsservice); else required+=(plasma-keyboard); fi if [[ "$(desktop_kind)" == gnome ]]; then required+=(kconfig accountsservice gnome-shell-extension-desktop-icons-ng); else required+=(plasma-keyboard); fi
info "Checking required packages: ${required[*]}" info "Checking required packages: ${required[*]}"
mapfile -t MISSING < <(pacman -T "${required[@]}") mapfile -t MISSING < <(pacman -T "${required[@]}")