Gajim - 2025-07-05


  1. waffles

    new gajim update \o\ /o/

  2. waffles

    looks so CLEAN

  3. PMR

    > I think some upstream libraries are preventing the Gajim team from implementing this, unfortunately. But I hope upstream merges those changes so that Gajim can then add support for calling. 🤞 Can you expand on what you mean by upstream libraries? eg base dependencies?

  4. hannibal

    PMR: See https://dev.gajim.org/gajim/gajim/-/merge_requests/995

  5. bot

    lovetox pushed 1 commits to branch gajim/master imprv: Add support for the urgency hint on win32 - https://dev.gajim.org/gajim/gajim/-/commit/926da541511ec9141d8899c884e4acb6d7eb3f40

    👍 1
  6. Codimp

    don't know if you was aware og this, but Gajim is not accessible under Windows, it seems GTK has zero accessibility bindings outside of UNIX

  7. Codimp

    don't know if you was aware of this, but Gajim is not accessible under Windows, it seems GTK has zero accessibility bindings outside of UNIX

  8. bot

    wurstsalat pushed 3 commits to branch gajim/master other: Windows dev env: Remove superfluous pygobject-stubs config - https://dev.gajim.org/gajim/gajim/-/commit/2b19339434e0c0ce8e382980918961f61d04da79 ci: Tests: Remove superfluous pygobject-stubs config - https://dev.gajim.org/gajim/gajim/-/commit/752bb2fef2faa0a89760ddcb12f6a49ca83e9323 imprv: Preferences: Improve display of locked settings - https://dev.gajim.org/gajim/gajim/-/commit/70533bda6bfae4447952d3393032665b3b64aa5f

  9. bot

    lovetox pushed 1 commits to branch gajim/master fix: Windows: Make --user-profile work correctly with portable installations - https://dev.gajim.org/gajim/gajim/-/commit/55a5bb9f2af99d3778d4160083dddb12db0fb5db

  10. mesonium

    > don't know if you was aware of this, but Gajim is not accessible under Windows, it seems GTK has zero accessibility bindings outside of UNIX https://docs.gtk.org/gtk4/section-accessibility.html#implementations > Each GtkAccessible implementation must provide a GtkATContext instance, which acts as a proxy to the specific platform’s accessibility API: > Active Accessibility on Windows

  11. Codimp

    > https://docs.gtk.org/gtk4/section-accessibility.html#implementations > > Each GtkAccessible implementation must provide a GtkATContext instance, which acts as a proxy to the specific platform’s accessibility API: > > Active Accessibility on Windows is it something we need to change in side Gajim or a thing to change in msys2?

  12. Codimp

    > https://docs.gtk.org/gtk4/section-accessibility.html#implementations > > Each GtkAccessible implementation must provide a GtkATContext instance, which acts as a proxy to the specific platform’s accessibility API: > > Active Accessibility on Windows is it something we need to change inside Gajim or a thing to change in msys2?

  13. mesonium

    What have you tested under Linux or Windows: Keyboard navigation, screen reading, ...?

  14. mesonium

    Regarding the latter: https://dev.gajim.org/gajim/gajim/-/issues/11147#note_207283 > GTK does not provide any context from alone, we have to fill out the accessibility fields for example in Glade

  15. Codimp

    > What have you tested under Linux or Windows: Keyboard navigation, screen reading, ...? I tried screenreader (NVDA) and it can only read the window title, nothing else

  16. Codimp

    > Regarding the latter: > https://dev.gajim.org/gajim/gajim/-/issues/11147#note_207283 > > GTK does not provide any context from alone, we have to fill out the accessibility fields for example in Glade this issue seems very old, Glade is not for GTK4, do we have examples of such accessibility fields in the current Gajim code?

  17. Codimp

    (and do you know such cool tool as glade but for GTK4?)

  18. mesonium

    > (and do you know such cool tool as glade but for GTK4?) personally no, since Gtk4 I've started hacking XML files directly :D

  19. Codimp

    > personally no, since Gtk4 I've started hacking XML files directly :D I don't really know GTK4, but if you or someone else can understand how to add this accesibility fields in XML and provide an example, I will be happy to work on all accessibility fields for Gajim

  20. mesonium

    Codimp, I will look into it later today shortly and see if I can archive something from where you can take over.

  21. Codimp

    > Codimp, I will look into it later today shortly and see if I can archive something from where you can take over. thanks a lot!

  22. mesonium

    but I would recommend to read to read the page https://docs.gtk.org/gtk4/section-accessibility.html anyway to understand some background.

  23. mesonium

    but I would recommend to read the page https://docs.gtk.org/gtk4/section-accessibility.html anyway to understand some background.

  24. Codimp

    I already read most of this page some days ago to start to understand it ^^

  25. lovetox

    ``` <object class="GtkButton" id="button1"> <accessibility> <property name="label">Download</property> <relation name="labelled-by">label1</relation> </accessibility> </object> ```

  26. lovetox

    needs to be added like this, but i hope if the button has a label, it does not need to be added additionally here

  27. lovetox

    but should be easy to test

  28. lovetox

    and also if the label here needs a "translatable=true"

  29. Codimp

    cool, thanks lovetox i will try this soon

  30. mesonium

    > I tried screenreader (NVDA) and it can only read the window title, nothing else I'm testing Orca Screen Reader, it can read many things indeed: When I click into the search, it says "Entry search" and so on.

  31. Codimp

    > > I tried screenreader (NVDA) and it can only read the window title, nothing else > I'm testing Orca Screen Reader, it can read many things indeed: When I click into the search, it says "Entry search" and so on. > yes with Orca it works

  32. mesonium

    https://discourse.gnome.org/t/rust-gtk4-apps-how-to-access-applications-using-nvda-on-windows/24631/2 > There’s currently no accessibility support on Windows and macOS; we are planning to add that as part of the introduction of AccessKit, but it’s not an easy task from Ot 2024

  33. mesonium

    https://discourse.gnome.org/t/rust-gtk4-apps-how-to-access-applications-using-nvda-on-windows/24631/2 > There’s currently no accessibility support on Windows and macOS; we are planning to add that as part of the introduction of AccessKit, but it’s not an easy task from Oct 2024

  34. lovetox

    thanks mesonium,

  35. Codimp

    argh, so sad, I will still try to look at the accessibility fields, maybe it's a good thing to add

  36. lovetox

    i would first check if something is missing on linux

  37. lovetox

    Gtk sets these fields with defaults

  38. lovetox

    i just checked some buttons, and as long as they have a tooltip or label inside, this is set as accessibility label

  39. lovetox

    so this is usually only needed for custom widgets

  40. Codimp

    oh ok, crap :(

  41. lovetox

    and maybe something like the chat list rows

  42. lockywolf

    gajim in flatpak does not support calls, right?

  43. mesonium

    wait

  44. Codimp

    > gajim in flatpak does not support calls, right? calls support has been removed since 2.0.0 in every Gajim version

  45. mesonium

    https://blog.gtk.org/2025/05/12/an-accessibility-update/ We merged the AccessKit a11y backend in GTK 4.18. This is pretty big news for GTK on platforms other than Linux. For the very first time, GTK applications can be accessible on Windows and macOS. This is also the first rust dependency in GTK.

  46. mesonium

    https://blog.gtk.org/2025/05/12/an-accessibility-update/ > We merged the AccessKit a11y backend in GTK 4.18. This is pretty big news for GTK on platforms other than Linux. For the very first time, GTK applications can be accessible on Windows and macOS. This is also the first rust dependency in GTK.

  47. mesonium

    it's absolutely new, just 2 months old

  48. Codimp

    > https://blog.gtk.org/2025/05/12/an-accessibility-update/ > > We merged the AccessKit a11y backend in GTK 4.18. This is pretty big news for GTK on platforms other than Linux. For the very first time, GTK applications can be accessible on Windows and macOS. This is also the first rust dependency in GTK. oh woaw, very good news yes, do we know if we build Gajim Windows version with GTK 4.18?

  49. mesonium

    you can check that in the help -> about -> trouble shooting -> dev info dialog

  50. mesonium

    you can check that in the help -> about -> trouble shooting -> debug info dialog

  51. Codimp

    yep, 4.18.6

  52. Codimp

    but still not accessible, curious…

  53. mesonium

    it says > If you want to try it out, build GTK with the -Daccesskit=enabled build option, and set > `GTK_A11Y=accesskit` > in the environment. Maybe that's not the case for the gtk 4.18 msys2 package

  54. Codimp

    yep I was thinking about this too

  55. mesonium

    Codimp, can you try to set the env variable for Gajim?

  56. Codimp

    I'm not really a "Windows person" ahah, but I will try

  57. Codimp

    it don't seem to work

  58. mesonium

    > If you are ever uncertain which a11y backend GTK is using, you can find this information in the inspector. https://blog.gtk.org/files/2025/05/Screenshot-From-2025-05-12-08-20-56.png

  59. mesonium

    what does it say for you?

  60. mesonium

    Codimp, start Gajim with the following env variable and check the output: GTK_A11Y=help

  61. mesonium

    For me on Fedora 42 it says ``` Supported arguments for GTK_A11Y environment variable: accesskit - Disabled during GTK build atspi - Use the AT-SPI accessibility backend test - Use the test accessibility backend none - Disable the accessibility backend help - Print this help ```

  62. Codimp

    under linux no problem, but I don't have this under windows

  63. mesonium

    so you don't see this help text under Windows in the terminal? weird

  64. Codimp

    I don't have gtk4-demo under windows

  65. Codimp

    i will need to package it with msys2 i think

  66. mesonium

    why are you looking for the gtk4-demo now?

  67. Codimp

    oh you're right, it also show for Gajim, but not under Windows

  68. mesonium

    I'm asking in the msys2 Discord :-/ room if the build option is lacking and if it could be enabled in the future

  69. Codimp

    thanks

  70. lockywolf

    Codimp, what is the reason?

  71. Codimp

    > Codimp, what is the reason? reason of what?

  72. lockywolf

    Why removing calls?

  73. lockywolf

    While leaving the button to make them in place.

  74. Codimp

    > Why removing calls? it's explained here: https://gajim.org/posts/2025-02-28-gajim-2.0.0-released/ under "Jingle File Transfer and Audio/Video Calls"

  75. lockywolf

    lol

  76. mesonium

    I love Windows, got a space in my username and cannot build gtk4 with gintrospection

  77. mesonium

    I built it w/o now but enabled accesskit

  78. Codimp

    I built the windows dev env with msys2

  79. Codimp

    when running "GTK_A11Y=accesskit ./launch.py" I get lot of: "Unrecognized accessibility backend "accesskit". Try GTK_A11Y=help"

  80. cal0pteryx

    > I love Windows, got a space in my username and cannot build gtk4 with gintrospection classic

  81. Codimp

    with help it says "acesskit - Disabled during GTK build"

  82. mesonium

    Codimp: did you compile gtk4?

  83. Codimp

    nope, i just installed the package

  84. mesonium

    You need to add the flag for accesskit in the pkgbuild file

  85. Codimp

    yep, i will try

  86. mesonium

    You also need to install: patch cmake ninja mingw-w64_x86_64-accesskit-c

  87. Codimp

    I'm building it with the acesskit option enabled

  88. Codimp

    a luck it's an Arch env :D

  89. Codimp

    it works!

    🥳 3❤️ 2
  90. Codimp

    and all seems accessible!

  91. Codimp

    thanks a lot mesonium I will send a PR in msys2 to built the package with accesskit enabled by default

  92. mesonium

    Hu wanted to the same, but go ahead

  93. Codimp

    as you prefer ^^

  94. mesonium

    can you link your MR here: https://dev.gajim.org/gajim/gajim/-/issues/11147 for tracking?

  95. mesonium

    > classic `cp -r "/home/user name" /home/username"` in msys2 did the trick to build gtk also with gintrospection

  96. Codimp

    > can you link your MR here: https://dev.gajim.org/gajim/gajim/-/issues/11147 for tracking? done ;)

    👍 3❤️ 1❤ 1
  97. Codimp

    3 friends using Gajim on Windows says that they can't shutdown Windows when Gajim is running, they need to force kill it

  98. Codimp

    maybe some "SIGTERM" that Gajim don't receive when Windows shutdown?

  99. mesonium

    Codimp: maybe it's the worker processes?

  100. Codimp

    don't know, but this issue wasn't here on 1.9.5 for example

  101. mesonium

    It says, app prevents shut down?

  102. mesonium

    Yeah I think that's the issue. Ask them if they can reproduce it when they restart Gajim and shutdown and when they restart Gajim, receive or send some picture, where a thumbnail os generated and then shutdown

  103. mesonium

    Yeah I think that's the issue. Ask them if they can reproduce it when they restart Gajim and shutdown and when they restart Gajim, receive or send some picture, where a thumbnail is generated and then shutdown

  104. Codimp

    > It says, app prevents shut down? here is the screen I reproduce inside a VM:

  105. Codimp

    https://xmpp.lithio.fr:5281/file_share/06869785-24fe-7970-88a3-8d1f6560d3b0/2025-07-05_21-08-20.jpg

  106. Codimp

    sorry it's in french, but it say: "Closing an app and shutdown" "Gajim This app prevents shutdown"

  107. Codimp

    the buttons say "force shutdown" and "cancel"

  108. Codimp

    if I cancel, i go back to my windows desktop and Gajim is freeze ("This program is not responding")

  109. lovetox

    They should enable debug logs and send them

  110. mesonium

    Codimp: I could reproduce it in the latter case mentioned above

  111. Codimp

    yep same, i will try debug logs

  112. lovetox

    But that would be a weird coincidence every time

  113. Codimp

    I let Gajim run without doing anything, then at 21:18:06 I shutdown Windows, here are the logs at this time: https://paste.notiz.fr/?9e3c67c4304fee8d#CCzUsFeiXFSXfjP6VEqj3pcz8GXgJMCuPZTohJbJnM24

  114. cal0pteryx

    Its pystray, the tray icon running in a separatee thread

    👍 1
  115. cal0pteryx

    We need to listen to window's "shutdown signal" and properly quit gajim. Otherwise the thread blocks gajim from quitting

  116. cal0pteryx

    Same problem when running from terminal and ctrl-c'ing

  117. cal0pteryx

    > We need to listen to window's "shutdown signal" and properly quit gajim. Otherwise the thread blocks gajim from quitting this is a good idea anyway to properly quit the xmpp stream

  118. mesonium

    You are right, my case was just pure coincidence. :)

  119. lovetox

    But we dont do this for Gajim

  120. lovetox

    i dont see how a thread blocks windows from shutting down

  121. lovetox

    i think we should this report to pysystray

  122. lovetox

    they have somekind of window mainloop, and in this loop windows tells them if the system shutsdown, and they need to respond in a certain way

  123. lovetox

    > Windows Vista will solve this by allowing users to terminate the blocking application and make shutdown "forceful." In a forceful shutdown, Windows will send applications WM_QUERYENDSESSION with the ENDSESSION_CRITICAL flag. If an application responds FALSE

  124. lovetox

    https://github.com/moses-palmer/pystray/blob/master/lib/pystray/_win32.py#L39aC5-L395C16

  125. lovetox

    maybe lets debug what the mainloop in pystray receives and how it handles it

  126. lovetox

    https://learn.microsoft.com/en-us/previous-versions/windows/desktop/mpc/application-shutdown-changes-in-windows-vista

  127. mesonium

    lovetox, have you seen https://github.com/moses-palmer/pystray/issues/177 ?

  128. lovetox

    how do you think this is relevant?

  129. mesonium

    Nvm, sorry

  130. lovetox

    also our code ignores the show systray setting

  131. lovetox

    and always runs the tray icon

  132. hannibal

    > (and do you know such cool tool as glade but for GTK4?) https://flathub.org/apps/ar.xjuan.Cambalache

  133. cal0pteryx

    I'm trying to do UI stuff with Workbench. They have Blueprint support, which is way nicer to type down than XML

  134. cal0pteryx

    https://apps.gnome.org/de/Workbench/

  135. Codimp

    just built the Gajim installer with accesskit working \o/

  136. Codimp

    I will make a small PR to include accesskit in the Gajim base build env for Windows