XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL
Jasper Huijsmans
jasper at xfce.org
Mon Sep 26 08:29:39 CEST 2005
Hi Erik,
Nice subject line. I was thinking: "who the f* is shouting at the ML
like that... oh, wait, never mind..." ;-)
Erik Harrison schreef:
> For the new panel, is it necessary to have the plugin author drag in
> all of stdlib just to get exit()? Wouldn't it be better to simply
> gtk_main_quit() and fall off of main()? Something like
>
> void xfce_panel_plugin_exit () {
> while (gtk_main_level()) {
> gtk_main_quit();
> }
>
> and register that as the callback instead of exit().
>
Fine with me.
> The only advantage I see to using exit directly is that the plugin
> author can register stuff to run atexit - but that's a little hacky to
> me anyway, since it doesn't work for internal plugins. A "finalize"
> signal or similar might be better - which could eliminate the loop
> with gtk_main_level by giving plugin authors the chance to kill any
> additional mainloops themselves, and just use gtk_main_quit() as the
> callback directly.
Hmm, yeah, the plugin author could connect to the destroy signal if I
connect the gtk_main_quit() with g_signal_connect_after (). Sounds
reasonable.
Any other comments suggestions?
Actualy, I don't feel entirely comfortable with doing all this work in
the macro. Alternatively, I could change it to be run from inside main
by the plugin authors themselves.
XFCE_PANEL_REGISTER_EXTERNAL_PLUGIN (contruct, argc, argv);
Any opinions on this?
Jasper
More information about the Xfce4-dev
mailing list