package eu.mikroskeem.notificationhackery; import eu.mikroskeem.notificationhackery.linux.LibNotify; import eu.mikroskeem.notificationhackery.windows.WindowsNotification; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Main { private static ExecutorService ex = Executors.newCachedThreadPool(); public static void main(String... args){ String osname = System.getProperty("os.name"); eu.mikroskeem.notificationhackery.INotificationBackend backend = null; if(osname.startsWith("Windows")){ try { backend = new WindowsNotification(); } catch (Exception e){ System.out.println("Tray not supported"); } } else if (osname.startsWith("Linux")){ try { backend = new LibNotify(); } catch (Exception e){ System.out.println("Failed to initialize Libnotify binding"); } } if(backend != null) { backend.sendNotification("wolo", "lolo"); final INotificationBackend finalBackend = backend; ex.submit(new Thread(()->{ try { Thread.sleep(5000); } catch (InterruptedException ignored) {} finalBackend.cleanup(); System.exit(0); })); } } }