Re: chat windows opened in maximized state, stealing focus

Olaf Hering <[email protected]> Thu, 13 Jun 2019 13:47:18 +0200
Newsgroups gmane.comp.gnome.gaim.devel
Message-ID <[email protected]>
--===============2249305848415695912==
Content-Type: multipart/signed; micalg=pgp-sha256;
 boundary="Sig_/Jl+TfKDx1KdVfFgGLeo8Rel"; protocol="application/pgp-signature"

--Sig_/Jl+TfKDx1KdVfFgGLeo8Rel
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Am Fri, 22 Mar 2019 07:56:25 +0100
schrieb Olaf Hering <[email protected]>:

> 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 keyb=
oard 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 sou=
rce code. To me it looks like at least two design flaws exist:

One is the lack of pidgin/conversations/placement=3Dhidden. During startup =
the autojoined chats must under all circumstances be attached to "hidden_co=
nvwin". 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 th=
is 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 autojo=
in 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 "#chann=
el" and once the server replies with "JOIN" finish the conversation.

Both changes may also fix the case when the connection to the server is los=
t.
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=
?!

Olaf

--Sig_/Jl+TfKDx1KdVfFgGLeo8Rel
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAl0CN8YACgkQ86SN7mm1
DoB6xQ/9FPgxLEXtTwnZ7wt0xsos7fbqlNFNBjt19TxsaXd3zH8OuOoP5mysYbx/
019Ki1eSnscGJigB4lE1NLvaxpsEe7PMKVcC4q1LC9lxPd4GTr5pfEGvvzDCHXKj
jQRoZj+rGoY8d4wiP6qjlzjat7vu5wMivmQKPF/vzKLA91gssxzMpDCudy59ukQH
uOUXPeviVB4uK2TbTxYNtjPYmAsA9UN0mBWGUWvLjGf+xNgUZtKZRUUjUDvllrrT
O9lyT9H/n9dPpb6nuuZe8l/X26bQvBvE9aCPUXyNHKzKvwbGPgJq/RYLxQbeo6JH
NV4R48VT9LmapiPMSCrysdSYcpa1NPcUgImWOqKg6f+hadfa8ubu1ddD5WuK3hP7
b28fH06lK6LXYFYPQRJQ1p131QqSoFhpWPn9PtswJrbCljOp97QRjht0zr1Eb4ej
jbFdl85H3zbYtyvi2gw1FaylGtZmGpjS3bVcK0+sqsQ0PUcxSZe0pEdrHB1Mj2E4
Z5BKvwyri5iFseSapuB2l7Ol7nrsE39hrFE95dQP4Jl4pkboVB4bz6ptfWfv9NZv
Lp4rkwaSl21XKcQ3sn2UYOGaZC8LtYh4U8BeF2ftyoL/i6HTyTsP1j+BWyTNWqK8
ypL0PPUy4TjOKBUbpIWQ/PsdxzLQxYK1Cuf0kZ9jWp5xi8Nqol4=
=CTVH
-----END PGP SIGNATURE-----

--Sig_/Jl+TfKDx1KdVfFgGLeo8Rel--


--===============2249305848415695912==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGV2ZWwgbWFp
bGluZyBsaXN0CkRldmVsQHBpZGdpbi5pbQpodHRwczovL3BpZGdpbi5pbS9jZ2ktYmluL21haWxt
YW4vbGlzdGluZm8vZGV2ZWw=

--===============2249305848415695912==--