+ private static final String[] desktopNames = new String[]{"Tafelblad", "المكتب",
+ "Masa Üstü", "Сталец", "Десктоп", "ডেস্কটপ", "Desktop",
+ "Escriptori", "Prostředí pracovní plochy", "Penbwrdd",
+ "Skrivebord", "Επιφάνεια εργασίας", "Escritorio", "Töölaud",
+ "Mahaigaina", "Työpöytä", "Bureau", "Deasc", "ડૅસ્કટોપ",
+ "डेस्कटॉप", "Radna površina", "Munkaasztal", "デスクトップ", "დესკტოპი",
+ "데스크탑", "Darbastalis", "Дэлгэц", "Skrivebord", "Teseke", "ਵਿਹੜਾ",
+ "Pulpit", "Ambiente de Trabalho", "Área de Trabalho",
+ "Рабочий стол", "Pracovná plocha", "Hapësira e Punës",
+ "Радна површ", "Radna površ", "Skrivbord", "கணிமேசை", "Мизи корӣ",
+ "พื้นโต๊ะ", "Masaüstü", "Стільниця", "桌面", "Isiga-nyezi"};
+
+ private static File desktopFile;
+
+ /**
+ * This method tries to guess user desktop directory. Implementation is
+ * pretty lousy. Need to improve it some day.
+ *
+ * @return file that points to user desktop directory.
+ * @throws RuntimeException if user desktop directory is not found.
+ */
+ public static File getDesktopDirectory() {
+
+ if (desktopFile != null)
+ return desktopFile;
+
+ final String userHomePath = System.getProperty("user.home");