in reply to Re^3: Viewing Tk Colours (Colors) by name
in thread Viewing Tk Colours (Colors) by name

Somewhere the xorg.conf file got lost. I'm running Debian 6 which does have an rgb.txt file in /etc/X11.

That's not where Tk finds color names. There is a color named DebianRed in that file (215,7,81). Tk quits with:

unknown color name "DebianRed" at /usr/lib/perl5/Tk.pm line 250

The following code:

#!/usr/bin/perl use strict; use Tk; my $mw = MainWindow->new; my @colors = `cat /etc/X11/rgb.txt`; my %colorValues; my ($colorName, $red, $green, $blue, ); shift @colors; #skip first line my $colorsRead = 0; foreach my $colorLine (@colors) { chomp $colorLine; $colorsRead++; if ($colorLine =~ m/(\d+)\s+(\d+)\s+(\d+)\s+(.+)$/) { $red = $1; $green = $2; $blue = $3; $colorName = $4; } else { die "Couldn't parse '$colorLine'\n"; } eval { ($red,$green,$blue) = $mw->rgb($colorName); }; if ($@) { print "Color named $colorName not found by Tk\n"; } } print "$colorsRead colors read\n";

Outputs:

Color named DebianRed not found by Tk 753 colors read

Replies are listed 'Best First'.
Re^5: Viewing Tk Colours (Colors) by name
by zentara (Cardinal) on Feb 22, 2012 at 18:09 UTC
    See Debian xorg.conf file problem solved.

    Also you may want to see if your xorg.conf file has it located, in the Files section

    Section "Files" # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. RgbPath "/usr/share/X11/rgb"

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
Re^5: Viewing Tk Colours (Colors) by name
by afoken (Chancellor) on Feb 22, 2012 at 19:02 UTC
    Somewhere the xorg.conf file got lost. I'm running Debian 6

    Not lost, but no longer needed most of the times. Modern X.org servers have reasonable defaults built in, and read the remaining information from HAL and friends. Quoting ftp://ftp.slackware.at/slackware-13.0/CHANGES_AND_HINTS.TXT:

    Speaking of Xorg, the version of Xorg shipped with Slackware 13.0 will not (in most cases) require an /etc/X11/xorg.conf file at all. Configuration of input devices and such is handled by HAL, and the X server autoconfigures everything else. You can still create an xorg.conf file if you wish, or you can create a minimal xorg.conf with only the specific contents that you wish to override (as an example, to use a binary-only video driver). Due to removed drivers and other such changes, it's quite possible that your old xorg.conf will not work correctly with this version of Xorg.

    If you need to use a non-US keyboard layout, then copy the file located at /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy and edit it to suit your needs.

    To find out the actual name of the RGB database, you probably need to query the X server, there should be an API function for that. Maybe you need to read or search the X.org docs.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

      Sorry, my points were:

      1. You can't find Xorg's color list from xorg.conf which no longer exists in many distributions. "rgb.txt" is located in /etc/X11 and a link to it is in /usr/share/X11 on my system.
      2. Color names in that list such as "DebianRed" may not work with Tk.