Opened 11 years ago

Last modified 9 years ago

#5795 new enhancement

mute sounds for specific chatroom user

Reported by: akrherz Owned by: deryni
Milestone: Component: pidgin (gtk)
Version: 2.4.1 Keywords: chatroom, mute
Cc:

Description

Hi,

Sucks to have users asking for every customized feature under the sun, but here is another :(

Much like how you can now right click a user in a chatroom and go to "Ignore", it would be nice to right click this user and go to "Mute sounds". The usage case are users that wish to get sound notifications of chatroom messages, but there is a bot user in the room that makes lots of noise they want to read and not hear :)

I asked on IRC about this wondering if writing a plugin was appropriate, but my impression was that this feature would be difficult to write in a plugin.

So, before I go about attempting to write a patch to implement this, would you folks be open to adding this feature?

thanks!

daryl

Change History (11)

comment:1 Changed 11 years ago by akrherz

Hi,

Looking at the code, my request does not seem to be straight forward to implement :( While muting the message is 'easily' done, stopping a specific signal doesn't appear to be. What if I added an option to stop all signals? Would this break other things down the line?

Any guidance or thoughts would be greatly appreciated.

daryl

comment:2 Changed 11 years ago by deryni

I think this feature very much does belong in a plugin (though if ignoring someone doesn't mute the sounds that is a bug, and I assume we would have heard about that if it didn't work). Though I agree this likely is not particularly easy to do from a plugin as there is no good way to stop a signal and by the time the sound playing signal is triggered there isn't any way to know what triggered it. I'm not sure what the best way to fix this sort of thing is, though it is possible (and maybe even likely) that the GObjectification move that has been planned for ages will allow this sort of thing to work because I believe it will get us signal emission stopping.

Depending what you mean by "stop[ping] all signals" yes that could very well break a number of things.

Looking at things briefly, it looks like you might be able to simply set the DELAYED flag on the message which should cause pidgin to not play a sound for it (though it may also cause other side effects in the display of the message). Which leads me to my idea, it would seem to me to be entirely reasonable to add a NO_SOUND flag to the enum and when that is set on the message avoid playing sounds (similarly to how it works with the DELAYED flag currently).

comment:3 Changed 11 years ago by akrherz

Hi deryni,

Thanks again for your very helpful response. Just to clarify, when a user is 'Ignore'd, no sounds are heard, which is expected behaviour.

Your idea of setting the DELAYED flag is very clever, but I would not want to maintain a local patch and build of Pidgin. I also worry that this would break logging... Want something that is acceptable to you folks :)

If a "No Sound" right-click option was available on the user, we'd also need to intercept the sound for when a user exits the chatroom?

I'll dig at this today and see if I can hack together a patch.

daryl

comment:4 Changed 11 years ago by deryni

The idea wasn't so much clever as code-reading, but thanks for the complement anyway.

You wouldn't need a patch to add the flag for ignored buddies, a plugin could do it, but that wouldn't get you a right-click menu item.

Yeah, muting with a message flag would only work for messages from people not for other chat related events that is a little unfortunate and not something I can think of a good way to handle/allow at the moment.

comment:5 Changed 11 years ago by akrherz

Eh,

Implementing such a feature seems to be a task beyond my limited capabilites :( Our group would be happy to sponsor a pidgin devel to implement this, if anyone was interested. Just drop me a note: akrherz@… ... Otherwise, feel free to dispose of the ticket how you see fit.

thanks,

daryl

comment:6 Changed 11 years ago by akrherz

Hi,

Is there a proper way to approach the developers about sponsoring the development of this feature?

thanks,

daryl

comment:7 Changed 11 years ago by deryni

  • Owner set to deryni

Adding the value to the enum doesn't need sponsoring, just doing. I haven't been actively developing for a while but I'm hoping that will change in the next few weeks (and yes I've definitely said that before). Assuming it happens this time I'll probably add the NO_SOUND flag item I mentioned (assuming no one else objects to the addition) which would mean that a plugin for this could be written.

comment:8 Changed 11 years ago by deryni

If the flag were to be NO_NOTIFY and were to suppress setting the tab title to red, flashing the window, activating the message notification plugin, and causing a guifications popup would that be acceptable? Or is the desire here really just to silence the sound?

comment:9 Changed 11 years ago by akrherz

Hi deryni,

You are very kind and patient with me :) I am not sure what the 'best' solution would be. The request my users make are for muted sounds, but I suspect once that was done, they would want other notifications disabled too. I would think the generic, 'NO_NOTIFY' would be a nice feature to have to stop sounds, toasters, and anything else that may happen.

daryl

comment:10 Changed 9 years ago by akrherz

Hi deryni,

Sorry to be a bother, was curious if you had any further thoughts on this request?

comment:11 Changed 9 years ago by akrherz

Hi deryni,

Sorry to be a bother, was curious if you had any further thoughts on this request?

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!