a GUI for GNU PG among other things
Details
Yesterday
No, I didn't make any special localization settings or environment variables on my computer. The only multi-lingual use case I have is that I used for some time the spanish version of Microsoft Office.
I think it's something special in Kleopatra in combination with your system. Kleopatra is deployed on loads of computers in Germany and you are the first one to report this problem. I understand that you do software development. Did you maybe set some localization settings or environment variables to test/debug things you develop? Can you try some other KDE application, e.g. Kate? You can get it from the Microsoft Store or alternatively at https://binary-factory.kde.org/job/Kate_Release_win64/.
The system language is German, the entire system is a German PC, German keyboard layout etc. Other languages used are English and Spanish.
The system is heavily used with different applications including SW development tools, etc.
Never noticed issues like this, so I am pretty sure it's something special in Kleopatra...
To me this looks more like a ki18n/Qt issue than a font issue. In particular, the key size drop down doesn't use a monospace font. The code uses the default locale to localize the number representation. What's the system language of your Windows?
Thu, Nov 30
Thank you for the fast response!
and with a renamed file:
can be tested with beta312
Wed, Nov 29
Damn this actually happens with every file with a space. Why didn't our Gpg4win users,.. report this. 😐 I checked T6056 was part of the last Gpg4win release...
Our current PKCS#15 widget is optimized for RSCS cards.
@ebo if tasks have a parent please directly assign them the same priority.
This looks very similar to https://bugreports.qt.io/browse/QTBUG-85744 for me nearly all emojis work except the frowning face please do not investigate the font / emoji issue further.
The numbers in this dialog come from system font setting for monospace fonts and that might be broken for you. But you should then have problems in other applications, too. There is nothing special here and it works for all our other users.
Oh, the user is actually asked with this? I wonder if that is something that is new now, I think so. I mean its been quite a long time that we added support for embedded filenames but 3.1.26 was also long ago.
Looks like a missing unescaping somewhere in gpgme.
On Linux, gpgme already passes the locale (set with gpgme_set_locale) to gpg which should pass it with every session to gpg-agent. No idea if this also happens on Windows because there are some ifdef's. The gpgme documentation mentions that the locale should be set immediately after gpgme has been initialized and that gpgme doesn't do it itself because it wouldn't be thread safe.
These seems to be windows related bugs and it even seems to only appear with mingw builds of Qt and not MSVC builds according to https://forum.qt.io/topic/89997/using-colour-emojis-as-a-substitution-font-in-windows/12?_=1701253977832&lang=en-US :(
Tue, Nov 28
In GpgOL at least I have an API call to query the display language of outlook. I just need to pass it through to gpgme early and forgot about it. Also I don't think this would actually help completely if gpg-agent is running already.
Currently, the "Loading certificates" window is shown as long as gpgsm --learn-card runs. Instead of showing this window longer we should probably add some general progress indicator to the smart card view (e.g. in a status bar), so that the users see that Kleopatra is updating/loading information from the smart cards.
Some technical details:
- KDE's ki18n uses the LANGUAGE variable to set/get the language to use. On Unix, we simply use QLocale::system(), but on Windows and macOS we look directly at the LANGUAGE variable because Qt ignores this variable on those systems. See https://invent.kde.org/frameworks/ki18n/-/blob/kf5/src/i18n/main.cpp#L63
- KDE's kxmlgui reads the application-specific override language from the file QStandardPaths::GenericConfigLocation + "/klanguageoverridesrc" and sets the LANGUAGE variable accordingly (which is then picked up by ki18n). Example from my system:
[Language] kmymoney=@ByteArray(de)
Regarding the format, =de would probably also work.
See https://invent.kde.org/frameworks/kxmlgui/-/blob/kf5/src/kswitchlanguagedialog_p.cpp#L64
works with VS-Desktop-3.1.90.302-Beta:
works with VS-Desktop-3.1.90.302-Beta, very nice!
Raising prio in reaction to some customer feedback
assuan_pipe_connect, etc., is outside of my comfort zone. Somebody else (@werner ?) should check how to prevent two gpgsm's started via gpgconf --launch and assuan_pipe_connect (if that's what happens).
Mon, Nov 27
I guess that the second instance is started by gpgsm_new (engine-gpgsm.c) via assuan_pipe_connect.
When I do a search which is found on the keyserver, only the one without the multiple backslashes comes up, this seems to be started via gpgme call.
When starting again without a dirmngr and searching for a key which can only be found via WKD both entries appear in the taskmanager after only one search. The same is true if the key can be found in neither place. It seems the backslashes are associated with WKD and start is probably via gpgconf.
further improvement after the 3.2 release
One proces per user is normal but the two for ebo-ad are strange. Especially the one with the multiple backslashes. I wonder where that came from. Can you try to find this out? e.g. have taskmanager open while you repeat your test and check when it comes up.
With VS-Desktop-3.1.90.300-Beta I do not any more see more than one dirmngr for the test user who is not in the windows test-domain.
But I still see 2 processes for the domain user. Which is less than before. Task manager for all users:
Fyi, Carl already, asked me to include that in our build so I will add this.
The "Load Certificates" button still remains greyed out if nothing changed, i.e. if no new certificates could be loaded from the card. This could be changed, but pressing "Load Certificates" multiple times won't magically fix loading the broken certificates.