[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