TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: ALL
from: R.WIESER
date: 2020-02-29 10:58:00
subject: GTK3 gtk_window_new in po

Hello all,

I've created a popup menu (which works), but have a problem: the popup
window doesn't generate "focus-out-event" signals anymore (something which I
intend to use to easily dismiss the popup).

I've tried to use standard popup together with setting a mask for that
signal to re-enable it :

GtkWidget *popup = gtk_window_new(GTK_WINDOW_POPUP)
gtk_widget_add_events(G_OBJECT(popup), GDK_FOCUS_CHANGE_MASK);

but that didn't want to work.

Than I tried a standard toplevel window with some changes applied, but it
turned out that removing the taskbar-hint also blocked the focus-change
signal :

GtkWidget *popup = gtk_window_new(GTK_WINDOW_TOPLEVEL)
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (popup_window), TRUE);

Trying to re-add the focus-change mask didn't help here either.

So, the question: How do I create a popup window (or one that looks like
it!), while maintaining the "focus-out-event" signal  (or how do I re-enable
it again when its disabled).

Also, its my intention to allow for keyboard navigation (to select items in
the to-be-added GtkListBox or other).   But for some reason keyboard
interaction is also disabled for a popup style window (it refuses to accept
focus).   Although I've been able to use "gdk_keyboard_grab()"* for that, I
wonder if it can be done with less force (maybe setting a flag which allows
setting focus ?)

*funny thing that by the way: using that throws a warning its depricated and
I should use "gdk_device_grab()". However, when I do that I'm than told its
depricated too, and I should use "gdk_seat_grab()" (which is way more
complex and doesn't seem to be intended to do a simple "allow & set focus"
action on a window. :-\ )

Regards,
Rudy Wieser

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.