I have
updated the script so that Group Linked Layers will position the newly created group above the active layer even in the case where the active layer is a fundament (previously such a situation would create the new group within the fundament's group, at its top).
GnuTux wrote:
How about if you select an unlinked layer within a group, the operation ungrouped that layer only but If the selected layer was linked, it would ungroup linked layers?
I have somewhat mixed feelings about this. On the one hand, it would behave intuitively (and eliminate a step) for the case where all of the linked layers are direct children of the containing group -- and admittedly there really isn't much utility offered by "ungrouping" a single, regular layer (which could just as easily be moved out of the group from within the Layers dialog).
But then what should happen if one or more grandchildren are linked? Should they be ignored? Should they be "promoted" to direct children (even if they are great-grandchildren)? Should they each be promoted only one level such that a great-grandchild becomes a grandchild, a grandchild becomes a child, etc? While arguments could be made for any one of these three behaviors being a logical choice, I'm not sure which would be most useful and intuitive. I think it may be preferable to not present the user with the possibility of encountering such a scenario occurring (by only ungrouping a single layer).
I think I will leave the behavior as it is for now, until I gain some more experience and feedback on how layer groups are being used. Like you, I haven't used them very much (really
only once*) and will probably revisit things later. Also, I think this script would just be an interim solution which won't be needed once GIMP developers add the ability to have multiple active layers (though that is probably a couple year's off).
* Edit: I apparently didn't upload the version that split the knobs and such into separate layer groups