There's a feature on the Chatterbox that allows you to ignore the chat from particular other users, with /ignore foo (with my apologies to foo). It will strip everything that user foo says in what you see, in the Chatterbox, as if he didn't say anything at all.

I think it's safe to say that most people using the Chatterbox don't use it, or use it sparingly. The problems with it are two-fold:

  1. Non-sequiturs: sometimes you see replies by other people to what this person has said, and what they say makes no sense at all... Until you realize who they must be talking to.
  2. Sometimes these people can behave in a nasty way to other users, in particular to newer users, and you may want to know when that happens, so you can warn these newer people.

So, that's why I'm interested in a different, less rigid approach. With some tweaks in your custom CSS, you can see that these people are saying something, but you don't see what they say, so it's easier to ignore what they say, and not get angry about it. They're effectively silenced... But you know that they are talking.

And, with the help of some other monks (corion, clinton, and maybe a few other monks more whom I have now forgotten about, if so, my apologies), I succeeded in having a mouseover effect, that you can read what they say, as long that the mouse is hovering over their name and/or (abbreviated) text. All that in just pure CSS.

Paste this into your custom CSS for the site, to get it working. Replace the number by the user id (4 times) for any user you want to treat this way.

.chatfrom_599759:after { content:" ..."; } .chatfrom_599759 .content { display:none; } span.chatfrom_599759:hover .content { display:inline; } span.chatfrom_599759:hover:after { content: ""; }

This has been tested successfully on Firefox 3, Opera 9, and Safari 3 (update: and on Google Chrome, too). It doesn't quite work that well on Microsoft Internet Explorer 6 and 7. The reason must be a combination of :hover not working in MSIE on anything other than a link, and it not knowing :after at all.

The CSS is easy to extend to more users... but as it requires quite a bit of manual editing, I've written this little Perl script to generate the CSS for any number of users. Just pass the ids of the users you want to ignore to the sub, and paste the output in your custom site CSS.

# ignore the same user, and me :) print ignore_css(qw(190859 599759)); sub ignore_css { if(my @ignored = @_) { local $" = ",\n"; return <<"^CSS^"; @{[map sprintf('.chatfrom_%d:after', $_), @ignored]} { content:" ..."; } @{[map sprintf('.chatfrom_%d .content', $_), @ignored]} { display:none; } @{[map sprintf('span.chatfrom_%d:hover .content', $_), @ignored]} { display:inline; } @{[map sprintf('span.chatfrom_%d:hover:after', $_), @ignored]} { content: ""; } ^CSS^ } return ""; }

Replies are listed 'Best First'.
Re: A gentler kind of /ignore... with CSS
by Lawliet (Curate) on Sep 01, 2008 at 22:21 UTC
    "It doesn't quite work that well on Microsoft Internet Explorer 6 and 7."

    No way! :P

    I'm so adjective, I verb nouns!

    chomp; # nom nom nom

Re: A gentler kind of /ignore... with CSS
by Tanktalus (Canon) on Sep 03, 2008 at 03:48 UTC

    FYI: If you use Xchat with CBStream, Controlling Xchat in #cbstream already has this ability, more or less. You can ignore outright, ignore but be alerted that someone you ignored spoke (it'll tell you who), or basically get the full text with comments that it's from someone you're pretending to ignore.

    It's all configurable, but once the message comes in and is ignored, you can't just mouse-over to see what they said - it's lost.

    Note that the xchat plugin's ignore list is shared with perlmonks, so you can switch back and forth without losing who you're ignoring.

    (This was done for one of the people who DO use the ignore a lot...)

Re: A gentler kind of /ignore... with CSS
by koolgirl (Hermit) on Sep 01, 2008 at 21:14 UTC
    ++bart :)