Flash browser window if new tab opened in background
This commit is contained in:
parent
2e532f1895
commit
32f71ef5e0
3 changed files with 40 additions and 1 deletions
|
@ -1240,6 +1240,23 @@ midori_browser_view_copy_history (GtkWidget* view_to,
|
|||
}
|
||||
}
|
||||
|
||||
static gint
|
||||
midori_browser_notify_new_tab_timeout_cb (MidoriBrowser *browser)
|
||||
{
|
||||
gtk_window_set_opacity (GTK_WINDOW (browser), 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
midori_browser_notify_new_tab (MidoriBrowser *browser)
|
||||
{
|
||||
if (katze_object_get_boolean (browser->settings, "flash-window-on-new-bg-tabs"))
|
||||
{
|
||||
gtk_window_set_opacity (GTK_WINDOW (browser), 0.8);
|
||||
gtk_timeout_add (100, (GtkFunction) midori_browser_notify_new_tab_timeout_cb, browser);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
midori_view_new_tab_cb (GtkWidget* view,
|
||||
const gchar* uri,
|
||||
|
@ -1252,6 +1269,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
|
||||
|
@ -1287,6 +1306,8 @@ midori_view_new_view_cb (GtkWidget* view,
|
|||
gint n = midori_browser_add_tab (browser, new_view);
|
||||
if (where != MIDORI_NEW_VIEW_BACKGROUND)
|
||||
midori_browser_set_current_page (browser, n);
|
||||
else
|
||||
midori_browser_notify_new_tab (browser);
|
||||
}
|
||||
|
||||
if (!user_initiated)
|
||||
|
|
|
@ -393,6 +393,8 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
|
|||
else
|
||||
button = katze_property_proxy (settings, "middle-click-opens-selection", NULL);
|
||||
INDENTED_ADD (button);
|
||||
button = katze_property_proxy (settings, "flash-window-on-new-bg-tabs", NULL);
|
||||
SPANNED_ADD (button);
|
||||
FRAME_NEW (NULL);
|
||||
button = katze_property_label (settings, "preferred-languages");
|
||||
INDENTED_ADD (button);
|
||||
|
|
|
@ -90,6 +90,7 @@ struct _MidoriWebSettings
|
|||
gboolean enable_dns_prefetching;
|
||||
#endif
|
||||
gboolean strip_referer;
|
||||
gboolean flash_window_on_bg_tabs;
|
||||
};
|
||||
|
||||
struct _MidoriWebSettingsClass
|
||||
|
@ -140,6 +141,7 @@ enum
|
|||
PROP_OPEN_TABS_IN_THE_BACKGROUND,
|
||||
PROP_OPEN_TABS_NEXT_TO_CURRENT,
|
||||
PROP_OPEN_POPUPS_IN_TABS,
|
||||
PROP_FLASH_WINDOW_ON_BG_TABS,
|
||||
|
||||
PROP_AUTO_LOAD_IMAGES,
|
||||
PROP_ENABLE_SCRIPTS,
|
||||
|
@ -167,7 +169,7 @@ enum
|
|||
PROP_CLEAR_PRIVATE_DATA,
|
||||
PROP_CLEAR_DATA,
|
||||
PROP_ENABLE_DNS_PREFETCHING,
|
||||
PROP_STRIP_REFERER
|
||||
PROP_STRIP_REFERER,
|
||||
};
|
||||
|
||||
GType
|
||||
|
@ -768,6 +770,14 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
|
|||
TRUE,
|
||||
flags));
|
||||
#endif
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_OPEN_TABS_IN_THE_BACKGROUND,
|
||||
g_param_spec_boolean (
|
||||
"flash-window-on-new-bg-tabs",
|
||||
_("Flash window on background tabs"),
|
||||
_("Flash the browser window if a new tab was opened in the background"),
|
||||
FALSE,
|
||||
flags));
|
||||
|
||||
/**
|
||||
* MidoriWebSettings:zoom-text-and-images:
|
||||
|
@ -1385,6 +1395,9 @@ midori_web_settings_set_property (GObject* object,
|
|||
case PROP_STRIP_REFERER:
|
||||
web_settings->strip_referer = g_value_get_boolean (value);
|
||||
break;
|
||||
case PROP_FLASH_WINDOW_ON_BG_TABS:
|
||||
web_settings->flash_window_on_bg_tabs = g_value_get_boolean (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
|
@ -1634,6 +1647,9 @@ midori_web_settings_get_property (GObject* object,
|
|||
case PROP_STRIP_REFERER:
|
||||
g_value_set_boolean (value, web_settings->strip_referer);
|
||||
break;
|
||||
case PROP_FLASH_WINDOW_ON_BG_TABS:
|
||||
g_value_set_boolean (value, web_settings->flash_window_on_bg_tabs);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue