Вот в чем проблема: делаю минимальное приложение (точнее даже почти копипастю с источников), в консоли запускаю $ ./a.out - все работает, запускается мной нарисованное окошко. Запускаю из KDE - окно не показывается. Но процесс висит в памяти.
Компилирую $ gcc glade.c `pkg-config --cflags --libs libglade-2.0`
Код:
#include <stdlib.h>
#include <stdio.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
static gboolean delete_event(GtkWidget * widget, GdkEvent * event, gpointer data)
{
return FALSE;
}
static void destroy(GtkWidget * widget, gpointer data)
{
gtk_main_quit();
}
int main (int argc, char **argv)
{
GladeXML * xml;
GtkWidget * app_window;
gtk_init(&argc, &argv);
glade_init();
xml = glade_xml_new("app.glade", "window", NULL);
glade_xml_signal_autoconnect (xml);
app_window = glade_xml_get_widget (xml, "window");
g_signal_connect(G_OBJECT(app_window), "delete_event", G_CALLBACK(delete_event), NULL);
g_signal_connect(G_OBJECT(app_window), "destroy", G_CALLBACK(destroy), NULL);
gtk_widget_show_all(app_window);
gtk_main();
return 0;
}Перезагружался в Gnome, именно этот откомпилированный бинарник работает нормально. Можно было бы погрешить на KDE, но я пробовал запускать из оболочки linuxdcpp (gtkmm/glade) - так он запускается нормально. Я уже и пытался разобраться в исходниках linuxdcpp, но запутался в них и не увидел на свой взгляд заветных строчек.
Система Debian Lenny + KDE 3.5
Надо сделать так, чтобы бинарник запускался из KDEшной оболочки вместе с ui (окном).
Заранее благодарю.