in reply to
pTk Text Selection: Win32 Issue?
I believe, (though am not able to prove), that you are running into an issue with the way Windows handles selections. I haven't figured out a way to prevent that, though you can kind of half-assed work around it by doing something like this:
use strict;
use warnings;
use Tk;
my $mw = new MainWindow;
my $lines = "Distribution ILYAZ/os2/tk/Tk-OS2src-1.04.zip
Distribution INGY/Kwiki-Zipcode-0.12.tar.gz
Distribution ISHIGAKI/Archive-Any-Plugin-Bzip2-0.01.tar.gz
Distribution JAE/perlipse/Perlipse-0.02.zip
Distribution JALYCAI/article_fetcher.zip
Distribution JAME/ftndb-0.35.zip
Distribution JBNIVOIT/Win32-ShellExt-0.1.zip
Distribution JBRYAN/AI-NeuralNet-BackProp-0.77.zip
Distribution JBRYAN/AI-NeuralNet-BackProp-0.89.zip
Distribution JBRYAN/AI-NeuralNet-Mesh-0.44.zip
Distribution KRYDE/Filter-gunzip-4.tar.gz";
my $entry = $mw->Entry->pack;
my $txt = $mw->Text(-selectbackground=>'lightgreen')->pack;
my $but = $mw->Button(-text=>'List Selected to STDOUT', -command=>sub{
print STDERR $txt->getSelected,"\n";
print STDERR "HI THERE\n";
})->pack;
$txt->insert('end', $lines);
$txt->tagConfigure('winsel', -background => $txt->tagCget('sel','-back
+ground'));
$txt->bind('<<Selection>>',
sub {
$txt->tagRemove('winsel','1.0', 'end');
return if !defined $txt->tagRanges('sel');
$txt->tagAdd('winsel', $txt->tagRanges('sel'))
}
);
MainLoop;
Create your own tag with the same coloring then shadow the selection tag. Works on windows and shouldn't cause problems elsewhere.