mIRC Homepage
Posted By: RRX Memory structure similar to @windows - 15/04/06 08:38 PM
It would be useful if there was a way of storing data internal (alike hashtables) as a list that maintains order (unlike hashtables), and referenced basically similar to the custom windows way but, since not a window, not affected by window commands (alike echo -a) or configuration (like buffer size).
Posted By: DaveC Re: Memory structure similar to @windows - 15/04/06 09:32 PM
Why not just use /WINDOW -hn or even /WINDOW -hnl

You can also add on *:active:@windowname:{ window -h @windowname }

if u like as well.
Posted By: qwerty Re: Memory structure similar to @windows - 15/04/06 10:14 PM
FYI, the buffer size set in Options doesn't affect custom windows.
Posted By: hixxy Re: Memory structure similar to @windows - 16/04/06 09:04 AM
There are still annoyances with that. There's an extra window created which uses more memory than a simple data structure, even when it is hidden. Also, the window will be added to the window list.

* hixxy supports this.
Posted By: RRX Re: Memory structure similar to @windows - 16/04/06 04:30 PM
Quote:
FYI, the buffer size set in Options doesn't affect custom windows.

You are right on this. I must have simply assumed this in the past since it's just another window type. I can remove some startup code from my current script, an alias that aline's 1500 lines and then checks if $line(@window,0) == 1500... Useless

The /window commands and identifiers are very versatile and large in number. Maybe it's not efficient to implement a new data structure with about same general characteristics.

I'd be happy already if there was a /window switch to make it not appear in the window list and be excluded by /echo and any builtin displaying to active window code. In short: to make it as immune as possible for standard mirc menu based stuff.
Posted By: DaveC Re: Memory structure similar to @windows - 16/04/06 11:24 PM
Quote:
In short: to make it as immune as possible for standard mirc menu based stuff.


For now you could use the window creation commands...

var %winname = $+(@,$chr(9),$str($chr(160),50),windowname)
window -hk0 %winname

And a remote...

on *:active:$($+(@,$chr(9),*)):{ window -h $active }

They are accessable by scripting just like always, but by menu (window menu) each one well appear as a blank line (assuming asc160 is hardspace), the remote keeps them hidden, thats gonna get rid of all but the most persistent people, and they would find them regardless anyway.
© mIRC Discussion Forums