feat: MOONGREET_NO_LAYER_SHELL env var for windowed development mode
This commit is contained in:
parent
cdfba07802
commit
658328b39b
30
src/main.rs
30
src/main.rs
@ -54,22 +54,28 @@ fn activate(app: >k::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);
|
||||||
setup_layer_shell(&greeter_window, true);
|
if use_layer_shell {
|
||||||
|
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)
|
||||||
let monitors = display.monitors();
|
if use_layer_shell {
|
||||||
for i in 0..monitors.n_items() {
|
let monitors = display.monitors();
|
||||||
if let Some(monitor) = monitors
|
for i in 0..monitors.n_items() {
|
||||||
.item(i)
|
if let Some(monitor) = monitors
|
||||||
.and_then(|obj| obj.downcast::<gdk::Monitor>().ok())
|
.item(i)
|
||||||
{
|
.and_then(|obj| obj.downcast::<gdk::Monitor>().ok())
|
||||||
let wallpaper = greeter::create_wallpaper_window(&bg_path, app);
|
{
|
||||||
setup_layer_shell(&wallpaper, false);
|
let wallpaper = greeter::create_wallpaper_window(&bg_path, app);
|
||||||
wallpaper.set_monitor(Some(&monitor));
|
setup_layer_shell(&wallpaper, false);
|
||||||
wallpaper.present();
|
wallpaper.set_monitor(Some(&monitor));
|
||||||
|
wallpaper.present();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user