aIRC — File Browser
aIRCv0.8.69 / aIRCv0.8.69 / script / windows.mrc
windows.mrc — 7.51 KB — Download this file
;/**********************************************************************
; *
; * aIRC
; * Windows
; *
; **********************************************************************/
;
alias _winini.get { return $_readini($_chfile($_usrdir(windows.ini)),$1,$2) }
alias _winini.set {
if ($3- != $null) { writeini " $+ $_chfile($_usrdir(windows.ini)) $+ " $1- }
elseif ($1 != $null) && ($2 != $null) { remini " $+ $_chfile($_usrdir(windows.ini)) $+ " $1-2 }
}
alias _savebuf {
var %d,%a
%d = $logdir $+ $active $+ . $+ $iif($1 != $null,$remove($1,.),log)
tokenize 32 $iif($2- != $null,$2-,Save buffer as:)
%a = $dir=" $1- " %d
if (%a != $null) {
if ($exists(%a)) {
if ($_filexists(1,$null,%a)) { savebuf $active " $+ %a $+ " }
else { savebuf -a $active " $+ %a $+ " }
}
else { savebuf $active " $+ %a $+ " }
info.a $active buffer saved to $^'(%a)
}
}
alias _window.conf { return $_window.size.return($1) $1 $_window.font.return($1) }
alias _window.size.default { window -a $active $_window.size.temp($_window.size.defaultr($1)) }
alias _window.size.reset { window -a $active $puttok($puttok($_window.size.return($1),-1,1,32),-1,2,32) }
alias _window.size.temp {
tokenize 32 $1-
if ($3 > 0) && ($4 > 0) {
var %x = $1,%y = $2
if (%x == X) { %x = $iif($calc($window(-3).w - $3) > 1,$rand(1,$calc($window(-3).w - $3)),-1) }
if (%y == Y) { %y = $iif($calc($window(-3).h - $4) > 1,$rand(1,$calc($window(-3).h - $4)),-1) }
if (%x == C) { %x = $calc(($window(-3).w - $3) / 2) }
if (%y == C) { %y = $calc(($window(-3).h - $4) / 2) }
return $round(%x,0) $round(%y,0) $round($3,0) $round($4,0)
}
}
alias _window.size.return {
var %t = $_winini.get($1,posize)
if (%t == $null) { %t = $_window.size.defaultr($1) }
return $_window.size.temp(%t)
}
alias _window.size.save {
var %s,%g = $_winini.get($1,posize),%x = $gettok(%g,1,32),%y = $gettok(%g,2,32),%wh = $window($active).w $window($active).h
if (%x isnum) || (%x == $null) { %x = $window($active).x }
if (%y isnum) || (%y == $null) { %y = $window($active).y }
%s = %x %y %wh
if ($_winini.get($1,rempos)) || ($2) { _winini.set $1 posize %s }
}
alias _window.font.default { font $iif($window(status window).fontbold,-ab,-a) $window(status window).fontsize $window(status window).font }
alias _window.font.reset {
var %t = $_window.font.return($2)
font $iif($_winini.get($1,bold),-b) $1 $gettok(%t,$numtok(%t,32),32) $gettok(%t,1- [ $+ [ $calc($numtok(%t,32) - 1) ] ] ,32)
}
alias _window.font.return {
var %t = $_winini.get($1,font)
if (%t != $null) { return $gettok(%t,1- [ $+ [ $calc($numtok(%t,32) - 1) ] ] ,32) $gettok(%t,$numtok(%t,32),32) }
return $window(status window).font $window(status window).fontsize
}
alias _window.font.save {
var %f = $window($active).font $window($active).fontsize
if ($ini($_chfile($_usrdir(windows.ini)),$1)) {
if ($_winini.get($1,remfont)) || ($2) {
_winini.set $1 font %f
_winini.set $1 bold $iif($window($active).fontbold,1,0)
}
else {
_winini.set $1 font $null
_winini.set $1 bold 0
}
}
}
alias _window.size.defaultr {
var %a = _windowsize. $+ $right($1,-1)
if ($isalias(%a)) {
%a
return $result
}
}
alias _window.onclose {
var %a = _onclosewin. $+ $right($1,-1)
if ($isalias(%a)) { %a $1- }
if ($window($2)) { close -@ $2 }
}
;
alias _actwin {
if (@* iswm $active) || (Status Window == $active) { return -s $+ $iif($remove($1,-,a,s) != $null,$remove($1,-,a,s)) }
return -a $+ $iif($remove($1,-,a,s,e) != $null,$remove($1,-,a,s,e))
}
alias _winwin {
if ($window($2)) || ($query($2)) || ((=* iswm $2) && (($chat($right($2,-1))) || ($serv($right($2,-1))))) {
if ($remove($1,-,a,s,e) != $null) { return - $+ $ifmatch $2 }
return $2
}
if (@* iswm $active) || (Status Window == $active) { return -s $+ $iif($remove($1,-,a,s) != $null,$remove($1,-,a,s)) }
return -a $+ $iif($remove($1,-,a,s,e) != $null,$remove($1,-,a,s,e))
}
alias _window.ciright {
if ($mouse.lb) && ($sline($active,1) != $null) && ($1 != $null) { return $1- }
}
alias _window.cileft {
if ($_not($mouse.lb)) && ($1 != $null) { return $1- }
}
;
alias _window.menu.1 {
if (@* iswm $menu) && ($isalias($_nospaces(_windowopts.,$remove($menu,@)))) {
%`window.m = &window
var %a = _windowopts. $+ $right($menu,-1)
if ($isalias(%a)) {
%a
%a = $result
%`window.l = $gettok(%a,1,32)
%`window.s = $gettok(%a,2,32)
%`window.f = $gettok(%a,3,32)
}
%`window.sr = $_winini.get($menu,rempos)
%`window.fr = $_winini.get($menu,remfont)
%`window.ps = $iif($gettok($_window.size.defaultr($menu),1,32) isletter,&size,&position)
}
}
alias _window.menu.2 { unset %`window.* }
menu * {
-
$iif($active == notify list,&close):notify -h
$_window.menu.1:{ }
%`window.m
.$iif(%`window.s,%`window.ps)
..$`ifmm(%`window.sr) r&emember:{
_winini.set $menu rempos $iif($_winini.get($menu,rempos),0,1)
_window.size.save $menu
}
..-
..&save:{ _window.size.save $menu forcesave }
..&reset:{ _window.size.reset $menu }
..-
..&default:{ _window.size.default $menu }
.$iif($_not(%`window.f),&font...):font
.$iif(%`window.f,&font)
..$`ifmm(%`window.fr) r&emember:{
_winini.set $menu remfont $iif($_winini.get($menu,remfont),0,1)
_window.font.save $menu
}
..-
..&save:{ _window.font.save $menu forcesave }
..&reset:{ _window.font.reset $active $menu }
..-
..&change...:{ font }
..&default:{ _window.font.default $menu }
.-
.&buffer
..$iif(%`window.l,&clear):{ clear }
..&save...:{ _savebuf log }
.-
.&close:{
var %m = $menu
_window.size.save %m
_window.font.save %m
_window.onclose %m $active
}
$_window.menu.2:{ }
}
ON *:CLOSE:@:{
if ($_window.menu.return($target) != $null) {
var %m = $ifmatch
_window.size.save %m
_window.font.save %m
_window.onclose %m $target
}
}
alias _window.move { .timerWINDOWMOVE $+ $1 -mo 0 1 _window.move.move $1 $mouse.dx $mouse.dy $window($1).dx $window($1).dy }
alias _window.move.move {
if ($window($1) == $null) || ($active != $1) || ($mouse.key !& 1) { .timerWINDOWMOVE $+ $1 off }
else { window $1 $calc($mouse.dx - $2 + $4) $calc($mouse.dy - $3 + $5) }
}
; /_window.cb.sel window <1=selected|0=all> <1=sidelistbox|0=listbox>
alias _window.cb.sel {
var %i = 1
clipboard
while ($iif($2,$sline($1,%i),$line($1,%i,$iif($3,1,0))) != $null) {
clipboard -a $ifmatch $+ $crlf
inc %i
}
}
alias _window.menu.return {
if ($istok(@AsciiĀ Table @CTCP @Logs @Notices @Pager @ServerĀ Notices @Whois,$1,32)) { return $1 }
if (@Telnet* iswm $1) { return @Telnet }
if (@e-MailĀ POP3* iswm $1) { return @e-MailĀ POP3 }
if (@Reading* iswm $1) { return @e-MailĀ POP3 }
if (@Text* iswm $1) { return @Text }
if (@HTTP* iswm $1) { return @HTTP }
var %i,%r
while (1) {
inc %i
if ($_list.get(winmenu,%i)) {
%r = $ifmatch
if ($gettok(%r,1,32) == $1) || ($gettok(%r,1,32) iswm $1) { return $gettok(%r,2,32) }
}
else { break }
}
}
alias _window.menu.flush { ._list.flush winmenu }
alias _window.menu.add { _list.add winmenu $1- }
alias _window.menu.del { _list.del winmenu $1- }
;
;
;
;
alias _windowsize.Whois { return C C 478 161 }
alias _windowopts.Whois { return 1 1 1 }
alias _windowsize.CTCP { return C C 478 161 }
alias _windowopts.CTCP { return 1 1 1 }
alias _windowsize.Notices { return C C 478 161 }
alias _windowopts.Notices { return 1 1 1 }