Make Selections better.
Closed, ResolvedPublic


Right now, you can store selections in selection masks, and reactivate them.

You can also select the global selection mask and paint on it, as well as view selections alternatively.

Here's what can be done better:

  1. [DONE] SelectionMask Painting in Realtime. - - This is a fairly important one. Right now, no matter which view mode you use, you cannot see the mask updating while painting. The old brush-selection tool had a canvas decoration it painted, but none of the current tools allow this.
  2. [DONE] Multiple 'local selections' are allowed but not possible. - - This is actually due to the way selections behave right now. A new local selection becomes automatically activated, which means that every selection change you make afterwards edits this local selection. A user needs to deactivate the selection to start a new one, which might be a bit of a workflow issue?
  3. [DONE] Add opaque, intersect opaque and remove opaque from the global selection - - This would make selection masks really really powerful.
  4. [DONE] Create selection when enabling Show Global Selection - - I tried adding this myself, but it seems there's a million checks everywhere to deselect a selection when it's empty.

Transform issues:

  1. [DONE] Add the ability to convert vector selection to pixel selection, and the ability to transform pixel selection -
  2. [DONE] Allow modifying selection -

These both focus on how it's not obvious how to transform a selection. This might be partially because the global selection masks isn't visible by default?

[Avalable for vector selections] Right now, Krita doesn't use the vector boolean stuff anywhere, but we will be implementing it for the vector tools. It would be cool if we could also implement it for vector selections.


  1. [DONE] When using Selection Tools, make right-click to bring up the content in Menu>Select - - This basically asks for a pop-up palette specially for the selection tools. Could be interesting.
  2. [DONE] Let Mirror/Rotate Layer work with a selection when it is present and assign shortcuts - - Basically, use the selection as a boundingbox for the layer transform actions.
  3. [DONE] Unable to see marching ants (selection) with grid enabled - - This is a drawing order bug.
  4. [DONE] Rounded Corners for Rectangle Selection Tool. - - This is more of a geometry-tool suggestion.
  5. [DONE] Selection with Smooth interpolation. - - As stated in the triaging comment, this would basically be a new tool.
  6. [DONE] Implement selection mode cursors with David's cursors: bdc4db9abea7b6ce8be97c5633ba802a9887ef1e -


  1. Lazy Selection - T3493 - Use the colorize algorithms and friends for foreground selection.
  2. Magnetic Lasso Tool - T556- A smart-selection tool.
woltherav created this task.Oct 2 2016, 4:29 PM
woltherav updated the task description. (Show Details)

A tiny suggestion: rename the layer added by the show Global Selection Mask option - it's called KisSelectionMask / Global Selection Mask would be clearer, and maybe a color tag would be nice to distinguish it from the rest of the stack.

rempt added a subscriber: rempt.Jan 17 2017, 1:25 PM

That was already done in the 3.1 branch and in master.

Ah, sorry for that, it's still KisSelectionMask here in 3.1.1, didn't know you already changed it. Thanks!

rempt added a comment.Jan 17 2017, 3:37 PM

I didn't know either... I had to check my builds :-)

dkazakov updated the task description. (Show Details)Jul 24 2018, 10:13 AM
dkazakov updated the task description. (Show Details)Aug 20 2018, 7:43 AM
dkazakov updated the task description. (Show Details)Aug 20 2018, 9:43 AM
dkazakov updated the task description. (Show Details)Aug 21 2018, 12:26 PM
dkazakov updated the task description. (Show Details)Aug 22 2018, 3:11 PM
dkazakov updated the task description. (Show Details)Aug 23 2018, 11:43 AM
dkazakov updated the task description. (Show Details)Aug 23 2018, 3:54 PM
dkazakov updated the task description. (Show Details)Aug 23 2018, 3:56 PM
dkazakov updated the task description. (Show Details)Aug 23 2018, 4:05 PM
dkazakov updated the task description. (Show Details)Aug 27 2018, 1:43 PM
dkazakov added a subscriber: dkazakov.EditedSep 6 2018, 4:33 PM
Actionno selectionactive selectioncurrent layerall layersall frames
Mirror Layerimage boundsXXXyesnono
Mirror Imageimage boundsXXXnoyesyes\*
Scale Layerimage boundsXXXyesnono
Scale Imageimage boundsXXXnoyesyes
Rotate Layerimage boundsXXXyesnono
Rotate Imageimage boundsXXXnoyesyes
Shear Layerimage boundsXXXyesnono
Shear Imageimage boundsXXXnoyesyes

\* - not implemented yet, but sounds reasonable


  1. If selection is present, then frames are not considered
dkazakov updated the task description. (Show Details)Sep 9 2018, 1:53 PM
dkazakov closed this task as Resolved.
dkazakov claimed this task.

All the tasks of this project are fixed now! :)

Thank You! *42 to the 42nd power... and then some more. Everyone Thanks You! This was long awaited. Many of us can now retire Photoshop. Our workflow just improved to that point.