The select_linked functionality allows many great selection possibilities. With some use-cases this sort of selection can become quite fundamental.
Both currently available operators have drawbacks in terms of workflow, which get quickly apparent in such situations.
Select Linked:
-works on the context thus requires two steps for every patch selection
-SET/SUB selection of a patch require even three steps
Select Linked Pick:
-rather awkward when to perform selection with a keyboard key while aiming your cursor
-SUB selection of a patch requires two steps
-SET selection of a patch requires three steps
Solution
This patch exposes the Select Linked Pick operator as an active tool as part of the selection tool group in Edit Mode.
In order to keep consistency with other selection tools this patch also replaces the operator's deselect property with a mode enum. Like other selection tools the mode enum is exposed in the tool header and mapped to the corresponding modifier keys.
Addressing the problem like that has still some con's:
-box/circle/lasso tools can't be used to select regions
-Inconscient with UVEditor island selection
This problem could also be addressed differently. From UI perspective it would be obvious to expose this functionality as a selection mode similar to the UV Editor island selection mode. However that would probably not be straight forward to design and implement. Also it wouldn't really mirror the implementation as a linked region isn't a real element of a mesh.
Open questions:
-would it be better as a selection mode?
-should AND/XOR selection modes also be supported?
-should the Select Linked operator be updated to include the mode enum?
-should the (L) shortcut be removed / replaced?
-LINKED_SELECT_DEFAULT_HACK is in charge of some glitches, the behavior seems ok without the hack, is it still needed?
Additional discussion on this topic:
https://devtalk.blender.org/t/in-the-sub-object-levels-there-should-be-an-element-level/9396

