]> spindle.queued.net Git - midori/commitdiff
Re-introduce window flashing, except on Win32
authorChristian Dywan <christian@twotoasts.de>
Mon, 16 Jul 2012 17:04:24 +0000 (19:04 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 16 Jul 2012 19:23:06 +0000 (21:23 +0200)
midori/midori-browser.c
midori/midori-preferences.c
midori/midori-websettings.c

index a74f825d3b32031247fbf811d85dfb86a05fa091..b6c75636c4e745b14bec3e9fb10bfafc32445486 100644 (file)
@@ -1320,6 +1320,27 @@ midori_browser_view_copy_history (GtkWidget* view_to,
     }
 }
 
+static gboolean
+midori_browser_notify_new_tab_timeout_cb (MidoriBrowser *browser)
+{
+    #ifndef G_OS_WIN32
+    gtk_window_set_opacity (GTK_WINDOW (browser), 1);
+    #endif
+    return G_SOURCE_REMOVE;
+}
+
+static void
+midori_browser_notify_new_tab (MidoriBrowser* browser)
+{
+    if (katze_object_get_boolean (browser->settings, "flash-window-on-new-bg-tabs"))
+    {
+        #ifndef G_OS_WIN32
+        gtk_window_set_opacity (GTK_WINDOW (browser), 0.8);
+        #endif
+        g_timeout_add (100, (GSourceFunc) midori_browser_notify_new_tab_timeout_cb, browser);
+    }
+}
+
 static void
 midori_view_new_tab_cb (GtkWidget*     view,
                         const gchar*   uri,
@@ -1332,6 +1353,8 @@ midori_view_new_tab_cb (GtkWidget*     view,
 
     if (!background)
         midori_browser_set_current_page (browser, n);
+    else
+        midori_browser_notify_new_tab (browser);
 }
 
 static void
@@ -1368,6 +1391,8 @@ midori_view_new_view_cb (GtkWidget*     view,
         if (where != MIDORI_NEW_VIEW_BACKGROUND)
             midori_browser_set_current_page (browser, n);
     }
+    else
+        midori_browser_notify_new_tab (browser);
 
     if (!user_initiated)
     {
index c291995c438f35b5e568fd9dd83a3b30c03f5768..bcb5122af8c0fc41bc75259dd3be17c26041ab8b 100644 (file)
@@ -397,6 +397,10 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
         button = katze_property_proxy (settings, "enable-webgl", NULL);
         SPANNED_ADD (button);
     }
+    #ifndef G_OS_WIN32
+    button = katze_property_proxy (settings, "flash-window-on-new-bg-tabs", NULL);
+    INDENTED_ADD (button);
+    #endif
 
     FRAME_NEW (NULL);
     button = katze_property_label (settings, "preferred-languages");
index 4862434afaccf324dc9e6d62b301eb20eef8b97e..784f63a252f0c7b8d00281983fcbfb4feb1852c1 100644 (file)
@@ -842,9 +842,7 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
     /**
      * MidoriWebSettings::flash-window-on-new-bg-tabs
      *
-     * Doesn't do anything.
-     *
-     * Deprecated: 0.4.7
+     * Uses opacity to attract attention. Nothing on Windows.
      */
     g_object_class_install_property (gobject_class,
                                      PROP_FLASH_WINDOW_ON_BG_TABS,