feat: MOONGREET_NO_LAYER_SHELL env var for windowed development mode

This commit is contained in:
nevaforget 2026-03-27 23:36:57 +01:00
parent cdfba07802
commit 658328b39b

View File

@ -54,12 +54,17 @@ fn activate(app: &gtk::Application) {
let config = config::load_config(None); let config = config::load_config(None);
let bg_path = config::resolve_background_path(&config); let bg_path = config::resolve_background_path(&config);
let use_layer_shell = std::env::var("MOONGREET_NO_LAYER_SHELL").is_err();
// Main greeter window (login UI) — compositor picks focused monitor // Main greeter window (login UI) — compositor picks focused monitor
let greeter_window = greeter::create_greeter_window(&bg_path, &config, app); let greeter_window = greeter::create_greeter_window(&bg_path, &config, app);
if use_layer_shell {
setup_layer_shell(&greeter_window, true); setup_layer_shell(&greeter_window, true);
}
greeter_window.present(); greeter_window.present();
// Wallpaper-only windows on all monitors // Wallpaper-only windows on all monitors (only with layer shell)
if use_layer_shell {
let monitors = display.monitors(); let monitors = display.monitors();
for i in 0..monitors.n_items() { for i in 0..monitors.n_items() {
if let Some(monitor) = monitors if let Some(monitor) = monitors
@ -72,6 +77,7 @@ fn activate(app: &gtk::Application) {
wallpaper.present(); wallpaper.present();
} }
} }
}
} }
fn setup_logging() { fn setup_logging() {