GNOME Bugzilla – Bug 119825
Alt-F1 always opens main menu on first head
Last modified: 2005-01-12 04:31:46 UTC
Distribution: Red Hat Linux release 9 (Shrike) Package: gnome-panel Severity: normal Version: GNOME2.3.6 2.3.x Gnome-Distributor: GARNOME Synopsis: Alt-F1 always opens main menu on first head Bugzilla-Product: gnome-panel Bugzilla-Component: Panel Bugzilla-Version: 2.3.x Description: Description of Problem: On my multihead configuration (no xinerama) if I hit Alt-F1 when I have a window focused on the second head the main menu opens on the first head. Make it impossible to open apps in the second head with the keyboard. Steps to reproduce the problem: 1. Focus window on second head 2. Hit Alt-F1 (or other main menu key binding) ------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-08-13 18:19 ------- Reassigning to the default owner of the component, gnome-panel-maint@bugzilla.gnome.org.
Confirmed here
I'm running gnome-panel 2.5.3.1 from fedora-devel and I can confirm this. It seems that Alt-F1 will only pop up on whichever menu-bar existed first. I deleted them both, create on on head2 and then one on head1, and then it will only pop up on head2; delete and recreate the on on head2 and it will only pop up there. This is with the nvidia binary-only driver in multiple sreen (not xinerama or twinview) mode, if that matters.
*** Bug 137425 has been marked as a duplicate of this bug. ***
Created attachment 35828 [details] [review] Patch fixes the bug initially thought of forcing the GdkScreen* to be passed for panel_applet_get_by_type () but thought against it. Passing NULL should also be okay. But you guys think the below should just do ? - if (info->type == object_type) + if (info->type == object_type && screen == gtk_widget_get_screen (info->widget)) return info;
Comment on attachment 35828 [details] [review] Patch fixes the bug Arvind: I think that passing NULL is okay. I'm just wondering if having a fallback which is not on the right screen is a good thing or not. Something like: { AppletInfo *fallback; GSList *l; fallback = NULL; for (l = registered_applets; l; l = l->next) { AppletInfo *info = l->data; if (info->type == object_type) { if (screen) { if (screen == gtk_widget_get_screen (info->widget)) return info; else if (!fallback) fallback = info; } else return info; } } return fallback; } I'm not a multihead user, so I don't know if this behaviour can be expected. Please commit your patch with or without my proposition :-) (just remove the new empty line you added in panel_applet_get_by_type()) Thanks
vincent: If on one screen we have a main menu and on another we have a menu bar, with the fallback mechanism we would always get the menbar irrespective of which screen alt-F1 is done. So, have not done the fallback. Have checked in the patch. But it does raise a question of what should user expect when doing a Alt-F1 when he has a menubar and main menu on the panel. Currently it always pops up the menu bar.