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"; private string _audioShortcutKey = OperatingSystem.IsMacOS() ? "OPTION + SHIFT + A" : "ALT + SHIFT + A";
[ObservableProperty] private bool _isRecording = false; [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; break;
} }
} }
InMemoryDb.Obj.MainViewModel.IsVisibleOnScreenshare = true;
} }
private void HideOverlay() private void HideOverlay()
@@ -132,6 +134,8 @@ public partial class MainWindow : Window
break; break;
} }
} }
InMemoryDb.Obj.MainViewModel.IsVisibleOnScreenshare = false;
} }
private void HideBtnClick(object? sender, RoutedEventArgs e) private void HideBtnClick(object? sender, RoutedEventArgs e)
@@ -143,7 +147,17 @@ public partial class MainWindow : Window
{ {
_keyBindings.AddKeyBinding( _keyBindings.AddKeyBinding(
new KeyBinding(KeyCode.VcH, ModifierKey.Control, ModifierKey.Alt, ModifierKey.Shift), 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( _keyBindings.AddKeyBinding(