mIRC Homepage
Posted By: OutlawStarwind Scrollable Channel List - 12/08/03 06:58 AM
I don't know about the rest of you but I like to hang out in a lot of channels, and I'm on a large resolutioned computer.. but I can only seem to join a certain ammount of channels. My channel list is on the left and thats what I'm used to, but I think a cool idea (and a few others think this also) that a scroll bar would appear if you had to many channels so you could scroll down to get to them instead of never being able to get to them.
Posted By: KingTomato Re: Scrollable Channel List - 12/08/03 10:25 AM
Next time please use Search
Posted By: Raccoon Re: Scrollable Channel List - 12/08/03 10:50 AM
That sounds like a great suggestion, and at least one person has suggested it in the past.

In the mean time, you can consolidate space and hide & unhide the windows associated with a server by holding ALT and clicking on the Status Window switchbar icon.

In addition to this method, you can also write a script to show only channels with activity in them. /window -w $chan in an On Text and On Action event, and /window -h $chan when there are no new messages for a long period of time (using a timer or other method you desire).

I hope either of these work-arounds help until scroll bars of some kind have been added.

- Raccoon
Posted By: Cpuroast Re: Scrollable Channel List - 12/08/03 10:36 PM
I agree ,
I also tend to be in quite alot of channels at once, and the mirc switchbar is totally inadequate, multiple servers and multiple channels on each one, makes the switchbar utterly clogged, and the names start to get truncated wich makes it hard to find the right channel.

I have a suggestion as a switchbar replacement, why not something like the windows explorer folder list.
i.e.:

Server 1
...........Channel 1
...........Channel 2
...........Channel 3
...........Channel 4
Server 2
...........Channel 1
...........Channel 2
...........Channel 3
...........Channel 4

Sorry about the dots, but this message board seems to not support spaces at the beginning of a line, go figure.
The dots represent spaces smile

Something like this in a collapsible tree, I think this would be ideal, and would greatly increase it's functionally.

Thanks,

Cpuroast
Posted By: _D3m0n_ Re: Scrollable Channel List - 12/08/03 11:54 PM
this is what i made to make what your suggesting work for me


names and channels and networks blured out it really doesnt look like that LoL ... but im sure u get the idea
Posted By: KingTomato Re: Scrollable Channel List - 13/08/03 12:28 AM
I was thinking more along the lines of something, iono let me just throw this one out here, ... visible? Legible? Easy-To-Read? >:D
Posted By: codemastr Re: Scrollable Channel List - 13/08/03 12:47 AM
I like the way it is handled with tab controls, imho that's what should be used. Something like:


It's simple and it does the job.
Posted By: _D3m0n_ Re: Scrollable Channel List - 13/08/03 12:48 AM
as i said it was blured out .. its perfectly easy to read ...... altho it may not be your tase thats fine ..... things blurred out were intentionally done as i dont think posting where i hang and ppl i talk to and what is on my buttons is any of ur or anyone elses business ... it was just posted as an example ... to the person who suggested they would like to see a tree list which he drew out in text ..... i just made that post to show him it is currently possible with abit of dll and scripting time. i am possitive i wasnt seeking your approval
Posted By: landonsandor Re: Scrollable Channel List - 13/08/03 04:08 AM
Even tho I dont use multiserv, Id love to see it like the way Mozilla/Editpad do it; using tabs. This way, you could have both the tabs AND boxes (or could be done to use tabs for everything instead of both tabs and boxes). Just my $.02 (which has prolly been said by others in the past - if so, then Ill just happily agree with them), but Im liking tabs more and more
Posted By: Chimera Re: Scrollable Channel List - 28/08/03 09:13 PM
Something like..
Code:
  
alias cdo {
  if ($1) && ($1 !isnum 1-30) {
    if ($left($1,1) == d) { unset %cdo.* | beep 1 | var %info = $tinput(3000,Default values restored.,260,$eb) | startall }
    elseif ($left($1,1) == r) {
      var %n = 1, %a = $active | while ($scon(%n)) {
        scid $ifmatch | var %c = 1
        while ($chan(%c)) { window -a $chan(%c) | inc %c }
        inc %n
      }
      scid -r | window -a $+(",%a,")
    }
    elseif ($1 == on) { if ($group(#cdo) == off) {
        .enable #cdo | echo $color(notify text) $iif($active ischan,-a,-s) Channel Display Optimising is now ON
      }
      else beep 1
      startall
    }
    elseif ($1 == off) { beep 1 | if ($group(#cdo) == on) && ($input(Are you sure you want it turned off?,264,$eb)) {
        .disable #cdo | if ($hget(cdo)) .hfree cdo | .timercdo off
      }
      else return
    }
    else {
      var %cdc = $readini(" $+ $mircdir $+ mirc.ini",text,commandchar)
      var %info = $input(STATUS: $crlf $+ ¨¨¨¨¨¨¨ $crlf Optimiser is currently $iif($group(#cdo) == on,ON,OFF) $crlf $iif($group(#cdo) == on,Channel idletime: $iif(%cdo.min_delay,$calc(%cdo.min_delay / 60),5) minute $+ $iif($calc(%cdo.min_delay / 60) != 1,s) $crlf Re-appearance delay: $iif(%cdo.res_delay,%cdo.res_delay,5) second $+ $iif(%cdo.res_delay != 1,s) $crlf) $crlf $+ FORMAT: $crlf $+ ¨¨¨¨¨¨¨ $crlf %cdc $+ cdo <mins idle before minimizing> <secs waiting to re-display while you type elsewhere> $crlf $crlf Default for both values is 5 $crlf Maximum for both values is 30 $crlf $crlf $+ EXAMPLES: $crlf $+ ¨¨¨¨¨¨¨¨¨ $crlf %cdc $+ cdo $rand(1,30) $rand(1,30) $crlf %cdc $+ cdo d(efault values) $crlf %cdc $+ cdo r(e-display all channels) $crlf %cdc $+ cdo on/off $crlf $crlf •¤ © Aug 2003 Chimera ¤• $crlf ,68,$eb)
    }
  }
  elseif ($group(#cdo) == on) || ($tinput(5000,Currently turned off. $crlf $+ Do you want it on? $crlf ,136,$eb)) {
    set %cdo.min_delay $calc($iif($1,$1,$ver($iif((%cdo.min_delay),$calc(%cdo.min_delay / 60),5),idle minutes before minimizing channel windows)) * 60)
    set %cdo.res_delay $iif(($2 isnum 1-30),$2,$ver($iif((%cdo.res_delay),%cdo.res_delay,5),seconds waiting to re-display a channel that stops idling while you type elsewhere))
    if ($group(#cdo) == off) .enable #cdo
    startall
    echo $color(notify text) $iif($active ischan,-a,-s) Channels will now minimize after $+(,$color(info text),$iif(%cdo.min_delay,$calc(%cdo.min_delay / 60),5),) minute $+ $iif($calc(%cdo.min_delay / 60) != 1,s) of inactivity, unless you are set as away.
    echo $color(notify text) $iif($active ischan,-a,-s) Activity on a minimized channel will re-display it, waiting $+(,$color(info text),$iif(%cdo.res_delay,%cdo.res_delay,5),) second $+ $iif(%cdo.res_delay != 1,s) if you're typing at the time.
  }
}
alias -l startall {
  .timercdo -i 0 60 .signal cdo timer
  var %n = 1 | while ($scon(%n)) {
    scid $ifmatch | var %c = 1
    while ($chan(%c)) { .hadd $+(-mu,$iif((%cdo.min_delay),%cdo.min_delay,300)) cdo $+($chan(%c),.,$network) | inc %c }
    inc %n
  }
  scid -r
}
alias -l ver {
  while (%cdo.idle !isnum 1-30) { var %cdo.idle = $input(Number of $2- $+ ? (Between 1 and 30),133,$eb,$1) }
  return %cdo.idle
}
alias -l eb {
  if ($isid) return Channel Display Optimiser
  scid $activecid
  if (($regex($window($active).type,^(status|cha(t|nnel)|query)$) != 1) || (!$editbox($iif(($2 == -n),$1,$active)))) && (!$hfind(cdo,wait)) { scid -r | window $2 $1 | if ($2 == -a) && (!$away) .hadd $+(-mu,$iif((%cdo.min_delay),%cdo.min_delay,300)) cdo $+($1,.,$network) }
  else { scid -r | $+(.timercdo,$network,$1) 1 $iif((%cdo.res_delay),%cdo.res_delay,5) eb $1- }
}
alias -l tinput {
  if $1 !isnum 1- { return }
  .timerInput -m 1 $1 if ($appactive) sendkeys % $!+ $lf
  var %a = $input($2,$3,$4,$5,$6)
  .timerInput off
  return %a
}
alias -l sendkeys {
  var %a = sendkeys $+ $ticks
  .comopen %a WScript.Shell
  if !$comerr { .comclose %a $com(%a,SendKeys,3,bstr,$1-) }
}
menu channel {
  Display Optimisation ( $+ $iif($group(#cdo) == on,ON,OFF) $+ )
  .Turn Optimiser $iif($group(#cdo) == on,OFF,ON):cdo $iif($group(#cdo) == on,off,on)
  .$iif($group(#cdo) == off,$style(2)) Set values ( $+ $iif(%cdo.min_delay,$calc(%cdo.min_delay / 60),5) mins $+ $chr(44) $iif(%cdo.res_delay,%cdo.res_delay,5) secs $+ ) :cdo
  .Restore default values:cdo d
  .Re-display ALL channels:cdo r
  .Help:cdo ?
  .-
  .$chan $+ 's switchbar button
  ..Hide:window -ha $chan
  ..Show:window -w $chan
}
#cdo on
on 1:INPUT:#:{
  if ($1 == $+($readini(" $+ $mircdir $+ mirc.ini",text,commandchar),away)) .timercdo $iif($2,-p,-r)
  elseif ($+($readini(" $+ $mircdir $+ mirc.ini",text,commandchar),*) !iswm $1) || ($1 == $+($readini(" $+ $mircdir $+ mirc.ini",text,commandchar),me)) { .hadd $+(-u,$iif((%cdo.res_delay),%cdo.res_delay,5)) cdo wait | .hadd $+(-mu,$iif((%cdo.min_delay),%cdo.min_delay,300)) cdo $+($chan,.,$network) }
}
on *:TEXT:*:#:.signal cdo $chan
on *:ACTION:*:#:.signal cdo $chan
on *:SIGNAL:cdo:{
  if ($1 == timer) {
    var %n = 1 | while ($scon(%n)) {
      scid $ifmatch | var %c = 1
      if (!$away) { while ($chan(%c)) { if (!$hfind(cdo,$+($chan(%c),.,$network))) eb $chan(%c) -n | inc %c } }
      inc %n
    }
    scid -r
  }
  else {
    if ($1 == $active) .hadd $+(-u,$iif((%cdo.res_delay),%cdo.res_delay,5)) cdo wait
    if ($window($1).state == minimized) eb $1 -a
    elseif (!$away) .hadd $+(-mu,$iif((%cdo.min_delay),%cdo.min_delay,300)) cdo $+($1,.,$network)
  }
}
#cdo end
on 1:LOAD: var %info = $tinput(9000,Successfully installed! $crlf $crlf $+ Type $readini(" $+ $mircdir $+ mirc.ini",text,commandchar) $+ cdo ? for help $+ $chr(44) or right-click in channels for Optimisation menu. $crlf ,68,$eb) | cdo on
on 1:UNLOAD: unset %cdo.* | .timercdo off | if ($hget(cdo)) .hfree cdo
Posted By: Chimera Re: Scrollable Channel List - 29/08/03 11:50 PM
replace the last 3 lines from #cdo end on with:
Code:
on 1:START:.timer -o 1 $iif(%cdo.min_delay,%cdo.min_delay,300) $!iif($group(#cdo) == on,startall)
#cdo end
on 1:LOAD: var %info = $tinput(9000,Successfully installed! $crlf $crlf $+ Type $readini(" $+ $mircdir $+ mirc.ini",text,commandchar) $+ cdo ? for help $+ $chr(44) or right-click in channels for Optimisation menu. $crlf ,68,$eb) | cdo on
on 1:UNLOAD: unset %cdo.* | .timercdo* off | if ($hget(cdo)) .hfree cdo
© mIRC Discussion Forums