diff options
| Commit | 760a9dd3288481728b13c6c6d63e7e57dfdef050 (patch) | |
|---|---|---|
| Author | 2022-06-13 15:34:58 +0300 | |
| Committer | 2022-06-13 15:34:58 +0300 | |
| Files | 1a712e4b057967042e75e2373bc901ffbc13a531 | |
| goodwolf-760a9dd3288481728b13c6c6d63e7e57dfdef050.tar goodwolf-760a9dd3288481728b13c6c6d63e7e57dfdef050.tar.gz goodwolf-760a9dd3288481728b13c6c6d63e7e57dfdef050.zip | ||
| Parent | 40d363960619653d6653c686c6bcb4a5a4951ef6 (diff) | |
badwolf: Added tray icon
1 files changed, 26 insertions, 0 deletions
| -rw-r--r-- | badwolf.c | 26 |
@@ -1082,6 +1082,28 @@ storeCb_finish(WebKitUserContentFilterStore *store, GAsyncResult *result, gpoint } } +void +tray_icon_on_click(GtkStatusIcon *status_icon, gpointer main_window_ptr) +{ + GtkWidget *main_window = GTK_WIDGET(main_window_ptr); + if (gtk_widget_is_visible(main_window)) + gtk_widget_hide(main_window); + else + gtk_widget_show(main_window); +} + +static GtkStatusIcon *create_tray_icon(const struct Window *window) { + GtkStatusIcon *tray_icon; + + tray_icon = gtk_status_icon_new(); + g_signal_connect(G_OBJECT(tray_icon), "activate", G_CALLBACK(tray_icon_on_click), window->main_window); + gtk_status_icon_set_from_icon_name(tray_icon, "badwolf"); + gtk_status_icon_set_tooltip_text(tray_icon, "Badwolf"); + gtk_status_icon_set_visible(tray_icon, TRUE); + + return tray_icon; +} + int main(int argc, char *argv[]) { @@ -1098,6 +1120,8 @@ main(int argc, char *argv[]) g_application_register(application, NULL, NULL); //g_application_activate(application); + GtkStatusIcon *tray_icon; + gtk_init(&argc, &argv); fprintf(stderr, _("Running Badwolf version: %s\n"), version); @@ -1202,6 +1226,8 @@ main(int argc, char *argv[]) gtk_notebook_set_current_page(GTK_NOTEBOOK(window->notebook), 1); + tray_icon = create_tray_icon(window); + gtk_main(); g_object_unref(bookmarks_completion_model); |