Forum Linux.pl

Oprogramowanie => Inne => Wątek zaczęty przez: arctgx w 2008-02-08, 00:23:33

Tytuł: ESC dla zamknięcia okna GTK2
Wiadomość wysłana przez: arctgx w 2008-02-08, 00:23:33
Jak ustawić swój .gtkrc, by można zamykać okno za pomocą ESC, ale nie zamykać programu?

Chodzi mi głównie o Pigdina, którego główne okno muszę zamykać myszą (klikając na przycisk zamknięcia czy ikonę na tacce albo klawiaturą dając Alt F4), by schowało się do tacki. Pidgin ma plik ~/.purple/accels, w którym udało mi się tylko ustawić zamykanie eskejpem okna z rozmową. Wiem też jak wyłączyć w całości, ale schować już nie...

Tymczasem Kadu ma domyślnie taką funkcję.

Szukałem trochę, szczególnie łańcuchem "close", na http://library.gnome.org/devel/gtk/stable/GtkWindow.html , ale nic ciekawego nie znalazłem.

Można by przerobić tę wskazówkę (http://developer.pidgin.im/wiki/Using%20Pidgin#HowdoImakeEntermakeanewlineandCtrlEntersend) , tylko nie wiem jaką funkcję przypisać powiązaniu i jak później podlinkować to do Pidgina lub ogólniej, do dowolnego okna GTK.

Czyżby (dokumentacja) (http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-hide-on-delete) należało wysłać sygnał gtk_widget_hide_on_delete, czyli

binding "schowaj_pidgina"
{
bind "Escape"
{
"gtk_widget_hide_on_delete" ()
}
}
(o ile to właśnie jest polecenie ukrycia okna)?

A jeszcze użycie: na tym etapie kombinuję tak (na Aumiksie, żeby nie grzebać się z otwieraniem Pidgina):
class "GtkWidget *" binding "schowaj_pidgina"
.

Ale to nie działa. Zamiast Escape probowałem "j" (żeby był jakiś modyfikator) i też nic.

Ciekawa może być funkcjagtk-widget-add-accelerator (http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-add-accelerator), jeśli sam Esc nie chciałby działać jako binding.  Może dałoby się po prostu zrobić tym możliwość takiego wpisu jak w pliku accels? Ale jak to wykorzystać?