The Menu Trim module allows menu hierarchies to be trimmed when navigated. Trimming, here, means skipping the display of parent menu items when any of some designated items becomes active.
This project has been superseded by Menu Block and won't be maintained anymore.
At the simplest level, this module allows to hide a menu until some of its items has become the active item (by reaching the corresponding url). This is easier than configuring the menu's block visibility for each possible path contained in the menu.
This module can be used to make a "contextual secondary menu" based on the primary links (e.g. you set the Primary links menu for "Allow trimming for this menu, hide menu when no item is active", activate the "Primary links (Menu trim)" block, then edit the menu's top-level items to check the "Trim parent items" option). After that, when an item is selected in the primary links, the contextual menu appears, showing only the subitems of the selected item. Drupal already allows contextual "secondary links" based on the primary links, but these secondary links are limited to a flat list of items. Menu Trim, on the other hand, can display complete menu subtrees.
This module can also be used in any menu to trim parents when reaching deep menu items. This can make deep menus more usable, and the breadcrumb will still show the full path.
Initially developed on behalf of Koumbit.org.
Other similar projects you might want to look into: