diff --git a/example.c b/example.c index c42ffe2..8a7f943 100644 --- a/example.c +++ b/example.c @@ -56,29 +56,32 @@ static void submenu_cb(struct tray_menu *item) { // Test tray init static struct tray tray = { .icon = TRAY_ICON1, +#if TRAY_WINAPI + .tooltip = "Tray", +#endif .menu = - (struct tray_menu[]){ + (struct tray_menu[]) { {.text = "Hello", .cb = hello_cb}, {.text = "Checked", .checked = 1, .cb = toggle_cb}, {.text = "Disabled", .disabled = 1}, {.text = "-"}, {.text = "SubMenu", .submenu = - (struct tray_menu[]){ + (struct tray_menu[]) { {.text = "FIRST", .checked = 1, .cb = submenu_cb}, {.text = "SECOND", .submenu = - (struct tray_menu[]){ + (struct tray_menu[]) { {.text = "THIRD", .submenu = - (struct tray_menu[]){ + (struct tray_menu[]) { {.text = "7", .cb = submenu_cb}, {.text = "-"}, {.text = "8", .cb = submenu_cb}, {.text = NULL}}}, {.text = "FOUR", .submenu = - (struct tray_menu[]){ + (struct tray_menu[]) { {.text = "5", .cb = submenu_cb}, {.text = "6", .cb = submenu_cb}, {.text = NULL}}}, diff --git a/tray.h b/tray.h index 077cadf..bff5732 100644 --- a/tray.h +++ b/tray.h @@ -5,6 +5,7 @@ struct tray_menu; struct tray { const char *icon; + char *tooltip; struct tray_menu *menu; }; @@ -308,8 +309,9 @@ static int tray_init(struct tray *tray) { nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hwnd; nid.uID = 0; - nid.uFlags = NIF_ICON | NIF_MESSAGE; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_TRAY_CALLBACK_MESSAGE; + strncpy(nid.szTip, tray->tooltip, sizeof(nid.szTip)); Shell_NotifyIcon(NIM_ADD, &nid); tray_update(tray);