User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36
After an upgrade from Fedora 27 to Fedora 28, the CustomCommandsMenu plugin in Terminator no longer works.
Steps to Reproduce:
1. Open Terminator
2. Enable the CustomCommandsMenu plugin (right-click in Terminator, Select Preferences, select Plugins, ensure CustomCommandsMenu is checked)
3. Add a custom command (right-click in Terminator, select Custom Commands then Preferences, Click new, check enabled, put a Name and a Command and click OK.
4. Use custom command (right-click in Terminator, select Custom Commands then click your custom command.
The custom command does not run. Nothing happens.
The custom command gets executed.
There appears to be no workaround.
This has been reported upstream here: https://bugs.launchpad.net/terminator/+bug/1758564?comments=all
There is a workaround in comment #1 that works in Fedora 28.
VTE version 0.52 fixed its Python binding of feed_child(), no longer taking that third parameter.
Fedora should patch its Terminator accordingly.
> There is a workaround in [...]
Note that it's not just a workaround, it's the proper fix if underlying VTE is known to be >= 0.52.
This message is a reminder that Fedora 28 is nearing its end of life.
On 2019-May-28 Fedora will stop maintaining and issuing updates for
Fedora 28. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora 'version' of '28'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 28 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Fedora 28 changed to end-of-life (EOL) status on 2019-05-28. Fedora 28 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
Thank you for reporting this bug and we are sorry it could not be fixed.
Still a problem in Fedora 30 (and likely 31 as well, but I haven't installed that yet).
I'll take a look at this. If it's as easy as the fix in the other bug, it should be an easy patch
Thanks. It really is that easy to fix:
$ diff -u terminal.py.old terminal.py
--- terminal.py.old 2019-02-03 01:40:54.000000000 -0800
+++ terminal.py 2019-12-20 11:53:50.380667587 -0800
@@ -1503,7 +1503,7 @@
def feed(self, text):
"""Feed the supplied text to VTE"""
- self.vte.feed_child(text, len(text))
"""Increase the font size"""
. . . and I just realized that the patch above is for another problem (drag and drop of URLs doesn't work). The problems are related, and the fix is similar, but they are separate issue. Sorry for the mix-up. I suppose I should open another BZ for the drag/drop problem.
FWIW, the drag/drop is in BZ 1574662.
If I'm not mistaken: The simple patch of removing the second parameter, as shown here in comment 7, works with python2 but not with python3.
For python3, something more complex is required, as I've shown in the DND patch: https://bugs.launchpad.net/terminator/+bug/1662544 komment 55. That patch only fixes it at 1 of the 2 (or more?) places feed_child() is used in the source. All of them should be updated according to the DND patch, preferably preserving the comment explaining the nasty hack, that is, something along these lines:
- self.vte.feed_child(text, len(text))
+ # See https://gitlab.gnome.org/GNOME/vte/issues/201.
To be even more precise: "self.vte.feed_child(text)" is a good solution for python 2 (which isn't relevant any more), as well as for python 3 + vte >= 0.60. The nasty hack of using "feed_child_binary" instead is required for the combo if python 3 + vte <= 0.58.
vte 0.60 will be released in Mar 2020. You should not wait for that, but instead go with the "feed_child_binary" hack. In a year or two from now it can be simplified.
*** Bug 1763775 has been marked as a duplicate of this bug. ***
Put a fix in rawhide. Egmont, remind me in a year to fix the fix :)
Does anyone following this know the proper procedure for closing this? Set it to RELEASE_PENDING?
IIRC the proper status for fixed issues like this is "CLOSED RAWHIDE" by the way. It's at least what I am usually setting a bug to when I've just built a package and it will land in Rawhide in the foreseeable future. :-)