<!-- Generated with glade 3.40.0 -->
<interface>
<requires lib="gtk+" version="3.24"/>
+ <object class="GtkTextBuffer"/>
<object class="GtkStatusIcon" id="tray">
<property name="icon-name">applications-science</property>
<property name="title" translatable="yes">LLameAss</property>
+ <signal name="activate" handler="activate_menu" object="traymenu" swapped="no"/>
+ <signal name="popup-menu" handler="popup_menu" object="traymenu" swapped="no"/>
+ </object>
+ <object class="GtkMenu" id="traymenu">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <child>
+ <object class="GtkImageMenuItem">
+ <property name="label">gtk-new</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="use-underline">True</property>
+ <property name="use-stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem">
+ <property name="label">gtk-open</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="use-underline">True</property>
+ <property name="use-stock">True</property>
+ <signal name="activate" handler="dopen" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem">
+ <property name="label">gtk-save</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="use-underline">True</property>
+ <property name="use-stock">True</property>
+ <signal name="activate" handler="dsave" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem">
+ <property name="label">gtk-save-as</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="use-underline">True</property>
+ <property name="use-stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparatorMenuItem">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem">
+ <property name="label">gtk-quit</property>
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="use-underline">True</property>
+ <property name="use-stock">True</property>
+ <signal name="activate" handler="app_quit" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuItem">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes">__glade_unnamed_2</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
</object>
<object class="GtkWindow" id="win1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="window-position">mouse</property>
<property name="icon-name">applications-science</property>
- <signal name="destroy" handler="app_quit" swapped="no"/>
+ <property name="skip-taskbar-hint">True</property>
+ <property name="skip-pager-hint">True</property>
+ <signal name="delete-event" handler="app_quit" swapped="no"/>
<child>
<object class="GtkBox">
<property name="visible">True</property>
// { GTK_TYPE_TEXT_VIEW, "set", &ca_text_view }
// };
+
// ====== UI EVENTS ======
+void e_si_menu(GtkWidget *wdg, guint b, guint t, gpointer d) {
+ printf("MENUPOPUP %s\n", (char *)d);
+}
void e_si_activate(GtkWidget *wdg, gpointer d) {
printf("ACTIVATE %s\n", (char*) d);
}
else return 0;
}
+// ====== Generic Functions ======
+
+void activate_menu(GtkWidget *wdg, gpointer d) {
+ gtk_menu_popup_at_pointer(GTK_MENU(d), NULL);
+}
+void popup_menu(GtkWidget *wdg, guint b, guint t, gpointer d) {
+ gtk_menu_popup_at_pointer(GTK_MENU(d), NULL);
+}
+void app_quit(GtkWidget *wdg, gpointer d) {
+ exit(0);
+}
+void dlg_save() { a_builder_fsave(NULL); }
+void dlg_open() { a_builder_fopen(NULL); }
+void dlg_diropen() { a_builder_dopen(NULL); }
+
+// ====== Main Loop ======
+
gboolean idle_readline(gpointer d) {
static size_t s = 128;
static char *buf = NULL;
} else if (GTK_IS_STATUS_ICON(wp)) {
printf("INIT StatusIcon\n");
g_signal_connect(wp, "activate", G_CALLBACK(e_si_activate), "StatusIcon");
+ g_signal_connect(wp, "popup-menu", G_CALLBACK(e_si_menu), "StatusIcon");
}
}
free(gerr);
}
}
+ gtk_builder_connect_signals(builder, NULL);
widgets = gtk_builder_get_objects(builder);
g_slist_foreach(widgets, *init_widget, NULL);
g_slist_free(widgets);