Mercurial > pidgin.yaz
view COPYRIGHT @ 12116:e75ef7aa913e
[gaim-migrate @ 14416]
" This patch implements a replacement for the queuing
system from 1.x. It also obsoletes a previous patch
[#1338873] I submitted to prioritize the unseen states
in gtk conversations.
The attached envelope.png is ripped from the
msgunread.png already included in gaim. It should be
dropped in the pixmaps directory (Makefile.am is
updated accordingly in this patch).
The two separate queuing preferences from 1.x, queuing
messages while away and queuing all new messages (from
docklet), are replaced with a single 3-way preference
for conversations. The new preference is "Hide new IM
conversations". This preference can be set to never,
away and always.
When a gtk conversation is created, it may be placed in
a hidden conversation window instead of being placed
normally. This decision is based upon the preference
and possibly the away state of the account the
conversation is being created for. This *will* effect
conversations the user explicitly requests to be
created, so in these cases the caller must be sure to
present the conversation to the user, using
gaim_gtkconv_present_conversation(). This is done
already in gtkdialogs.c which handles creating
conversations requested by the user from gaim proper
(menus, double-clicking on budy in blist, etc.).
The main advantage to not queuing messages is that the
conversations exist, the message is written to the
conversation (and logged if appropriate) and the unseen
state is set on the conversation. This means no
additional features are needed to track whether there
are queued messages or not, just use the unseen state
on conversations.
Since conversations may not be visible (messages
"queued"), gaim proper needs some notification that
there are messages waiting. I opted for a menutray icon
that shows up when an im conversation has an unseen
message. Clicking this icon will focus (and show if
hidden) the first conversation with an unseen message.
This is essentially the same behavior of the docklet in
cvs right now, except that the icon is only visible
when there is a conversation with an unread message.
The api that is added is flexible enough to allow
either the docklet or the new blist menutray icon to be
visible for conversations of any/all types and for
unseen messages >= any state. Currently they are set to
only IM conversations and only unseen states >= TEXT
(system messages and no log messages will not trigger
blinking the docklet or showing the blist tray icon),
but these could be made preferences relatively easily
in the future. Other plugins could probably benefit as
well: gaim_gtk_conversations_get_first_unseen().
There is probably some limit to comment size, so I'll
stop rambling now. If anyone has more
questions/comments, catch me in #gaim, here or on
gaim-devel."
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Wed, 16 Nov 2005 18:17:01 +0000 |
parents | e859c1663a27 |
children | 56a3649c7bed |
line wrap: on
line source
Gaim Copyright (C) 1998-2005 by the following: If you have contributed to Gaim, you deserve to be on this list. Contact us (see: AUTHORS) and we'll add you. Dave Ahlswede Manuel Amador Matt Amato Daniel Atallah Paul Aurich Patrick Aussems John Bailey Luca Barbato Levi Bard Kevin Barry Derek Battams Martin Bayard Curtis Beattie Dave Bell Igor Belyi Brian Bernas Jonas Birmé Eric Blade Ethan Blanton Joshua Blanton Rainer Blessing Herman Bloggs David Blue Jason Boerner Graham Booker Craig Boston Chris Boyle Derrick J Brashear Matt Brenneke Jeremy Brooks Philip Brown Sean Burke Michael Carlson Julien Cegarra Cerulean Studios, LLC Jonathan Champ Ka-Hing Cheung Sadrul Habib Chowdhury Arturo Cisneros, Jr. Vincas Ciziunas Jonathan Clark Joe Clarke Eoin Coffey Jason Cohen Todd Cohen Nathan Conrad Felipe Contreras Alex Converse Irving Cordova Adam Cowell Palmer Cox Jeramey Crawford Balwinder Singh Dheeman Finlay Dobbie Mark Doliner Nuno Donato Jim Duchek Alex Duggan Tom Dyas Marc E. Andrew Echols John Eckerdal Sean Egan <sean.egan@binghamton.edu> Nelson Elhage Ignacio J. Elia Brian Enigma Stefan Esser Marc Etcheverry Larry Ewing Gábor Farkas Jesse Farmer Gavan Fantom (gavan) David Fiander Rob Flynn <gaim@robflynn.com> Rob Foehl (rwf) Alan Ford Nathan Fredrickson Chris J. Friesen Free Software Foundation Decklin Foster Francesco Fracassi Adam Fritzler Max G. François Gagné Evgueni V. Gavrilov Ignacy Gawedzki Richard Gobeille Michael Golden Charlie Gordon Ryan C. Gordon Miah Gregory Christian Hammond Erick Hamness Fred Hampton Casey Harkins Andy Harrison Andrew Hart (arhart) G. Sumner Hayes Michael R. Head Mike Heffner Benjamin Herrenschmidt Fernando Herrera Casey Ho Iain Holmes Joshua Honeycutt Nigel Horne Magnus Hult Karsten Huneycutt Rian Hunter Thomas Huriaux Henry Jen Benjamin Kahn Akuke Kok Cole Kowalski Gary Kramlich Patrik Kullman Tuomas Kuosmanen Tero Kuusela Richard Laager Scott Lamb Dennis Lambe Jr. Joe LaPenna Steve Láposi Daniel Larsson Peter Lawler Ho-seok Lee Moses Lei Ambrose C. Li Nicolas Lichtmaier Artem Litvinovich Syd Logan Lokheed Norberto Lopes Uli Luckas Matthew Luckie Mike Lundy Brian Macke Paolo Maggi Willian T. Mahan Kris Marsh Fidel Martinez Lalo Martins John Matthews Ryan McCabe Peter McCurdy Kurt McKee Torrey McMahon Robert McQueen Robert Mibus Benjamin Miller Kevin Miller Paul Miller Arkadiusz Miskiewicz Andrew Molloy Sergio Moretto Matthew A. Nicholson Szilard Novaki Novell Padraig O'Briain Christopher O'Brien (siege) Jon Oberheide Ruediger Oertel Gudmundur Bjarni Olafsson Nathan Owens (pianocomp81) Matt Pandina Ricardo Fernandez Pascual Riley Patterson Havoc Pennington Ted Percival Eduardo Pérez Joao Luís Marques Pinto Ari Pollak Robey Pointer Nathan Poznick Brent Priddy Federicco Mena Quintero Yosef Radchenko David Raeman Etan Reisner Kristian Rietveld Pekka Riikonen Tim Ringenbach Rhett Robinson Luciano Miguel Ferreira Rocha Andrew Rodland Jason Roth Jean-Francois Roy Arvind Samptur Sam S. Tom Samstag Neil Sanchala Alceste Scalas Carsten Schaar Luke Schierer Ralph Schmieder Evan Schoenberg Federico Schwindt Torrey Searle Don Seiler Leonardo Serra Jim Seymour Joe Shaw Scott Shedden Ettore Simone John Silvestri Craig Slusher Alex Smith Malcolm Smith David Smock Phil Snowberger Eddie Sohn (tr1sk) Sony Computer Entertainment America, Inc. Mark Spencer Lex Spoon Kevin Stange Richard Stellingwerff David Stoddard Sun Microsystems Mårten Svantesson (fursten) Robert T. Brian Tarricone Peter Teichman Philip Tellis Arun A. Tharuvai Cestonaro Thilo Will Thompson Douglas Thrift (douglaswth) Andrew Tinney Jeffery To Warren Togami Stu Tomlinson Bill Tompkins Chris Toshok Ken Tossell Tom Tromey Todd Troxell Brad Turcotte Junichi Uekawa István Váradi Philip Van Hoof Kristof Vansant James Vega David Vermeille Sid Vicious Bjoern Voigt Nathan Walp Eric Warmenhoven Andrew Wellington Dave West Daniel Westermann-Clark Andrew Whewell Dan Willemsen Jason Willis Matt Wilson Justin Wood Ximian Jared Yanovich Timmy Yee Nickolai Zeldovich Marco Ziech Piotr Zielinski Jaroen Zwartepoorte