yuyuyakI have a question about more info on plugins
yuyuyakI have a simple plugin for echoing incoming messages
to festival speech synthesizer, in the same manner as the pidgin festival plugin. I've been using it
for a year or so and it suits my needs perfectly
yuyuyakI'd like to submit it and I understand the submission instructions at https://dev.gajim.org/gajim/gajim-plugins/wikis/home
yuyuyakBut for public consumption I believe features/improvements
are necessary
yuyuyakI'm stuck on implementing these features
yuyuyak1. I'd like to put a button on the bottom of the chat window (with the other buttons) to enable/disable festival
yuyuyak2. I'd like to allow configuration of the plugin, for one thing to display/not display that button. Another, possibly more important configuration item would be the location festival uses for it's temporary audio file (like a pid). On my Funtoo linux that is /tmp/audiofile_xxxxx, with xxxxx being some arbitrary number. I have no way of knowing if that location is the same throughout the linux universe, so if a user could change that if necessary it would make the plugin usable for everyone.
yuyuyakIf someone could direct me to good instances of button creation and configuration I would be grateful.
baitisjHi there Gajim
baitisjI "fixed" a bug in python-nbxmpp that resulted when the library was passed an invalid file handle which would cause huge problems with the file queue
baitisjthis has been plauging me for at least a year
baitisjgoing to try to "fix" for the GTK file handle notification queue too
baitisjSeems I can't fix the GlibIdleQueue.
Asterixyuyuyak: Am I right to think your plugin is for 0.16 branch? So submition has to be in gajim_0.16 branch. Don't hesitate to port it to py3 / gtk3 for master branch.
In any case, you can look at the code of other plugins as example. Tictactoe or white board plugins have buttons. Many plugins has config window.
For the temp files, you have a function in python itself (in os module iirc) to get temp folder.
And can your plugin work under Windows ?
Don't hesitate to submit a merge request!
Asterixbaitisj: when a wrong file handler can be passed to the lib ? Don't hesitate to open a merge request to discuss that
Asterixbaitisj: and you don't need special access to gitlab to submit a MR
yuyuyakthanks Asterix. I have looked at other plugins but not tictactoe, I'll give it a shot.
Asterixyuyuyak: don't hesitate to open a merge request, or show us your code so we can help you
yuyuyakit's actually a os call function that looks for that file, so external to python
yuyuyakI will do that. also, any suggestions for setting up config options?
AsterixYes copy code in an existing plugin
yuyuyakok, haven't searched for that as extensively, so I'll stumble through that. Thanks again
AsterixThanks for sharing your work
rom1depshouldn't gajim check for the room not already being joined/in the bookmark when the user clicks on a link like xmpp:theroom@conference.demoserver.tld?join ? (and just jump to it directly when this room is already known)
rom1depRight now I'm offered a modal window to join as it's the first time, with the nick to use, whether to bookmark/autojoin or not…, which is useless, if the room is already open in some tab
rom1depAsterix: also, abot ctrl+tab jumping to the priority tabs, it doesn't seem to cycle through chats with backlog but no highlight, is that intentional?
bullgard4[Debian testing] '~$ aptitude why gir1.2-geoclue-2.0' gibt aus: "i gajim Empfiehlt gir1.2-geoclue-2.0'. <-- Why does Gajim 1.0.0~alpha2-1 Recommend the installation of a library with geoclue-Informationen?
botmt created an issue in _gajim_ <https://dev.gajim.org/gajim/gajim/issues/8824>:
#8824: <Gajm menu entry missing on Ubuntu 17.10>
botmt modified an issue in _gajim_ <https://dev.gajim.org/gajim/gajim/issues/8824>:
#8824: <Gajm menu entry missing on Ubuntu 17.10>
lovetoxbullgard4, because you can share your location with gajim
lovetoxbaitisj, you can now fork on dev.gajim.org
lovetoxplease submit your patch as a MR
lovetoxthanks for the work
botPhilipp Hörist modified an issue in _gajim_ <https://dev.gajim.org/gajim/gajim/issues/8824>:
#8824: <Gajm menu entry missing on Ubuntu 17.10>
intlovetox, apollo13 i just had to go back to 8ea39cff - yesterday's problem persists. and i ve double and triple checked dns
lovetoxhm i can test from my mac today
intlovetox, would be nice.. :) even if it was a dns problem, gajim should allow to start anyway and not just disappear.
lovetoxit crashes?
intlovetox, yes.. it just closes but even with -v there are no critical error messages
lovetoxOo weird, i will check that
intlovetox, i can give you a debug output if you tell me how to increase verbosity
lovetoxyou could give me an account on your server to test
intlovetox, of course
debacleGajim 1.0.0 alpha2 has a nice window to see available server features (PEP, HTTP upload, etc.). Is there something similar in Gajim 0.16.8?
lovetoxno
debacleYet another reason for me to get rid of the old version :~) Thanks!
zakIs there a roadmap for 1.0 final?
lovetoxno
frainzhi, is there a way to mute mucs?
mdoschfrainz, what do you mean? usually you only get a notification when your nick is mentioned
frainzcan i change this preference roomwise?
lovetoxwhat gajim version are you using?
frainz0.16.9
botPhilipp Hörist created an issue in _gajim_ <https://dev.gajim.org/gajim/gajim/issues/8825>:
#8825: <Gio.Resolver() can not handle multiple querys on MacOS>
bullgard4lovetox, Ok. - Thank you.
zakGreat... You come home, update Gajim to alpha... Be happy... Run Gajim. Error appears, nothing is clickable, error dialog does not disappear. 🙁
zakSomething in connection_handlers.py, photo = vcard['PHOTO']['BINVAL'] ... string indices must be integers
zakIs this already known and maybe solvable with a quick workaround?
lovetoxprobably yes if you give me a full traceback
zakI have it on my pc, but cannot send it with Gajim. Typing with Conversations now...
zakWait...
lovetoxjust paste it here
lovetoxpaste.gajim.org
zakPC != Handy
zakAh, ok
botPhilipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>:
*361ad92b* <https://dev.gajim.org/gajim/gajim/commit/361ad92b26ba45b67bac0c748cff0914b8c170ff>
Remove unused code
zakPHP Error was encountered
zakLook here:
https://pastebin.com/Z8t4XAh6
lovetoxand this crashes your gajim?
zakNot really, but the UI is unresponsive.
lovetoxthere is somewhere a modal exception dialog
zakMessages seem to be received, but I cannot click anything.
zakYes, with that message in it.
lovetoxand you cant close it?
zakIf I click 'Close', the button gets pressed, but then nothing happens, the dialog stays open with the button pressed.
lovetoxmaybe there are many dialogs :)
lovetoxpress fast
lovetoxare you on linux?
zakYes
lovetoxcan you put print statement where i tell you, then we can solve this fast
lovetoxsome of your contacts be it in gropuchat or roster
zakLet me paste the full console output... sec...
lovetoxhas some invalid avatar
lovetoxno zak
zaknot here of course
lovetoxi dont need it if you have no error
lovetoxof course that print statement prints all vcards
zakthere is something else, don't know if that is important
zakhttps://pastebin.com/T48Mws8e
lovetoxhm clean up your plugin folder
lovetoxand download the correct plugins for 0.98
lovetoxor use debian unstable repo for plugins
lovetoxand install pillow :)
zakwhats pillow?
lovetoxthen you can see conversations avatars
lovetoxa image lib
zakhere ? ~/.local/share/gajim/plugins
zakremove completely?
lovetoxyes
lovetoxteh contents
lovetoxnot the plugin folder
zakok, see you soon (I hope)...
baitisjAsterix, I emailed a patch to lovetox because I wasn't able to clone the python-nbxmpp repository successfully (I'll try to figure out the merge request in a bit here
lovetoxbaitisj, i made it so you can clone know
baitisjoh, lovetox granted me fork permissions
baitisjHi :-)
lovetoxhi =)
baitisjlovetox, I tried unsuccessfully to figure out who was sending invalid file handles to the library
baitisjI do get e.g. 12/28/2017 21:45:33 (W) gajim.c.resolver Could not resolve host: No DNS record of the requested type for '_xmppconnect.decent.im'
lovetoxyeah then your server doesnt use that srv record
lovetoxno problem
baitisjthat's about the only error I see in the log before I end up seeing the invalid file handle condition
zakI'm back, the output is now shorter. I created another paste: https://pastebin.com/epsBUU5v
lovetoxbaitisj, weird i run gajim on mac, linux, windows, and have never a invalid file
baitisjI'm wondering if it's not related to the invalid srv record then
lovetoxno it is not
lovetoxwe all have that
lovetoxvery few servers support that
baitisjin that case I wont chase it :-)
lovetoxon what system are you?
lovetoxthanks zak, i know now how to solve the problem :)
baitisjI'm running FreeBSD, but I also noticed this in Windows
zakme? Debian stable
lovetoxbut why is your nbxmpp using the select queue
lovetoxand not the glib one
zakAnd I still have the problem to type my pgp-passphrase several times on startup :(
baitisjlovetox, I forced it to use select queue because the glib queue also presumably suffers from the same invalid file handle issue
lovetoxit seems you run on an old python-gnupg version
lovetoxzak
zakpython-gnupg 0.3.9-1 and python-axolotl 0.1.35-3
zakok, axolotl 0.1.35-3 seems to be sufficient, just needed the python3 version
baitisjso lovetox: the manifestation of this invalid file handle was the following message in the error log: ```nbxmpp.transports_nb calling send on empty buffer and queue``` Once I switched to select queue and added my code to verify the file handles and dispose of invalid ones, the message has magically disappeared and the performance of gajim is increased tremendously
lovetoxyeah, still only a workaround for the issue that for some reason there are a lot if invalid file handles
baitisjlovetox, do you receive the "send on empty buffer" warning on your machines?
lovetoxno
baitisjinteresting.
lovetoxeither way, its good to handle them correctly if there are any for whatever reason
baitisjI can say this has made gajim unusuable here until my fix, which I'm pushing right now.
botJeffrey Baitis proposed a new merge request for _python-nbxmpp/master_ <https://dev.gajim.org/gajim/python-nbxmpp/merge_requests/11>:
Fixes the case where SelectIdleQueue is passed an invalid file handle resulting in atrocious performance.
zakI see the Gajim main window has a min-width now to make all 4 menu entries visible? It would be nice to make it narrower nevertheless.
botPhilipp Hörist pushed 1 commit to branch _refs/heads/master_ of _gajim_ <https://dev.gajim.org/gajim/gajim>:
*b8fd8c8a* <https://dev.gajim.org/gajim/gajim/commit/b8fd8c8a3fbdd1f69528ce6e9de3d75c11a98f6f>
Catch exception when parsing avatars
If the VCard contains a <PHOTO/> tag this is parsed as {'PHOTO': ''}
this throws: TypeError: string indices must be integers
lovetoxshould be fixed zak
lovetoxmain window cannot be smaller then the menubar
zakThanks!
zakReally? Is this a GTK3 limitation?
lovetoxif you want to make something smaller then it is, you need a scrolled window
lovetoxand i dont think you can put menus into a scrolled window
zakWell, before GTK3 there was just a small arrow and you could navigate all menu entries.
lovetoxbut you can configure gajim so that you dont need the roster
lovetoxeither you use One Window Mode
zakIsn't the roster the contact's-list?
lovetoxand hide the roster completely
lovetoxif you want to start a new chat, ctrl + n
zakYes... that would be GTK3-style UX... remember yet another key-combination to do something.
zakI really would like to see my roster and see who is online and who is offline.
lovetoxthen look at it
lovetoxno need to see it all the time
zakI want to have it visible all the time.
lovetoxi guess when using facebook you dont say that
zakI never used facebook.
lovetoxit becomes useless with a certain amount of contacts
lovetoxits shows you maybe 30 contacts
lovetoxif you have 200 thats useless
zakAnd I never understood why the gtk3 titlebar needed to be twice as high.
zakBut I am getting off topic
zakNevermind that. I really appreciate your work with Gajim lovetox!
lovetoxthanks
baitisjGetting a fair bit of :
(gajim:87738): Gtk-WARNING **: Allocating size to GtkScrolledWindow 0x81a73fa80 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Object has been deleted.
Segmentation fault
botJeffrey Baitis closed a merge request for _python-nbxmpp/master_ <https://dev.gajim.org/gajim/python-nbxmpp/merge_requests/11>:
Fixes the case where SelectIdleQueue is passed an invalid file handle resulting in atrocious performance.
lovetoxthe gtk warning is normal
lovetoxseg fault not
botJeffrey Baitis proposed a new merge request for _python-nbxmpp/master_ <https://dev.gajim.org/gajim/python-nbxmpp/merge_requests/12>:
Detect invalid file handles when passed to SelectIdleQueue
baitisjI'll see if I can't get a backtrace here and figure out what's going on
lovetoxbaitisj, you dont need to close a MR only because you want to update it
lovetoxthe MR is always a mirror of your fork
lovetoxif you change your fork, so does the MR
lovetoxopening and closing does nothing
baitisjlovetox, sorry. thanks for the clarification.
baitisjI was under the impression that a merge request would include a specific set of patches
lovetoxno it includes a timestamp
lovetoxfrom that time you open it mirrors
lovetoxall commits from that timestamp on in your fork
baitisjWow, I didn't realize it would be a proactive request. I figured it would only be retroactive up UNTIL the time of the MR creation
lovetoxno that was bullshit
lovetoxa merge request mirrors all differences between the two repos
lovetoxno timeframe
lovetoxif you keep commiting to your fork, the differences grow and will be displayed
baitisjThat's definitely more convenient for working locally.
lovetoxanyone here :)?
lovetoxin groupchat the roster is per default hidden
lovetoxdo you often show it to look at it, and do you keep it shown then?
lovetoxor is it often just to see if someone is in the room but then hide the roster again
doczkallovetox: ?
lovetoxim talking to you doczkal
lovetox:)
lovetoxim thinking about making the groupchat roster a real overlay over the textview
lovetoxbut then it certainly is not expected to stay longer shown, because it would overlay the text in the chatwindow
lovetoxbut there is really no reason to keep it shown longer then it takes to execute a action like starting a private conversations for example
lovetoxbut i guess someone would want it shown the whole time im sure
doczkalI'm not sure if I can follow you. Might be because I'm on conversation for the time being.
lovetoxgroupchat roster, a real overlay over the chat, not in its own box
doczkalCan you send me a picture? 🙂
lovetoxits not about how it looks, if i do that the roster overlays the text of the message window, so you cant read part of the text
lovetoxthats not bad if the roster is only used for quick action and then hidden again
lovetoxthe question is, is there a need to display the roster over a longer timeframe
rom1depapparently, I get a bunch of errors upon reconnect because of biboumi's MAM:
gajim.c.message_archiving Malformed MAM query result received: <iq xmlns="jabber:client" […]
lovetoxyes this is a bug in biboumi that was fixed 1 or 2 days ago
lovetoxso server is probably not updated yet
lovetoxrom1dep, whats your opinion on the roster topic :)
rom1deplovetox: I was almost sleeping until a message caught my attention and I had to go for downgrading ejabberd, I'm sorry I missed that discussion
rom1deplovetox: I think I get the gist of your proposal, I like to have the groupchat roster as it is currently
rom1depin its own box, with a quick and obvious way to show/hide it
rom1depon small mucs (e.g. family MUC) I like to keep an eye on it, so I want it always shown there. On large MUCs it's not to important so I would have it closed by default, or overlay
lovetoxi think i will do a demo :D but i see there is need to have it open for a longer time
lovetoxso i will account for that
rom1depyup, I'll check your demo out for sure, curious to see how it would look nonetheless
lovetoxthe reason im thinking about this is not to make it look better, but because the current gtk widget i use creates problems
lovetoxand i want to get away from it
rom1depwhat kind of problems does such a simple widget make?
lovetoxthe one where you have the handle and can make one side bigger then the other
lovetoxdid you not encounter the text jumping bug?
lovetoxalso it throws the gtk warnings
rom1depoh you mean that Gtk chokes its vertical constraints due to this container having a variable width?
doczkalHmm, I'd like to add that I'm on i3 (Arch or Gentoo) and my buddy list is always visible
rom1deplovetox: maybe it's time for PyQt5? :)
lovetoxrom1dep, yes, its a bit of a complicated widget
lovetoxim sure qt has also it fair share of difficult scenarios :)
rom1depbut if I understand correctly, this is a bad bug
rom1depresizeable containers isn't some crazy futuristic holographic UX design
lovetoxim not so happy with the gtk textview
lovetoxit does not fair well with resizes
lovetoxbut on the other hand, im probably not a very experienced gtk dev
rom1depwhat do the maintainers think about it?
rom1depis there a bug report somewhere?
lovetoxi do bug reports often, there are a view about this Gtk.Paned Widget
lovetoxbut its time consuming
lovetoxi have to recreate the bugs with minimal examples
lovetoxbut i can show you one
rom1depI'm done for the day, I may give it a shot after tomorrow
rom1depit'd be so nice to have actual Gtk devs using gajim
rom1depor maybe not, maybe the UI and paradigms would end-up following the next fad, just like everything is being shuffled around every now and then in Gnome :)