Chose a file picker

Hi friends,

I am on 44 kde edition, and I installed jami.

When I try to send a file I get a file picker, of course, but it’s… Not so nice.

In most programs the file picker shows a thumbnail big enough to see a preview of pictures, with this one I have to search for the picture I want on dolphin, read the name and then look it up on the file picker. And I mean, it works, but it’s a little dated.

Is there anything that can be done about it?

At a guess jami is a uses GTK toolkit and not the KDE plasma Qt toolkit.

KDE can run GTK apps, but as I say I’m guessing that the file picker is not the usual KDE one.

It is not, is there any way for me to make it use a different file picker?

What tool kit does it use then?
I am not aware of a way to change the file picker an app uses.

This is what it looks like, I wouldn’t know how to answer the question otherwise sorry T_T

Run the ldd command on the jami app.
The output will list the libraries that jani is using that may point to the toolkit.
Post the output here.

ldd: ./jami: No such file or directory

:smiling_face_with_tear:

Obviously you need to supply the full path to the executable.

This does not work, even with the added packages, when using ctrl and plus or minus, the zoom in and out happens on the chat rather than file picker.

Not obvious when you are ignorant like me :wink:

	linux-vdso.so.1 (0x00007f76618f9000)
	libQt6Svg.so.6 => /usr/lib64/qt-jami/lib/libQt6Svg.so.6 (0x00007f7661849000)
	libQt6Sql.so.6 => /usr/lib64/qt-jami/lib/libQt6Sql.so.6 (0x00007f76617ef000)
	libQt6Core5Compat.so.6 => /usr/lib64/qt-jami/lib/libQt6Core5Compat.so.6 (0x00007f7661788000)
	libQt6Multimedia.so.6 => /usr/lib64/qt-jami/lib/libQt6Multimedia.so.6 (0x00007f765ce44000)
	libQt6HttpServer.so.6 => /usr/lib64/qt-jami/lib/libQt6HttpServer.so.6 (0x00007f765ce0c000)
	libQt6WebSockets.so.6 => /usr/lib64/qt-jami/lib/libQt6WebSockets.so.6 (0x00007f765cdd2000)
	libQt6WebEngineQuick.so.6 => /usr/lib64/qt-jami/lib/libQt6WebEngineQuick.so.6 (0x00007f765cd06000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00007f765cbb0000)
	libnm.so.0 => /lib64/libnm.so.0 (0x00007f765ca34000)
	libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f765c846000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f765c7e5000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f765c683000)
	libnotify.so.4 => /lib64/libnotify.so.4 (0x00007f765c675000)
	libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f765c645000)
	libQt6Gui.so.6 => /usr/lib64/qt-jami/lib/libQt6Gui.so.6 (0x00007f765bc00000)
	libQt6Core.so.6 => /usr/lib64/qt-jami/lib/libQt6Core.so.6 (0x00007f765b400000)
	libQt6Quick.so.6 => /usr/lib64/qt-jami/lib/libQt6Quick.so.6 (0x00007f765ac00000)
	libQt6Qml.so.6 => /usr/lib64/qt-jami/lib/libQt6Qml.so.6 (0x00007f765a400000)
	libQt6Network.so.6 => /usr/lib64/qt-jami/lib/libQt6Network.so.6 (0x00007f765a000000)
	libargon2.so.1 => /lib64/libargon2.so.1 (0x00007f765c63c000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7659c00000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f765c633000)
	libgnutls.so.30 => /lib64/libgnutls.so.30 (0x00007f7659800000)
	libnettle.so.8 => /lib64/libnettle.so.8 (0x00007f765bba9000)
	libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f765bba0000)
	libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f765bb9b000)
	libpipewire-0.3.so.0 => /lib64/libpipewire-0.3.so.0 (0x00007f765ab2e000)
	libopus.so.0 => /lib64/libopus.so.0 (0x00007f765bb27000)
	libspeex.so.1 => /lib64/libspeex.so.1 (0x00007f765bb08000)
	libjsoncpp.so.26 => /lib64/libjsoncpp.so.26 (0x00007f765b3bb000)
	libgmp.so.10 => /lib64/libgmp.so.10 (0x00007f765a357000)
	libfmt.so.11 => /lib64/libfmt.so.11 (0x00007f765ab09000)
	libva-drm.so.2 => /lib64/libva-drm.so.2 (0x00007f765bb02000)
	libva-x11.so.2 => /lib64/libva-x11.so.2 (0x00007f765bafa000)
	libvdpau.so.1 => /lib64/libvdpau.so.1 (0x00007f765baf4000)
	libva.so.2 => /lib64/libva.so.2 (0x00007f765aad1000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f765aaa7000)
	libyaml-cpp.so.0.8 => /lib64/libyaml-cpp.so.0.8 (0x00007f765a303000)
	libudev.so.1 => /lib64/libudev.so.1 (0x00007f765a2b7000)
	libpulse.so.0 => /lib64/libpulse.so.0 (0x00007f765a263000)
	libasound.so.2 => /lib64/libasound.so.2 (0x00007f7659edd000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f765a239000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f765a225000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f7659bca000)
	libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f7659ae0000)
	libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007f7659200000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f76597d2000)
	libssl.so.3 => /lib64/libssl.so.3 (0x00007f7659107000)
	libspeexdsp.so.1 => /lib64/libspeexdsp.so.1 (0x00007f7659ec8000)
	libQt6Positioning.so.6 => /usr/lib64/qt-jami/lib/libQt6Positioning.so.6 (0x00007f765905d000)
	libQt6Widgets.so.6 => /usr/lib64/qt-jami/lib/libQt6Widgets.so.6 (0x00007f7658800000)
	libQt6DBus.so.6 => /usr/lib64/qt-jami/lib/libQt6DBus.so.6 (0x00007f765871f000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f76597a5000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f7658608000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f765840f000)
	libicuuc.so.77 => /lib64/libicuuc.so.77 (0x00007f7658000000)
	libQt6WebChannelQuick.so.6 => /usr/lib64/qt-jami/lib/libQt6WebChannelQuick.so.6 (0x00007f765a219000)
	libQt6WebEngineCore.so.6 => /usr/lib64/qt-jami/lib/libQt6WebEngineCore.so.6 (0x00007f764ba00000)
	libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f765aaa1000)
	libmount.so.1 => /lib64/libmount.so.1 (0x00007f7659003000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f7659772000)
	libffi.so.8 => /lib64/libffi.so.8 (0x00007f7659eb8000)
	libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f765835e000)
	libglycin-2.so.0 => /lib64/libglycin-2.so.0 (0x00007f764b400000)
	libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f7659acf000)
	libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f765830b000)
	libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007f76582ac000)
	libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f7658fd2000)
	libOpenGL.so.0 => /lib64/libOpenGL.so.0 (0x00007f7658288000)
	libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f765824b000)
	libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f764b8c4000)
	libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f7657f24000)
	libicui18n.so.77 => /lib64/libicui18n.so.77 (0x00007f764b000000)
	libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007f764af5d000)
	libQt6QmlMeta.so.6 => /usr/lib64/qt-jami/lib/libQt6QmlMeta.so.6 (0x00007f765821e000)
	libQt6QmlModels.so.6 => /usr/lib64/qt-jami/lib/libQt6QmlModels.so.6 (0x00007f764ae2d000)
	libQt6OpenGL.so.6 => /usr/lib64/qt-jami/lib/libQt6OpenGL.so.6 (0x00007f764ad82000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f764b869000)
	libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f7659ac0000)
	libp11-kit.so.0 => /lib64/libp11-kit.so.0 (0x00007f764abdf000)
	libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f764b3af000)
	libunistring.so.5 => /lib64/libunistring.so.5 (0x00007f764aa31000)
	libtasn1.so.6 => /lib64/libtasn1.so.6 (0x00007f7658fbb000)
	libhogweed.so.6 => /lib64/libhogweed.so.6 (0x00007f764a9ee000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007f765a214000)
	libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f764b853000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00007f764b83f000)
	libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f765976a000)
	libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f7659eb4000)
	libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f7658fb5000)
	libpulsecommon-17.0.so => /usr/lib64/pulseaudio/libpulsecommon-17.0.so (0x00007f764a968000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f764a910000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f76618fb000)
	libicudata.so.77 => /lib64/libicudata.so.77 (0x00007f7648a00000)
	libQt6WebChannel.so.6 => /usr/lib64/qt-jami/lib/libQt6WebChannel.so.6 (0x00007f764a8cb000)
	libsmime3.so => /lib64/libsmime3.so (0x00007f764a89b000)
	libnss3.so => /lib64/libnss3.so (0x00007f76488b4000)
	libnssutil3.so => /lib64/libnssutil3.so (0x00007f7648884000)
	libnspr4.so => /lib64/libnspr4.so (0x00007f764883f000)
	libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f764879b000)
	libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f7658fb1000)
	libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f7657f20000)
	libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f764b832000)
	libXtst.so.6 => /lib64/libXtst.so.6 (0x00007f764b82a000)
	libwebpmux.so.3 => /lib64/libwebpmux.so.3 (0x00007f764b3a2000)
	libwebpdemux.so.2 => /lib64/libwebpdemux.so.2 (0x00007f764a895000)
	libwebp.so.7 => /lib64/libwebp.so.7 (0x00007f7648712000)
	libharfbuzz-subset.so.0 => /lib64/libharfbuzz-subset.so.0 (0x00007f76485ec000)
	libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f764a88f000)
	liblcms2.so.2 => /lib64/liblcms2.so.2 (0x00007f7648581000)
	libtiff.so.6 => /lib64/libtiff.so.6 (0x00007f76484e7000)
	libxkbfile.so.1 => /lib64/libxkbfile.so.1 (0x00007f76484bf000)
	libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f7648482000)
	libseccomp.so.2 => /lib64/libseccomp.so.2 (0x00007f7648456000)
	libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f76483de000)
	libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f764826f000)
	libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f764a86f000)
	libQt6QmlWorkerScript.so.6 => /usr/lib64/qt-jami/lib/libQt6QmlWorkerScript.so.6 (0x00007f764825c000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f764818a000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f7648172000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f764816c000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f764815b000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f7648155000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f7648142000)
	libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f764811f000)
	libsndfile.so.1 => /lib64/libsndfile.so.1 (0x00007f764809e000)
	libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f7647f66000)
	libasyncns.so.0 => /lib64/libasyncns.so.0 (0x00007f7647f5f000)
	libplc4.so => /lib64/libplc4.so (0x00007f7647f58000)
	libplds4.so => /lib64/libplds4.so (0x00007f7647f52000)
	libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f7647f45000)
	libXi.so.6 => /lib64/libXi.so.6 (0x00007f7647f32000)
	libsharpyuv.so.0 => /lib64/libsharpyuv.so.0 (0x00007f7647f29000)
	libLerc.so.4 => /lib64/libLerc.so.4 (0x00007f7647e8e000)
	libjbig.so.2.1 => /lib64/libjbig.so.2.1 (0x00007f7647e7e000)
	libgsm.so.1 => /lib64/libgsm.so.1 (0x00007f7647e70000)
	libFLAC.so.14 => /lib64/libFLAC.so.14 (0x00007f7647e1a000)
	libvorbis.so.0 => /lib64/libvorbis.so.0 (0x00007f7647de9000)
	libvorbisenc.so.2 => /lib64/libvorbisenc.so.2 (0x00007f7647d51000)
	libogg.so.0 => /lib64/libogg.so.0 (0x00007f7647d45000)
	libmpg123.so.0 => /lib64/libmpg123.so.0 (0x00007f7647ce6000)
	libmp3lame.so.0 => /lib64/libmp3lame.so.0 (0x00007f7647c6c000)

It’s using the QT6 toolkit, to answer the original question about which toolkit is being using to render the file picker.

I assume nothing can be done about it?

The jami developers have control over how the file picker looks.
It is will be hard wired into the app logic.

Gotcha, I think I understand. Thank you :slight_smile:

Do you have the file picker “focused” when you are pressing the hotkeys?

Yeah, I made sure of that

That’s what I did :frowning:

The file picker in your screen shot does not look the default qt6 one in my app,
Or the one in kwrite.

I think the jami developers coded their own one.

Time to ask them directly then :stuck_out_tongue:

Yes, it can be changed but only by the Jami (whatever it is) developers.

If they used the standard Qt file selector, they would have a preview and multiple choices for the size and layout of the file picker out of the box.