Autore: bull
Data: 25/01/2021
Linguaggio: mIRC Scripting
Descrizione: Nascondi finestre inattive
  1. ;CONFIGURAZIONI
  2.  
  3. alias d.idlefile { return TXT\dhide.ini }
  4. alias d.idlewindow { return Channel Chat Query }
  5. alias d.idletimeout { return 20 }
  6.  
  7. ;FINE CONFIGURAZIONI
  8.  
  9.  
  10. alias d.hideidle { scon -a d.hide $1 }
  11. alias d.hide {
  12.   var %dw = $window(*,0), %dtype
  13.   while (%dw) {
  14.     var %dtype = $istok($d.idlewindow,$window(*,%dw).type,32)
  15.     var %dwid = $window(*,%dw).wid
  16.     var %dwname = @ $+ $window(*,%dw).wid
  17.     var %dsbcolor = $istok(message highlight,$window(*,%dw).sbcolor,32)
  18.     if (%dtype) && ($activewid != %dwid) {
  19.       if (%didle_ [ $+ [ %dwid ] ]) { dec %didle_ [ $+ [ %dwid ] ] }
  20.       if ($1 = -w) {
  21.         window -w3 %dwname
  22.         set -e %didle_ [ $+ [ %dwid ] ] $d.idletimeout
  23.       }
  24.       elseif (!%dsbcolor) && (!%didle_ [ $+ [ %dwid ] ]) && ($window(%dwname).tbstate) {
  25.         if ($active === Status Window) && ($activecid = $window(@ $+ %dwid).cid) { }
  26.         else {
  27.           window -w0 %dwname
  28.           set -e %didle_ [ $+ [ %dwid ] ] $d.idletimeout
  29.         }
  30.       }
  31.     }
  32.     dec %dw
  33.   }
  34. }
  35. on *:TEXT:*:#: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window($chan).wid } }
  36. on *:TEXT:*:?: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window($nick).wid } }
  37. on *:NOTICE:*:#: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window($chan).wid } }
  38. on *:CHAT:*: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window(= $+ $nick).wid } }
  39. on *:ACTION:*:#: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window($chan).wid } }
  40. on *:ACTION:*:?: { if ($readini($d.idlefile,general,n) = on) { d.unhide @ $+ $window($nick).wid } }
  41. on *:ACTIVE:*: {
  42.   if ($readini($d.idlefile,general,n) = on) {
  43.     var %lwid = $lactivewid
  44.     if ($istok($d.idlewindow,$window(@ $+ %lwid).type,32)) && (%lwid != $wid) { set -e %didle_ [ $+ [ %lwid ] ] $d.idletimeout }
  45.     if ($istok($d.idlewindow,$window($active).type,32)) && (!$window($active).tbstate) { window -w3 $active }
  46.     if ($window($active).type == status) && (%lwid != $wid) { .timerunhide -m 1 1 d.hide -w }
  47.   }
  48. }
  49. on *:START: { if ($readini($d.idlefile,general,n) = on) { .timerdhide -i 0 1 d.hideidle } }
  50. alias d.unhide { if (!$window($1).tbstate) && ($window($1)) { window -w3 $1 } }
  51. alias d.hidewindow {
  52.   if ($timer(dhide)) { .timerdhide off | writeini $d.idlefile general n off | d.hideidle -w | unset %didle_*  }
  53.   else { .timerdhide -i 0 1 d.hideidle | writeini $d.idlefile general n on }
  54. }
  55.  
  56. menu status,menubar {
  57.   Nascondi finestre inattive $chr(9) $iif($timer(dhide),ON,OFF):d.hidewindow
  58. }
dPaste use Geshi

Torna al NoPaste