static File userDesktopDir() { File f = toFileOpt(loadTextFile(userDesktopDirPointerFile())); if (f != null) ret f; final new Var v; selectDir("Please select your desktop directory", userDir("Desktop"), voidfunc(File f) { v.set(f); }); waitForVarToBeNotNull(v); saveTextFile(userDesktopDirPointerFile(), f2s(v!)); ret v!; } static File userDesktopDir(S sub) { ret newFile(userDesktopDir(), sub); }