feat(overlay): implement transparent top-anchored 3-card NVIDIA ShadowPlay HUD with unified settings

This commit is contained in:
katR 2026-09-05 12:15:56 +05:30
parent 98dc90e85c
commit 89a4c8a72f
3 changed files with 772 additions and 466 deletions

View file

@ -208,6 +208,9 @@ fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
"--menu" => {
ensure_daemon_running();
ensure_hotkeys_running();
#[cfg(not(target_os = "windows"))]
vrec::overlay::show_menu_overlay();
#[cfg(target_os = "windows")]
vrec::overlay_egui::run_egui_overlay();
return Ok(());
}
@ -271,6 +274,9 @@ fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
} else {
ensure_daemon_running();
ensure_hotkeys_running();
#[cfg(not(target_os = "windows"))]
vrec::overlay::show_menu_overlay();
#[cfg(target_os = "windows")]
vrec::overlay_egui::run_egui_overlay();
return Ok(());
}

View file

@ -69,13 +69,18 @@ pub fn register_hyprland_binds(config: &VrecConfig) {
return;
}
// Register overlay window rules so the UI floats and centers cleanly
// Register overlay window rules so the UI floats at the top cleanly
let rules = [
"float, class:^(vrec-overlay)$",
"center, class:^(vrec-overlay)$",
"move 50% 45, class:^(vrec-overlay)$",
"pin, class:^(vrec-overlay)$",
"stayfocused, class:^(vrec-overlay)$",
"noborder, class:^(vrec-overlay)$",
"float, class:^(vrec-hud)$",
"move 50% 45, class:^(vrec-hud)$",
"pin, class:^(vrec-hud)$",
"stayfocused, class:^(vrec-hud)$",
"noborder, class:^(vrec-hud)$",
];
for rule in rules {
let _ = Command::new("hyprctl")

File diff suppressed because it is too large Load diff