[epiphany] Show fullscreen header bar only for action win.fullscreen



commit 8668a3089cc88b70239608d521f13b56b4149d6a
Author: Jan-Michael Brummer <jan brummer tabos org>
Date:   Tue Dec 25 16:19:44 2018 +0100

    Show fullscreen header bar only for action win.fullscreen
    
    This will show fullscreen header bar animation only if it is triggered through hotkey or page menu.
    Other options (e.g. video fullscreen) just shows their screen and makes it less interuptive.

 src/ephy-window.c     | 14 +++++++++++++-
 src/ephy-window.h     |  1 +
 src/window-commands.c |  7 +++++--
 3 files changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index d1583a81d..1fa912456 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -153,6 +153,8 @@ struct _EphyWindow {
   EphyLocationController *location_controller;
   guint modified_forms_timeout_id;
 
+  gboolean show_fullscreen_header_bar;
+
   gint current_width;
   gint current_height;
   gint current_x;
@@ -3007,7 +3009,11 @@ ephy_window_state_event (GtkWidget           *widget,
     } else {
       ephy_window_unfullscreen (window);
     }
-    dzl_application_window_set_fullscreen (DZL_APPLICATION_WINDOW (window), fullscreen);
+
+    if (window->show_fullscreen_header_bar)
+      dzl_application_window_set_fullscreen (DZL_APPLICATION_WINDOW (window), fullscreen);
+
+    window->show_fullscreen_header_bar = FALSE;
 
     action_group = gtk_widget_get_action_group (GTK_WIDGET (window), "win");
     action = g_action_map_lookup_action (G_ACTION_MAP (action_group), "fullscreen");
@@ -3873,3 +3879,9 @@ ephy_window_get_chrome (EphyWindow *window)
 
   return window->chrome;
 }
+
+void
+ephy_window_show_fullscreen_header_bar (EphyWindow *window)
+{
+  window->show_fullscreen_header_bar = TRUE;
+}
diff --git a/src/ephy-window.h b/src/ephy-window.h
index db9fa5cdd..b80b4eb2b 100644
--- a/src/ephy-window.h
+++ b/src/ephy-window.h
@@ -77,5 +77,6 @@ void              ephy_window_set_default_size         (EphyWindow *window,
 void              ephy_window_set_default_position     (EphyWindow *window,
                                                         gint        x,
                                                         gint        y);
+void              ephy_window_show_fullscreen_header_bar (EphyWindow *window);
 
 G_END_DECLS
diff --git a/src/window-commands.c b/src/window-commands.c
index 43da871f4..a725d9863 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -2204,13 +2204,16 @@ window_cmd_change_fullscreen_state (GSimpleAction *action,
                                     GVariant      *state,
                                     gpointer       user_data)
 {
+  EphyWindow *window = EPHY_WINDOW (user_data);
   gboolean active;
 
   active = g_variant_get_boolean (state);
+  ephy_window_show_fullscreen_header_bar (window);
+
   if (active)
-    gtk_window_fullscreen (GTK_WINDOW (user_data));
+    gtk_window_fullscreen (GTK_WINDOW (window));
   else
-    gtk_window_unfullscreen (GTK_WINDOW (user_data));
+    gtk_window_unfullscreen (GTK_WINDOW (window));
 
   g_simple_action_set_state (action, g_variant_new_boolean (active));
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]