Gajim - 2025-03-21


  1. flit

    > Gajim 2.0.4 has been released 🚀 https://gajim.org/post/2025-03-20-gajim-2.0.4-released/ 🎉

  2. DAU

    It is possible to make the text of messages in different colors from different units.

  3. DAU

    maybe where to download different themes for the design of the program

  4. lorenzo

    > Gajim 2.0.4 has been released 🚀 https://gajim.org/post/2025-03-20-gajim-2.0.4-released/ 🎉

  5. DAU

    1.7.0

  6. cal0pteryx

    Squeaky Latex Folf: menu navigation is a gtk thing, not controlled by Gajim

  7. mesonium

    lovetox, I've debugged shortly further: https://paste.opensuse.org/pastes/c864e414858c When `_is_sort_inhibited()` is called on clicking "(un)pin", it returns True for mousehover. On Fedora with Gtk 4.16 it returns False for mousehover and then the list gets sorted.

  8. mesonium

    or in other words, there's an cursor enter event, when the popup closes.

  9. mesonium

    or in other words, there's an cursor enter event in 4.18, when the popup closes.

  10. lovetox

    Ok great

  11. lovetox

    Means they fixed a bug and we need to expect that cursor enter event

  12. lovetox

    I fix it in the evening

  13. mesonium

    but no I idea where they might have fixed it, there were no relevant commits in EventControllerMotion for 4.x recently

  14. mesonium

    https://gitlab.gnome.org/GNOME/gtk/-/commits/4.18.2/gtk/gtkeventcontrollermotion.c

  15. lovetox

    No it's probably in one of the popup fixes

  16. mesonium

    > I fix it in the evening Thanks!

  17. mesonium

    Wth ... this is new in 4.18: https://gitlab.gnome.org/GNOME/gtk/-/blob/4c295dc49cfbb2201fb5e6fd47440d0bf1df4672/gtk/gtkpopover.c#L2414 If I set explictely the popover to be visible in `_on_context_popover_closed` in `chat_list_row.py`, sorting works again. However, the popover never closes _and_ what's even more weird, it takes _all_ focus, I cannot use desktop session anymore but need to kill gajim in another tty...

  18. mesonium

    I even got a reliable way now to crash kwin 6.3.3 wayland with Gajim :) okay gonna report all that later upstream to kwin and do something else now.

  19. mesonium

    I even got a way now to crash kwin 6.3.3 wayland with Gajim :) okay gonna report all that later upstream to kwin and do something else now.

  20. lovetox

    You set it visible in the closed handler ?

  21. lovetox

    Why

  22. mesonium

    because of non-sense, because I've didn't check, when closed signal is actually emitted in the gtk source code (on hide, after unmapping)

  23. Squeaky Latex Folf

    I can get Gajim to crash by spamming right click

  24. mesonium

    Squeaky Latex Folf: Then please report a backtrace.

  25. Squeaky Latex Folf

    The Python debugger seems to crash as well

  26. Squeaky Latex Folf

    The Python debugger seems to crash as well when I try to reproduce it

  27. Squeaky Latex Folf

    Gdk-Message: 14:57:39.551: Error 71 (Protocol error) dispatching to Wayland display. /usr/lib/python3.12/multiprocessing/resource_tracker.py:254: UserWarning: resource_tracker: There appear to be 5 leaked semaphore objects to clean up at shutdown warnings.warn('resource_tracker: There appear to be %d '

  28. Squeaky Latex Folf

    There's no real backtrace

  29. Codimp

    Oh, got a new bug: Clicking the "save as …" button to save a file (audio here) don't do anything

  30. Squeaky Latex Folf

    This is the best "backtrace" I could get with pdb: (gajim:22832): Gtk-WARNING **: 15:07:44.410: Trying to measure GtkGrid 0x55ab66bff3d0 for height of 283, but it needs at least 1506 Gdk-Message: 15:08:04.889: Error 71 (Protocol error) dispatching to Wayland display.

  31. resoli

    > Gajim 2.0.4 has been released 🚀 https://gajim.org/post/2025-03-20-gajim-2.0.4-released/ Flatpak still at 2.0.3 ...

  32. Kevinzz

    sad

  33. Kevinzz

    i prefer flatpak as it has less issues with display compatibility

  34. lovetox

    hm indeed no flatpak pipeline ran

  35. cal0pteryx

    Squeaky Latex Folf: thats GTK issued

  36. cal0pteryx

    Squeaky Latex Folf: thats GTK issues

  37. Squeaky Latex Folf

    Yeah well Gajim isn't the only crashing GTK4 program

  38. Squeaky Latex Folf

    Same thing happens with Dino

  39. cal0pteryx

    Squeaky Latex Folf: what I meant was: this chat is not the right audience. It needs to be posted to the GTK issue tracker

  40. cal0pteryx

    > Oh, got a new bug: Clicking the "save as …" button to save a file (audio here) don't do anything Codimp, I can't reproduce that

  41. Codimp

    > Codimp, I can't reproduce that I'm writing a way to reproduce it later, with all informations

  42. cal0pteryx

    Thanks

  43. bot

    lovetox pushed 2 commits to branch gajim/master other: Update update_flatpak_manifest script - https://dev.gajim.org/gajim/gajim/-/commit/c80b7c984b2be2bdcad913698ac1a25d32f5b3ba other: Flatpak: Update dependencies - https://dev.gajim.org/gajim/gajim/-/commit/7aad4a19a64349e065055cfd27d11fef2c0bd5cb

  44. lovetox

    build on flathub failed, i fixed the problem now, so 2.0.4 will land on flathub probably in the night

  45. mesonium

    Revisiting the popovermenu. Does Gajim do something special, to not get a "Enter" event for the listbox, when the popover of the listbox row closes on menu item click? I've tried to protoype a minimal reproducer, but it behaves the same with 4.16 and 4.18: It's always "close leave enter": https://paste.opensuse.org/pastes/d5f1078d1bd9

  46. mesonium

    (The kwin crash I've discovered by accident got confirmed upstream)

  47. lovetox

    but i do get the Enter event in 4.16

  48. lovetox

    hm

  49. mesonium

    with the sample code above?

  50. lovetox

    yes and also in Gajim

  51. lovetox

    so the question is if the enter event is also there in 4.16 then why does sorting still work

  52. lovetox

    the order looks in 4.16 like this

  53. lovetox

    Leave enter Leave popover closed Invalidate sort enter

  54. lovetox

    so sorting is done before the enter event, check if this is also happening in 4.18

  55. mesonium

    ``` # Click Menu Item gajim.gtk.chatlist _on_cursor_enter: x: 121, y: 252 gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: True -> res: True gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _on_cursor_leave gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _on_cursor_enter: x: 156, y: 239 gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _check_sort_inhibit gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _check_sort_inhibited: is_sort_inhibited: True # Leave Listbox with cursor gajim.gtk.chatlist _on_cursor_leave gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _check_sort_inhibit gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _check_sort_inhibit: rows_need_sort: False ````

  56. mesonium

    ``` # Click Menu Item gajim.gtk.chatlist _on_cursor_enter: x: 121, y: 252 gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: True -> res: True gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _on_cursor_leave gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _on_cursor_enter: x: 156, y: 239 gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _check_sort_inhibit gajim.gtk.chatlist _is_sort_inhibited: moseover: True, contextmenu visible: False -> res: True gajim.gtk.chatlist _check_sort_inhibited: is_sort_inhibited: True # Leave Listbox with cursor gajim.gtk.chatlist _on_cursor_leave gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _check_sort_inhibit gajim.gtk.chatlist _is_sort_inhibited: moseover: False, contextmenu visible: False -> res: False gajim.gtk.chatlist _check_sort_inhibit: rows_need_sort: False ```

  57. mesonium

    Expected it to create a paste

  58. lovetox

    please put a print in invalidate_sort() and please a print when the context menu closes

  59. lovetox

    or no

  60. lovetox

    missed the first comment

  61. lovetox

    yeah seems evident then, sort is executed after enter

  62. lovetox

    thats the difference, not that the event is not there

  63. lovetox

    and thats still what i would expect, we call a action toggle-chat-pinned, which in turn does the sort

  64. lovetox

    its weird that now the window seems to close before this action is executed

  65. lovetox

    hm action is executed after closing popup

  66. lovetox

    anyway i asked in the Gtk chat

  67. lovetox

    we can deal with it, we just need to know if the order will change in the future again :D

  68. mesonium

    hehe, thanks :)

  69. mesonium

    ^^, yeah, thanks for reaching out :)

  70. lovetox

    but i think we can fix this even without an answer

  71. bot

    lovetox pushed 1 commits to branch gajim/master fix: ChatList: Make sure chatlist sorts always after pin/unpin - https://dev.gajim.org/gajim/gajim/-/commit/cb62d049f9cdc2678835ad9b43aeb7dfee60619c

    👍 1
  72. mesonium

    Awesome, will verfiy it tomorrow.

  73. mesonium

    Awesome, will verfiy it tomorrow, but assume it to work.

  74. flit

    i'm in a slidcord muc and gajim doesn't seem to be handling it very well. i can send messages but when i switch to it i get an error, and it doesn't seem to properly handle drafts or presence. cheogram has no issues so would this be a gajim issue or should i ask in the slidge muc first?

  75. lissine

    > when i switch to it i get an error What error do you get?

  76. flit

    i'm good to paste the whole thing here, right? idk if pastebin is here