On 30/11/2018 21:16, Damon Chaplin wrote:
On Sun, 2018-11-25 at 17:12 +0100, Jeffrey Ratcliffe via goocanvas-list wrote:gscan2pdf uses goocanvas to display the OCR output. A user has asked how to change the colours of the fore- and background of the canvas and I haven't managed to work out what CSS is needed to do so (without changing the everything else). Obviously the CSS would then end up in ~/.config/gtk-3.0/gtk.cssI'm not sure you can do it with CSS, but you could use a preferences dialog and set the colors directly in the code.
After some more investigation, I've found that you can extract the foreground colour with: my $style = $self->get_style_context; my $color_string = $style->get_color('normal')->to_string; Convert it to hex with: if ( $color_string =~ /^rgb[(](\d+),(\d+),(\d+)[)]$/smx ) { $color_hex = sprintf '#%02x%02x%02x', ( $1, $2, $3 ); } Which you can use as the "stroke-color" or "fill-color", etc. If you name the canvas widget with something like: $self->set_name('my-canvas-widget-name'); Adding something like the following to ~/.config/gtk-3.0/gtk.css will allow you to theme just your widget: #my-canvas-widget-name { color: red; } Regards Jeff
Attachment:
signature.asc
Description: OpenPGP digital signature