-
Aayush
https://j.404.city:5443/share/c94f5d232fee00bd04e8de2d23203d71d871c0eb/90ivMcBWL8QFbVROa3rGIt08PVSZaxSTFGetX2f4/briar-desktop-1.png
-
Aayush
Can I have my chat window like this?
-
Aayush
Sender and receiver separated?
-
kurion
> Sender and receiver separated? are you referring to the view of the inbox?
-
Aayush
yes
-
kurion
not doable in current release.
-
Aayush
How about a plugin?
-
kurion
That view is quite helpful to the eye, indeed.
-
Aayush
For one to one chat it's good to have this.
-
lovetox
Maybe if your screen is that little
-
lovetox
Otherwise not that nice
-
kurion
» Maybe if your screen is that little specially if you give the app half the screen on a standard laptop.
-
kurion
Some people prefer to use chatting apps that way, giving it half the screen, and doing something else on the other half.
-
kurion
If, by chance, my contact's and my avatar color is the same and/or we both have nicks starting with the same letter, it feels like it would be better if the inbox had that "split".
-
molestia
ho
-
molestia
yo
-
2006
After upgrading to version 1.8.0, switching dialogs began to occur with a greater delay.
-
2006
The earlier version opened faster, and 1.8.0 I have this problem on Windows/ Linux distro.
-
kurion
2006: This is due to a design overhaul in Gajim. The UI is richer now. So it takes a bit more time.
-
2006
:/
-
kurion
2006: I'm also sad about the lag.
-
2006
kurion, It seems to help to create a group, and communicate in it as in a dialogue
-
☭Mike Yellow
Have you experienced such a situation? An occupant keep joining and exiting a room at a frequency about every four seconds? They are Gajim users.
-
lovetox
no, sounds weird
-
lovetox
maybe ask the user to supply logs
-
lovetox
i can only imagine the server does weird stuff and gajim is in some join leave loop
-
lovetox
what also could be, that the users server disconnects his client
-
lovetox
then gajim would reconnect and join again all mucs
-
☭Mike Yellow
I will try to investigate it by myself.
-
pinkolik
hello guys. how do i open links of type xmpp:jid?omemo-sid in gajim to verify omemo fingerprint?
-
pinkolik
or scan qr code
-
opal
sounds like a feature request pinkolik :D
-
opal
i dont think the omemo plugin intercepts that yet
-
opal
nor off the top of my head do i know how that would be implemented, if i were to have a best guess i would say the xmpp: uri scheme isnt even passed to any plugins at all but im not sure
-
opal
im open for surprises
-
pinkolik
Ah, okay then. Well, I guess it would be a nice feature, because manual fingerprint comparison is prone to human errors
-
opal
agreed
-
kurion
Does the ChatBox in UI architecture refer to the inbox ListBox containing MessageRows?✎ -
kurion
Does the `ChatBox` in UI architecture refer to the inbox `ListBox`containing `MessageRows`? ✏
-
kurion
I need to add some `key-press-event` signal handling to the ListBox that is the inbox. Which class/file should I target?
-
lovetox
there is no chatBox
-
lovetox
or where do you read that?
-
lovetox
do you know gtk-inspector?
-
lovetox
in this app you can see a treeview of all widgets, and this might give you a better idea of what contains what
-
kurion
the second pic here has a ChatBox. https://dev.gajim.org/gajim/gajim/-/wikis/development/UIArchitecture
-
kurion
> do you know gtk-inspector? no, unfortunately. I'll search for it.
-
lovetox
https://share.hoerist.com/philipp/AgnH7kW4SafiqPOi/1ddccc74-fa62-4993-9a10-11b4d56df290.png
-
lovetox
its now a ChatStack
-
lovetox
and no its a Gtk.Stack, that contains again pages,
-
lovetox
the listbox that contains the messages is the ConversationView
-
kurion
I've enabled gtk-inspector. The idea behind it is amazing.
-
lovetox
and every widget that is named gajim+...
-
lovetox
is a class in Gajim code, which you most likely find in a file named the same
-
kurion
A mention of gtk-inspector in the Gajim development wiki would be great.
-
cal0pteryx
At least for Windows it is :) https://dev.gajim.org/gajim/gajim/-/blob/master/win/README.md#gtkinspector
-
kurion
Great, thanks. I think gtk-inspector deserves a mention on the development wiki home page.
-
kurion
It is quite a time saving tool for new contributors.
-
cal0pteryx
I'll see that I add it in a more prominent place
-
kurion
cal0pteryx: Thank you for your consideration
-
kurion
I placed a `print` call inside the `__init__` method of ConversationView so that I can see if a new `ListBox` gets created every time I switch chats or start a new one. To my surprise, that print is executed only once. Am I missing something? Is "Model-View kind of programming" at play here?
-
kurion
I am still getting familiar with Gtk. So pardon my noobness.
-
cal0pteryx
kurion: the conversation view is only created once. MessageRows are added/removed during chat switching
-
cal0pteryx
Which are Gtk.ListRows
-
cal0pteryx
The code of those rows resides in the ./rows sub folder
-
kurion
Oh, okay. Thanks for the clarification. Now I can see how there can be only one ListBox for many chats.
-
cal0pteryx
Pre 1.5 there were multiple converdation views, which resulted in bad performace. It's already much better now, where we minimized the count of widgets displayed at once
-
kurion
I am wondering, performance wise, which approach is better? 1. having one ListBox per chat 2. current implementation involving adding/removing MessageRows on the fly.
-
kurion
I just hit the enter key and found out that you already guessed the question I was going to ask and answered that.
- kurion is surprised at cal0pteryx's mind reading.
-
kurion
So, if I add a `key-press-event` handler for `self._listbox` at ConversationVIew it is going to work for any currently displayed chat inbox, right?✎ -
kurion
So, if I add a `key-press-event` handler for `self._listbox` at ConversationVIew, it is going to work for any currently displayed chat inbox, right? ✏
-
lovetox
yes
-
lovetox
there is a bad design i gtk3 with the css engine
-
lovetox
css rules are evaluated also for widgets which are not on screen
-
lovetox
meaning the more widget you have in your application the slower it gets on css changes
-
lovetox
and there is this nice feature called "backdrop"
-
kurion
> meaning the more widget you have in your application the slower it gets on css changes That sounds like a real bad bottleneck.
-
lovetox
meaning if you unfocus the application, everything gets the backdrop class, and DEs make it so the application colors get dimmer so that you see a difference between an app that is focused
-
lovetox
meaning everytime you switch to another application, all widgets have to be css styled
-
lovetox
this can get as bad, that you wait multiple seconds until your system focuses another application, because it works on appying backdrop css classes to everythin
-
lovetox
of course there is no way to disable backdrop, GNOME devs simply say, they provide a feature, no theme creator needs to use backdrop
-
lovetox
of course all gtk themes out there use backdrop
-
kurion
Is Gtk4 and Adwaita going to solve this performance issue?
-
lovetox
actually no idea. at least they introduced a ListView, thats basically a ListBox which creates widgets on the fly as you scroll
-
lovetox
in comparison to the listbox, which creates all widgets, it doesnt matter if they are on screen or not
-
lovetox
but i really tend to having a framework where i know all limitations
-
lovetox
then switching to gtk4, and discover every months some new limitation✎ -
lovetox
than switching to gtk4, and discover every months some new limitation ✏
-
kurion
I second this. Breaking changes cause a lot of headache.
-
kurion
Also, I am curious, is the problematic styling implementation an inherent issue with using CSS for desktop apps or is it bad decisions on Gtk's side?
-
lovetox
no idea, the reason why css has to be considered for every widget, is that css can have something like margin, padding, border size etc
-
lovetox
basically you can change the size of the widget with css
-
kurion
I think Qt also uses CSS. Are things the same there?
-
lovetox
if one widget changes its size, another widget is impacted
-
lovetox
so they need to calc all css for everything to get the size of everything
-
lovetox
kurion, no idea, i only ever used gtk3
-
lovetox
but you run only into this problems if you have really advanced apps
-
lovetox
or lets say bigger apps with lots of UI elements
-
lovetox
because of course for example the chat switch case
-
lovetox
is blazing fast if you simply have loaded all chats, just hide them
-
lovetox
but we changed everything to on demand loading, to get down the widget count
-
lovetox
and also the memory goes down of course with it
-
lovetox
at the cost of some loading time :)
-
kurion
Aha, I get it now.
-
kurion
By the way, lovetox, are you using Nemo now?
-
kurion
Nemo, the file manager.
-
lovetox
yes, im happy till now
-
kurion
Good to know.
-
kurion
Does Gtk3 have toasts?
-
kurion
Toasts enhances UX by showing short contextual feedbacks after actions.✎ -
kurion
Toasts enhances UX by showing short contextual feedbacks on actions.✎ ✏ -
kurion
Toasts enhance UX by showing short contextual feedbacks on actions. ✏
-
kurion
I thought of a use case for toasts. When `Copy Text` is clicked after selecting some messages, a short toast showing "Copied" (like when the copy button is clicked on Github) would be nice.
-
kurion
I added this method to `message.py` to have fast access to common actions that can be done to a MessageRow https://conference.gajim.org:5281/pastebin/b0aed35c-2413-4032-a306-ce72430e86e5
-
kurion
I too, feel bad about `_chat_page` in line `chat_stack = app.window._chat_page.get_chat_stack()`. But don't know what's the best way to achieve my desired behavior.
-
kurion
The pastebin link seems inaccessible at the moment.
-
kurion
So I am pasting the code again: https://conference.gajim.org:5281/pastebin/3f696de8-938e-4d83-b2e0-53fa28b9f7a8
-
kurion
Unfortunately, this link too, is not working, https://conference.gajim.org:5281/pastebin/7342700c-0e24-43fe-a923-6b7790bd76ad
-
kurion
I guess I'll have to forget formatting for this time.
-
kurion
def _on_key_press_event(self, https://conference.gajim.org:5281/pastebin/56d33841-39dd-4071-8cbd-72ce17251e95
-
kurion
no gajim pastebin link seem to be working for now.
-
kurion
Can you see the code?
-
kurion
here is a zerobin link https://zerobin.org/?ed46d5cdad29d809#Aatfck7kXDqJDvVEgvxeCxscEvq93RqT8nhQTk3wniRf
-
kurion
Sorry, for the "spamming" above. I was trying to access the Gajim paste service with TOR and it didn't work. The links are accessible with Firefox.
-
lovetox
Gtk has not toasts build in
-
lovetox
but it can probably be done
-
lovetox
either with a overlay where you simply show and hide a widget
-
lovetox
you can add some css transitions to make the showing hiding fancy
-
lovetox
gtk4 has them
-
lovetox
you could simply look how they did it
-
lovetox
but as i see it it is simply a widget in a overlay
-
lovetox
we basically have this with the groupchat state widget
-
lovetox
which is shown when you join a groupchat
-
lovetox
think this a bit smaller, and i guess you have what you need
-
lovetox
altough for what would you use it
-
lovetox
copy text seems useful
-
lovetox
but other than that?
-
kurion
I was thinking for my blind friend. These non-notification feedbacks would be helpful for him on various occasions.
-
kurion
Looking forward to some suggestions on this piece of code: https://conference.gajim.org:5281/pastebin/7342700c-0e24-43fe-a923-6b7790bd76ad
-
kurion
I too, feel bad about `_chat_page` in line `chat_stack = app.window._chat_page.get_chat_stack()`. But don't know what's the best way to achieve my desired behavior.
-
lovetox
yes thats bad :D
-
lovetox
you are supposed to use actions
-
lovetox
there should be a quote action registered
-
lovetox
grep for "app.app.activate_action"
-
jstein
kurion, is profanity https://profanity-im.github.io for blind users perhaps a better option than a GUI? It is command line driven. So you have all functions on hotkeys and commands and plaintext.
-
EmleyMoor
Running Gajim 1.7.3 as supplied in Debian bookworm. ne IRC channel I'm on (through biboumi) is alerting me with a sound, every message. This is not what I want but I can't see why it is happening. Can someone please guide me?
-
fjklp
EmleyMoor: Gajim > Preferences > Notifications > Play Sounds
-
fjklp
you can either turn off all sound notifications there or go into the settings there to adjust which events produce sounds
-
fjklp
hmm, now that I look at it it seems like I haven't been getting sounds I should
-
EmleyMoor
That doesn't tell me why this *one* channel is triggering it
-
EmleyMoor
I am happy with the settings as is, it's just that it's getting triggered unexpectedly
-
fjklp
is this a 1 to 1 chat?
-
kurion
jstein: Thanks for your suggestion. I tried out profanity, thinking nothing can be more friendly to a screen reader than a text only interface. But most times, on every update, orca tends to read all the text on the terminal, not only the updated part.✎ -
kurion
jstein: Thanks for your suggestion. I tried out profanity, thinking nothing can be more friendly to a screen reader than a text only interface. But most times, on every update or a new event, orca tends to read all the text on the terminal, not only the updated part. ✏