Hide Steam UI while loading

This commit is contained in:
Albert Armea 2025-12-29 02:30:08 -05:00
parent afa6efe9d7
commit 2711782c42
2 changed files with 34 additions and 6 deletions

View file

@ -87,6 +87,11 @@ window {
font-size: 24px; font-size: 24px;
font-weight: 600; font-weight: 600;
} }
.session-sublabel {
color: #888888;
font-size: 16px;
}
"#; "#;
pub struct LauncherApp { pub struct LauncherApp {
@ -356,11 +361,13 @@ impl LauncherApp {
entry_label, entry_label,
time_remaining: _, time_remaining: _,
} => { } => {
session_label.set_text(&format!("Running: {}", entry_label)); session_label.set_text(&format!("Loading: {}", entry_label));
// Hide the launcher window so the application can be seen // Show the session view as a loading screen behind the game
// The game window will appear on top when it launches
if let Some(ref win) = window { if let Some(ref win) = window {
win.set_visible(false); win.set_visible(true);
} }
stack.set_visible_child_name("session");
} }
LauncherState::Error { message } => { LauncherState::Error { message } => {
if let Some(ref win) = window { if let Some(ref win) = window {
@ -417,12 +424,17 @@ impl LauncherApp {
container.set_valign(gtk4::Align::Center); container.set_valign(gtk4::Align::Center);
container.add_css_class("session-active-box"); container.add_css_class("session-active-box");
let label = gtk4::Label::new(Some("Session Active")); let spinner = gtk4::Spinner::new();
spinner.set_spinning(true);
spinner.add_css_class("launching-spinner");
container.append(&spinner);
let label = gtk4::Label::new(Some("Loading..."));
label.add_css_class("session-label"); label.add_css_class("session-label");
container.append(&label); container.append(&label);
let hint = gtk4::Label::new(Some("Use the HUD to view time remaining")); let hint = gtk4::Label::new(Some("Please wait while the application starts"));
hint.add_css_class("status-label"); hint.add_css_class("session-sublabel");
container.append(&hint); container.append(&hint);
(container, label) (container, label)

View file

@ -74,6 +74,22 @@ for_window [instance="^Minecraft [0-9]"] border none, focus
for_window [class="^Minecraft Launcher$"] border none for_window [class="^Minecraft Launcher$"] border none
for_window [instance="^minecraft-launcher$"] border none for_window [instance="^minecraft-launcher$"] border none
# Steam: Hide Steam client windows that appear before the actual game launches
# Steam shows various windows (client, dialogs, updates) before launching games
# We make these completely transparent and floating off-screen so they don't interfere
# Steam client main window and various dialogs
for_window [class="^Steam$"] floating enable, opacity 0, move position -9999 -9999
for_window [instance="^Steam$"] floating enable, opacity 0, move position -9999 -9999
# Steam-related helper windows and dialogs (case-insensitive matching)
for_window [class="^steam$"] floating enable, opacity 0, move position -9999 -9999
for_window [instance="^steam$"] floating enable, opacity 0, move position -9999 -9999
# Steam Big Picture mode overlay and notifications
for_window [title="^Steam$"] floating enable, opacity 0, move position -9999 -9999
# Steam sign-in window
for_window [title="^Sign in to Steam$"] floating enable, opacity 0, move position -9999 -9999
# Steam game update/install progress windows
for_window [title="^Steam - News"] floating enable, opacity 0, move position -9999 -9999
# Disable window decorations (no title bars) - for all windows # Disable window decorations (no title bars) - for all windows
default_border none default_border none
default_floating_border none default_floating_border none