GTK: Schließen mit Alt-F4 verhindern



  • Hallo!

    Ich habe hier ein bestehendes Programm (gnome-dock.org), das in main ein Fenster mit gtk_window_new (GTK_WINDOW_TOPLEVEL) erzeugt. Da es sich um ein Dock handelt, möchte ich vermeiden dass ich das Fenster mit Alt-F4 schließen kann.
    Meine Frage: Gibt es in GTK_WINDOW_... Fenster, die sich nicht so einfach schließen lassen oder ist es irgendwie möglich, das Schließen des Fensters zu verhindern?

    Hoffe, ihr könnt mir da helfen!

    Gruß,
    Chris



  • Hallo,

    seit GTK+ 2.10 gibt es die Funktion gtk_window_set_deletable, welche es dir erlaubt, den Schließen-Button zu verstecken.

    Und um die Tastenkombination Alt+F4 (bzw. jegliche Form der Schließung) abzuwürgen, machst du folgendes:

    #include <gtk/gtk.h>
    
    static gboolean delete_event( GtkWidget *widget,
                                  GdkEvent  *event,
                                  gpointer   data )
    {
        return TRUE;  //In FALSE ändern, um das Fenster schließen zu können.
    }
    
    int main( int   argc,
              char *argv[] )
    {
        GtkWidget *window;
    
        gtk_init (&argc, &argv);
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    
        g_signal_connect (G_OBJECT (window), "delete_event",
    		      G_CALLBACK (delete_event), NULL);
    
        gtk_widget_show (window);
    
        gtk_main ();
    
        return 0;
    }
    

    Ansonsten schau dir einfach dieses Beispiel an, da wird's u.a. gezeigt.

    MfG

    GPC



  • Super - das klappt. Vielen Dank! 😃


Anmelden zum Antworten