#SB on
;### Command/keyboard support for switchbar (I hate ctrl+tab) ###
;
; /sb [1|2|q|w]
; 1 = previous (F3)
; 2 = next (F4)
; q = first (shift+F3)
; w = last (shift+F4)
;
; If only "/sb" is typed, it switches to next window.
; You can modify the shortcuts used below (F3, F4 etc), or add more, or remove etc:
alias f3 { sb 1 }
alias f4 { sb 2 }
alias sf3 { sb q }
alias sf4 { sb w }
alias sbmirc6 {
if ($scon(0) > 1) {
var %c = 1
while ($scon(%c).cid < $cid) { inc %c }
%c = %c $1 1
if (%c > $scon(0)) { %c = 1 }
elseif (!%c) { %c = $scon(0) }
return %c
}
return 1
}
alias sb0 {
var %s = $window(*,0)
while ($window(*,%s).state == hidden) { dec %s }
return %s
}
alias sb {
var %mirc6 = $iif($version >= 6,1)
if ($1 == q) { $iif(%mirc6, scon $iif($2,$sbmirc6(+),1) ) window -a "status window" }
elseif ($1 == w) {
var %window = window -a $!+(",$window(*,$sb0),")
if (%mirc6) { scon $iif($2,$sbmirc6(-),$scon(0)) %window }
else { $(%window,2) }
}
elseif ($istok(1 2,$1,32)) {
var %a = 1
while ($window(*,%a) != $active) { inc %a }
var %s = %a + $replace($1,1,-1,2,+1)
while ($window(*,%s).state == hidden) { $iif($1 == 1,dec,inc) %s }
if (%s < 1) { .timer 1 0 sb w 1 }
elseif (%s > $sb0) { .timer 1 0 sb q 1 }
else { window -a $+(",$window(*,%s),") }
}
else { .timer 1 0 sb 2 }
}
#SB end