Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?


by strredwolf (Chaplain)
on Apr 19, 2002 at 21:13 UTC ( #160673=sourcecode: print w/replies, xml ) Need Help??
Category: GUI Programming
Author/Contact Info strredwolf
Description: Sticky notes in Perl/Tk. Crude but effective. Hit 'new' to make a new note, 'saved' to show all notes you've written and closed. Saves in ~/.ptknotes

use Tk;

sub newnote {
    my $txt=shift; my $t=shift; my %win;
    $t=$num++ unless($t); return if($winlist{$t});
    $win{main}->protocol('WM_DELETE_WINDOW',[ sub{
    my $t = shift; my $w=$winlist{$t};
    $tlist{$t}=~ s/\n+$/\n/m;
    $w->{main}->destroy; delete $winlist{$t};
    }, $t]);

$main_old=$main->Button(-text=>"Saved",-command=>sub {
    foreach $t (keys %tlist) {
    my $t;
    foreach $t (keys %winlist) {
    my $w=$winlist{$t};
    system "rm $v/*";
    foreach $t (keys %tlist) {
    print OUT $tlist{$t};

$v=$ENV{HOME}."/.ptknotes"; mkdir $v unless(-e $v);
opendir(DIR,$v); @n=readdir(DIR); closedir(DIR);
foreach $i (@n) { 
    next unless(-f "$v/$i");
    local $/; open(IN,"<$v/$i"); 


Replies are listed 'Best First'.
Re: ptknotes
by xjar (Pilgrim) on Jun 14, 2002 at 16:21 UTC
    The following line:
    $main_new=$main->Button(-text=>"New",-command=>'newnote', -padx=>0,-pady=>0)->pack;
    caused problems running this on a Win32 environment, but changing it to:
    $main_new=$main->Button(-text=>"New",-command=>sub{newnote;}, -padx=>0,-pady=>0)->pack;
    ran perfectly.

    Also, and this is just my own aesthetic preference, changing the geometry size of the notes to 100x100 makes them look a little more sticky-noteish, but that's just me.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://160673]
shmem relocates to the pub over the street. Have a nice time.
[LanX]: well .. not so much interested in reading this article
[LanX]: my 2 cents: AngloZionistic sounds like an antisemtic theory, but to be critical of zionism doesn't mean to be anti-semitic
[shmem]: it hasn't been coined as a *mustread* without authority from the promoter
erix shoots an anti-bubble missile towards LanX
[LanX]: I don't have the time to go into depth of this blog though
[LanX]: anti-bubble missile?
[shmem]: LanX, it's not a matter of time, and you know that.
[shmem]: be precise.
[erix]: nevermind, I'm just a bit drunk :)

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2018-03-19 21:37 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (246 votes). Check out past polls.