potatomushclient / potato

A Graphical MUSH Client for Windows, Linux and Mac OS X -
http://www.potatomushclient.com
30 stars 3 forks source link

Spawn windows indicate activity even when selected 'Omit activity' #259

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create an event, "Channel Event", that will send channel chatter to its own 
spawn window, omit from display 
2. Create an event, "Connection Event", that wildcard-matches "* has 
*connected.", omit from activity.

3a. Select the connection's main window.
-or
3b. Select another connection's window.

4. Wait for someone with whom you share a channel with to connect, (partially) 
disconnect, reconnect, et cetera.

What is the expected behaviour?
Let's say the incoming line is "<Public> Alice has connected.".

Because of Channel Event:
* This message should be sent to the Public spawn window.
* It should not appear in the main window.

Because of Connection Event:
* The icon on the Public spawn window button shouldn't become orange to 
indicate new activity.
* And in scenario 3b, the icon on the world button shouldn't become orange to 
indicate new activity either.

What do you see instead?
Channel Event works correctly: the message appear in the spawn window, not in 
the main window.
However, the spawn window button gets an orange icon, and in case of scenario 
3b the world button does too.

What version of the product are you using? On what operating system?
2.0.0b10 on Windows 7 x64.

Please provide any additional information below.
Two simple fixes in ::potato::get_mushageProcess solve both issues.

To prevent the spawn window button from getting its orange icon, change line 
3455
::skin::$potato(skin)::spawnUpdate $c $y
into
if { !$noActivity }{ ::skin::$potato(skin)::spawnUpdate $c $y }

And to make sure the world button also doesn't get its icon for events that are 
marked as 'omit from activity', line 3476
if { $up != $c } {
info
if { $up != $c && !$noActivity} {

With those two fixes, events marked as 'omit from activity' truly don't give 
any visual clues that the event has occured, other than the line showing.

Original issue reported on code.google.com by pramakers on 10 Oct 2012 at 6:11

GoogleCodeExporter commented 9 years ago
That first fix should be
if { !$noActivity } { ::skin::$potato(skin)::spawnUpdate $c $y } 
Or Tcl will complain about extra characters after close-brace. My bad.

Original comment by pramakers on 10 Oct 2012 at 9:23

GoogleCodeExporter commented 9 years ago
It was deliberate that it worked that way, but I will give it some thought.

Original comment by mike@keyboardzombie.com on 11 Oct 2012 at 6:41

GoogleCodeExporter commented 9 years ago
I will explain my reasoning behind it, just to convince you ;)
On one game I play on I have two alts. When I'm online, I'm often online with 
both of them but I try to limit RP to just one. I have set up events to spawn 
channel chatter to separate windows, because one of those characters listens to 
a lot of channels but when there's a lot of chatter going on this noise 
distracts from RP.
But to see those spawn windows light up just for connected/disconnected 
messages doesn't really help in filtering the noise, even though that was 
originally the reason to set up those spawn windows in the first place.

For now I've solved it by putting the "patched" version of get_mushageProcess 
into potato.custom and it works like a charm for me! 

Original comment by pramakers on 11 Oct 2012 at 12:27

GoogleCodeExporter commented 9 years ago
Well, since you /did/ go to the trouble of making a patch...

Original comment by mike@keyboardzombie.com on 11 Oct 2012 at 3:48

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r492.

Original comment by mike@keyboardzombie.com on 11 Oct 2012 at 3:54