Opened 12 years ago

Closed 10 years ago

Last modified 10 years ago

#2788 closed patch (fixed)

Pidgin attention GUI

Reported by: jeff Owned by: malu
Milestone: 2.7.0 Component: pidgin (gtk)
Version: 2.1.1 Keywords: msimprpl attention
Cc: h.bons@…, sean.egan@…, charding

Description

It would be nice to have a standard Pidgin GUI for sending and receiving attention commands. For sending:

Often, sending an attention command does something similar to the interface as receiving. For example, in MSN, sending a nudge shakes your buddy's window as well as your window. From #2660:

08/21/2007 02:50:36 PM changed by lithium ¶

I've seen a buzz on (I think) windows live messenger. There the window started to vibrate for some seconds which looked very cool ;)

Would be nice if this could be done for linux too, for example a special window hint could be set and a compiz plugin could react on that hint and shuffle the window around...

}}}

Other suggestions for representing attention commands in Pidgin:

  • Optional icon for each type of attention command. (icon_name field in PurpleAttentionType?, map to same icon name as emoticons)
  • Sound, depending on the different attention commands. There is no functionality in the attention API to do this yet.

Libpurple API changes are in #2662. Currently, sending an attention command says "Attention! (outgoing_description)", receiving shows "Attention! You have been (incoming_description)" in the conversation window. Menu elements use the 'name' field of PurpleAttentionType?.

Attachments (2)

attention.patch (5.4 KB) - added by nok 11 years ago.
attention-gui2.patch (5.4 KB) - added by jeff 11 years ago.
change to "Get Attention", rm …

Download all attachments as: .zip

Change History (30)

comment:1 Changed 12 years ago by jeff

  • Cc h.bons@… added
  • Owner set to hbons

comment:2 Changed 12 years ago by hbons

I think it would be nice to have something like this:

"<Contact> is asking for your attention!" "Asked <Contact> for attention."

I don't think it's necessary to show if it's a buzz/nudge/whatever.

I think it's a good idea to have a preference to turn attentions on/off. I don't like people

shaking my windows all the time. :)

comment:3 Changed 12 years ago by jeff

  • Milestone changed from 3.0.0 to 2.2.1

comment:4 Changed 12 years ago by jeff

I don't think it's necessary to show if it's a buzz/nudge/whatever.

At least for MySpaceIM, it is, because there are multiple ways to get someone's attention - zapping, torching, etc. So in #2662, I added different messages for when any kind of attention command is sent or received.

I think it's a good idea to have a preference to turn attentions on/off. I don't like people shaking my windows all the time.

Agreed. Not sure if it would be best to have window shaking as a plugin (probably wouldn't be too hard to do - actually I think there may already be one, but I don't recall where it is), or part of the core.

But, we certainly could use a generic interface to send attentions. I'm thinking of some sort of pop-up menu or button, that when activated, lists all the possible attention notification names along with their icons, if available. If there is only one attention command, it wouldn't have to drop-down, but instead just send the attention command when it is clicked. The menu would be populated with prpl_info->attention_types(), and clicking an item would call prpl_info->send_attention().

Hopefully we'll be able to address this is in an upcoming release - until then, each prpl can use its own unique method of sending attention commands.

comment:5 Changed 12 years ago by jeff

  • Keywords msimprpl added

comment:6 Changed 12 years ago by jeff

  • Keywords attention added

comment:7 Changed 12 years ago by hbons

What about this in the toolbar:

"Insert" -> "Call for Attention"

comment:8 follow-up: Changed 12 years ago by Sim-on

yeah sounds gut maybe the preference to turn attentions on/off can be placed at "options" in the messagewindow (where you can turn on/off logs, sounds,...)

comment:9 in reply to: ↑ 8 Changed 12 years ago by hbons

  • Owner changed from hbons to seanegan

Replying to Sim-on:

yeah sounds gut maybe the preference to turn attentions on/off can be placed at "options" in the messagewindow (where you can turn on/off logs, sounds,...)

My thought exactly. I'll forward this to seanegan.

comment:10 Changed 12 years ago by lschiere

  • Milestone changed from 2.2.2 to Patches welcome

Changed 11 years ago by nok

comment:12 Changed 11 years ago by nok

I attatched a patch that add a 'Send Attention...' button in the Conversation menu. It sends nudge/buzz/zap

comment:13 follow-up: Changed 11 years ago by jeff

  • Cc sean.egan@… added
  • Milestone changed from Patches welcome to 2.4.0
  • Resolution set to fixed
  • Status changed from new to closed

Committed attention.patch. Looks good to me, I committed it as-is except I removed the ellipsis on the menu item since the command doesn't ask for additional input (convention).

Nok, is your name already in the COPYRIGHT file? If not, and if you want it to be, let me know how you want your name to appear and I can add it.

Two remaining issues here:

  • Do we have a send-attention.png for the icon? I filed #4809 to track this.
  • #4810, an enhancement to allow the Send Attention command to expand to multiple menu items, when more than one attention command is available.

Thanks for the patch!

comment:14 Changed 11 years ago by jeff2@…

  • Milestone changed from 2.4.0 to 2.3.2

(In 8bec06d2cd0a64ece46cb3cd73db9b085b91e161) Pidgin attention GUI from nok. Adds "Send Attention" to conversation menu, which sends a generic attention command -- that could be a nudge, buzz, zap, etc. depending on the prpl. Only sends attention command type #0 for now (multiple types tracked by #4810) and the send-attention.png is missing (tracked by #4809).

Closes #2788.

comment:15 Changed 11 years ago by jeff

  • Milestone changed from 2.3.2 to 2.4.0
  • Resolution fixed deleted
  • Status changed from closed to reopened

Reverted change since the addition of send_attention to _PidginWindow.menu probably breaks the ABI. Holding until a later version where we can break ABI.

comment:16 Changed 11 years ago by MarkDoliner

Hmm, I wonder if we could find a better name for the menu item? "Send attention" doesn't feel very natural to me, and I'm not sure the meaning is clear. Maybe we could just call it "Poke"? Or "Buzz"? "Nudge"? "Get attention"? "Ping"?

I guess the thing that feels unnatural about it to me is that you're not really SENDING attention, you're ASKING for their attention.

comment:17 in reply to: ↑ 13 Changed 11 years ago by nok

Replying to jeff:

Committed attention.patch. Looks good to me, I committed it as-is except I removed the ellipsis on the menu item since the command doesn't ask for additional input (convention).

ok
I hadn't noticed that detail.

Nok, is your name already in the COPYRIGHT file? If not, and if you want it to be, let me know how you want your name to appear and I can add it.

i still don't have my name on copyright list,
My name: Marco Monteiro

Changed 11 years ago by jeff

change to "Get Attention", rm ...

comment:18 Changed 11 years ago by jeff

I was thinking something along the lines of "Get Attention", "Request Attention", or "Send Attention Request" as well. I'm fine with Get Attention. Attached an updated patch (untested) using this wording.

comment:19 Changed 11 years ago by gunith

Hi,

Am new to this. Am a Yahoo and MSN user. I often find friends Nudging and Buzzing to get my attention but pidgin doesn't even play a sound. It'd be really great if pidgin at least play a characteristic sound or treat a nudge/buzz like a normal message (with normal msg sound)

It'll be really great if you fix this ASAP

Thanks

comment:20 Changed 11 years ago by gunith

Hi,

Am new to this. Am a Yahoo and MSN user. I often find friends Nudging and Buzzing to get my attention but pidgin doesn't even play a sound. It'd be really great if pidgin at least play a characteristic sound or treat a nudge/buzz like a normal message (with normal msg sound)

It'll be really great if you fix this ASAP

Thanks

comment:21 Changed 11 years ago by datallah

  • Type changed from enhancement to patch

comment:22 Changed 11 years ago by malu

Since this patch have been laying around here for a while (and had started to bit rot...) I have taken it up and are in the process of shaping it up. I have added a new function in conversation.h and a couple of new signals that UIs can listen to. Currently it plays the alert.wav sound when sending attentions. It's suppose to do it also when receiving them, I'm in the process of doing that.

I will create a new branch for this. I assume, since it adds an API function it would require 2.6.0.

I also have some plans for a plugin to do some crazy stuff like vibrating the conversation window :)

comment:23 Changed 11 years ago by malu@…

(In 751d7c7c633c0898b1e505bfbfabafa3435d84ed):
Adds attention UI to Pidgin (can send attentions using a menu item) API to "fire" an attention on a conversation, triggering signals. Currently gtksound is set up to use the alert sound for received and sent attentions. Refs #2788

comment:24 Changed 11 years ago by rekkanoryo

  • Milestone set to 3.0.0
  • Owner changed from seanegan to malu

It sounds like this patch breaks ABI, which means we can't have it until 3.0.0. Milestone set appropriately.

comment:25 follow-up: Changed 10 years ago by rlaager

Why not replace the additions in PidginWindow? and GtkIMHtmlToolbar with g_object_set() on PidginWindow?.window and GtkIMHtmlToolbar.imhtml, respectively? This would be a temporarily thing until 3.0.0.

So basically, you'd make these changes, merge that down into .next.minor. Then, merge .next.minor into .next.major and disapprove the revision with those changes on .next.major. Thus, in the end, both .next.minor and .next.major work, but .next.minor has the hack and the head of .next.major is a descendant of the head of .next.minor, so there won't be any merge hassles later.

comment:26 in reply to: ↑ 25 Changed 10 years ago by malu

Replying to rlaager:

Why not replace the additions in PidginWindow? and GtkIMHtmlToolbar with g_object_set() on PidginWindow?.window and GtkIMHtmlToolbar.imhtml, respectively? This would be a temporarily thing until 3.0.0.

So basically, you'd make these changes, merge that down into .next.minor. Then, merge .next.minor into .next.major and disapprove the revision with those changes on .next.major. Thus, in the end, both .next.minor and .next.major work, but .next.minor has the hack and the head of .next.major is a descendant of the head of .next.minor, so there won't be any merge hassles later.

This looks like a good temporary solution. I think I'll go with that. Might get time for it some time next week. :)

comment:27 Changed 10 years ago by malu@…

  • Resolution set to fixed
  • Status changed from new to closed

(In 4edcf8da14be654127117da5af0cbdd7a0616439):
Changelog attention UI Fixup pidgin/pixmaps Makefile after merge

Closed #2788

comment:28 Changed 10 years ago by malu

  • Milestone changed from 3.0.0 to 2.7.0
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!