notificationhackery/src/main/java/eu/mikroskeem/notificationhackery/Main.java

43 lines
1.4 KiB
Java

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);
}));
}
}
}