From b66543bf40eeb63a048474fda6ff6a0097e77e3a Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sun, 10 Jun 2007 08:20:10 +0000 Subject: =?UTF-8?q?Patch=20from=20Enrico=20Tr=C3=B6ger=20to=20default=20ca?= =?UTF-8?q?ret=20blink=20rate=20to=20GTK+=20defaults.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gtk/ScintillaGTK.cxx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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(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); } -- cgit v1.2.3