From 18d3659d36802cb1b5745bd988902a16b7b784b4 Mon Sep 17 00:00:00 2001 From: rickpeters Date: Thu, 15 Oct 2026 21:13:41 +0200 Subject: [PATCH] GNOME theme: desktop icons from the top right, Steamify's launchers placed from there --- CHANGELOG.md | 1 + lib/gnome-theme.sh | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73afe46..760e3ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ one per merged pull request. - **fix: Restart GNOME logs in to GNOME: after the SteamOS conversion the account's session is gaming mode, and the relogin went there (a restart that took a minute: Steam starting in gaming mode). `steamify-gdm-relogin` takes the session to log in to (the one the app runs in) for this login only and puts the account's session, the one the next boot goes to, back once the new session is up** - **fix: turning the GNOME theme off also removes the dock's and tiling's settings schemas that were copied to `~/.local/share/glib-2.0/schemas` for GNOME Settings' panel (they stayed behind, for extensions that were gone). Desktop Icons NG and AppIndicator stay: they belong to the SteamOS conversion (the desktop shortcut and Steam's tray icon)** - **fix: turning everything off gives GNOME back what Steamify added for the desktop and tray icons: Desktop Icons NG and AppIndicator (and Extension Manager), which the SteamOS conversion and now the GNOME theme both need. When the last of the two is turned off, the two extensions leave the user's list of enabled extensions and the packages Steamify installed (noted in `gnomeextras.list` before installing, so packages the user had stay) are removed; while the other one is still on they stay, and are enabled again (the theme's undo puts back the list it found). Before, nothing removed them. The theme installs them itself too** +- **feat: the GNOME theme puts the desktop icons at the top right (Desktop Icons NG's start corner, like Ubuntu and macOS) and clears the saved positions of Steamify's own launchers (Return to Gaming Mode, Steamify, Steam) so they are placed from there, in name order; the user's own files keep theirs. Turning the theme off puts the start corner back** ## 2.12.0 - 2026-10-13 diff --git a/lib/gnome-theme.sh b/lib/gnome-theme.sh index 43083f6..335a1b3 100644 --- a/lib/gnome-theme.sh +++ b/lib/gnome-theme.sh @@ -101,6 +101,9 @@ gnometheme_shell() { # Trash is in the dock, not on the desktop (Ubuntu does the same). gset gnometheme org.gnome.shell.extensions.ding show-trash false || true gset gnometheme $d show-trash true || true + # Desktop icons from the top right, like Ubuntu's and macOS's desktops (Desktop Icons NG fills from the corner it starts at). + gset gnometheme org.gnome.shell.extensions.ding start-corner "'top-right'" || true + gnometheme_desktop_icons_reset local uuid enabled for uuid in "${GNOME_THEME_EXTENSIONS[@]}"; do enabled="$(gs get org.gnome.shell enabled-extensions 2>/dev/null)" || return 0 @@ -111,6 +114,17 @@ gnometheme_shell() { done } +gnometheme_desktop_icons_reset() { + # Steamify's own launchers on the desktop were placed (and their spot saved) from the left corner: without a saved + # position Desktop Icons NG puts them where its start corner says, by name. Only these, never the user's files. + local dir f + dir="$(xdg-user-dir DESKTOP 2>/dev/null || echo "$HOME/Desktop")" + for f in "$dir/Return to Gaming Mode.desktop" "$dir/io.github.theupriser.Steamify.desktop" "$dir/steam.desktop"; do + [[ -e "$f" ]] && gio set -t unset "$f" metadata::nautilus-icon-position 2>/dev/null + done + return 0 +} + gnometheme_extras_install() { # The desktop icons and the tray icons of the Ubuntu-style look: Desktop Icons NG and AppIndicator (and Extension Manager # for them), the same the SteamOS conversion needs (lib/desktop-shortcut.sh). Not fatal: the theme works without them.