One of the problems facing application developers is adding functionality without making the entire interface feel cluttered. There are various means including toolbars, but none of them scale to even a moderately complex application. Searchable user interfaces give the chance to provide the same powerful feature sets on limited screen space, and bridging over to all sorts of alternative and mobile devices.
This plugin offers a quick launcher to search and execute features of SketchUp, including (and most importantly) plugins that you have installed.
- You can search for native SketchUp functions as well as plugins and select them by mouse or keyboard. Features that are not usable in the current context can not be executed (and are shown grayed out).
- Click the history/clock button to toggle a list of recently used features that you don't need to search anymore. You can also use this list as a dynamic toolbar.
- Search for "LaunchUp – Options" to change settings.
Recommended: SketchUp 8 M2 or higher (it works in a limited way in lower versions)
- Menu 'Plugins' → 'LaunchUp – Tool Launcher'
- or create a shortcut, for example ctrl+space
- The push pin icon toggles whether LaunchUp stays open all the time, or whether it hides when a command is executed.
- The clock icon toggles the history of recently used features.
- Search for 'LaunchUp – Options' to change settings.
- We developers do not yet have proper API access to execute UI::Commands, read their position in the menu.
- The other challenge is an older API method, that some scripts use, which creates menu items without a command object, thus making their features less accessible.
It is easy to access UI::Command objects in Ruby's ObjectSpace. Because of that I'd prefer them over the method Sketchup::Menu.add_item(String) which neither creates a command object, nor allows to read metadata (name, description etc.). It would be great to have complete, meaningful metadata and icons (even if you initially don't ship a toolbar).
It would be beneficial if the SketchUp Ruby API adds getter methods to read a command's proc and validation_proc, and to get an eventual menu path or to provide keywords:
<UI::Command>.menu_path (or category)
Project on GitHub: https://github.com/Aerilius/sketchup-launchup
This plugin has only been possible by modifying (intercepting) SketchUp API methods, since the API lacks some methods (UI::Command.proc). This should not have bad side-effects, however in case you notice problems, you can just remove this plugin (and restart SketchUp) and notify me.
Not all native features (from the menus) are available and are not all exactly the same, but all plugins should be. Context menu items are available as soon as the context menu as been opened once.