aboutsummaryrefslogtreecommitdiffstats
path: root/scrolled-reminder
diff options
context:
space:
mode:
authorTom Feist <shabble@metavore.org>2010-10-13 01:10:21 +0000
committerTom Feist <shabble@metavore.org>2010-10-13 01:10:21 +0000
commitbb5d73900d48c9d5da071ee534ecc4dcfb2c8bf6 (patch)
tree5b9dfe81a0362c92a32037e086698f482bf76d8b /scrolled-reminder
parentupdated history search to use a irssi setting 'histsearch_debug' to enable (diff)
downloadirssi-scripts-bb5d73900d48c9d5da071ee534ecc4dcfb2c8bf6.tar.gz
irssi-scripts-bb5d73900d48c9d5da071ee534ecc4dcfb2c8bf6.zip
added documentation, debug setting: 'scrollminder_debug', partially updated to
use uberprompt
Diffstat (limited to 'scrolled-reminder')
-rw-r--r--scrolled-reminder/scrolled_reminder.pl87
1 files changed, 73 insertions, 14 deletions
diff --git a/scrolled-reminder/scrolled_reminder.pl b/scrolled-reminder/scrolled_reminder.pl
index b69e3df..113e2a3 100644
--- a/scrolled-reminder/scrolled_reminder.pl
+++ b/scrolled-reminder/scrolled_reminder.pl
@@ -1,3 +1,58 @@
+# ABOUT:
+#
+# This script attempts to prevent you from responding accidentally to long-finished
+# conversations if you have scrolled back and are not viewing the current activity
+# of the channel.
+#
+# If you attempt to send a message when you are not at the most recent point in the
+# channel buffer, it will intercept the message and offer you a menu of options
+# instead.
+#
+# USAGE:
+#
+# When scrolled up and sending a message, the subsequent prompt has the following
+# options:
+#
+# * Ctrl-C - cancel sending the message. It remains in your input line, but is not
+# sent to the channel.
+# * Ctrl-K - send the message to the channel. The input line is cleared.
+# * Space - Jump to the bottom (most recent) part of the channel buffer.
+# Unlike the first two, this does not cancel the prompt, so it allows
+# you to determine if your message is still appropriate before sending.
+#
+#
+# INSTALL:
+#
+# This script requires that you have first installed and loaded 'uberprompt.pl'
+# Uberprompt can be downloaded from:
+#
+# http://github.com/shabble/irssi-scripts/raw/master/prompt_info/uberprompt.pl
+#
+# and follow the instructions at the top of that file for installation.
+#
+# LICENCE:
+#
+# Copyright (c) 2010 Tom Feist
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
use strict;
use warnings;
@@ -7,16 +62,8 @@ use Irssi::Irc;
use Data::Dumper;
-# Everyone is permitted to copy and distribute verbatim or modified
-# copies of this license document, and changing it is allowed as long
-# as the name is changed.
-
-# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-# 0. You just DO WHAT THE FUCK YOU WANT TO.
-
-sub DEBUG () { 1 }
+my $DEBUG_ENABLED = 0;
+sub DEBUG () { $DEBUG_ENABLED }
our $VERSION = '0.01';
our %IRSSI =
@@ -27,8 +74,8 @@ our %IRSSI =
description => 'Requires confirmation to messages sent'
. 'when the current window is scrolled up',
- license => 'WTFPL; http://sam.zoy.org/wtfpl/',
- url => 'http://github.com/shabble/shab-irssi-scripts/'
+ license => 'MIT',
+ url => 'http://github.com/shabble/irssi-scripts/'
. 'tree/master/scrolled-reminder/',
);
@@ -44,8 +91,8 @@ sub script_is_loaded {
return $retval;
}
-unless (script_is_loaded('prompt_info')) {
- die "This script requires 'prompt_info' in order to work. "
+unless (script_is_loaded('uberprompt')) {
+ die "This script requires the 'uberprompt.pl' script in order to work. "
. "Please load it and try again";
} else {
scroll_reminder_init();
@@ -56,11 +103,23 @@ my $pending_input = {};
my $active;
sub scroll_reminder_init {
+
+
$permit_pending = 0;
$active = 0;
+
+ Irssi::settings_add_bool('scrollminder', 'scrollminder_debug', 0);
+
# we need to be first so we can intercept stuff.
Irssi::signal_add_first('send text', \&handle_send_text);
Irssi::signal_add_first('gui key pressed', \&handle_keypress);
+ Irssi::signal_add('setup changed' => \&setup_changed);
+
+ setup_changed();
+}
+
+sub setup_changed {
+ $DEBUG_ENABLED = Irssi::settings_get_bool('scrollminder_debug');
}
################################################################