Hex Rays
Hex Rays Blog —  State of the art code analysis

Filters & Shortcuts

Two of the new UI highlights in the upcoming IDA release are filtering capability for choosers and shortcut management. I’ll be discussing them in this post, although seeing them live in action is much nicer. 😉

Filters

Filters make it possible to either show, hide or highlight one or more categories of items. But enough talk, let’s start with a screenshot.
Filters demo

This list was created by including only items containing “str” and “mem” in their function name and then by highlighting with different colors the remaining items.
Here’s the dialog which allows to add specific filters for any chooser.
Modify filters dialog
Don’t worry about the contrast, the chooser will automatically establish the best foreground color for each item given its background.
However, opening a dialog to set a filter may be cumbersome if the goal is just to quickly visualize a particular category of items. That’s why it will be possible to filter choosers by pressing a shortcut (Ctrl-F), via a small edit field popping up below the list.
Quick filter demo
This edit field can filter items by additionally specifying three options: case sensitivity, regular expressions and whole words only.
Quick filter context menu
A lot of rewriting and optimizing had to be done to make sure that even with very huge lists (50,000+ items) the filtering would be fast.

Shortcut management

I think many users will appreciate that IDA Pro finally features a complete and advanced shortcut editor.
Shortcut editor
It’s not only possible to change shortcuts for built-in IDA actions, but also the default shortcuts of plugins, external menu entries and scripts. The shortcut editor will signal modified shortcuts (yellow), conflicting shortcuts (red) or whether both conditions are met (orange). It also provides some additional information about the action such as its origin (built-in, menu, plugin, script) and context. The context tells the user when this action can be executed, e.g.: some actions are globally active, while others may only be executed in the disassembly.
One interesting new addition to the action management is that an action now regains its lost shortcut if the conflict which caused the action to lose it ceases to exist.
And in case you wish to migrate your shortcut settings: all the modifications accomplished through the shortcut editor are saved to the ‘shortcuts.cfg’ file inside the user’s directory.

Go to top of page