[Xfce4-commits] [apps/xfce4-terminal] 01/01: Resolve incorrect drop-down window geometry issues related to (un)fullscreening

noreply at xfce.org noreply at xfce.org
Wed Jan 11 14:51:59 CET 2017


This is an automated email from the git hooks/post-receive script.

f2404 pushed a commit to branch master
in repository apps/xfce4-terminal.

commit 92dfbd6db2f680d88cb8da768a74055a35636535
Author: Igor <f2404 at yandex.ru>
Date:   Wed Jan 11 16:51:53 2017 +0300

    Resolve incorrect drop-down window geometry issues related to (un)fullscreening
---
 terminal/terminal-window-dropdown.c | 27 +++++++++++++--------------
 terminal/terminal-window-dropdown.h | 34 ++++++++++++++++++----------------
 terminal/terminal-window.c          |  8 +++++++-
 3 files changed, 38 insertions(+), 31 deletions(-)

diff --git a/terminal/terminal-window-dropdown.c b/terminal/terminal-window-dropdown.c
index f8ee034..bad2edc 100644
--- a/terminal/terminal-window-dropdown.c
+++ b/terminal/terminal-window-dropdown.c
@@ -83,7 +83,6 @@ static void     terminal_window_dropdown_show                    (TerminalWindow
 static void     terminal_window_dropdown_toggle_real             (TerminalWindowDropdown *dropdown,
                                                                   guint32                 timestamp,
                                                                   gboolean                force_show);
-static void     terminal_window_dropdown_update_geometry         (TerminalWindowDropdown *dropdown);
 static void     terminal_dropdown_window_screen_size_changed     (GdkScreen              *screen,
                                                                   TerminalWindowDropdown *dropdown);
 
@@ -882,19 +881,6 @@ terminal_window_dropdown_toggle_real (TerminalWindowDropdown *dropdown,
 
 
 
-static void
-terminal_window_dropdown_update_geometry (TerminalWindowDropdown *dropdown)
-{
-  terminal_return_if_fail (TERMINAL_IS_WINDOW_DROPDOWN (dropdown));
-
-  /* update geometry if toolbar or menu is shown */
-  if (gtk_widget_get_visible (GTK_WIDGET (dropdown))
-      && dropdown->animation_dir == ANIMATION_DIR_NONE)
-    terminal_window_dropdown_show (dropdown, 0);
-}
-
-
-
 static guint32
 terminal_window_dropdown_get_timestamp (GtkWidget   *widget,
                                         const gchar *startup_id)
@@ -1056,3 +1042,16 @@ terminal_window_dropdown_get_size (TerminalWindowDropdown *dropdown,
   if (G_LIKELY (grid_height != NULL))
     *grid_height = ((monitor_geo.height * dropdown->rel_height) - ypad) / char_height;
 }
+
+
+
+void
+terminal_window_dropdown_update_geometry (TerminalWindowDropdown *dropdown)
+{
+  terminal_return_if_fail (TERMINAL_IS_WINDOW_DROPDOWN (dropdown));
+
+  /* update geometry if toolbar or menu is shown */
+  if (gtk_widget_get_visible (GTK_WIDGET (dropdown))
+      && dropdown->animation_dir == ANIMATION_DIR_NONE)
+    terminal_window_dropdown_show (dropdown, 0);
+}
diff --git a/terminal/terminal-window-dropdown.h b/terminal/terminal-window-dropdown.h
index 1616a9c..7ee9f44 100644
--- a/terminal/terminal-window-dropdown.h
+++ b/terminal/terminal-window-dropdown.h
@@ -33,22 +33,24 @@ G_BEGIN_DECLS
 typedef struct _TerminalWindowDropdownClass TerminalWindowDropdownClass;
 typedef struct _TerminalWindowDropdown      TerminalWindowDropdown;
 
-GType           terminal_window_dropdown_get_type             (void) G_GNUC_CONST;
-
-GtkWidget      *terminal_window_dropdown_new                  (const gchar            *role,
-                                                               const gchar            *icon,
-                                                               gboolean                fullscreen,
-                                                               TerminalVisibility      menubar,
-                                                               TerminalVisibility      toolbar);
-
-void            terminal_window_dropdown_toggle               (TerminalWindowDropdown *dropdown,
-                                                               const gchar            *startup_id,
-                                                               gboolean                force_show);
-
-void            terminal_window_dropdown_get_size             (TerminalWindowDropdown *dropdown,
-                                                               TerminalScreen         *screen,
-                                                               glong                  *grid_width,
-                                                               glong                  *grid_height);
+GType      terminal_window_dropdown_get_type        (void) G_GNUC_CONST;
+
+GtkWidget *terminal_window_dropdown_new             (const gchar            *role,
+                                                     const gchar            *icon,
+                                                     gboolean                fullscreen,
+                                                     TerminalVisibility      menubar,
+                                                     TerminalVisibility      toolbar);
+
+void       terminal_window_dropdown_toggle          (TerminalWindowDropdown *dropdown,
+                                                     const gchar            *startup_id,
+                                                     gboolean                force_show);
+
+void       terminal_window_dropdown_get_size        (TerminalWindowDropdown *dropdown,
+                                                     TerminalScreen         *screen,
+                                                     glong                  *grid_width,
+                                                     glong                  *grid_height);
+
+void       terminal_window_dropdown_update_geometry (TerminalWindowDropdown *dropdown);
 
 G_END_DECLS
 
diff --git a/terminal/terminal-window.c b/terminal/terminal-window.c
index 63d1aa2..6fe27fc 100644
--- a/terminal/terminal-window.c
+++ b/terminal/terminal-window.c
@@ -1707,7 +1707,13 @@ terminal_window_action_fullscreen (GtkToggleAction *action,
   if (gtk_toggle_action_get_active (action))
     gtk_window_fullscreen (GTK_WINDOW (window));
   else
-    gtk_window_unfullscreen (GTK_WINDOW (window));
+    {
+      gtk_window_unfullscreen (GTK_WINDOW (window));
+
+      /* update drop-down window geometry, otherwise it'll be incorrect */
+      if (window->drop_down)
+        terminal_window_dropdown_update_geometry (TERMINAL_WINDOW_DROPDOWN (window));
+    }
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list