mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
feat: "Start Steam silently in desktop mode" is always shown, also on a Steam Machine
Sync git.upriser.nl mirror / sync (push) Skipped
Sync git.upriser.nl mirror / sync (push) Skipped
This commit is contained in:
1 parent
613149a807
commit
349492423e
6 files changed
+8
-25
No files matched your search
+1
-1
@@ -7,7 +7,7 @@ one per merged pull request.
|
|||||||
|
|
||||||
## 2.11.0 - 2026-10-01
|
## 2.11.0 - 2026-10-01
|
||||||
|
|
||||||
- `5da1833` **feat: "Start Steam silently" sub-option: under the SteamOS conversion (`silent`, on by default, as before) and under Gaming on NVIDIA (`nvsilent`, opt-in, not together with Big Picture); on a Steam Machine only when it boots into the desktop**
|
- `5da1833` **feat: "Start Steam silently" sub-option: under the SteamOS conversion (`silent`, on by default, as before) and under Gaming on NVIDIA (`nvsilent`, opt-in, not together with Big Picture); the SteamOS one is called "Start Steam silently in desktop mode" and is always shown, also on a Steam Machine**
|
||||||
|
|
||||||
## 2.10.0 - 2026-10-01
|
## 2.10.0 - 2026-10-01
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -109,7 +109,7 @@ tools write to the conf.d fragment into the base config.
|
|||||||
installs `/usr/local/bin/sync-steamos-session.sh` plus
|
installs `/usr/local/bin/sync-steamos-session.sh` plus
|
||||||
`sync-steamos-session.path`/`.service`;
|
`sync-steamos-session.path`/`.service`;
|
||||||
- `KWIN_IM_SHOW_ALWAYS=1` for the virtual keyboard; the sub-option `silent`
|
- `KWIN_IM_SHOW_ALWAYS=1` for the virtual keyboard; the sub-option `silent`
|
||||||
("Start Steam silently", on by default) adds a `steam-desktop-autostart`
|
("Start Steam silently in desktop mode", on by default, always shown) adds a `steam-desktop-autostart`
|
||||||
systemd user service that starts Steam silently in Plasma only;
|
systemd user service that starts Steam silently in Plasma only;
|
||||||
- the **Return to Gaming Mode** shortcut; on plasma-login-manager with a
|
- the **Return to Gaming Mode** shortcut; on plasma-login-manager with a
|
||||||
narrow sudoers rule (`/etc/sudoers.d/gamescope-session-switch`) so it can
|
narrow sudoers rule (`/etc/sudoers.d/gamescope-session-switch`) so it can
|
||||||
|
|||||||
+1
-2
@@ -50,7 +50,7 @@ backend_status() {
|
|||||||
items+="${items:+,}{\"id\":$(json_str "$c"),\"label\":$(json_str "${LABEL[$c]%%:*}")"
|
items+="${items:+,}{\"id\":$(json_str "$c"),\"label\":$(json_str "${LABEL[$c]%%:*}")"
|
||||||
items+=",\"hint\":$(json_str "$( [[ "${LABEL[$c]}" == *:* ]] && echo "${LABEL[$c]#*: }")")"
|
items+=",\"hint\":$(json_str "$( [[ "${LABEL[$c]}" == *:* ]] && echo "${LABEL[$c]#*: }")")"
|
||||||
items+=",\"kind\":\"$kind\",\"parent\":$(json_str "$parent")"
|
items+=",\"kind\":\"$kind\",\"parent\":$(json_str "$parent")"
|
||||||
items+=",\"needs\":$(json_str "$([[ "$c" == silent ]] && silent_needs_boot && echo boot)")"
|
items+=",\"needs\":\"\""
|
||||||
items+=",\"on\":$( [[ "$now" == 1 ]] && echo true || echo false)"
|
items+=",\"on\":$( [[ "$now" == 1 ]] && echo true || echo false)"
|
||||||
items+=",\"wanted\":$( [[ "${WANTED[$c]:-0}" == 1 ]] && echo true || echo false)"
|
items+=",\"wanted\":$( [[ "${WANTED[$c]:-0}" == 1 ]] && echo true || echo false)"
|
||||||
items+=",\"update\":$(feature_outdated "$c" && echo true || echo false)"
|
items+=",\"update\":$(feature_outdated "$c" && echo true || echo false)"
|
||||||
@@ -167,7 +167,6 @@ backend_apply() {
|
|||||||
# Retired: only ever removed.
|
# Retired: only ever removed.
|
||||||
WANTED[hdmi]=0
|
WANTED[hdmi]=0
|
||||||
case "$boot" in desktop) WANTED[boot]=1; WANTED[gaming]=1 ;; gamescope) WANTED[boot]=0 ;; esac
|
case "$boot" in desktop) WANTED[boot]=1; WANTED[gaming]=1 ;; gamescope) WANTED[boot]=0 ;; esac
|
||||||
silent_normalize
|
|
||||||
|
|
||||||
REAPPLY=$reapply
|
REAPPLY=$reapply
|
||||||
plan_changes
|
plan_changes
|
||||||
|
|||||||
+2
-18
@@ -35,7 +35,7 @@ declare -A LABEL=(
|
|||||||
[gaming]="SteamOS conversion: boot into gaming mode, Steam on the desktop"
|
[gaming]="SteamOS conversion: boot into gaming mode, Steam on the desktop"
|
||||||
[boot]="Boot into the desktop instead of gaming mode"
|
[boot]="Boot into the desktop instead of gaming mode"
|
||||||
[nvidia]="Gaming on NVIDIA: Steam on the desktop, started at login"
|
[nvidia]="Gaming on NVIDIA: Steam on the desktop, started at login"
|
||||||
[silent]="Start Steam silently: in the tray at login on the desktop, no window"
|
[silent]="Start Steam silently in desktop mode: in the tray at login on the desktop, no window"
|
||||||
[nvsilent]="Start Steam silently: in the tray at login, no window (untick: Steam's normal window)"
|
[nvsilent]="Start Steam silently: in the tray at login, no window (untick: Steam's normal window)"
|
||||||
[bigpicture]="Steam starts in Big Picture: the controller-friendly Steam (untick: Steam's normal window)"
|
[bigpicture]="Steam starts in Big Picture: the controller-friendly Steam (untick: Steam's normal window)"
|
||||||
[theme]="Install SteamOS theme: Vapor look (cachyos-vapor)"
|
[theme]="Install SteamOS theme: Vapor look (cachyos-vapor)"
|
||||||
@@ -81,25 +81,12 @@ boot_mode() {
|
|||||||
if [[ "$1" == 1 ]]; then echo desktop; else echo gamescope; fi
|
if [[ "$1" == 1 ]]; then echo desktop; else echo gamescope; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
silent_needs_boot() {
|
|
||||||
# On a Steam Machine, silent start only makes sense when it boots into
|
|
||||||
# the desktop (gaming mode starts its own Steam): the option is hidden,
|
|
||||||
# and off, while "Boot into" is gaming mode.
|
|
||||||
machine_available
|
|
||||||
}
|
|
||||||
|
|
||||||
silent_normalize() {
|
|
||||||
silent_needs_boot && [[ "${WANTED[boot]:-0}" != 1 ]] && WANTED[silent]=0
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
menu_visible() {
|
menu_visible() {
|
||||||
# Shown in the menu. A sub-option ("Boot into", the kernel pin) only
|
# Shown in the menu. A sub-option ("Boot into", the kernel pin) only
|
||||||
# while its parent is ticked.
|
# while its parent is ticked.
|
||||||
component_available "$1" || return 1
|
component_available "$1" || return 1
|
||||||
# Silent start is hidden while Steam starts in Big Picture.
|
# Silent start is hidden while Steam starts in Big Picture.
|
||||||
[[ "$1" == nvsilent && "${WANTED[bigpicture]:-0}" == 1 ]] && return 1
|
[[ "$1" == nvsilent && "${WANTED[bigpicture]:-0}" == 1 ]] && return 1
|
||||||
[[ "$1" == silent ]] && silent_needs_boot && [[ "${WANTED[boot]:-0}" != 1 ]] && return 1
|
|
||||||
[[ -z "${PARENT[$1]:-}" || "${WANTED[${PARENT[$1]}]:-0}" == 1 ]]
|
[[ -z "${PARENT[$1]:-}" || "${WANTED[${PARENT[$1]}]:-0}" == 1 ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,7 +207,6 @@ detect_components() {
|
|||||||
done
|
done
|
||||||
machine_available && WANTED[cec]=1
|
machine_available && WANTED[cec]=1
|
||||||
fi
|
fi
|
||||||
silent_normalize
|
|
||||||
}
|
}
|
||||||
|
|
||||||
defaults_options() {
|
defaults_options() {
|
||||||
@@ -277,7 +263,6 @@ defaults_options() {
|
|||||||
WANTED[boot]=1 ;;
|
WANTED[boot]=1 ;;
|
||||||
gamescope) WANTED[boot]=0 ;;
|
gamescope) WANTED[boot]=0 ;;
|
||||||
esac
|
esac
|
||||||
silent_normalize
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +286,7 @@ defaults_list() {
|
|||||||
[[ "$c" == cec ]] && machine_available && on=true
|
[[ "$c" == cec ]] && machine_available && on=true
|
||||||
items+="${items:+,}{\"id\":$(json_str "$c"),\"label\":$(json_str "${LABEL[$c]%%:*}")"
|
items+="${items:+,}{\"id\":$(json_str "$c"),\"label\":$(json_str "${LABEL[$c]%%:*}")"
|
||||||
items+=",\"hint\":$(json_str "$( [[ "${LABEL[$c]}" == *:* ]] && echo "${LABEL[$c]#*: }")")"
|
items+=",\"hint\":$(json_str "$( [[ "${LABEL[$c]}" == *:* ]] && echo "${LABEL[$c]#*: }")")"
|
||||||
items+=",\"kind\":\"$kind\",\"parent\":$(json_str "${PARENT[$c]:-}"),\"needs\":$(json_str "$([[ "$c" == silent ]] && silent_needs_boot && echo boot)"),\"hideWhen\":$(json_str "$([[ "$c" == nvsilent ]] && echo bigpicture)"),\"on\":$on,\"selectable\":$sel}"
|
items+=",\"kind\":\"$kind\",\"parent\":$(json_str "${PARENT[$c]:-}"),\"needs\":\"\",\"hideWhen\":$(json_str "$([[ "$c" == nvsilent ]] && echo bigpicture)"),\"on\":$on,\"selectable\":$sel}"
|
||||||
done
|
done
|
||||||
printf '[%s]\n' "$items"
|
printf '[%s]\n' "$items"
|
||||||
}
|
}
|
||||||
@@ -324,7 +309,6 @@ toggle_component() {
|
|||||||
if [[ "$c" == nvidia && "${WANTED[nvidia]}" == 0 ]]; then WANTED[nvsilent]=0; fi
|
if [[ "$c" == nvidia && "${WANTED[nvidia]}" == 0 ]]; then WANTED[nvsilent]=0; fi
|
||||||
if [[ "$c" == gaming && "${WANTED[gaming]}" == 0 ]]; then WANTED[silent]=0; fi
|
if [[ "$c" == gaming && "${WANTED[gaming]}" == 0 ]]; then WANTED[silent]=0; fi
|
||||||
if [[ "$c" == silent && "${WANTED[silent]}" == 1 ]]; then WANTED[gaming]=1; fi
|
if [[ "$c" == silent && "${WANTED[silent]}" == 1 ]]; then WANTED[gaming]=1; fi
|
||||||
silent_normalize
|
|
||||||
# The power-off fix is opt-out: ticked along with Steam Machine support.
|
# The power-off fix is opt-out: ticked along with Steam Machine support.
|
||||||
if [[ "$c" == machine ]]; then WANTED[poweroff]=${WANTED[machine]}; fi
|
if [[ "$c" == machine ]]; then WANTED[poweroff]=${WANTED[machine]}; fi
|
||||||
if [[ "$c" == poweroff && "${WANTED[poweroff]}" == 1 ]]; then WANTED[machine]=1; fi
|
if [[ "$c" == poweroff && "${WANTED[poweroff]}" == 1 ]]; then WANTED[machine]=1; fi
|
||||||
|
|||||||
+2
-2
@@ -38,8 +38,8 @@ Item {
|
|||||||
|
|
||||||
readonly property var status: backend.status || ({})
|
readonly property var status: backend.status || ({})
|
||||||
readonly property var items: status.items || []
|
readonly property var items: status.items || []
|
||||||
// Hidden: Big Picture excludes a silent start; on a Steam Machine a silent start needs "Boot into" desktop.
|
// Hidden: Big Picture excludes a silent start.
|
||||||
function hidden(i) { return (i.id === "nvsilent" && want.bigpicture) || (i.needs === "boot" && boot !== "desktop"); }
|
function hidden(i) { return i.id === "nvsilent" && want.bigpicture; }
|
||||||
readonly property var rows: items.filter(function (i) { return (!i.parent || want[i.parent]) && !hidden(i); })
|
readonly property var rows: items.filter(function (i) { return (!i.parent || want[i.parent]) && !hidden(i); })
|
||||||
readonly property var bios: status.bios || null
|
readonly property var bios: status.bios || null
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ QtObject {
|
|||||||
boot: { label: "Boot into", hint: "Where the PC starts",
|
boot: { label: "Boot into", hint: "Where the PC starts",
|
||||||
body: "Where the PC starts after a restart. Switching back and forth works the same either way.",
|
body: "Where the PC starts after a restart. Switching back and forth works the same either way.",
|
||||||
changes: ["Desktop: the Plasma session is set before login", "Gaming: the SteamOS default"] },
|
changes: ["Desktop: the Plasma session is set before login", "Gaming: the SteamOS default"] },
|
||||||
silent: { label: "Start Steam silently", hint: "In the tray at login on the desktop, no window",
|
silent: { label: "Start Steam silently in desktop mode", hint: "In the tray at login on the desktop, no window",
|
||||||
body: "Steam starts by itself when you log in to the Plasma desktop, in the tray without a window. Gaming mode starts its own Steam.",
|
body: "Steam starts by itself when you log in to the Plasma desktop, in the tray without a window. Gaming mode starts its own Steam.",
|
||||||
changes: ["Steam is started with -silent (a systemd user service, desktop only)", "Off: the service is removed again"] },
|
changes: ["Steam is started with -silent (a systemd user service, desktop only)", "Off: the service is removed again"] },
|
||||||
nvidia: { label: "Gaming on NVIDIA", hint: "Steam on the desktop, started at login",
|
nvidia: { label: "Gaming on NVIDIA", hint: "Steam on the desktop, started at login",
|
||||||
|
|||||||
Reference in new issue
Block a user