private void setOptions() {
		ToolOptions opt = tool.getOptions("ByteViewer");
		HelpLocation help = new HelpLocation("ByteViewerPlugin", "Option");
		opt.setOptionsHelpLocation(help);

		opt.registerThemeColorBinding(SEPARATOR_COLOR_OPTION_NAME, SEPARATOR_COLOR.getId(), help,
			"Color used for separator shown between memory blocks.");

		opt.registerThemeColorBinding(CHANGED_VALUE_COLOR_OPTION_NAME, CHANGED_VALUE_COLOR.getId(),
			new HelpLocation("ByteViewerPlugin", "EditColor"),
			"Color of changed bytes when editing.");

		opt.registerThemeColorBinding(CURSOR_ACTIVE_COLOR_OPTION_NAME, CURSOR_ACTIVE_COLOR.getId(),
			help, "Color of cursor in the active view.");

		opt.registerThemeColorBinding(CURSOR_NON_ACTIVE_COLOR_OPTION_NAME,
			CURSOR_NON_ACTIVE_COLOR.getId(), help, "Color of cursor in the non-active views.");

		opt.registerThemeColorBinding(CURSOR_NOT_FOCUSED_COLOR_OPTION_NAME,
			CURSOR_NOT_FOCUSED_COLOR.getId(), help,
			"Color of cursor when the byteview does not have focus.");

		opt.registerThemeColorBinding(CURRENT_LINE_COLOR_OPTION_NAME,
			GhidraOptions.DEFAULT_CURSOR_LINE_COLOR.getId(), help,
			"Color of the line containing the cursor");

		opt.registerThemeFontBinding(OPTION_FONT, DEFAULT_FONT_ID, help, "Font used in the views.");
		opt.registerOption(OPTION_HIGHLIGHT_CURSOR_LINE, true, help,
			"Toggles highlighting background color of line containing the cursor");

		Color separatorColor = opt.getColor(SEPARATOR_COLOR_OPTION_NAME, SEPARATOR_COLOR);
		panel.setSeparatorColor(separatorColor);

		panel.setCurrentCursorColor(CURSOR_ACTIVE_COLOR);
		panel.setNonFocusCursorColor(CURSOR_NOT_FOCUSED_COLOR);
		panel.setCursorColor(CURSOR_NON_ACTIVE_COLOR);
		panel.setCurrentCursorLineColor(CURRENT_LINE_COLOR);

		Font font = Gui.getFont(DEFAULT_FONT_ID);
		FontMetrics fm = panel.getFontMetrics(font);

		panel.restoreConfigState(fm, CHANGED_VALUE_COLOR);

		opt.addOptionsChangeListener(this);

		// cursor highlight options
		opt = tool.getOptions(CATEGORY_BROWSER_FIELDS);
		GhidraOptions.CURSOR_MOUSE_BUTTON_NAMES mouseButton = opt.getEnum(
			CURSOR_HIGHLIGHT_BUTTON_NAME, GhidraOptions.CURSOR_MOUSE_BUTTON_NAMES.MIDDLE);
		panel.setHighlightButton(mouseButton.getMouseEventID());

		panel.setMouseButtonHighlightColor(
			opt.getColor(HIGHLIGHT_COLOR_NAME, DEFAULT_HIGHLIGHT_COLOR));

		opt.addOptionsChangeListener(this);
	}
Notification that an option changed.

@param options options object containing the property that changed
@param optionName name of option that changed
@param oldValue old value of the option
@param newValue new value of the option
Ghidra/Features/ByteViewer/src/main/java/ghidra/app/plugin/core/byteviewer/ByteViewerComponentProvider.java