## Proposal:
Krita's unique "Pop-up Palette" is a well-designed and popular feature for giving artists quick access to many of the controls that they need while painting.
Not only is it one of Krita's stand-out features, I'd argue that it has a design that works well with both classic desktop and modern touch interfaces.
And, now that Krita is exploring the possibility of expanding onto mobile platforms, that design philosophy is something that's only going to become more valuable over time.
https://docs.krita.org/en/reference_manual/popup-palette.html
However, one of the limitations of the current implementation is that the Pop-up Palette is really designed with painting, and the Brush Tool, in mind.
And yet, more often than not, regardless of which tool the artist is using (from the Move Tool, to the Shape Tools, to the Color Picker Tool, etc.), the Pop-up Palette is what they see when they right click.
Only the tools that provide a traditional right-click context menu show something other than the Pop-up Palette. While it's not a problem, I think there is unrealized potential here!
**So, for Krita 5, I'd like to propose that we generalize the concept of a "Pop-up Widget" for all of Krita's tools.**
In effect, this means making some minor changes to Krita's Tool classes while designing and implementing various pen/touch-friendly utility widgets for each different tool.
## Technical:
Off the top of my head here are some of the small things that would need to change.
# Replace `virtual QMenu * popupActionsMenu` with `virtual QWidget * popupWidget` in KisToolBase and the KisToolProxy.
# Replace `KisShowPaletteAction` with `KisPopupWidgetAction`.
# Move the Pop-up Palette and existing menus over to the new system, for the time being.
# Design and implement new pop-up widgets for each of our tools.
(I don't expect any of this to be too difficult, so the initial setup for this could be a junior job.)