Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; --- upp 2
- ; --- file away
- ; --- type module
- ; --- info description=away system|version=1.0.0.1|rank=36|modules=general|depends=$inf(away,on)
- ; --- load dependencies
- on *:load:{
- setgroups
- }
- ; --- clean unload
- on *:unload:{
- closedialogs awaymsg
- .timerauto.away off
- .timeraway.msg off
- }
- ; --- groups
- on *:signal:setgroups:{
- setgroups
- }
- alias -l setgroups {
- setgroup away_auto_away $inf(away,auto.away)
- setgroup away_auto_reply $inf(away,auto.reply)
- setgroup away_auto_notice $inf(away,auto.notice)
- setgroup away_pager $inf(pager,on)
- }
- ; --- register toggles
- on *:signal:set.away.auto.away:{ setgroup away_auto_away $1 }
- on *:signal:set.away.auto.reply:{ setgroup away_auto_reply $1 }
- on *:signal:set.away.auto.notice:{ setgroup away_auto_notice $1 }
- on *:signal:set.pager.on:{ setgroup away_pager $1 }
- ; --- feedback signals
- on *:signal:makechn:{ $$1- away -1 away msg away ad }
- ; --- table close
- on *:signal:close.general:{
- awaystart
- }
- ; --- away events
- ; --- on connect
- on *:connect:{
- awayconnect
- awaystart
- }
- alias -l awaystart {
- if (($server) && ($inf(away,auto.away)) && (!$away)) {
- .timerauto.away -i 1 $calc($inf(away,auto.away.delay) *60) auto-away
- }
- elseif ($timer(auto.away)) { .timerauto.away off }
- }
- alias -l awayconnect {
- if (($r.temp(away.ctime)) && ($r.temp(away.reason))) { !away $v1 }
- }
- #away_auto_away off
- on *:input:*:{
- if (!$away) {
- .timerauto.away -i 1 $calc($inf(away,auto.away.delay) *60) auto-away
- }
- }
- #away_auto_away end
- #away_auto_reply on
- on &*:open:?:{
- if ($target == $null) { halt }
- if ($away) {
- t.temp 2 reason.away $r.temp(away.reason)
- if ($inf(away,shortad)) { .timer 1 0 describe $uneval($nick) $shortad_away }
- else { .timer 1 0 msg $uneval($nick) $bracket($inf(awaytext,fullad.away.away)) $away.duration(away) $iif($inf(awayad,away.reason),$!away.reason(away)) $iif($inf(awayad,away.pager),$away.pager(away)) $iif(($inf(awayad,away.time)),$inf(awaytext,fullad.away.time)) $logo }
- }
- }
- #away_auto_reply end
- #away_auto_notice on
- on *:signal:nickalert:{
- ; $!1 = chan, $!2 = wid, $3 = nick, $!4- = message
- if ($away) {
- if (($r.tmp($+(awaynotice.,$3))) || ($r.tmp(away.recentnoticed))) { return }
- w.tmp $+(awaynotice.,$3) 1
- t.temp 2 reason.away $r.temp(away.reason)
- if ($inf(away,shortad)) { .timer 1 0 notice $uneval($3) $shortad_away }
- else { .timer 1 0 notice $uneval($3) $bracket($inf(awaytext,fullad.away.away)) $away.duration(away) $iif($inf(awayad,away.reason),$!away.reason(away)) $iif($inf(awayad,away.pager),$away.pager(away)) $iif(($inf(awayad,away.time)),$inf(awaytext,fullad.away.time)) $logo }
- t.tmp $inf(ignore,pager.secs) away.recentnoticed
- }
- }
- #away_auto_notice end
- ; --- away dcc transfer logging
- on *:signal:filercvd:{
- ; $1 = nick, $2 = ip, $3 = cps, $!4 = secs, $!5 = size, $6- = filename
- if ($away) { $null($new(unnamed,nick $1,address $2,file $nopath($6-),cps $size($3) $+ /s).awayfile) }
- }
- ; --- away ad
- alias -l awaytraffic {
- if ($dat(awayfile).num) {
- var %i = 1,%o = $v1 | aecho $rc(away,filesreceived) | while (%i <= %o) {
- aecho $c(2) $+ %i $+ $chr(58) $c(1) $+ $cbrack($rc(locale,ctimeformat,$dat(awayfile,%i).ctime)) $c(1) $+ $cborder($atail($dat(awayfile,%i).nick,$dat(awayfile,%i).address)) sent $cbrack($dat(awayfile,%i).file) at $cborder($dat(awayfile,%i).cps) $csv(network,$dat(awayfile,%i).network)
- inc %i
- }
- aecho $bracket(end of list)
- }
- }
- alias -l away.leaving {
- if ($chhh($1)) {
- var %a = $v1
- if ($calc(4 * $numtok(%a,44) + 5) > $hget(temp,reason.away).unset) { t.temp $v1 reason.away $r.temp(away.reason) }
- if ($inf(away,shortad)) { adme $inf(away,ch) %a $shortad_leaving }
- else { admsg $inf(away,ch) %a $bracket($inf(awaytext,fullad.leaving.leaving)) $!away.reason(leaving) $iif($inf(awayad,leaving.pager),$away.pager(leaving)) $iif(($inf(awayad,leaving.time)),$inf(awaytext,fullad.leaving.time)) $logo }
- }
- }
- alias -l shortad_leaving {
- var %reason = $!r.temp(reason.away)
- return $eval($replace($inf(awaytext,shortad.leaving),$chr(37) $+ reason,%reason),2)
- }
- alias -l away.back {
- if ($chhh($1)) {
- var %a = $v1
- if ($calc(4 * $numtok(%a,44) + 5) > $hget(temp,reason.back).unset) { var %i = $v1 | t.temp %i reason.back $r.temp(away.reason) | t.temp %i realreason.back $r.temp(away.realreason) }
- if ($inf(away,shortad)) { adme $inf(away,ch) %a $shortad_back }
- else { admsg $inf(away,ch) %a $bracket($inf(awaytext,fullad.back.back)) $iif($inf(awayad,back.duration),$away.duration(back)) $iif($inf(away,acc),$!away.realreason,$!back.reason) $iif(($inf(awayad,back.time)),$inf(awaytext,fullad.back.time)) $logo }
- }
- }
- alias -l shortad_back {
- var %duration = $duration($calc($ctime - $r.temp(away.ctime)),2)
- if ($inf(away,acc)) { var %reason = $!r.temp(realreason.back) }
- else { var %reason = $!r.temp(reason.back) }
- return $eval($replace($inf(awaytext,shortad.back),$chr(37) $+ reason,%reason),2)
- }
- alias -l away.away {
- if ($chhh($1)) {
- var %a = $v1
- if ($calc(4 * $numtok(%a,44) + 5) > $hget(temp,reason.away).unset) { t.temp $v1 reason.away $r.temp(away.reason) }
- if ($inf(away,shortad)) { adme $inf(away,ch) %a $shortad_away }
- else { admsg $inf(away,ch) %a $bracket($inf(awaytext,fullad.away.away)) $away.duration(away) $iif($inf(awayad,away.reason),$!away.reason(away)) $iif($inf(awayad,away.pager),$away.pager(away)) $iif(($inf(awayad,away.time)),$inf(awaytext,fullad.away.time)) $logo }
- }
- }
- alias -l shortad_away {
- var %duration = $duration($calc($ctime - $r.temp(away.ctime)),2),%reason = $!r.temp(reason.away)
- return $eval($replace($inf(awaytext,shortad.away),$chr(37) $+ reason,%reason),2)
- }
- alias away {
- if (!$connected) { return }
- if ($1 == -s) { var %reason = $2- }
- else { var %reason = $1- }
- scid -a hdel -w temp $!+($cid,.awaynotice.*)
- if (%reason !== $null) {
- if ($inf(away,acc)) { w.temp away.realreason $iif(($r.temp(away.realreason) !== $null),$v1 $+ $inf(awaytext,separator)) $+ %reason }
- w.temp away.reason %reason
- if ((!$inf(away,acc)) || ($r.temp(away.ctime) !isnum)) { w.temp away.ctime $ctime }
- scid -at1 !away $!r.temp(away.reason)
- if ($1 !== -s) { scid -at1 away.leaving $inf(away,ch) }
- if ($inf(away,msg)) { .timeraway.msg -i 0 $calc($inf(away,msg.delay) * 60) away.msg }
- if ($inf(away,auto.deop)) { scid -at1 .dopme }
- if ($inf(away,nick)) { scid -a awaytonick_away }
- .timerauto.away off
- }
- else {
- scid -at1 !away
- if (($1 !== -s) && ($r.temp(away.ctime)) && ($r.temp(away.reason))) { scid -at1 away.back $inf(away,ch) }
- awaytraffic
- hdel -w temp away.* | $dat(awayfile).delall | .timeraway.* off
- if ($inf(away,auto.away)) { .timerauto.away -i 1 $calc($inf(away,auto.away.delay) * 60) auto-away }
- if ($inf(away,nick)) { scid -a awaytonick_back }
- }
- }
- alias -l awaytonick_away {
- ; !$1-
- if ($dat(network,$getnet).exists) { var %nick = $dat(network,$getnet).awaynick }
- else { var %nick = $inf(away,nick.away) }
- if ((%nick !== n/a) && ($me !=== %nick)) {
- tnick %nick
- }
- }
- alias -l awaytonick_back {
- ; !$1-
- if ($dat(network,$getnet).exists) { var %nick = $dat(network,$getnet).backnick }
- else { var %nick = $inf(away,nick.norm) }
- if ((%nick !== n/a) && ($me !=== %nick)) {
- tnick %nick
- }
- }
- alias auto-away {
- if ((!$away) && ($inf(away,auto.away))) {
- away auto away after $inf(away,auto.away.delay) minute $+ $iif(($inf(away,auto.away.delay) !== 1),s) of inactivity
- }
- }
- alias -l away.time { return $duration($iif($r.temp(away.ctime),$calc($ctime - $v1),$awaytime),2) }
- alias away.msg { if (($away) && ($inf(away,msg))) { scid -at1 away.away $inf(away,ch) } }
- alias -l away.duration { return $csv($inf(awaytext,fullad. $+ $1 $+ .duration),$duration($calc($ctime - $r.temp(away.ctime)),2)) }
- alias away.reason { return $csv($inf(awaytext,fullad. $+ $1 $+ .reason),$r.temp(reason.away)) }
- alias away.realreason { return $csv($inf(awaytext,fullad.back.reason),$r.temp(realreason.back)) }
- alias back.reason { return $csv($inf(awaytext,fullad.back.reason),$r.temp(reason.back)) }
- alias -l away.pager {
- if ($inf(pager,enabled)) { return $csv($inf(awaytext,fullad. $+ $1 $+ .pager),on $c(1) $+ $cborder(/ctcp $!me page <message>)) }
- return $csv($inf(awaytext,fullad. $+ $1 $+ .pager),off)
- }
- ; --- pager
- alias pager {
- window -Dkal $+ $pager_maxlength @pager
- titlebar @pager - double click on a nick to read the message
- if (($1 !== $null) && ($dat(pager,$1).exists)) {
- .fillpager
- .viewpage $1
- }
- else {
- fillpager
- }
- }
- alias -l pager_maxlength {
- var %max = 20,%o = $dat(pager).num | while (%o) {
- if ($len($pager_format(%o)) > %max) { %max = $v1 }
- dec %o
- }
- return %max
- }
- alias -l pager_format {
- ; $1 = page
- return $+($dat(pager,$1).nick,@,$dat(pager,$1).address)
- }
- alias -l pager_newcolor { return 7 }
- alias -l pager_normalcolor { return $color(normal) }
- alias -l fillpager {
- clear -l @pager
- var %unread = 0,%i = 1,%o = $dat(pager).num | while (%i <= %o) {
- if ($dat(pager,%i).new) { inc %unread | aline -l $pager_newcolor @pager $pager_format(%i) }
- else { aline -l $pager_normalcolor @pager $pager_format(%i) }
- inc %i
- }
- if ($show) {
- clear @pager
- aline -p @pager $c(1) $+ you have $ecborder(%o) page $+ $iif((%o !== 1),s) $+ $chr(44) $ecborder(%unread) of which $iif((%unread !== 1),are,is) unread
- d.temp activepage
- }
- }
- alias -l viewpage {
- ; $1 = page nr
- clear @pager
- w.temp activepage $1
- if ($show) { $dat(pager,$1,0).newset | cline -l $pager_normalcolor @pager $1 }
- sline -l @pager $1
- aline $iif((!$show),-ph,-p) @pager $c(1) $+ $csv(Time,$rc(locale,ctimeformatfriendly,$dat(pager,$1).ctime)) $csv(Network,$dat(pager,$1).network)
- aline $iif((!$show),-ph,-p) @pager $c(1) $+ $boldalize(Message:) $+ $c(2) $dat(pager,$1).message
- }
- menu @pager {
- dclick { if ($sline(@pager,1).ln) { viewpage $v1 } }
- $iif(($sline(@pager,1).ln),read page) { viewpage $sline(@pager,1).ln }
- $iif(($sline(@pager,1).ln),del page) { $dat(pager,$sline(@pager,1).ln).del | fillpager }
- $iif(($sline(@pager,1).ln),mark as $iif(($dat(pager,$sline(@pager,1).ln).new),read,unread)) { $dat(pager,$sline(@pager,1).ln,$nod($dat(pager,$sline(@pager,1).ln).new)).newset | fillpager }
- -
- refresh { fillpager }
- wipe pages { if ($$?!="remove all pages?") { $dat(pager).delall | fillpager } }
- close pager { window -c $active }
- }
- on *:close:@pager:{
- tokenize 32 $r.temp(activepage)
- d.temp activepage
- if ($dat(pager,$1).exists) {
- $dat(pager,$1,0).newset
- }
- }
- #away_pager on
- ctcp *:page *:?:{
- tokenize 32 $nick $1-
- ; $1 = nick, $2- = page
- if (!$inf(pager,enabled)) {
- if (!$r.tmp(pager.response)) { gq.n $1 $eval($inf(pager,off_msg),2) }
- }
- else {
- pager $new(unnamed,nick $1,address $site,message $strip($3-)).pager
- if (!$r.tmp(pager.response)) { gq.n $1 $eval($inf(pager,thanks_msg),2) }
- if (($inf(pager,playsound)) && ($is(sounds,pager))) { splay $quo($path(sounds,pager)) }
- }
- if ($inf(ignore,pager)) { t.tmp $inf(ignore,pager.secs) pager.response }
- }
- #away_pager end
- ; --- table awaymsg
- dialog awaymsg {
- title "away texts"
- size -1 -1 347 199
- option dbu
- tab "general", 1, 4 4 336 167
- box "settings", 2, 12 24 154 58, tab 1
- text "away reason separator", 3, 20 36 61 8, tab 1
- edit "", 4, 88 36 70 10, tab 1 autohs
- text "away ad style", 5, 20 52 37 8, tab 1
- radio "full", 6, 80 52 26 8, tab 1
- radio "short (/me ...)", 7, 80 64 54 8, tab 1
- box "presets", 8, 12 84 322 78, tab 1
- check "#&1", 9, 20 97 18 8, tab 1
- edit "", 10, 44 96 122 10, disable tab 1 autohs
- check "#&2", 11, 20 109 18 8, tab 1
- edit "", 12, 44 108 122 10, disable tab 1 autohs
- check "#&3", 13, 20 121 18 8, tab 1
- edit "", 14, 44 120 122 10, disable tab 1 autohs
- check "#&4", 15, 20 133 18 8, tab 1
- edit "", 16, 44 132 122 10, disable tab 1 autohs
- check "#&5", 17, 20 145 18 8, tab 1
- edit "", 18, 44 144 122 10, disable tab 1 autohs
- check "#&6", 19, 180 97 18 8, tab 1
- edit "", 20, 204 96 122 10, disable tab 1 autohs
- check "#&7", 21, 180 109 18 8, tab 1
- edit "", 22, 204 108 122 10, disable tab 1 autohs
- check "#&8", 23, 180 121 18 8, tab 1
- edit "", 24, 204 120 122 10, disable tab 1 autohs
- check "#&9", 25, 180 133 18 8, tab 1
- edit "", 26, 204 132 122 10, disable tab 1 autohs
- check "#&10", 27, 180 145 22 8, tab 1
- edit "", 28, 204 144 122 10, disable tab 1 autohs
- tab "full ad I", 29
- box "leaving", 30, 12 24 322 62, tab 29
- icon 31, 20 36 307 11, system\pics\pixel.bmp, 0, tab 29 noborder left
- text "leaving", 32, 20 56 21 8, tab 29
- edit "", 33, 48 56 102 10, tab 29 autohs
- text "reason", 34, 20 68 21 8, tab 29
- edit "", 35, 48 68 102 10, tab 29 autohs
- check "pager", 36, 180 56 30 8, tab 29
- edit "", 37, 216 56 102 10, disable tab 29 autohs
- check "time", 38, 180 68 30 8, tab 29
- edit "", 39, 216 68 102 10, disable tab 29 autohs
- box "away", 40, 12 88 322 74, tab 29
- icon 41, 20 100 307 11, system\pics\pixel.bmp, 0, tab 29 noborder left
- text "away", 42, 20 120 21 8, tab 29
- edit "", 43, 48 120 102 10, tab 29 autohs
- text "duration", 44, 20 132 25 8, tab 29
- edit "", 45, 48 132 102 10, tab 29 autohs
- check "pager", 46, 180 120 30 8, tab 29
- edit "", 47, 216 120 102 10, disable tab 29 autohs
- check "time", 48, 180 132 30 8, tab 29
- edit "", 49, 216 132 102 10, disable tab 29 autohs
- check "reason", 50, 180 144 30 8, tab 29
- edit "", 51, 216 144 102 10, disable tab 29 autohs
- tab "full ad II", 52
- box "back", 53, 12 24 322 62, tab 52
- icon 54, 20 36 307 11, system\pics\pixel.bmp, 0, tab 52 noborder left
- text "back", 55, 20 56 21 8, tab 52
- edit "", 56, 48 56 102 10, tab 52 autohs
- text "reason", 57, 20 68 25 8, tab 52
- edit "", 58, 48 68 102 10, tab 52 autohs
- check "duration", 59, 180 56 34 8, tab 52
- edit "", 60, 216 56 102 10, disable tab 52 autohs
- check "time", 61, 180 68 30 8, tab 52
- edit "", 62, 216 68 102 10, disable tab 52 autohs
- tab "short ad", 63
- box "leaving", 64, 12 24 322 44, tab 63
- edit "", 65, 20 36 307 10, tab 63 autohs
- icon 66, 20 51 307 11, system\pics\pixel.bmp, 0, tab 63 noborder left
- box "away", 67, 12 71 322 44, tab 63
- edit "", 68, 20 83 307 10, tab 63 autohs
- icon 69, 20 98 307 11, system\pics\pixel.bmp, 0, tab 63 noborder left
- box "back", 70, 12 118 322 44, tab 63
- edit "", 71, 20 130 307 10, tab 63 autohs
- icon 72, 20 145 307 11, system\pics\pixel.bmp, 0, tab 63 noborder left
- button "&ok", 73, 208 180 37 12, default ok
- button "&cancel", 74, 252 180 37 12, cancel
- button "&apply", 75, 296 180 37 12
- }
- alias -l mkleavingfullprev { $mkprevc($dname,31,-1,$inf(font,channel.size),$inf(font,channel),$bracket($did(33)) $csv($did(35),.) $iif($did(36).state,$csv($did(37),off)) $iif($did(38).state,$evalsafe($did(39))) $logo) }
- alias -l mkawayfullprev { $mkprevc($dname,41,-1,$inf(font,channel.size),$inf(font,channel),$bracket($did(43)) $csv($did(45),0 secs) $iif($did(50).state,$csv($did(51),.)) $iif($did(46).state,$csv($did(47),off)) $iif($did(48).state,$evalsafe($did(49))) $logo) }
- alias -l mkbackfullprev { $mkprevc($dname,54,-1,$inf(font,channel.size),$inf(font,channel),$bracket($did(56)) $iif($did(59).state,$csv($did(60),0 secs)) $csv($did(58),.) $iif($did(61).state,$evalsafe($did(62))) $logo) }
- alias -l mkleavingshortprev { $mkprevc($dname,66,$color(action),$inf(font,channel.size),$inf(font,channel),$myaction($me,$evalsafe($replace($did(65),$!!csv,$!csv,$chr(37),$chr(37) $!+ $chr(32))))) }
- alias -l mkawayshortprev { $mkprevc($dname,69,$color(action),$inf(font,channel.size),$inf(font,channel),$myaction($me,$evalsafe($replace($did(68),$!!csv,$!csv,$chr(37),$chr(37) $!+ $chr(32))))) }
- alias -l mkbackshortprev { $mkprevc($dname,72,$color(action),$inf(font,channel.size),$inf(font,channel),$myaction($me,$evalsafe($replace($did(71),$!!csv,$!csv,$chr(37),$chr(37) $!+ $chr(32))))) }
- on *:dialog:awaymsg:init:0:{
- var %i = 1 | while (%i <= 10) {
- if ($dat(awaypreset,%i).on) { drc $calc(7 + (2 * %i)) | dre $calc(8 + (2 * %i)) }
- dra $calc(8 + (2 * %i)) $dat(awaypreset,%i).msg
- inc %i
- }
- dra 4 $inf(awaytext,separator)
- if ($inf(away,shortad)) { drc 7 }
- else { drc 6 }
- dra 33 $inf(awaytext,fullad.leaving.leaving)
- dra 35 $inf(awaytext,fullad.leaving.reason)
- if ($inf(awayad,leaving.pager)) { drc 36 | dre 37 }
- dra 37 $inf(awaytext,fullad.leaving.pager)
- if ($inf(awayad,leaving.time)) { drc 38 | dre 39 }
- dra 39 $inf(awaytext,fullad.leaving.time)
- mkleavingfullprev
- dra 43 $inf(awaytext,fullad.away.away)
- dra 45 $inf(awaytext,fullad.away.duration)
- if ($inf(awayad,away.pager)) { drc 46 | dre 47 }
- dra 47 $inf(awaytext,fullad.away.pager)
- if ($inf(awayad,away.time)) { drc 48 | dre 49 }
- dra 49 $inf(awaytext,fullad.away.time)
- if ($inf(awayad,away.reason)) { drc 50 | dre 51 }
- dra 51 $inf(awaytext,fullad.away.reason)
- mkawayfullprev
- dra 56 $inf(awaytext,fullad.back.back)
- dra 58 $inf(awaytext,fullad.back.reason)
- if ($inf(awayad,back.duration)) { drc 59 | dre 60 }
- dra 60 $inf(awaytext,fullad.back.duration)
- if ($inf(awayad,back.time)) { drc 61 | dre 62 }
- dra 62 $inf(awaytext,fullad.back.time)
- mkbackfullprev
- dra 65 $inf(awaytext,shortad.leaving)
- mkleavingshortprev
- dra 68 $inf(awaytext,shortad.away)
- mkawayshortprev
- dra 71 $inf(awaytext,shortad.back)
- mkbackshortprev
- }
- on *:dialog:awaymsg:sclick:*:{
- if ($did == 9) { ded 10 }
- elseif ($did == 11) { ded 12 }
- elseif ($did == 13) { ded 14 }
- elseif ($did == 15) { ded 16 }
- elseif ($did == 17) { ded 18 }
- elseif ($did == 19) { ded 20 }
- elseif ($did == 21) { ded 22 }
- elseif ($did == 23) { ded 24 }
- elseif ($did == 25) { ded 26 }
- elseif ($did == 27) { ded 28 }
- elseif (($did == 36) || ($did == 38)) { ded $calc($did +1) | mkleavingfullprev }
- elseif (($did == 46) || ($did == 48) || ($did == 50)) { ded $calc($did +1) | mkawayfullprev }
- elseif (($did == 59) || ($did == 61)) { ded $calc($did +1) | mkbackfullprev }
- elseif (($did == 73) || ($did == 75)) {
- var %i = 1 | while (%i <= 10) {
- $dat(awaypreset,%i,$did($calc(7 + (2 * %i))).state).onset
- $dat(awaypreset,%i,$did($calc(8 + (2 * %i)))).msgset
- inc %i
- }
- $inf(away,shortad,$did(7).state).set
- $inf(awayad,leaving.pager,$did(36).state).set
- $inf(awayad,leaving.time,$did(38).state).set
- $inf(awayad,away.pager,$did(46).state).set
- $inf(awayad,away.time,$did(48).state).set
- $inf(awayad,away.reason,$did(50).state).set
- $inf(awayad,back.time,$did(61).state).set
- $inf(awayad,back.duration,$did(59).state).set
- $inf(awaytext,separator,$did(4)).set
- $inf(awaytext,fullad.leaving.leaving,$did(33)).set
- $inf(awaytext,fullad.leaving.reason,$did(35)).set
- $inf(awaytext,fullad.leaving.pager,$did(37)).set
- $inf(awaytext,fullad.leaving.time,$did(39)).set
- $inf(awaytext,fullad.away.away,$did(43)).set
- $inf(awaytext,fullad.away.duration,$did(45)).set
- $inf(awaytext,fullad.away.pager,$did(47)).set
- $inf(awaytext,fullad.away.time,$did(49)).set
- $inf(awaytext,fullad.away.reason,$did(51)).set
- $inf(awaytext,fullad.back.back,$did(56)).set
- $inf(awaytext,fullad.back.reason,$did(58)).set
- $inf(awaytext,fullad.back.duration,$did(60)).set
- $inf(awaytext,fullad.back.time,$did(62)).set
- $inf(awaytext,shortad.leaving,$did(65)).set
- $inf(awaytext,shortad.away,$did(68)).set
- $inf(awaytext,shortad.back,$did(71)).set
- }
- }
- on *:dialog:awaymsg:edit:*:{
- if (($did == 33) || ($did == 35) || ($did == 37) || ($did == 39)) { mkleavingfullprev }
- elseif (($did == 43) || ($did == 45) || ($did == 47) || ($did == 49) || ($did == 51)) { mkawayfullprev }
- elseif (($did == 56) || ($did == 58) || ($did == 60) || ($did == 62)) { mkbackfullprev }
- elseif ($did == 65) { mkleavingshortprev }
- elseif ($did == 68) { mkawayshortprev }
- elseif ($did == 71) { mkbackshortprev }
- }
- ; --- popup away
- #away_popup on
- menu status,menubar,channel,query {
- $iif(($$server),$iif(($away),$style(1)) away control)
- .$iif(($$away),set back from $bord($strip($iif(($r.temp(away.reason)),$v1,$awaymsg))) after $bord($away.time)) { away }
- .$iif(($away),set new away reason,set away)
- ..$submenu($awaymenu($1))
- ..-
- ..other away... { normalaway }
- ..silent away... { silentaway }
- ..-
- ..edit presets... { editawaypresets }
- .$iif(($inf(pager,enabled)),$style(1)) pages... $bord($dat(pager).num) { pager }
- .-
- .settings... { awaysettings }
- }
- alias -l awaymenu { if (($1 isnum) && ($dat(awaypreset,$1,$makepropstok(7,on 1),[this]).select)) { return $awaymenuline($v1) } }
- alias -l awaymenuline {
- var %msg = $dat(awaypreset,$1).msg
- if ($awaymsg == %msg) { return $style(1) $menuform($uneval(%msg)) : awaypreset $1 }
- return $menuform($uneval(%msg)) : awaypreset $1
- }
- alias -l awaysettings { dopen general | did -fu general 149 }
- alias -l editawaypresets { dopen awaymsg }
- alias -l awaypreset { away $dat(awaypreset,$1).msg }
- alias -l normalaway { away $$?="enter away reason" }
- alias -l silentaway { away -s $$?="enter away reason" }
- #away_popup end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement