feat: togglable window visibility on screenshare

This commit is contained in:
tux
2025-07-05 19:56:46 +05:30
parent a0c98d60e6
commit 77d14e5da3
2 changed files with 16 additions and 2 deletions

View File

@@ -17,5 +17,5 @@ public partial class MainViewModel : ObservableObject
private string _audioShortcutKey = OperatingSystem.IsMacOS() ? "OPTION + SHIFT + A" : "ALT + SHIFT + A";
[ObservableProperty] private bool _isRecording = false;
[ObservableProperty] private bool _isHidden = true;
[ObservableProperty] private bool _isVisibleOnScreenshare = false;
}

View File

@@ -102,6 +102,8 @@ public partial class MainWindow : Window
break;
}
}
InMemoryDb.Obj.MainViewModel.IsVisibleOnScreenshare = true;
}
private void HideOverlay()
@@ -132,6 +134,8 @@ public partial class MainWindow : Window
break;
}
}
InMemoryDb.Obj.MainViewModel.IsVisibleOnScreenshare = false;
}
private void HideBtnClick(object? sender, RoutedEventArgs e)
@@ -143,7 +147,17 @@ public partial class MainWindow : Window
{
_keyBindings.AddKeyBinding(
new KeyBinding(KeyCode.VcH, ModifierKey.Control, ModifierKey.Alt, ModifierKey.Shift),
() => Dispatcher.UIThread.Post(ShowOverlay)
() => Dispatcher.UIThread.Post(() =>
{
if (InMemoryDb.Obj.MainViewModel.IsVisibleOnScreenshare)
{
HideOverlay();
}
else
{
ShowOverlay();
}
})
);
_keyBindings.AddKeyBinding(