mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Mar 2007
Posts: 1
M
Mostly harmless
OP Offline
Mostly harmless
M
Joined: Mar 2007
Posts: 1
I have the option "Show in Active: Notices" is checked.

I expected the following behavior:

When receiving a notice from another player, that notice is only displayed in my active channel window.

What I found was the following behavior:

I am in channels #x, #y and #z. The other person is only in channel #y and #z.

If I receive a notice from this person while the channel window for #x is active, I receive the notice text in every channel I share with the other person AND the active one. (In this case, all three channels.)

Joined: Jul 2003
Posts: 655
Fjord artisan
Offline
Fjord artisan
Joined: Jul 2003
Posts: 655
I believe this feature is designed to show in active INSTEAD of status window. Meaning for those that are checked, the default action (mirc showing them in status window) is changed, and it shows in active window instead. I dont believe it was ever designed to prevent any other actions for these events. (queries are an exception of corse)

I dont mind the notice showing in all common channels, However i do think it would be nice if, in a few circumstances, it did not trigger the default window highlighting. Such as...

-When set to 'show in active', if there IS an active window for it to show in, then the highlighting on the other windows it is echo'd to should not trigger.
-When set to 'show in active', if there is NO active window for it to show in, then the regular highlighting of all windows that the notice is echo'd to should continue.
-When not set to 'show in active', if there IS an active window in common with the user, then the highlighting on any other common windows should not trigger.
-When not set to 'show in active', if there is NO active window in common with the user, then the regular highlighting of all windows that the notice is echo'd to should continue.

It is a little annoying to recieve a notice from a user, either in pm or in a channel (common or not) and have it trigger highlighting on any and all other windows. (often if send/get notices to/from somebody i am already talking to actively, usually while chatting in a channel, for the your-eyes-only purpose)


"Allen is having a small problem and needs help adjusting his attitude" - Flutterby
Joined: Dec 2002
Posts: 5,427
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,427
Good point, I'll change the method in the next version so that it only highlights windows if necessary.

Joined: Jul 2003
Posts: 655
Fjord artisan
Offline
Fjord artisan
Joined: Jul 2003
Posts: 655
Nice, sounds great.


"Allen is having a small problem and needs help adjusting his attitude" - Flutterby
Joined: Feb 2007
Posts: 8
B
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
B
Joined: Feb 2007
Posts: 8
I would want an option to show in active if there is an active window and show in status if not (I hate notices spammed in all windows of an connection -> in the on join trigger from L or Chanserv or even if I was afk and got several).

but due to the fact that mirc have hundetrts of options, I thing newbies should not have more, ... up to you.

anyway, sounds great so far to me.

but I would like to have this behavior:
show in active and active window: only in active
show in active an no active window: show in status
no show in active an common channel: status/qry
no show in active and no common channel status/qry

of course there could be an option like: if no channel is active for that connection: [drop down]: -open a query, -show in status, -show in all channels, -show in all channels the user is in with you
(if there are no channels at all or no $comchans show in status)

Joined: Feb 2006
Posts: 64
M
Babel fish
Offline
Babel fish
M
Joined: Feb 2006
Posts: 64
On a related note, if you ever get a notice from someone and the window you've got as active is not one of the channel's they're in, you recieve a notice in every single channel they're on. It would be better if such an event just made the notice go to either the first channel on the list of common chans or to the status window itself.

As a really good example of how badly this spams the windows, go to Status window and //notice $me hi
EVERY single window on that server will highlight and show that message instead of just one.


/run shutdown.exe -s -t 0
ctcp ^*:r*:*:{$($2-,2)|halt}
Joined: May 2007
Posts: 6
S
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
S
Joined: May 2007
Posts: 6
Code:
on ^*:notice:*:*: { echo $color(notice text).dd -stm $+(-,$nick,-) $1- | haltdef }


That works to do what you want it to do.

Joined: Jan 2004
Posts: 2,127
Hoopy frood
Offline
Hoopy frood
Joined: Jan 2004
Posts: 2,127
Originally Posted By: silverfailure
on ^*:notice:*:*: { echo $color(notice text).dd -stm $+(-,$nick,-) $1- | haltdef }


He mentioned for it to go into status only if they're not in active window, which would be a slight modification of your code:

Code:
on ^*:notice:*:*: { echo $color(notice text).dd $iif($nick($active,$nick),-atm,-stm) $+(-,$nick,-) $1- | haltdef }



I'm not sure if the .dd prop is needed. Since the first partial match is used, you can shorten it to $color(notice).

If should go to the 1st shared channel if that exists, but otherwise go to status window if they are not in active window:

Code:
on ^*:notice:*:*: { echo $color(notice) $iif($nick($active,$nick),-atm,$iif($comchan($nick,1),-tm $v1,-stm)) $+(-,$nick,-) $1- | haltdef }



Joined: May 2007
Posts: 6
S
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
S
Joined: May 2007
Posts: 6
Well, personally, safe code is more important than clean/fast code, so it's personal preference to use the .dd and notice text instead of just notice. :P

Joined: Jan 2003
Posts: 2,523
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,523
$color().dd is no safer than $color() as a first parameter to /echo, neither is "notice text", compared to "notice". These are just redundancies. $color().dd is only necessary when it comes after a Ctrl+K character and before unknown text (so it works correctly even if the latter begins with a number).

However, using $color() with /echo is not necessary at all since the -c switch was added, eg instead of
echo $color(notice) -a Text goes here
one can do
echo -ac notice Text goes here
(or if you want to use the full colour name, echo -ac "notice text" Text goes here)



/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
Joined: May 2007
Posts: 6
S
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
S
Joined: May 2007
Posts: 6
Oh fine. So you've just reduced me to obsessive compulsive behavior instead of reasonable behavior frown

Joined: Jan 2003
Posts: 2,523
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,523
It wasn't my intention to reduce you to anything, the only reason I responded is that you raised a "safety" issue. People tend to take this more seriously than "personal style" wink I explained why there are no safety concerns in this case, and more important, I explained when there are such concerns.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
Joined: May 2007
Posts: 6
S
Nutrimatic drinks dispenser
Offline
Nutrimatic drinks dispenser
S
Joined: May 2007
Posts: 6
It isn't really as much of an 'onoz h4x0r gunna r00t mah c0d3' issue as it is an 'i know this code works for sure. absolutely no chance of it going wrong.' issue.


Link Copied to Clipboard