{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreictjrq6oeyfyaawwbjaf6jbhcbx7n26gq42uab6ipokbjcygutjpm",
"uri": "at://did:plc:hqad6xwuzg7oqfmwylfkvqfm/app.bsky.feed.post/3mkyqihcraeb2"
},
"path": "/viewtopic.php?t=33365&p=273370#p273370",
"publishedAt": "2026-05-04T03:12:03.000Z",
"site": "http://forum.palemoon.org",
"tags": [
"https://bugs.debian.org/cgi-bin/bugrepo ... ug=1135360"
],
"textContent": "> Regarding the theming engines:\n> I'm not at home right now, but this will be the next thing I'm going to take care of.\n\nWhile we are on this topic, gtk2-engines has a theme (Redmond) I've been using for 10-15 years and it's had an insane bug this whole time where disabled checkboxes always show as checked.\nAfter reporting it a few times throughout the years, I finally just tried to tackle it myself and managed to fix the bug. I also finally found the best place to report the bug (with patch code now!) which got rebuffed since gtk2 is apparently too old for the maintainers to give a crap about even though I served them up the fix on a platter.\n\nSo, if you're going to work on theme engines, do please give this a look and fix the Redmond theme for everyone.\n\nhttps://bugs.debian.org/cgi-bin/bugrepo ... ug=1135360\n\n**Source file to modify:**\n/gtk2-engines-2.20.2/engines/redmond/src/redmond_gtk2_drawing.c\n\n\n\n**Existing code comment:**\n\nCODE:\n\n\n /*********************************************** * redmond_draw_check - * * the Function used to draw all check boxes. * * Redmond Check box has essentially 3 looks - * * Normal/Prelight - * base[NORMAL] fill, fg[NORMAL] check * * Selected/Active - * bg[NORMAL] fill, fg[NORMAL] check * * Insensitive - * bg[NORMAL] fill, fg[INSENSITIVE] check * * The Shadow Always draws with a state NORMAL. ***********************************************/\n\n\n\n**Proposed replacement code comment:**\n\nCODE:\n\n\n /*********************************************** * redmond_draw_check - * * the Function used to draw all check boxes. * * Redmond Check box has 6 states represented with 5 visual combinations - * * Enabled, Unchecked – base[NORMAL] fill, no check mark * Enabled, Checked – base[NORMAL] fill, fg[NORMAL] check mark * Enabled, Active, Unchecked – bg[NORMAL] fill, no check mark * Enabled, Active, Checked – bg[NORMAL] fill, fg[NORMAL] check mark * Disabled, Unchecked – bg[NORMAL] fill, no check mark * Disabled, Checked – bg[NORMAL] fill, fg[INSENSITIVE] check mark * * The Shadow always draws with a state NORMAL. ***********************************************/\n\n\n\n**Existing code:**\n\nCODE:\n\n\n if ((shadow == GTK_SHADOW_ETCHED_IN) || (state == GTK_STATE_INSENSITIVE)) { /* force insensitive color for inconsistent checkboxes */ do_redmond_draw_check (cr,&redmond_style->color_cube.fg[GTK_STATE_INSENSITIVE], x + 2, y + 2, width - 4, height - 4); } else if (shadow == GTK_SHADOW_IN) { do_redmond_draw_check (cr,&redmond_style->color_cube.fg[GTK_STATE_NORMAL], x + 2, y + 2, width - 4, height - 4); }\n\n\n\n**Proposed replacement code:**\n\nCODE:\n\n\n if (shadow == GTK_SHADOW_ETCHED_IN) { /* inconsistent – always show check */ do_redmond_draw_check (cr,&redmond_style->color_cube.fg[GTK_STATE_INSENSITIVE], x + 2, y + 2, width - 4, height - 4); } else if (shadow == GTK_SHADOW_IN) { /* checked – draw check */ if (state != GTK_STATE_INSENSITIVE) do_redmond_draw_check (cr,&redmond_style->color_cube.fg[GTK_STATE_NORMAL], x + 2, y + 2, width - 4, height - 4); else do_redmond_draw_check (cr,&redmond_style->color_cube.fg[GTK_STATE_INSENSITIVE], x + 2, y + 2, width - 4, height - 4); } /* unchecked (shadow == GTK_SHADOW_OUT) – nothing to do */\n\n* * *",
"title": "Other/future projects • Re: GTK2 revival",
"updatedAt": "2026-05-04T03:12:03.000Z"
}