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
+}