# HG changeset patch # User Tim Ringenbach # Date 1085207713 0 # Node ID 0a08f671b591ac976b6f90df524a225b73214e05 # Parent bffe8d1adb8b771d32e3eeafd78c529bdf23bbb4 [gaim-migrate @ 9783] You can now use gtk to theme your hyperlink colors. It works something like this: style "mystyle" { GtkIMHtml::hyperlink-color = "#00FF00" } widget_class "*" style "mystyle" If you change it while gaim is running, old hyperlinks won't change color, but new ones should, assuming you use a program that sends the right event to make things reparse their gtkrcs. Old hyperlinks will change color if you restart Gaim and view them in the logs or something. Actually using bright green for hyperlinks is discourged. committer: Tailor Script diff -r bffe8d1adb8b -r 0a08f671b591 ChangeLog --- a/ChangeLog Sat May 22 04:39:44 2004 +0000 +++ b/ChangeLog Sat May 22 06:35:13 2004 +0000 @@ -19,6 +19,7 @@ * Plugin Actions menu (Christopher (siege) O'Brien) * Plugins can now add entries to the rclick menu of a group (Stu Tomlinson, Christopher (siege) O'Brien) + * Hyperlink colors are now themeable via your ~/.gtkrc-2.0 file Bug Fixes: * Novell 64bit fixes, better error messages, and buddy list sync fixes diff -r bffe8d1adb8b -r 0a08f671b591 src/gtkimhtml.c --- a/src/gtkimhtml.c Sat May 22 04:39:44 2004 +0000 +++ b/src/gtkimhtml.c Sat May 22 06:35:13 2004 +0000 @@ -944,6 +944,7 @@ /* Boring GTK stuff */ static void gtk_imhtml_class_init (GtkIMHtmlClass *klass) { + GtkWidgetClass *widget_class = (GtkWidgetClass *) klass; GtkObjectClass *object_class; GObjectClass *gobject_class; object_class = (GtkObjectClass*) klass; @@ -993,6 +994,11 @@ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); gobject_class->finalize = gtk_imhtml_finalize; + + gtk_widget_class_install_style_property(widget_class, g_param_spec_boxed("hyperlink-color", + _("Hyperlink color"), + _("Color to draw hyperlinks."), + GDK_TYPE_COLOR, G_PARAM_READABLE)); } static void gtk_imhtml_init (GtkIMHtml *imhtml) @@ -3438,6 +3444,7 @@ GtkTextTag *linktag; static guint linkno = 0; gchar str[48]; + GdkColor *color = NULL; imhtml->edit.link = NULL; @@ -3447,7 +3454,11 @@ g_snprintf(str, sizeof(str), "LINK %d", linkno++); str[47] = '\0'; - imhtml->edit.link = linktag = gtk_text_buffer_create_tag(imhtml->text_buffer, str, "foreground", "blue", "underline", PANGO_UNDERLINE_SINGLE, NULL); + gtk_widget_style_get(GTK_WIDGET(imhtml), "hyperlink-color", &color, NULL); + if (color) + imhtml->edit.link = linktag = gtk_text_buffer_create_tag(imhtml->text_buffer, str, "foreground-gdk", color, "underline", PANGO_UNDERLINE_SINGLE, NULL); + else + imhtml->edit.link = linktag = gtk_text_buffer_create_tag(imhtml->text_buffer, str, "foreground", "blue", "underline", PANGO_UNDERLINE_SINGLE, NULL); g_object_set_data_full(G_OBJECT(linktag), "link_url", g_strdup(url), g_free); g_signal_connect(G_OBJECT(linktag), "event", G_CALLBACK(tag_event), NULL);