From 2d1f6f471b5fca5960cf08864aab5e91f00fc4cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Tue, 15 Oct 2024 19:32:48 +0200 Subject: [PATCH] clapper-app: Add unfullscreen keyboard shortcut Unfullscreen with Escape key Closes #494 --- src/bin/clapper-app/clapper-app-application.c | 1 + src/bin/clapper-app/clapper-app-window.c | 12 ++++++++++++ src/bin/clapper-app/ui/clapper-app-help-overlay.ui | 6 ++++++ 3 files changed, 19 insertions(+) diff --git a/src/bin/clapper-app/clapper-app-application.c b/src/bin/clapper-app/clapper-app-application.c index 57acbfa4..1232255a 100644 --- a/src/bin/clapper-app/clapper-app-application.c +++ b/src/bin/clapper-app/clapper-app-application.c @@ -700,6 +700,7 @@ clapper_app_application_constructed (GObject *object) { "app.preferences", { "comma", NULL, NULL }}, { "app.about", { "F1", NULL, NULL }}, { "win.toggle-fullscreen", { "F11", "f", NULL }}, + { "win.unfullscreen", { "Escape", NULL, NULL }}, { "win.auto-resize", { "r", NULL, NULL }}, { "win.show-help-overlay", { "question", NULL, NULL }}, { "window.close", { "q", "q", NULL }}, diff --git a/src/bin/clapper-app/clapper-app-window.c b/src/bin/clapper-app/clapper-app-window.c index 21ecd764..c7d0dbdb 100644 --- a/src/bin/clapper-app/clapper-app-window.c +++ b/src/bin/clapper-app/clapper-app-window.c @@ -1065,6 +1065,17 @@ toggle_fullscreen (GSimpleAction *action, GVariant *param, gpointer user_data) video_toggle_fullscreen_cb (CLAPPER_GTK_VIDEO_CAST (self->video), self); } +static void +unfullscreen (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + GtkWindow *window = GTK_WINDOW (user_data); + + if (gtk_window_is_fullscreen (window)) { + ClapperAppWindow *self = CLAPPER_APP_WINDOW_CAST (window); + video_toggle_fullscreen_cb (CLAPPER_GTK_VIDEO_CAST (self->video), self); + } +} + static void auto_resize (GSimpleAction *action, GVariant *param, gpointer user_data) { @@ -1224,6 +1235,7 @@ clapper_app_window_constructed (GObject *object) static const GActionEntry win_entries[] = { { "toggle-fullscreen", toggle_fullscreen, NULL, NULL, NULL }, + { "unfullscreen", unfullscreen, NULL, NULL, NULL }, { "auto-resize", auto_resize, NULL, NULL, NULL }, { "show-help-overlay", show_help_overlay, NULL, NULL, NULL }, }; diff --git a/src/bin/clapper-app/ui/clapper-app-help-overlay.ui b/src/bin/clapper-app/ui/clapper-app-help-overlay.ui index a8a65bd5..57c51527 100644 --- a/src/bin/clapper-app/ui/clapper-app-help-overlay.ui +++ b/src/bin/clapper-app/ui/clapper-app-help-overlay.ui @@ -33,6 +33,12 @@ F11 f + + + Unfullscreen + Escape + + Auto window resize