[Pidgin] #664: message window behaviour on incoming message should be customizeable

Pidgin trac at pidgin.im
Fri Jul 6 10:40:56 EDT 2007


#664: message window behaviour on incoming message should be customizeable
------------------------------+---------------------------------------------
  Reporter:  pidgin           |       Owner:  datallah                                                   
      Type:  enhancement      |      Status:  new                                                        
  Priority:  minor            |   Milestone:  2.1.0                                                      
 Component:  winpidgin (gtk)  |     Version:  2.0                                                        
Resolution:                   |    Keywords:  incoming message window behaviour minimized maximized focus
   Pending:  0                |  
------------------------------+---------------------------------------------
Comment (by bertsi1de):

 Let's not get carried in a discussion about OS deficiancies nor in demands
 to the Pidgin lords. We won't change Microsoft's window manager and the
 main pidgin developers have communicated their priorities clearly and
 consistently, so obviously we won't change Pidgin either.

 Hence the compromise I see is a plugin. (I have started one and would
 appreciate some input ... read further below.)

 I am using Pidgin on Windows myself and am very much in favour of a
 solution to the issues. In this and several other tickets two main points
 have been brought up:

 (a) the problem of new message windows stealing focus on window managers
 that prioritize new windows
 (b) the request for minimized (blinking) windows as a less invasive but
 more visible means of notification than what is available so far

 A solution to request (b) solves problem a) as well, and in a pragmatic
 way at that. For windows users but also for other OS a new interesting
 notification option would be added. Even grown-up window managers do not
 minimize a new window based on an application's internal conditions. While
 I would want new incoming conversations to be opened in minimized windows,
 i would not want conversations that i initiate to act the same.
 This is Pidgin's responsibility and I therefore do regard this worthwhile
 the development effort.

 However, on to the solution:

 All it should take is a plugin skeleton, a signal and 5 lines of code.
 So even though I'm very new to this, I've patched a plugin together that
 does the following:

 1) connect to the signal "conversation-created"

 2) get the window for that conversation

 3) check if the conversation is the first and only one in that window

 4) minimize the window via "gtk_window_iconify"

 Now here's the problem: what that seems to do is create the new window on
 the desktop, minimize it to the taskbar a split second later and then
 raise it again from the taskbar so it gets displayed and receives focus.

 Here I am a bit stuck and would appreciate any input.

 It seems on the one hand the "conversation-created" signal is triggered a
 bit too late to work for my approach (after the window is created
 visibly), on the other hand it's a bit too early (sometime afterwards the
 window seems to be forced onto the desktop again.

 Can I solve it with signals? Do I need to dig into
 "pidgin_conv_placement_add_fnc" or even apply a complicated method as
 Michael Sartain has used for his Gaim Window Manager (ExtPos) plugin.

 Any ideas???

-- 
Ticket URL: <http://developer.pidgin.im/ticket/664#comment:15>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list