diff --git a/docs/CREDIT.txt b/docs/CREDIT.txt index d5ba89f..4029f5b 100644 --- a/docs/CREDIT.txt +++ b/docs/CREDIT.txt @@ -6,9 +6,7 @@ greg blair Special characters dave mcpherson Profile Change Alert matthew sachs Wrote the Net::OSCAR module paul christian Automatic sarcasm -aj kappe history of sent messages aj kappe wishbone instead of wishlist dan chokola remote command line -marc dashevsky the spiffy BrowseEntry control (not yet used) eric thul and bill atkins plugin/MOS separation rob mccool for documenting httpd.conf and not noticing that we stole his words :) \ No newline at end of file diff --git a/docs/README.txt b/docs/README.txt index 625542f..663ffa3 100644 --- a/docs/README.txt +++ b/docs/README.txt @@ -1,8 +1,10 @@ milkbone 0.13 README ------------------------------------- -milkbone is a rewrite of the AOL Instant Messenger client program for the Win32 operating system. milkbone is -written entirely in perl (well, there's a BIT of C) and is open-source freeware. milkbone may be freely +milkbone is a rewrite of the AOL Instant Messenger client program for *NIX- +and Win32-based operating systems. milkbone is +written entirely in perl (well, there's a BIT of C) and is open-source +freeware. milkbone may be freely redistributed under the GPL as long as this file remains intact and any modifications to the core are noted. USE diff --git a/docs/VERSION.txt b/docs/VERSION.txt index 5ac0c77..2e45e4c 100644 --- a/docs/VERSION.txt +++ b/docs/VERSION.txt @@ -1,6 +1,8 @@ 0.355 -- +* Notification when your rate limit expires +* Dropdown in AddBuddy works * New interface * Your typing status is cleared when you close a convo box * Newlines can be sent with Ctrl-Return; also, pasted newlines are sent properly @@ -35,8 +37,7 @@ * < and > work in profiles and convos (you can send them as < and > for now) * Splash screen * Mouse wheel works in Linux -* No more boxes in focused widgets on Linux warn "$ARGS{-user} has been warned"; - +* No more boxes in focused widgets on Linux * Sounds now play asynchronously on Linux (without starting too many play processes) * Fixed weirdness with context menu on Linux * Fancier buttons and menus on Linux (a LOT fancier) diff --git a/mb.conf b/mb.conf index f3adcf4..1fe5c0a 100644 --- a/mb.conf +++ b/mb.conf @@ -2,10 +2,10 @@ Goodbye sorry, gotta, go Modules Tk-PluginsConf, Net-OSCAR, Tk-GUI, Tk-Logon, Tk-BList, Tk-Profile, Tk-File, Tk-About, Tk-AddBuddy, Tk-Convo -Plugins Sound, XAMP, Templog, Monitor, Counterstrike, hooktest +Plugins Sound, XAMP, Templog, Monitor, Counterstrike Port 5190 HeavyLogging 0 SoundsWhileAway 0 -Timeout 60 +AwayTimeout 60 TrayIcon 1 HideBListLogo 0 \ No newline at end of file diff --git a/mos.pl b/mos.pl index 4e061a7..bf96ee5 100755 --- a/mos.pl +++ b/mos.pl @@ -1,14 +1,14 @@ #!/usr/bin/perl -# ----------------------------------------------------------------------------- -# Author(s) : Bill Atkins and Eric Thul +# ---------------------------------------------------------------------- +# Author(s) : Bill Atkins # Title : MOS Core # Date : 12.21.02 # Desc : the core for Milkbone # QoTP : got milkbone? # Notes : for more information see the plugin documentation # License : it's on our TODO list... -# ----------------------------------------------------------------------------- +# ----------------------------------------------------------------------- use 5.006; diff --git a/plugins/Counterstrike.pl b/plugins/Counterstrike.pl index 1a9f2be..fb413cf 100644 --- a/plugins/Counterstrike.pl +++ b/plugins/Counterstrike.pl @@ -1,16 +1,22 @@ package Counterattack; use Milkbone; +use Milkbone::AllHooks; +use base 'Milkbone::AllHooks'; register_hook("protocol_eviled", sub { - warn "$ARGS{-user} has warned you. Counterstrike initiated."; - hook("protocol_evil", -user => $ARGS{-user}); + error(-short => "$ARGS{-user} has warned you. Counterstrike initiated."); + protocol_evil(-user => $ARGS{-user}); register_hook("msg_in_$ARGS{-user}", sub { warn "Counterstrike completed"; - hook("protocol_evil", -user => $ARGS{-user}); + protocol_evil(-user => $ARGS{-user}); deregister_hook("msg_in_$ARGS{-user}"); - }); + }, {-user => $ARGS{-user}}); +}); + +register_hook("msg_in", sub { + deregister_hook("protocol_eviled"); }); 1; diff --git a/plugins/Monitor.pl b/plugins/Monitor.pl index 7444539..20d5802 100644 --- a/plugins/Monitor.pl +++ b/plugins/Monitor.pl @@ -8,6 +8,7 @@ sub sendmail { print "sending message";; my ($sub, $text, $user) = @_; + $user =~ s/ /_/g; my $smtp = Net::SMTP->new('smtpauth.earthlink.net', Hello => 'milkbone.org', Debug => 1); diff --git a/plugins/Net-OSCAR/Net-OSCAR.pl b/plugins/Net-OSCAR/Net-OSCAR.pl index 66908b2..7fdaff7 100644 --- a/plugins/Net-OSCAR/Net-OSCAR.pl +++ b/plugins/Net-OSCAR/Net-OSCAR.pl @@ -133,10 +133,15 @@ sub signon $oscar->set_callback_rate_alert( sub { - hook("error", - -short => "You've exceeded one of AOL's rate limits. Profiles and outgoing IM's may not work for a few seconds") - if $_[1] == RATE_LIMIT; - hook("rate_alert") if $_[1] == RATE_LIMIT; + if($_[1] == RATE_LIMIT) + { + hook("error", + -short => "You've exceeded one of AOL's rate limits. You will be alerted when the rate limit ends."); + hook("rate_alert"); + hook("tk_getmain")->after(10 * 1000, sub { + hook("error", -short => "Rate limit has expired."); + }); + } } ); $oscar->set_callback_buddy_info( @@ -229,7 +234,7 @@ sub request_away sub send_away { my $user = shift; - my $timeout = option("AwayTimeout") || 60; + my $timeout = option("AwayTimeout"); $away_sent{$user} ||= 1; if (time - $away_sent{$user} > option("AwayTimeout")) { diff --git a/plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm b/plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm index 3885590..3aac0e9 100644 --- a/plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm +++ b/plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm @@ -27,7 +27,7 @@ sub on_add { my ($self) = @_; my $name = $self->{entry}->get(); - my $group = $self->{group}; + my $group = $self->{group}; hook("protocol_add_buddy", -group => $group, -buddy => $name); hook("protocol_commit_blist"); $self->destroy; @@ -53,7 +53,7 @@ sub init $self->Label(-text => 'Group:', -anchor=>'w')->pack(); $self->{list} = $self->JBrowseEntry(-width => 16, -takefocus => 1, -variable => \$self->{group}, - -choices => $groups)->pack(-expand => 1, -fill => 'both'); + -choices => [sort @$groups])->pack(-expand => 1, -fill => 'both'); $self->{buttons}->Button(-text => "Cancel", -command => [ $self, "destroy"])->pack(-pady => 6, -padx=>6, -side=>'right'); $self->{buttons}->Button(-text => "Add", -command => [ $self, "on_add"])->pack(-pady => 6, -padx=>6, -side=>'right'); @@ -74,4 +74,4 @@ sub init $self->{entry}->focus; } -1; \ No newline at end of file +1; diff --git a/plugins/Tk-Convo/Tk-Convo.pl b/plugins/Tk-Convo/Tk-Convo.pl index 17d0ead..bf521d3 100644 --- a/plugins/Tk-Convo/Tk-Convo.pl +++ b/plugins/Tk-Convo/Tk-Convo.pl @@ -27,6 +27,7 @@ register_hook("create_convo", sub { $convos{$buddy} = $convo; register_hook("msg_in_$buddy", sub { + print "message $ARGS{-msg} received \n\n"; if(!$convos{$ARGS{-user}}) { hook("create_convo", -user => hook("protocol_get_realname", -user => $ARGS{-user})); diff --git a/plugins/Tk-File/Milkbone/File.pm b/plugins/Tk-File/Milkbone/File.pm index 650d9a1..bbd7320 100644 --- a/plugins/Tk-File/Milkbone/File.pm +++ b/plugins/Tk-File/Milkbone/File.pm @@ -82,4 +82,4 @@ sub pre_save $text =~ s/\n/
/gi; return $text; -} \ No newline at end of file +} diff --git a/plugins/Tk-File/Tk-File.pl b/plugins/Tk-File/Tk-File.pl index 6704fc7..f1da74d 100644 --- a/plugins/Tk-File/Tk-File.pl +++ b/plugins/Tk-File/Tk-File.pl @@ -70,4 +70,4 @@ sub pre_read $text =~ s/
/\n/gi; return $text; -} \ No newline at end of file +}