private void saveProperties() {
	Properties prop = new Properties();
	try (InputStream stream = new FileInputStream(PROPFILE_PATH)) {
	    prop.loadFromXML(stream);
	} catch (IOException ex) {
	    // ignore this
	}
	prop.setProperty(PROPKEY_WINDOW_BOUNDS, String.format("%d,%d,%d,%d",
		getX(), getY(), getWidth(), getHeight()));
	if (mRecentTagList.size() > 0) {
	    StringBuilder tags = new StringBuilder();
	    for (String tag : mRecentTagList) {
		tags.append(tag + ",");
	    }
	    prop.setProperty(PROPKEY_RECENT_TAGS,
		    tags.substring(0, tags.length() - 1));
	}
	prop.setProperty(PROPKEY_CHASELOG,
		mMenuItemChaseItem.isSelected() ? PROPVALUE_YES : PROPVALUE_NO);
	mLogPanel.saveProperties(prop);
	try (OutputStream out = new FileOutputStream(PROPFILE_PATH)) {
	    prop.storeToXML(out, null);
	    out.flush();
	} catch (IOException ex) {
	    showStandardErrorDialog(ex);
	    ex.printStackTrace();
	}
    }