-
waffles
new gajim update \o\ /o/
-
waffles
looks so CLEAN
-
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? ↺
-
hannibal
PMR: See https://dev.gajim.org/gajim/gajim/-/merge_requests/995
-
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 -
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✎ -
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 ✏
-
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
-
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
-
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 ↺
-
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?✎ ↺ -
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? ✏ ↺
-
mesonium
What have you tested under Linux or Windows: Keyboard navigation, screen reading, ...?
-
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
-
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 ↺
-
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? ↺
-
Codimp
(and do you know such cool tool as glade but for GTK4?)
-
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 ↺
-
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 ↺
-
mesonium
Codimp, I will look into it later today shortly and see if I can archive something from where you can take over.
-
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! ↺
-
mesonium
but I would recommend to read to read the page https://docs.gtk.org/gtk4/section-accessibility.html anyway to understand some background.✎ -
mesonium
but I would recommend to read the page https://docs.gtk.org/gtk4/section-accessibility.html anyway to understand some background. ✏
-
Codimp
I already read most of this page some days ago to start to understand it ^^
-
lovetox
``` <object class="GtkButton" id="button1"> <accessibility> <property name="label">Download</property> <relation name="labelled-by">label1</relation> </accessibility> </object> ```
-
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
-
lovetox
but should be easy to test
-
lovetox
and also if the label here needs a "translatable=true"
-
Codimp
cool, thanks lovetox i will try this soon
-
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.
-
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 ↺
-
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✎ -
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 ✏
-
lovetox
thanks mesonium,
-
Codimp
argh, so sad, I will still try to look at the accessibility fields, maybe it's a good thing to add
-
lovetox
i would first check if something is missing on linux
-
lovetox
Gtk sets these fields with defaults
-
lovetox
i just checked some buttons, and as long as they have a tooltip or label inside, this is set as accessibility label
-
lovetox
so this is usually only needed for custom widgets
-
Codimp
oh ok, crap :(
-
lovetox
and maybe something like the chat list rows
-
lockywolf
gajim in flatpak does not support calls, right?
-
mesonium
wait
-
Codimp
> gajim in flatpak does not support calls, right? calls support has been removed since 2.0.0 in every Gajim version ↺
-
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.✎ -
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. ✏
-
mesonium
it's absolutely new, just 2 months old
-
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? ↺
-
mesonium
you can check that in the help -> about -> trouble shooting -> dev info dialog✎ -
mesonium
you can check that in the help -> about -> trouble shooting -> debug info dialog ✏
-
Codimp
yep, 4.18.6
-
Codimp
but still not accessible, curious…
-
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
-
Codimp
yep I was thinking about this too
-
mesonium
Codimp, can you try to set the env variable for Gajim?
-
Codimp
I'm not really a "Windows person" ahah, but I will try
-
Codimp
it don't seem to work
-
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
-
mesonium
what does it say for you?
-
mesonium
Codimp, start Gajim with the following env variable and check the output: GTK_A11Y=help
-
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 ```
-
Codimp
under linux no problem, but I don't have this under windows
-
mesonium
so you don't see this help text under Windows in the terminal? weird
-
Codimp
I don't have gtk4-demo under windows
-
Codimp
i will need to package it with msys2 i think
-
mesonium
why are you looking for the gtk4-demo now?
-
Codimp
oh you're right, it also show for Gajim, but not under Windows
-
mesonium
I'm asking in the msys2 Discord :-/ room if the build option is lacking and if it could be enabled in the future
-
Codimp
thanks
-
lockywolf
Codimp, what is the reason?
-
Codimp
> Codimp, what is the reason? reason of what? ↺
-
lockywolf
Why removing calls?
-
lockywolf
While leaving the button to make them in place.
-
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" ↺
-
lockywolf
lol
-
mesonium
I love Windows, got a space in my username and cannot build gtk4 with gintrospection
-
mesonium
I built it w/o now but enabled accesskit
-
Codimp
I built the windows dev env with msys2
-
Codimp
when running "GTK_A11Y=accesskit ./launch.py" I get lot of: "Unrecognized accessibility backend "accesskit". Try GTK_A11Y=help"
-
cal0pteryx
> I love Windows, got a space in my username and cannot build gtk4 with gintrospection classic ↺
-
Codimp
with help it says "acesskit - Disabled during GTK build"
-
mesonium
Codimp: did you compile gtk4?
-
Codimp
nope, i just installed the package
-
mesonium
You need to add the flag for accesskit in the pkgbuild file
-
Codimp
yep, i will try
-
mesonium
You also need to install: patch cmake ninja mingw-w64_x86_64-accesskit-c
-
Codimp
I'm building it with the acesskit option enabled
-
Codimp
a luck it's an Arch env :D
-
Codimp
it works!
🥳 3❤️ 2 -
Codimp
and all seems accessible!
-
Codimp
thanks a lot mesonium I will send a PR in msys2 to built the package with accesskit enabled by default
-
mesonium
Hu wanted to the same, but go ahead
-
Codimp
as you prefer ^^
-
mesonium
can you link your MR here: https://dev.gajim.org/gajim/gajim/-/issues/11147 for tracking?
-
mesonium
> classic `cp -r "/home/user name" /home/username"` in msys2 did the trick to build gtk also with gintrospection ↺
-
Codimp
> can you link your MR here: https://dev.gajim.org/gajim/gajim/-/issues/11147 for tracking? done ;) ↺
👍 3❤️ 1❤ 1 -
Codimp
3 friends using Gajim on Windows says that they can't shutdown Windows when Gajim is running, they need to force kill it
-
Codimp
maybe some "SIGTERM" that Gajim don't receive when Windows shutdown?
-
mesonium
Codimp: maybe it's the worker processes?
-
Codimp
don't know, but this issue wasn't here on 1.9.5 for example
-
mesonium
It says, app prevents shut down?
-
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✎ -
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 ✏
-
Codimp
> It says, app prevents shut down? here is the screen I reproduce inside a VM: ↺
-
Codimp
https://xmpp.lithio.fr:5281/file_share/06869785-24fe-7970-88a3-8d1f6560d3b0/2025-07-05_21-08-20.jpg
-
Codimp
sorry it's in french, but it say: "Closing an app and shutdown" "Gajim This app prevents shutdown"
-
Codimp
the buttons say "force shutdown" and "cancel"
-
Codimp
if I cancel, i go back to my windows desktop and Gajim is freeze ("This program is not responding")
-
lovetox
They should enable debug logs and send them
-
mesonium
Codimp: I could reproduce it in the latter case mentioned above
-
Codimp
yep same, i will try debug logs
-
lovetox
But that would be a weird coincidence every time
-
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
-
cal0pteryx
Its pystray, the tray icon running in a separatee thread
👍 1 -
cal0pteryx
We need to listen to window's "shutdown signal" and properly quit gajim. Otherwise the thread blocks gajim from quitting
-
cal0pteryx
Same problem when running from terminal and ctrl-c'ing
-
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
-
mesonium
You are right, my case was just pure coincidence. :)
-
lovetox
But we dont do this for Gajim
-
lovetox
i dont see how a thread blocks windows from shutting down
-
lovetox
i think we should this report to pysystray
-
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
-
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
-
lovetox
https://github.com/moses-palmer/pystray/blob/master/lib/pystray/_win32.py#L39aC5-L395C16
-
lovetox
maybe lets debug what the mainloop in pystray receives and how it handles it
-
lovetox
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/mpc/application-shutdown-changes-in-windows-vista
-
mesonium
lovetox, have you seen https://github.com/moses-palmer/pystray/issues/177 ?
-
lovetox
how do you think this is relevant?
-
mesonium
Nvm, sorry
-
lovetox
also our code ignores the show systray setting
-
lovetox
and always runs the tray icon
-
hannibal
> (and do you know such cool tool as glade but for GTK4?) https://flathub.org/apps/ar.xjuan.Cambalache ↺
-
cal0pteryx
I'm trying to do UI stuff with Workbench. They have Blueprint support, which is way nicer to type down than XML
-
cal0pteryx
https://apps.gnome.org/de/Workbench/
-
Codimp
just built the Gajim installer with accesskit working \o/
-
Codimp
I will make a small PR to include accesskit in the Gajim base build env for Windows