Opened 9 years ago

Last modified 9 years ago

#8718 new patch

Make buddy pounce fit smaller screens

Reported by: mterry Owned by: kstange
Milestone: Patches Needing Improvement Component: pidgin (gtk)
Version: 2.5.5 Keywords: size
Cc: seth.just

Description

The current buddy pounce editor is enormous. There are just a lot of widgets there that take up vertical space, notably the 'send a message' action text box.

A few solutions were discussed on the mailing list (e.g. move some of the 'pounce when' checkboxes to other columns, make the 'send a message' text entry be shown in a popup dialog like when editing per-account status messages).

I tried them, but they weren't enough space. So I went to plan B: add tabs.

So this patch is very uninvasive as a result (just adds a notebook and moves some widgets to a second tab). I also reduced the border of the dialog itself, to better fit the HIG (the notebook adds its own border and so requesting an extra border of HIG_BORDER is too much).

With this patch, we fit about 460 pixels. Before this patch, we were just shy of 700 pixels, which is not the Right Thing To Do (http://developer.pidgin.im/wiki/RightThingToDo).

Attachments (3)

pounce-size.diff (4.4 KB) - added by mterry 9 years ago.
Also drop the dialog separator
new-pounce1.png (45.6 KB) - added by mterry 9 years ago.
First tab
new-pounce2.png (34.2 KB) - added by mterry 9 years ago.
Second tab

Download all attachments as: .zip

Change History (9)

comment:1 Changed 9 years ago by mterry

Oh, I should say more about how I used the tabs. I broke the page into two tabs: "Pounce" and "Action". The only section that moved to "Action" was the "Action" section (predictably).

Another thing about this patch: It increases the space between sections to fit the HIG (before, it was using only 12 pixels between categories, but it should use 18).

Changed 9 years ago by mterry

Also drop the dialog separator

comment:2 Changed 9 years ago by QuLogic

A picture would be useful here...

Changed 9 years ago by mterry

First tab

Changed 9 years ago by mterry

Second tab

comment:3 Changed 9 years ago by rekkanoryo

  • Milestone set to Patches Needing Review
  • Owner set to kstange

I'm not particularly fond of the tabs, but I'll leave the decision to others.

comment:4 Changed 9 years ago by kstange

  • Milestone changed from Patches Needing Review to Patches Needing Improvement

I don't like this interface design. The tabs separate what is essential information, effectively hiding it.

If there were advanced options to hide on the second tab, I might feel differently. I know this behaves like the account dialogs work now, but I think that if we decided to do tabs, the "Pounce on Whom" part should be outside the tabs, with the other sections, perhaps in tabs, indicating that they operate on the target selected above.

I believe this type of change was suggested for the account dialog and I thought it was a good idea.

I vote no on this implementation, though I would like others' (devs or users) thoughts.

comment:5 Changed 9 years ago by mterry

Just coming back to this, sorry for delay.

I examined other ways to shrink the dialog and was not happy with them (putting more stuff side-by-side makes things look cramped and violates the nice 1-column mode; making the 'send a message' format box a popup didn't save enough space).

How about a slightly different approach to make the tabs more palatable. When the dialog is launched as a 'New Pounce' it will be a GtkAssistant? that shows all options in different pages. When you open the dialog to edit a pounce, you get what you see above in the screenshots -- same controls, just in tab form.

Does that sound like a good compromise?

comment:6 Changed 9 years ago by seth.just

If I had any GTK programming mojo, I'd go ahead and do this myself, but I don't, so I'll simply lay out my idea. I think that refocusing the dialog around adding a single action could make it not only smaller, but clearer as well, which would add to usability (and keep it all in one screen). In my idea, the add pounce dialog could be simplified to the following sort of thing:

-------------     ----------------
|Account   v|     |Buddy         |
-------------     ----------------
                -------------     ---------------
When buddy does |Trigger   v|, do |Action      v|.
                -------------     ---------------
---
| | Only when my status is unavailable.
---
---
| | Recurring
---

I don't know if it's possible in GTK to have the options for the pounce action appear depending on the action selected, but if it is, that would make the dialog much more streamlined. If it's not possible, those would have to be integrated, most likely by breaking apart the actions like in the current dialog.

The issue with this approach is that it takes away the ability to add a pounce in which multiple triggers cause multiple actions. Of course, it would be possible to have this exist in the "modify" dialog, but that would be clunky, and not a good option.

Another choice is to include the streamlined version I show here above the list of pounces, avoiding a separate add dialog for simple pounces, with an "Advanced" button somewhere that would do something like the GtkAssistant?, although that would introduce redundancy.

Let me know what you think of these ideas.

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!