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 ""; }

In reply to A gentler kind of /ignore... with CSS by bart

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.