lastlog - add -output option

William Pettersson <[email protected]> Mon, 21 Jan 2008 19:47:20 +1000
Newsgroups gmane.network.irc.irssi.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------000805090902010304090400
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What:
/lastlog, once this patch is applied, accepts a new parameter, -output
<refnum|window>.  This lets you set where lastlog should place the
output (if not the current window).  This output also works with -clear,
clearing the selected window of any lastlog output.

Why:
Ok, this was discussed in #irssi on freenode for a bit.  I obviously use
lastlog strangely, but I like having lastlog results in a seperate
"logs" window.  This is so I can keep reading the current channel, while
still checking through a lastlog.  Rather than having to switch to a new
channel and running lastlog, I wrote this patch.

Patch is attached, or can also be retrieved from
http://www.strudel-hound.com/irssi-lastlog-output.patch

Signed-off-by: William Pettersson <[email protected]>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHlGoZNSpXjKoV00kRAp7iAKCE6m9pJ36dxFxMJgaRU42Uhf2WkACZAUdB
ZZPd+yhrM871zWdAYJr2qqw=
=oGkj
-----END PGP SIGNATURE-----

--------------000805090902010304090400
Content-Type: text/plain;
 name="irssi-lastlog-output.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="irssi-lastlog-output.patch"

LS0tIHNyYy9mZS10ZXh0L2xhc3Rsb2cuYy5vbGQJMjAwOC0wMS0yMSAxNzo1MjozMi4wMDAw
MDAwMDAgKzEwMDAKKysrIHNyYy9mZS10ZXh0L2xhc3Rsb2cuYwkyMDA4LTAxLTIxIDE4OjE5
OjE4LjAwMDAwMDAwMCArMTAwMApAQCAtNzcsNyArNzcsNyBAQAogc3RhdGljIHZvaWQgc2hv
d19sYXN0bG9nKGNvbnN0IGNoYXIgKnNlYXJjaHRleHQsIEdIYXNoVGFibGUgKm9wdGxpc3Qs
CiAJCQkgaW50IHN0YXJ0LCBpbnQgY291bnQsIEZJTEUgKmZoYW5kbGUpCiB7Ci0JV0lORE9X
X1JFQyAqd2luZG93OworCVdJTkRPV19SRUMgKndpbmRvdywgKm91dHB1dDsKICAgICAgICAg
TElORV9SRUMgKnN0YXJ0bGluZTsKIAlHTGlzdCAqbGlzdCwgKnRtcDsKIAlHU3RyaW5nICps
aW5lOwpAQCAtODgsOCArODgsMjIgQEAKIAlpZiAobGV2ZWwgPT0gLTEpIHJldHVybjsgLyog
ZXJyb3IgaW4gb3B0aW9ucyAqLwogICAgICAgICBpZiAobGV2ZWwgPT0gMCkgbGV2ZWwgPSBN
U0dMRVZFTF9BTEw7CiAKKyAgICAgICAgLyogd2hpY2ggd2luZG93IHRvIG91dHB1dCB0byAq
LworICAgICAgICBvdXRwdXQgPSBhY3RpdmVfd2luOworICAgICAgICBzdHIgPSBnX2hhc2hf
dGFibGVfbG9va3VwKG9wdGxpc3QsICJvdXRwdXQiKTsKKwlpZiAoc3RyICE9IE5VTEwpIHsK
KwkJb3V0cHV0ID0gaXNfbnVtZXJpYyhzdHIsICdcMCcpID8KKwkJCXdpbmRvd19maW5kX3Jl
Zm51bShhdG9pKHN0cikpIDoKKwkJCXdpbmRvd19maW5kX2l0ZW0oTlVMTCwgc3RyKTsKKwkJ
aWYgKG91dHB1dCA9PSBOVUxMKSB7CisJCQlwcmludGZvcm1hdChOVUxMLCBOVUxMLCBNU0dM
RVZFTF9DTElFTlRFUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFRYVF9SRUZOVU1fTk9UX0ZPVU5ELCBzdHIpOworCQkJcmV0dXJuOworCQl9CisgICAgICAg
IH0KKwogCWlmIChnX2hhc2hfdGFibGVfbG9va3VwKG9wdGxpc3QsICJjbGVhciIpICE9IE5V
TEwpIHsKLQkJdGV4dGJ1ZmZlcl92aWV3X3JlbW92ZV9saW5lc19ieV9sZXZlbChXSU5ET1df
R1VJKGFjdGl2ZV93aW4pLT52aWV3LCBNU0dMRVZFTF9MQVNUTE9HKTsKKwkJdGV4dGJ1ZmZl
cl92aWV3X3JlbW92ZV9saW5lc19ieV9sZXZlbChXSU5ET1dfR1VJKG91dHB1dCktPnZpZXcs
IE1TR0xFVkVMX0xBU1RMT0cpOwogCQlpZiAoKnNlYXJjaHRleHQgPT0gJ1wwJykKICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKIAl9CkBAIC0xNTEsNyArMTY1LDcgQEAKIAl9
CiAKIAlpZiAoZ19oYXNoX3RhYmxlX2xvb2t1cChvcHRsaXN0LCAiY291bnQiKSAhPSBOVUxM
KSB7Ci0JCXByaW50Zm9ybWF0X3dpbmRvdyhhY3RpdmVfd2luLCBNU0dMRVZFTF9DTElFTlRO
T1RJQ0UsCisJCXByaW50Zm9ybWF0X3dpbmRvdyhvdXRwdXQsIE1TR0xFVkVMX0NMSUVOVE5P
VElDRSwKIAkJCQkgICBUWFRfTEFTVExPR19DT1VOVCwgbGVuKTsKIAkJZ19saXN0X2ZyZWUo
bGlzdCk7CiAJCXJldHVybjsKQEAgLTE1OSw3ICsxNzMsNyBAQAogCiAJaWYgKGxlbiA+IE1B
WF9MSU5FU19XSVRIT1VUX0ZPUkNFICYmIGZoYW5kbGUgPT0gTlVMTCAmJgogCSAgICBnX2hh
c2hfdGFibGVfbG9va3VwKG9wdGxpc3QsICJmb3JjZSIpID09IE5VTEwpIHsKLQkJcHJpbnRm
b3JtYXRfd2luZG93KGFjdGl2ZV93aW4sCisJCXByaW50Zm9ybWF0X3dpbmRvdyhvdXRwdXQs
CiAJCQkJICAgTVNHTEVWRUxfQ0xJRU5UTk9USUNFfE1TR0xFVkVMX0xBU1RMT0csCiAJCQkJ
ICAgVFhUX0xBU1RMT0dfVE9PX0xPTkcsIGxlbik7CiAJCWdfbGlzdF9mcmVlKGxpc3QpOwpA
QCAtMTY3LDcgKzE4MSw3IEBACiAJfQogCiAJaWYgKGZoYW5kbGUgPT0gTlVMTCAmJiBnX2hh
c2hfdGFibGVfbG9va3VwKG9wdGxpc3QsICItIikgPT0gTlVMTCkKLQkJcHJpbnRmb3JtYXQo
TlVMTCwgTlVMTCwgTVNHTEVWRUxfTEFTVExPRywgVFhUX0xBU1RMT0dfU1RBUlQpOworCQlw
cmludGZvcm1hdF93aW5kb3cob3V0cHV0LCBNU0dMRVZFTF9MQVNUTE9HLCBUWFRfTEFTVExP
R19TVEFSVCk7CiAKIAlsaW5lID0gZ19zdHJpbmdfbmV3KE5VTEwpOwogICAgICAgICB3aGls
ZSAodG1wICE9IE5VTEwgJiYgKGNvdW50IDwgMCB8fCBjb3VudCA+IDApKSB7CkBAIC0xNzks
NyArMTkzLDcgQEAKIAkJCWlmIChmaGFuZGxlICE9IE5VTEwpIHsKIAkJCQlmd3JpdGUoIi0t
XG4iLCAzLCAxLCBmaGFuZGxlKTsKIAkJCX0gZWxzZSB7Ci0JCQkJcHJpbnRmb3JtYXRfd2lu
ZG93KGFjdGl2ZV93aW4sCisJCQkJcHJpbnRmb3JtYXRfd2luZG93KG91dHB1dCwKIAkJCQkJ
CSAgIE1TR0xFVkVMX0xBU1RMT0csCiAJCQkJCQkgICBUWFRfTEFTVExPR19TRVBBUkFUT1Ip
OwogCQkJfQpAQCAtMjA0LDcgKzIxOCw3IEBACiAJCQlmd3JpdGUobGluZS0+c3RyLCBsaW5l
LT5sZW4sIDEsIGZoYW5kbGUpOwogCQkJZnB1dGMoJ1xuJywgZmhhbmRsZSk7CiAJCX0gZWxz
ZSB7Ci0JCQlwcmludHRleHRfd2luZG93KGFjdGl2ZV93aW4sIE1TR0xFVkVMX0xBU1RMT0cs
CisJCQlwcmludHRleHRfd2luZG93KG91dHB1dCwgTVNHTEVWRUxfTEFTVExPRywKIAkJCQkJ
ICIlcyIsIGxpbmUtPnN0cik7CiAJCX0KIApAQCAtMjE0LDcgKzIyOCw3IEBACiAgICAgICAg
IGdfc3RyaW5nX2ZyZWUobGluZSwgVFJVRSk7CiAKIAlpZiAoZmhhbmRsZSA9PSBOVUxMICYm
IGdfaGFzaF90YWJsZV9sb29rdXAob3B0bGlzdCwgIi0iKSA9PSBOVUxMKQotCQlwcmludGZv
cm1hdChOVUxMLCBOVUxMLCBNU0dMRVZFTF9MQVNUTE9HLCBUWFRfTEFTVExPR19FTkQpOwor
CQlwcmludGZvcm1hdF93aW5kb3cob3V0cHV0LCBNU0dMRVZFTF9MQVNUTE9HLCBUWFRfTEFT
VExPR19FTkQpOwogCiAJdGV4dGJ1ZmZlcl92aWV3X3NldF9ib29rbWFya19ib3R0b20oV0lO
RE9XX0dVSSh3aW5kb3cpLT52aWV3LAogCQkJCQkgICAgImxhc3Rsb2dfbGFzdF9jaGVjayIp
OwpAQCAtMjI0LDggKzIzOCw4IEBACiB9CiAKIC8qIFNZTlRBWDogTEFTVExPRyBbLV0gWy1m
aWxlIDxmaWxlbmFtZT5dIFstd2luZG93IDxyZWYjfG5hbWU+XSBbLW5ldyB8IC1hd2F5XQot
CQkgICBbLTxsZXZlbD4gLTxsZXZlbC4uLj5dIFstY2xlYXJdIFstY291bnRdIFstY2FzZV0K
LQkJICAgWy1yZWdleHAgfCAtd29yZF0gWy1iZWZvcmUgWzwjPl1dIFstYWZ0ZXIgWzwjPl1d
CisJCSAgIFstPGxldmVsPiAtPGxldmVsLi4uPl0gWy1jbGVhcl0gWy1jb3VudF0gWy1vdXRw
dXQgPHJlZiN8bmFtZT5dCisJCSAgIFstcmVnZXhwIHwgLXdvcmRdIFstYmVmb3JlIFs8Iz5d
XSBbLWFmdGVyIFs8Iz5dXSBbLWNhc2VdCiAJCSAgIFstPCMgYmVmb3JlK2FmdGVyPl0gWzxw
YXR0ZXJuPl0gWzxjb3VudD4gWzxzdGFydD5dXSAqLwogc3RhdGljIHZvaWQgY21kX2xhc3Rs
b2coY29uc3QgY2hhciAqZGF0YSkKIHsKQEAgLTI4Niw3ICszMDAsNyBAQAogewogCWNvbW1h
bmRfYmluZCgibGFzdGxvZyIsIE5VTEwsIChTSUdOQUxfRlVOQykgY21kX2xhc3Rsb2cpOwog
Ci0JY29tbWFuZF9zZXRfb3B0aW9ucygibGFzdGxvZyIsICIhLSAjIGZvcmNlIGNsZWFyIC1m
aWxlIC13aW5kb3cgbmV3IGF3YXkgd29yZCByZWdleHAgY2FzZSBjb3VudCBAYSBAYWZ0ZXIg
QGJlZm9yZSIpOworCWNvbW1hbmRfc2V0X29wdGlvbnMoImxhc3Rsb2ciLCAiIS0gIyBmb3Jj
ZSBjbGVhciAtZmlsZSAtd2luZG93IC1vdXRwdXQgbmV3IGF3YXkgd29yZCByZWdleHAgY2Fz
ZSBjb3VudCBAYSBAYWZ0ZXIgQGJlZm9yZSIpOwogfQogCiB2b2lkIGxhc3Rsb2dfZGVpbml0
KHZvaWQpCg==
--------------000805090902010304090400--