private static void startProjects(JSONObject json, ProjectConf defConf, Gui gui) throws BadConfig {
		//JSONArray paths = (JSONArray) json.get("watch");
		JSONObject projects = toJSONObject("projects", json.get("projects"), true);
		for (Object o : projects.keySet()) {
			String name = (String) o;
			JSONObject p = toJSONObject(name, projects.get(name), true);
			String path = (String) p.get("path");
			File fPath = new File(path);
			if (!fPath.isDirectory()) {
				System.err.println("Warning - Bad project's directory path: " + path);
				continue;
			}
			ProjectConf conf = new ProjectConf(name, defConf);
			conf.setCharset(toString(name + "/charset", p.get("charset"), false));
			conf.setMinify(toBoolean(name + "/minify", p.get("minify"), false));
			conf.setRecursive(toBoolean(name + "/recursive", p.get("recursive"), false));
			conf.setScanDelayDirS(toInteger(name + "/scan-delay-dir-s", p.get("scan-delay-dir-s"), false));
			conf.setScanDelayFilesS(toInteger(name + "/scan-delay-files-s", p.get("scan-delay-files-s"), false));
			conf.setShowUpdatedFiles(toString(name + "/show-updated-files", p.get("show-updated-files"), false));
			conf.setAutoAddDirAsProjects(toBoolean(name + "/auto-add-dir-as-projects", p.get("auto-add-dir-as-projects"), false));
			conf.setAutoAddDirRegexp(toString(name + "/auto-add-dir-regexp", p.get("auto-add-dir-regexp"), false));
			conf.setAutoAddDirNameCount(toInteger(name + "/auto-add-dir-name-count", p.get("auto-add-dir-name-count"), false));
			gui.addLessProject(fPath, conf);
		}
	}