Add to API: LrDevelopController.getOpenPanel

  • 2
  • Idea
  • Updated 5 months ago
  • Under Consideration
  • (Edited)
Currently, you can find which Module is active (LrApplicationView.getCurrentModuleName()) and which Tool is selected (LrDevelopController.getSelectedTool()), but you can't find out which Panel (adjustPanel, tonePanel, mixerPanel, detailPanel, etc.) is open.

While you can manually reveal a panel (LrDevelopController.revealPanel()) (and thus know for a second or two which panel is showing) you can't see what panel has been opened by a user action or by manipulating a develop parameter while LrDevelopController.revealAdjustedControls() is true.

This creates a problem for plugins that want to present the user with different options depending upon what edit mode the user is currently in. My plugin, for example, allows users to map MIDI control surface knobs and switches to various Lightroom actions. When a user is in a different edit mode, the switches and knobs may be mapped to different actions (e.g., what's useful in the detail panel is different from what's useful in the transform panel, so the user may want a different control mapping).

My plugin uses a number of different hacks to guess the current panel, and those hacks work in most but not all situations--for example, on Lightroom startup, it's impossible to know which panel is active--but all those would be unnecessary if there were an API call to provide the information.

Even better would be the ability to register a callback when the Panel, Tool, or Module changes, but I could live without a callback function, as I currently call the getCurrentModuleName and getSelectedTool 4x/second to keep track of the status.

tl;dr:
add LrDevelopController.getOpenPanel() to the API
Photo of Rory Jaffe

Rory Jaffe

  • 17 Posts
  • 1 Reply Like

Posted 5 months ago

  • 2
Photo of Bhargav

Bhargav, Official Rep

  • 81 Posts
  • 19 Reply Likes
Hi Rory,

Thanks for taking out time and suggesting a feature to improve Lightroom.
We'll take the request for prioritization.

Thanks,
Bhargav