Bug 273742 - x11/xfce4-terminal: menu hotkey always active
Summary: x11/xfce4-terminal: menu hotkey always active
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-xfce (Nobody)
URL: https://gitlab.xfce.org/apps/xfce4-te...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-12 13:34 UTC by Anton Saietskii
Modified: 2023-09-12 21:53 UTC (History)
1 user (show)

See Also:
madpilot: maintainer-feedback+


Attachments
preferences window screenshot (43.21 KB, image/png)
2023-09-12 13:47 UTC, Guido Falsi
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Saietskii 2023-09-12 13:34:31 UTC
It appears that "Disable menu hotkey" option doesn't work:
jason@jnb: [?:0] ~ $ xfconf-query -c xfce4-terminal -p /shortcuts-no-menukey
true

More of that, removing F10 assignment from hotkeys list doesn't help either:
jason@jnb: [?:0] ~ $ grep -i menu ~/.config/xfce4/terminal/accels.scm 
; (gtk_accel_path "<Actions>/terminal-window/help-menu" "")
; (gtk_accel_path "<Actions>/terminal-window/tabs-menu" "")
; (gtk_accel_path "<Actions>/terminal-window/edit-menu" "")
(gtk_accel_path "<Actions>/terminal-window/toggle-menubar" "")
; (gtk_accel_path "<Actions>/terminal-window/show-menubar" "")
; (gtk_accel_path "<Actions>/terminal-window/file-menu" "")
; (gtk_accel_path "<Actions>/terminal-window/terminal-menu" "")
; (gtk_accel_path "<Actions>/terminal-window/zoom-menu" "")
; (gtk_accel_path "<Actions>/terminal-window/view-menu" "")
jason@jnb: [?:0] ~ $

Unfortunately, I totally have no idea what else I can do to stop Terminal opening menu on F10...
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 13:47:29 UTC
It can be disabled via the UI.

See attached screenshot (shortcuts at the middle of the window).

I have that checked and F10 is not opening the menu here.
Comment 2 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 13:47:51 UTC
Created attachment 244795 [details]
preferences window screenshot
Comment 3 Anton Saietskii 2023-09-12 13:49:52 UTC
(In reply to Guido Falsi from comment #1)

Actually I did it that way, just provided xfconf-query output to show hotkey is disabled instead of screenshot. Unfortunately, menu still opens.
Comment 4 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 13:51:52 UTC
(In reply to Anton Saietskii from comment #3)

I see. Well this is strange, the option is actually working fine here.

Maybe try creating a new user and test with a new XFCE configuration from scratch?

Otherwise you will need to report this upstream, since this does not look like a port specific problem but an upstream bug.
Comment 5 Anton Saietskii 2023-09-12 14:03:42 UTC
(In reply to Guido Falsi from comment #4)

Actually it's already a config from scratch, did a fresh install of XFCE a little while ago on a new system, started Terminal and first thing I did was enabling that option ('cause F10 always annoyed me), which didn't help. 2nd thing was removing F10 from Terminal shortcuts settings. Just had no time to create PR before due to priorities.

Yes, very strange issue and if I remember correctly — that option always worked for me.
Before creating upstream bug: is there something else obvious, but still missed by me to check?
Comment 6 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 15:02:56 UTC
(In reply to Anton Saietskii from comment #5)

I just did a test in a virtual machine I have here.

Created a new user with adduser (as root, obviously), then logged with it, to a fresh brand new XFCE desktop.

Launching term with default config F10 opens the menu, flagging the "disable F10" option stops that, the F10 goes to the terminal window.

So I really have no clue what is going on in your system.

Just to be sure to clear all doubt, could you try the same procedure? creating a new user takes a few seconds, and cleaning up after that also takes very little effort (rmuser + delete home dir). This would completely exclude some strangeness in your current user profile.


Other things to check, I'm not sure, but sometimes the display manager used (or lack of it) can cause strange issues in Xorg, so I'm going to ask you what display manager you're using.

Another thing to try, going to the xfce settings manager UI, try resetting xfce-terminal settings to defaults, maybe restart your session (or just reboot) and then try changing the setting again?

To be on the safe side, you could also try force reinstalling xfce4-conf, xfce4-terminal and maybe dbus, then reboot (to be sure the new ones are reloaded) and see if that was the cause of the problem.

My main suspicion is that something has got "desynced" on your machine. Sometimes this kind of reinstallation/reset settings gymnastics gets things unstuck.
Comment 7 Anton Saietskii 2023-09-12 18:06:31 UTC
(In reply to Guido Falsi from comment #6)

I'm using lightdm with it's GTK greeter. And latest ports + almost daily updates. Everything is custom-built, but I don't believe any port option or make.conf could break that. However, configs can be shared by request.

Interesting observation: F4/5/6/8 working fine (mc sees them).
Even more interesting observation: with "disable menu key" I press Shift+F10 — mc exits, no Terminal menu pops; without option enabled I press Shift+10 — context Terminal menu pops near the mouse pointer. So option isn't non-functional, but doing not what expected.

D-Bus just got updated to 1.14.10,1, but I didn't install it yet and no user created. Will try to find some time for those tests over a next few days.
Comment 8 Anton Saietskii 2023-09-12 20:30:30 UTC
Looks like it's already known bug which affects 1.1.0: https://gitlab.xfce.org/apps/xfce4-terminal/-/issues/259#note_78740 (can't add link to "see also").

Here's what I have:
jason@jnb: [?:0] ~ $ pkg info xfce4-terminal
xfce4-terminal-1.1.0
Name           : xfce4-terminal
Version        : 1.1.0
Installed on   : Tue Aug 22 15:13:03 2023 EEST
Origin         : x11/xfce4-terminal
Architecture   : FreeBSD:13:amd64
Prefix         : /usr/local
Categories     : xfce x11
Licenses       : GPLv2
Maintainer     : xfce@FreeBSD.org
WWW            : https://www.xfce.org/
Comment        : Terminal emulator for the X windowing system
Options        :
  NLS            : off
Shared Libs required:
  libxfconf-0.so.3
  libxfce4util.so.7
  libxfce4ui-2.so.0
  libxfce4kbd-private-3.so.0
  libvte-2.91.so.0
  libpcre2-8.so.0
  libpango-1.0.so.0
  libgtk-3.so.0
  libgobject-2.0.so.0
  libglib-2.0.so.0
  libgio-2.0.so.0
  libgdk_pixbuf-2.0.so.0
  libgdk-3.so.0
  libcairo.so.2
  libatk-1.0.so.0
  libX11.so.6
Annotations    :
  FreeBSD_version: 1302001
  repo_type      : binary
  repository     : poudriere
Flat size      : 312KiB
Description    :
Terminal is a modern terminal emulator for the Unix/Linux desktop,
primarily for the Xfce desktop environment. It's a lightweight emulator
based on the VTE widget, easy to use and provides an optional drop-down
window.
jason@jnb: [?:0] ~ $ pkg info -d xfce4-terminal
xfce4-terminal-1.1.0:
  xfce4-conf-4.18.1
  libxfce4util-4.18.1
  libxfce4menu-4.18.4
  libX11-1.8.6_1,1
  libSM-1.2.3_1,1
  libICE-1.1.0_2,1
  vte3-0.70.2_3
  pango-1.50.14
  gtk3-3.24.34_1
  libxml2-2.10.4
  gdk-pixbuf2-2.42.10_1
  cairo-1.17.4_2,3
  pcre2-10.42
  glib-2.76.5,2
  gettext-runtime-0.22_1
  at-spi2-core-2.48.0
jason@jnb: [?:0] ~ $

Guido, I'm wondering why it doesn't reproduce on your VM if I found upstream bug right... Perhaps not latest version got installed?
Comment 9 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 20:44:21 UTC
(In reply to Anton Saietskii from comment #8)

Guido, I'm wondering why it doesn't reproduce on your VM if I found upstream bug right... Perhaps not latest version got installed?

You are right, I did not notice, but the virtual machine  does not have the latest xfce4-terminal installed.

Although the host machine (my desktop) and my laptop do have the latest xfce4-terminal installed and the bug is not showing anyway.

But I have found one thing right now.

On my desktop and laptop I have the menu bar hidden, and F10 gets through. If I change the configuration to show the menu bar F10 does not get through and the menu opens.

So my configuration with menu hidden was masking the bug for me.

I've added a comment upstream with my finding.


(adding the upstream bug in the URL field)
Comment 10 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 20:49:52 UTC
I see now the upstream bug was fixed with a commit. I'll test importing the patch from there:

https://gitlab.xfce.org/apps/xfce4-terminal/-/commit/c576281a780884f9ba1f6abe3d543a3a00f0b48d
Comment 11 Anton Saietskii 2023-09-12 20:54:26 UTC
(In reply to Guido Falsi from comment #10)

Yes, there's a patch and bug report is closed with promising 1.1.1 will be fixed, but no such version yet...
Regarding the patch test — as a reporter who originally concerned about issue — I can do testing and prepare a ports tree patch to save a bit of your time, just LMK.
Comment 12 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 20:56:19 UTC
(In reply to Anton Saietskii from comment #11)

I've already started poudriere testing the patch. If everything works fine I'll commit an update later.
Comment 13 commit-hook freebsd_committer freebsd_triage 2023-09-12 21:51:17 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=cbce82043086d85330b08b15be3148934972fd50

commit cbce82043086d85330b08b15be3148934972fd50
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2023-09-12 21:50:05 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2023-09-12 21:50:05 +0000

    x11/xfce4-terminal: Fix configuration option not working properly

    The terminal configuration has an option to disable F10 key grabbing
    to control drop down menus. Since the update to 1.1.0 this option
    is broken, not allowing the F10 key to be passed to the terminal
    correctly.

    This patch imports an upstream patch to fix the issue.

    While here:

    - Remove unneeded dependency on libxml2
    - Move INSTALL_TARGET variable to pet portclippy

    PR:             273742
    Obtained from:  https://gitlab.xfce.org/apps/xfce4-terminal/-/commit/c576281a780884f9ba1f6abe3d543a3a00f0b48d

 x11/xfce4-terminal/Makefile                        |  5 +-
 .../files/patch-terminal_terminal-app.c (new)      | 75 ++++++++++++++++++++++
 2 files changed, 78 insertions(+), 2 deletions(-)
Comment 14 Guido Falsi freebsd_committer freebsd_triage 2023-09-12 21:53:16 UTC
Fix from upstream imported.

Thanks!