# Module description - ui/* ## contextMenus.js Simplifies the process of adding Chrome context menus to page links, including adding a basic REST-style router for getting parameters out of the link URL. Exposes a `register` method for setting up the actual menu and its callback, and a `makeURL` method to help with making route URLs that correctly start with the app's extension ID. ## dialog.js Exposes a function that will pop up a dialog box, since Chrome apps are not allowed to use `alert()`, `confirm()`, or `prompt()`. Reasonably customizable. ## keys.js Reads the local keyboard settings and registers on the document body to convert them into commands. Also handles unbinding any Ace commands that would otherwise collide. Exposes no external methods or data. ## menus.js Generates the menu bar from the local menu settings file. Exposes no external methods or data at this time. ## palette.js Sets up the command palette and returns it as a singleton for any other modules that might want to trigger it or alter its data, although it is recommended that other modules simply send `palette:*` commands instead. ## projectManager.js Tracks any current project settings, files, and navigable directories. Exposes the manager object to dependent modules, primarily so that the palette can get the list of files for Go To File. ## statusbar.js Sets the status text, and returns an interface with `setMessage()`, `clearMessage()`, and `toast()` methods. It's recommended to use the `status:*` commands instead of requiring this module directly.