[Xfce4-commits] <xfce4-terminal:master> Do not toggle the drop-down window with tab re-use.

Nick Schermer noreply at xfce.org
Mon Dec 31 17:24:02 CET 2012


Updating branch refs/heads/master
         to 64765fc11073ca9c99c245bfcd1e8bca655f4a7f (commit)
       from 3b02876c4b16097f51ee63a89787fb0c9e6cb45e (commit)

commit 64765fc11073ca9c99c245bfcd1e8bca655f4a7f
Author: Nick Schermer <nick at xfce.org>
Date:   Mon Dec 31 17:16:02 2012 +0100

    Do not toggle the drop-down window with tab re-use.

 terminal/terminal-app.c             |    4 ++--
 terminal/terminal-window-dropdown.c |   14 +++++++++-----
 terminal/terminal-window-dropdown.h |    3 ++-
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/terminal/terminal-app.c b/terminal/terminal-app.c
index 1a03473..dcbb9f3 100644
--- a/terminal/terminal-app.c
+++ b/terminal/terminal-app.c
@@ -603,7 +603,7 @@ terminal_app_open_window (TerminalApp        *app,
           else
             {
               /* toggle state of visible window */
-              terminal_window_dropdown_toggle (lp->data, attr->startup_id);
+              terminal_window_dropdown_toggle (lp->data, attr->startup_id, FALSE);
               return;
             }
         }
@@ -700,7 +700,7 @@ terminal_app_open_window (TerminalApp        *app,
 
   /* show the window */
   if (attr->drop_down)
-    terminal_window_dropdown_toggle (TERMINAL_WINDOW_DROPDOWN (window), attr->startup_id);
+    terminal_window_dropdown_toggle (TERMINAL_WINDOW_DROPDOWN (window), attr->startup_id, reuse_window);
   else
     gtk_widget_show (window);
 }
diff --git a/terminal/terminal-window-dropdown.c b/terminal/terminal-window-dropdown.c
index da7ede1..4d00b90 100644
--- a/terminal/terminal-window-dropdown.c
+++ b/terminal/terminal-window-dropdown.c
@@ -85,7 +85,8 @@ static void            terminal_window_dropdown_hide                          (T
 static void            terminal_window_dropdown_show                          (TerminalWindowDropdown *dropdown,
                                                                                guint32                 timestamp);
 static void            terminal_window_dropdown_toggle_real                   (TerminalWindowDropdown *dropdown,
-                                                                               guint32                 timestamp);
+                                                                               guint32                 timestamp,
+                                                                               gboolean                force_show);
 static void            terminal_window_dropdown_update_geometry               (TerminalWindowDropdown *dropdown);
 
 
@@ -822,12 +823,14 @@ terminal_window_dropdown_show (TerminalWindowDropdown *dropdown,
 
 static void
 terminal_window_dropdown_toggle_real (TerminalWindowDropdown *dropdown,
-                                      guint32                 timestamp)
+                                      guint32                 timestamp,
+                                      gboolean                force_show)
 {
   TerminalWindow *window = TERMINAL_WINDOW (dropdown);
   gboolean        toggle_focus;
 
-  if (gtk_widget_get_visible (GTK_WIDGET (dropdown))
+  if (!force_show
+      && gtk_widget_get_visible (GTK_WIDGET (dropdown))
       && dropdown->animation_dir != ANIMATION_DIR_UP)
     {
       g_object_get (G_OBJECT (window->preferences), "dropdown-toggle-focus", &toggle_focus, NULL);
@@ -949,13 +952,14 @@ terminal_window_dropdown_new (const gchar        *role,
 
 void
 terminal_window_dropdown_toggle (TerminalWindowDropdown *dropdown,
-                                 const gchar            *startup_id)
+                                 const gchar            *startup_id,
+                                 gboolean                force_show)
 {
   guint32 timestamp;
 
   /* toggle window */
   timestamp = terminal_window_dropdown_get_timestamp (GTK_WIDGET (dropdown), startup_id);
-  terminal_window_dropdown_toggle_real (dropdown, timestamp);
+  terminal_window_dropdown_toggle_real (dropdown, timestamp, force_show);
 
   /* window is focussed or hidden */
   if (startup_id != NULL)
diff --git a/terminal/terminal-window-dropdown.h b/terminal/terminal-window-dropdown.h
index 7f13d7d..e951c0b 100644
--- a/terminal/terminal-window-dropdown.h
+++ b/terminal/terminal-window-dropdown.h
@@ -42,7 +42,8 @@ GtkWidget      *terminal_window_dropdown_new                  (const gchar
                                                                TerminalVisibility      toolbar);
 
 void            terminal_window_dropdown_toggle               (TerminalWindowDropdown *dropdown,
-                                                               const gchar            *startup_id);
+                                                               const gchar            *startup_id,
+                                                               gboolean                force_show);
 
 void            terminal_window_dropdown_get_size             (TerminalWindowDropdown *dropdown,
                                                                TerminalScreen         *screen,


More information about the Xfce4-commits mailing list