chat windows opened in maximized state, stealing focus
olaf at aepfle.de
Thu Jun 13 07:47:18 EDT 2019
Am Fri, 22 Mar 2019 07:56:25 +0100
schrieb Olaf Hering <olaf at aepfle.de>:
> If for some reason the connection to GroupWise, IRC or RocketChat has to be (re)stablished, pidgin will just open a maximized, non-foreground window over all other open windows. This window may sometimes still have the keyboard focus, so text one is about to type ends up in the wrong window.
This bug annoyed me every day since weeks, so I started to decipher the source code. To me it looks like at least two design flaws exist:
One is the lack of pidgin/conversations/placement=hidden. During startup the autojoined chats must under all circumstances be attached to "hidden_convwin". Only if the user proactively selects the joined chat either in the main window, or via panel, the window must be raised and shown. It seems this can be only achieved with a new knob.
The other is the way how conversations, connections and windows are handled. In case of IRC a chat is (apparently) triggered via "autojoin" signal and the IRC "JOIN" command. At this point no conversation exists AFAICS. Once the server replies with "JOIN #channel" a new conversation is created, but this event lacks all context. It is simply unknown if the event is a result of a sever-side autojoin (if such thing exists), if it was a pidgin autojoin signal, if the user typed '/join #channel' or if it is a result of the "Join" command in the roomlist window. I think the pidgin "JOIN" command has to create a conversation upfront, then send the "JOIN" command for "#channel" and once the server replies with "JOIN" finish the conversation.
Both changes may also fix the case when the connection to the server is lost.
pidgin3 has the same bug, at least IRC behaves equally bad as pidgin2 does.
Is anyone actually happy with the current focus-stealing behavior of pidgin?!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 833 bytes
Desc: Digitale Signatur von OpenPGP
More information about the Devel