-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathold_chan.pl
41 lines (35 loc) · 1.22 KB
/
old_chan.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use strict;
use warnings;
use Irssi;
my $VERSION = ("0.55");
my %IRSSI = (
authors => 'djsmiley2k',
contact => '[email protected]',
name => 'Old Channel',
description => 'automatically splits out old channel window; closes older channel window and joins new channel',
license => 'GPL2',
);
my ($curr_chan, $old_chan, $old_old_chan);
$curr_chan = Irssi::active_win->{refnum};
$old_old_chan = -1;
sub make_win {
# Make new window using $old_chan
# /window show $old_chan
$old_chan = Irssi::active_win->{refnum};
print "stored old chan value ($old_chan)";
}
sub push_old {
$curr_chan = Irssi::active_win->{refnum};
if ($old_old_chan != -1) {
Irssi::command("/window show " . $old_chan);
Irssi::command("/window hide " . $old_old_chan);
print "old chan = $old_chan; curr_chan = $curr_chan; closing old_old_chan ($old_old_chan)";
} else {
Irssi::command("window show " . $old_chan);
print "Nothing to close; old_chan = $old_chan; curr_chan = $curr_chan; old_old_chan = $old_old_chan";
}
$old_old_chan = $old_chan
}
Irssi::signal_add_first( 'window changed', \&make_win);
Irssi::signal_add_last( 'window changed', \&push_old);
### Irssi::signal_add_last( 'window changed', \&store_new);