diff options
| -rw-r--r-- | gtk/ScintillaGTK.cxx | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 7a1aab337..4f9ec6e14 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -782,6 +782,24 @@ void ScintillaGTK::Initialise() {  	                  GTK_DEST_DEFAULT_ALL, clipboardPasteTargets, nClipboardPasteTargets,  	                  static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE)); +	// Set caret period based on GTK settings +	gboolean blinkOn = false; +	if (g_object_class_find_property(G_OBJECT_GET_CLASS( +			G_OBJECT(gtk_settings_get_default())), "gtk-cursor-blink")) { +		g_object_get(G_OBJECT( +			gtk_settings_get_default()), "gtk-cursor-blink", &blinkOn, NULL); +	} +	if (blinkOn && +		g_object_class_find_property(G_OBJECT_GET_CLASS( +			G_OBJECT(gtk_settings_get_default())), "gtk-cursor-blink-time")) { +		gint value; +		g_object_get(G_OBJECT( +			gtk_settings_get_default()), "gtk-cursor-blink-time", &value, NULL); +		caret.period = gint(value / 1.75); +	} else { +		caret.period = 0; +	} +  	SetTicking(true);  } | 
