Warning: session_start(): open(/var/lib/php/sessions/sess_poqo4h24e9sgfbgnma9s07ktam, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sbool trayIcon_imageAutoSize = true;
static TrayIcon installTrayIcon(S imageID, S tooltip) {
ret installTrayIcon(imageID, tooltip, null);
}
// menuItems can also just be a PopupMenu
// also, first of menuItems can be a Runnable for left-click on icon
static TrayIcon installTrayIcon(S imageID, S tooltip, O... menuItems) ctex {
// convenience parameter swap :-)
if (!isSnippetID(imageID) && isSnippetID(tooltip)) {
S s = tooltip;
tooltip = imageID;
imageID = s;
}
ifdef installTrayIcon_useImageIcon
Image image = imageIcon(imageID).getImage();
endifdef
ifndef installTrayIcon_useImageIcon
Image image = loadImage2(imageID);
endifndef
ret installTrayIcon(image, tooltip, menuItems);
}
static TrayIcon installTrayIcon(final Image image, fS tooltip, fO... _menuItems) null on exception {
ret swing(func -> TrayIcon {
Runnable leftClick = null;
O[] menuItems = params_unpackList(_menuItems);
if (l(menuItems) > 0 && menuItems[0] instanceof Runnable) {
leftClick = (Runnable) menuItems[0];
menuItems = dropFirst(menuItems);
}
PopupMenu menu = makePopupMenu(menuItems);
TrayIcon trayIcon = new TrayIcon(image, tooltip, menu);
trayIcon.setImageAutoSize(trayIcon_imageAutoSize);
if (leftClick != null) {
final Runnable _leftClick = leftClick;
onLeftClick(trayIcon, _leftClick);
}
SystemTray.getSystemTray().add(trayIcon);
ret trayIcon;
});
}