feat: Wizard shortcut on the desktop and in the launcher

- Menu item: desktop icon + launcher entry that run the newest release in Konsole.
- Icon: Valve's return icon with a gear (assets/steam-gaming-settings.svg), published with each release.
- Desktop files are written already executable, so Plasma runs them.
- VERSION 0.9.0.
This commit is contained in:
theupriser committed 2026-09-24 11:46:25 +02:00
1 parent 852205317a
commit f01aa93d0e
8 files changed
+336 -9

No files matched your search

+2 -2
View File
@@ -72,7 +72,7 @@ jobs:
## Changes in v$VERSION ## Changes in v$VERSION
$changes" $changes"
gh release create "v$VERSION" dist/setup-gamescope-boot.sh \ gh release create "v$VERSION" dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg \
--target "$GITHUB_SHA" --title "v$VERSION" --notes "$notes" --latest --target "$GITHUB_SHA" --title "v$VERSION" --notes "$notes" --latest
# "latest" follows the newest version tag, for the older install URL # "latest" follows the newest version tag, for the older install URL
@@ -85,4 +85,4 @@ jobs:
else else
gh release create latest --title "Latest (v$VERSION)" --notes "$latest_notes" --latest=false gh release create latest --title "Latest (v$VERSION)" --notes "$latest_notes" --latest=false
fi fi
gh release upload latest dist/setup-gamescope-boot.sh --clobber gh release upload latest dist/setup-gamescope-boot.sh assets/steam-gaming-settings.svg --clobber
+7
View File
@@ -149,6 +149,13 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
- The entry point loops: menu, run, "back to the menu" (or `[m]`/`[r]` when a - The entry point loops: menu, run, "back to the menu" (or `[m]`/`[r]` when a
restart is needed), until `q`; the restart question is asked once at the restart is needed), until `q`; the restart question is asked once at the
end. Scripted input that runs out ends the loop like `q`. end. Scripted input that runs out ends the loop like `q`.
- Wizard shortcut (`launcher`): the icon runs `curl | bash` of
`releases/latest/download/setup-gamescope-boot.sh` in Konsole, so it's
always the newest release. Its icon, `assets/steam-gaming-settings.svg`
(Valve's GPL-2.0 return icon with a gear), is a release asset too, and is
downloaded from there (Steam's icon if that fails). Desktop files are
written with their mode already set (`install_executable`): Plasma opens a
desktop icon it first saw non-executable in an editor.
- `Relogin=true` means a gamescope that fails to start is relaunched in a - `Relogin=true` means a gamescope that fails to start is relaunched in a
tight loop; keep that in mind when changing session handling. tight loop; keep that in mind when changing session handling.
+13 -2
View File
@@ -5,7 +5,18 @@ All notable changes, per version and per commit. Versions follow
`setup-gamescope-boot.sh`. Versions before 0.7.0 were numbered afterwards, `setup-gamescope-boot.sh`. Versions before 0.7.0 were numbered afterwards,
one per merged pull request. one per merged pull request.
## 0.8.0 - 2026-09-24 ## 0.9.0 - 2026-09-24
- **feat: Wizard shortcut on the desktop and in the launcher**
- New menu item: a "SteamOS Setup Wizard" desktop icon and app launcher entry
that open the newest release of the wizard in Konsole (`curl | bash`).
- Its icon: Valve's Return to Gaming Mode icon with a gear instead of the
arrow (`assets/steam-gaming-settings.svg`), published with every release
and downloaded from there.
- Desktop files are written already executable, so Plasma runs them instead
of opening them in an editor.
## 0.8.0 - 2026-09-24 (#8)
An opt-in BIOS update for the Steam Machine, and a menu that comes back after An opt-in BIOS update for the Steam Machine, and a menu that comes back after
every run. every run.
@@ -40,7 +51,7 @@ every run.
- "now F7F0107, newest F7F0108 (own risk)", "F7F0108 waits for a restart", - "now F7F0107, newest F7F0108 (own risk)", "F7F0108 waits for a restart",
"F7F0107 is up to date"; shorter dry-run line. "F7F0107 is up to date"; shorter dry-run line.
- `99a95ab` **fix: Kernel legend only mentions the LEDs on a Steam Machine** - `99a95ab` **fix: Kernel legend only mentions the LEDs on a Steam Machine**
- **docs: Last commit hash in the changelog; 0.7.0 was released on its own (#6, #7)** - `c0014ee` **docs: Last commit hash in the changelog; 0.7.0 was released on its own (#6, #7)**
## 0.7.0 - 2026-09-24 (#6, #7) ## 0.7.0 - 2026-09-24 (#6, #7)
+6 -2
View File
@@ -24,10 +24,13 @@ Everything you turn off is put back the way it was.
4. **Single user mode** - like SteamOS: never a login or lock screen, no 4. **Single user mode** - like SteamOS: never a login or lock screen, no
user switching or logging out. Typing a password with a controller is no user switching or logging out. Typing a password with a controller is no
fun. (Needs 1.) fun. (Needs 1.)
5. **Steam Machine support** - only shown on a Valve Steam Machine: the 5. **Wizard shortcut** - a "SteamOS Setup Wizard" icon on the desktop and in
the app launcher (the Steam logo with a gear) that opens the newest version
of this wizard in Konsole, so you don't need the install command again.
6. **Steam Machine support** - only shown on a Valve Steam Machine: the
driver for the front LED bar, and the hardware settings in Steam (fan, driver for the front LED bar, and the hardware settings in Steam (fan,
TV control over HDMI-CEC). TV control over HDMI-CEC).
6. **Update BIOS** - only on a Steam Machine, opt-in and at your own risk: 7. **Update BIOS** - only on a Steam Machine, opt-in and at your own risk:
installs the newest Steam Machine BIOS from Valve (see installs the newest Steam Machine BIOS from Valve (see
[BIOS updates](#bios-updates-steam-machine)). [BIOS updates](#bios-updates-steam-machine)).
@@ -359,6 +362,7 @@ gamescope-session, ...) stay installed.
| `lib/vapor-theme.sh` | SteamOS theme: installs and switches to `cachyos-vapor` | | `lib/vapor-theme.sh` | SteamOS theme: installs and switches to `cachyos-vapor` |
| `lib/steamos-extras.sh` | SteamOS desktop extras from Valve's package (Add to Steam, Nested Desktop, icon, keyboard rule, KWallet) | | `lib/steamos-extras.sh` | SteamOS desktop extras from Valve's package (Add to Steam, Nested Desktop, icon, keyboard rule, KWallet) |
| `lib/single-user.sh` | Single user mode: no lock screen, user switching or log out | | `lib/single-user.sh` | Single user mode: no lock screen, user switching or log out |
| `lib/wizard-shortcut.sh` | Wizard shortcut: desktop icon and launcher entry that run the newest release |
| `lib/bios.sh` | Update BIOS (Steam Machine, opt-in): current/newest version, double confirmation, fwupd | | `lib/bios.sh` | Update BIOS (Steam Machine, opt-in): current/newest version, double confirmation, fwupd |
| `lib/steam-machine.sh` | Steam Machine support: LED driver, LED access, steamos-manager | | `lib/steam-machine.sh` | Steam Machine support: LED driver, LED access, steamos-manager |
| `.github/tools/bundle.sh` | Builds the single-file version (`dist/setup-gamescope-boot.sh`) | | `.github/tools/bundle.sh` | Builds the single-file version (`dist/setup-gamescope-boot.sh`) |
+224
View File
@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Icon for the "SteamOS Setup Wizard" shortcut of cachyos-gamescope-boot.
Derived from Valve's steam-gaming-return.svg (steamdeck-kde-presets,
GPL-2.0): the Return to Gaming Mode arrow replaced by a gear. -->
<svg
width="48"
height="48"
viewBox="0 0 48 48"
version="1.1"
id="svg11"
sodipodi:docname="steam-gaming-settings.svg"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview11"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="true"
inkscape:zoom="8"
inkscape:cx="16.6875"
inkscape:cy="16.4375"
inkscape:window-width="1920"
inkscape:window-height="1014"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg11">
<inkscape:grid
id="grid11"
units="px"
originx="0"
originy="0"
spacingx="1"
spacingy="1"
empcolor="#3f3fff"
empopacity="0.25098039"
color="#3f3fff"
opacity="0.1254902"
empspacing="5"
enabled="true"
visible="true" />
</sodipodi:namedview>
<defs
id="defs4">
<linearGradient
id="blue-gradient-5">
<stop
style="stop-color:#054e87;stop-opacity:1"
offset="0"
id="stop1" />
<stop
style="stop-color:#1d99f3;stop-opacity:1"
offset="1"
id="stop2" />
</linearGradient>
<linearGradient
id="shadow-3">
<stop
style="stop-color:#31363b;stop-opacity:0.208"
offset="0"
id="stop3" />
<stop
style="stop-color:#31363b;stop-opacity:0;"
offset="1"
id="stop4" />
</linearGradient>
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4199"
x1="21.969"
y1="1035.362"
x2="35.969"
y2="1049.362"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(10,-1018.3622)" />
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4203"
gradientUnits="userSpaceOnUse"
x1="23"
y1="1035.362"
x2="36"
y2="1048.362"
gradientTransform="translate(13,-1021.3622)" />
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4227"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-15.75,-1005.8622)"
x1="21.475"
y1="1035.158"
x2="34.475"
y2="1048.158" />
<linearGradient
xlink:href="#blue-gradient-5"
id="linearGradient4351"
x1="24"
y1="1008.362"
x2="24"
y2="1048.362"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-1004.3622)" />
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4373"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(5.9783302,-1021.8757)"
x1="21.085"
y1="1036.975"
x2="35.969"
y2="1049.362" />
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4377"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-6.3297472,-1009.2141)"
x1="21.085"
y1="1036.975"
x2="35.969"
y2="1049.362" />
<linearGradient
xlink:href="#shadow-3"
id="linearGradient4381"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-2.8703079,-1005.5321)"
x1="21.969"
y1="1035.362"
x2="35.969"
y2="1049.362" />
<linearGradient
inkscape:collect="always"
xlink:href="#blue-gradient-5"
id="linearGradient12"
x1="34.848072"
y1="2.7402468"
x2="35.248451"
y2="46.980125"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#shadow-3"
id="linearGradient14"
x1="34.345119"
y1="37.896885"
x2="42.498322"
y2="45.409893"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#shadow-3"
id="linearGradient16"
x1="3.5050631"
y1="46.96999"
x2="3.6629491"
y2="50.93874"
gradientUnits="userSpaceOnUse" />
</defs>
<circle
style="fill:url(#linearGradient4351);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
cx="24"
cy="23.999861"
r="20"
id="circle4" />
<circle
id="path43518"
cx="34.995033"
cy="34.995033"
style="fill:url(#linearGradient12);fill-rule:evenodd;stroke-width:0.999996;fill-opacity:1"
r="12" />
<path
style="fill:url(#linearGradient4203);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 35.923828,13.330078 C 37.206994,14.675942 38,16.493653 38,18.5 c -10e-7,4.142136 -3.357865,7.5 -7.5,7.5 -0.203438,-0.0015 -0.406734,-0.01127 -0.609375,-0.0293 l -5.896484,5.111328 c -0.0083,0.739616 -0.153346,1.471317 -0.427735,2.158203 -1.23712,3.074359 -4.732395,4.563589 -7.80664,3.326172 -0.24293,-0.09775 -0.470788,-0.215212 -0.69336,-0.339844 -0.04331,-0.0244 -0.08621,-0.04875 -0.128906,-0.07422 -0.211403,-0.125374 -0.414371,-0.260582 -0.605469,-0.408203 -0.0063,-0.0049 -0.01326,-0.0088 -0.01953,-0.01367 l -0.01172,0.002 8.19336,8.193359 C 22.994984,43.969391 23.497293,43.994196 24,44 a 20,20 0 0 0 1.310547,-0.04687 c 0.06663,-0.0043 0.132772,-0.01066 0.199219,-0.01563 a 20,20 0 0 0 1.845703,-0.222656 c 0.03199,-0.0054 0.06377,-0.01202 0.0957,-0.01758 a 20,20 0 0 0 1.396484,-0.3125 c 0.240477,-0.05998 0.481808,-0.116947 0.71875,-0.185547 A 20,20 0 0 0 30.7832,42.79492 c 0.221103,-0.07984 0.444706,-0.154851 0.662109,-0.242188 a 20,20 0 0 0 1.148441,-0.51367 C 32.813074,41.93437 33.035177,41.835015 33.25,41.722656 a 20,20 0 0 0 1.03125,-0.591797 c 0.231705,-0.139379 0.46789,-0.271541 0.693359,-0.419921 a 20,20 0 0 0 0.953125,-0.685547 c 0.206289,-0.153802 0.419094,-0.299475 0.619141,-0.460938 a 20,20 0 0 0 0.908203,-0.796875 c 0.190109,-0.173313 0.387023,-0.339092 0.570313,-0.519531 a 20,20 0 0 0 0.833984,-0.892578 c 0.163426,-0.181706 0.335418,-0.355335 0.492187,-0.542969 a 20,20 0 0 0 0.863282,-1.136719 c 0.102363,-0.141895 0.215754,-0.275269 0.314453,-0.419922 a 20,20 0 0 0 3.371094,-9.257812 c 6.3e-5,-6.43e-4 -6.4e-5,-0.0013 0,-0.002 a 20,20 0 0 0 0,-0.0059 A 20,20 0 0 0 44,24 20,20 0 0 0 43.779297,21.185547 Z"
id="path6" />
<path
style="fill:url(#linearGradient4227);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 5.7695312,29.3125 19.363281,43.431641 a 20,20 0 0 0 3.13086,0.49414 l -8.19336,-8.193359 -2.001953,-4.97461 z"
id="path9" />
<g
id="g11">
<path
d="m 26.586,23.6632 8.104641,-0.4201 1.91027,-6.7552 -5.59099,-4.4419 -6.871493,5.8329 z"
style="fill:url(#linearGradient4373);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path4" />
<path
style="fill:url(#linearGradient4199);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 31.027515,23.9946 35,23 l 1.976562,-2.9766 -4,-4 -4.949047,4.9712 z"
id="path5" />
<path
style="fill:url(#linearGradient4377);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15.316486,35.7061 21.675457,35.065 23.0333,27.5143 16.403747,25.7462 12.603749,30.3195 Z"
id="path7" />
<path
d="m 16.985332,35.8717 3.972485,-0.4165 2.210937,-3.4453 -3.0625,-3.1563 -6.933422,3.9868 z"
style="fill:url(#linearGradient4381);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="path8" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 30.5,11 c -4.142135,0 -7.499999,3.357864 -7.5,7.5 0.0017,0.201484 0.01143,0.402819 0.0293,0.603516 -1.289636,1.575722 -4.80544,5.546997 -5.113281,5.902343 -2.416761,0.03284 -4.577852,1.51258 -5.482422,3.753907 -1.237432,3.074241 0.2518,6.569519 3.326172,7.80664 3.074245,1.237417 6.56952,-0.251813 7.80664,-3.326172 0.274389,-0.686886 0.419405,-1.418587 0.427735,-2.158203 l 5.896484,-5.111328 C 30.093269,25.98873 30.296562,25.998503 30.5,26 34.642135,26 37.999999,22.642136 38,18.5 37.999999,14.357864 34.642135,11 30.5,11 Z m 0,3 c 2.48528,0 4.499999,2.014718 4.5,4.5 -10e-7,2.485282 -2.01472,4.5 -4.5,4.5 -2.48528,0 -4.499999,-2.014718 -4.5,-4.5 1e-6,-2.485282 2.01472,-4.5 4.5,-4.5 z M 18.046875,27 c 0.496175,0.0058 0.986949,0.103774 1.447266,0.289062 2.049689,0.825003 3.042263,3.155585 2.216797,5.205079 -0.825003,2.049668 -3.155579,3.04224 -5.205079,2.216797 C 14.45617,33.885935 13.463596,31.555353 14.289062,29.505859 14.905127,27.975627 16.397393,26.980525 18.046875,27 Z"
id="path10" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
cx="30.5"
cy="18.4998"
id="ellipse10"
r="3.5" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 5.0722656,22.564453 A 19,19 0 0 0 5,24 19,19 0 0 0 5.7695312,29.3125 l 11.1113278,4.470703 a 3,3 0 0 0 3.902344,-1.664062 3,3 0 0 0 -1.664062,-3.902344 z"
id="path11" />
</g>
<path id="gear" style="fill:#ffffff;fill-rule:evenodd;stroke:none" d="M 40.440,33.688 L 42.527,33.983 L 42.527,36.007 L 40.440,36.302 L 39.770,37.921 L 41.037,39.606 L 39.606,41.037 L 37.921,39.770 L 36.302,40.440 L 36.007,42.527 L 33.983,42.527 L 33.688,40.440 L 32.069,39.770 L 30.384,41.037 L 28.953,39.606 L 30.220,37.921 L 29.550,36.302 L 27.463,36.007 L 27.463,33.983 L 29.550,33.688 L 30.220,32.069 L 28.953,30.384 L 30.384,28.953 L 32.069,30.220 L 33.688,29.550 L 33.983,27.463 L 36.007,27.463 L 36.302,29.550 L 37.921,30.220 L 39.606,28.953 L 41.037,30.384 L 39.770,32.069 Z M 37.395,34.995 A 2.4,2.4 0 1 0 32.595,34.995 A 2.4,2.4 0 1 0 37.395,34.995 Z" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

+2 -1
View File
@@ -5,7 +5,7 @@
# Menu order. Components are turned on in this order and off in reverse; # Menu order. Components are turned on in this order and off in reverse;
# gaming must come first (single user builds on it). # gaming must come first (single user builds on it).
COMPONENTS=(gaming theme glyphs single machine bios) COMPONENTS=(gaming theme glyphs single launcher machine bios)
# One-off actions rather than on/off components: never preselected, never # One-off actions rather than on/off components: never preselected, never
# re-applied, not listed as on or off. # re-applied, not listed as on or off.
ACTIONS=(bios) ACTIONS=(bios)
@@ -15,6 +15,7 @@ declare -A LABEL=(
[theme]="Install SteamOS theme: Vapor look (cachyos-vapor)" [theme]="Install SteamOS theme: Vapor look (cachyos-vapor)"
[glyphs]="Install Steam Deck/Machine icons: Deck button icons in gaming mode" [glyphs]="Install Steam Deck/Machine icons: Deck button icons in gaming mode"
[single]="Single user mode: no password, lock screen or log out (SDDM)" [single]="Single user mode: no password, lock screen or log out (SDDM)"
[launcher]="Wizard shortcut: desktop icon to run this wizard again"
[machine]="Steam Machine support: LED bar driver, hardware settings in Steam" [machine]="Steam Machine support: LED bar driver, hardware settings in Steam"
[bios]="Update BIOS" [bios]="Update BIOS"
) )
+80
View File
@@ -0,0 +1,80 @@
#!/bin/bash
# "Wizard shortcut" menu item: a desktop icon and an app launcher entry that
# open the newest release of this wizard in Konsole (curl | bash, like the
# install command in the README), so it's never out of date.
# Sourced by setup-gamescope-boot.sh; not meant to be run on its own.
WIZARD_RELEASE="https://github.com/theupriser/cachyos-gamescope-boot/releases/latest/download"
WIZARD_URL="$WIZARD_RELEASE/setup-gamescope-boot.sh"
# Steam logo with a gear (assets/ in the repo, published with every release).
WIZARD_ICON="${XDG_DATA_HOME:-$HOME/.local/share}/icons/hicolor/scalable/apps/cachyos-gamescope-boot-wizard.svg"
WIZARD_LAUNCHER="${XDG_DATA_HOME:-$HOME/.local/share}/cachyos-gamescope-boot/run-wizard"
WIZARD_DESKTOP_NAME="cachyos-gamescope-boot-wizard.desktop"
WIZARD_APP_ENTRY="${XDG_DATA_HOME:-$HOME/.local/share}/applications/$WIZARD_DESKTOP_NAME"
wizard_desktop_file() {
echo "$(xdg-user-dir DESKTOP 2>/dev/null || echo "$HOME/Desktop")/$WIZARD_DESKTOP_NAME"
}
install_executable() {
# install_executable <dest> <mode>: stdin to <dest>, with its mode set
# before it appears. Plasma treats a desktop icon it saw while it wasn't
# executable yet as untrusted and opens it in an editor.
local dest="$1" tmp
mkdir -p "$(dirname "$dest")"
tmp="$(mktemp "$(dirname "$dest")/.tmp.XXXXXX")"
cat > "$tmp"
chmod "$2" "$tmp"
mv -f "$tmp" "$dest"
}
launcher_status() {
[[ -x "$WIZARD_LAUNCHER" && -f "$WIZARD_APP_ENTRY" ]]
}
launcher_enable() {
info "Adding the wizard shortcut (desktop icon and app launcher entry)..."
install_executable "$WIZARD_LAUNCHER" 755 << EOF
#!/bin/bash
# Installed by cachyos-gamescope-boot: run the newest release of the wizard.
if ! curl -fsSL --max-time 30 "$WIZARD_URL" | bash; then
echo
echo "Couldn't download or run the wizard. Are you connected to the internet?"
fi
echo
read -rp "Press Enter to close this window... " _
EOF
# The icon comes with the release; without it, Steam's own icon.
local icon=steam tmp
tmp="$(mktemp)"
if curl -fsSL --max-time 20 "$WIZARD_RELEASE/steam-gaming-settings.svg" -o "$tmp" && grep -q '<svg' "$tmp"; then
install -D -m 644 "$tmp" "$WIZARD_ICON"
icon=cachyos-gamescope-boot-wizard
gtk-update-icon-cache -q -f -t "${XDG_DATA_HOME:-$HOME/.local/share}/icons/hicolor" 2>/dev/null || true
else
warn "Couldn't download the shortcut's icon; using Steam's icon instead."
fi
rm -f "$tmp"
local entry
entry="[Desktop Entry]
Type=Application
Name=SteamOS Setup Wizard
Comment=Turn the SteamOS-style parts of this PC on or off (cachyos-gamescope-boot)
Exec=konsole -e $WIZARD_LAUNCHER
Icon=$icon
Terminal=false
Categories=System;Settings;"
printf '%s\n' "$entry" | install_executable "$WIZARD_APP_ENTRY" 644
printf '%s\n' "$entry" | install_executable "$(wizard_desktop_file)" 755
kbuildsycoca6 >/dev/null 2>&1 || true
ok "Wizard shortcut added: \"SteamOS Setup Wizard\" on the desktop and in the launcher."
}
launcher_disable() {
rm -f "$(wizard_desktop_file)" "$WIZARD_APP_ENTRY" "$WIZARD_LAUNCHER" "$WIZARD_ICON"
rmdir "$(dirname "$WIZARD_LAUNCHER")" 2>/dev/null || true
kbuildsycoca6 >/dev/null 2>&1 || true
ok "Wizard shortcut removed."
}
+2 -2
View File
@@ -15,11 +15,11 @@
set -uo pipefail set -uo pipefail
# Release version, see CHANGELOG.md. # Release version, see CHANGELOG.md.
VERSION=0.8.0 VERSION=0.9.0
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
for lib in common state packages login-manager single-user steam-desktop steam-machine vapor-theme steamos-extras bios desktop-shortcut menu; do for lib in common state packages login-manager single-user steam-desktop steam-machine vapor-theme steamos-extras bios desktop-shortcut wizard-shortcut menu; do
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "$SCRIPT_DIR/lib/$lib.sh" source "$SCRIPT_DIR/lib/$lib.sh"
done done