RSS/Atom feed Twitter
Site is read-only, email is disabled

Gimp UX: Paste

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

19 of 19 messages available
Toggle history

Please log in to manage your subscriptions.

Gimp UX: Paste Jason Simanek 02 Jun 05:19
  Gimp UX: Paste Gino D 02 Jun 13:12
   Gimp UX: Paste Jason Simanek 02 Jun 14:50
    Gimp UX: Paste Gino D 03 Jun 13:38
     Gimp UX: Paste peter sikking 03 Jun 15:21
      Gimp UX: Paste Jason Simanek 03 Jun 17:00
       Gimp UX: Paste peter sikking 03 Jun 17:49
       Gimp UX: Paste Chris Mohler 03 Jun 18:02
        Gimp UX: Paste Rob Antonishen 03 Jun 19:45
         Gimp UX: Paste Sven Neumann 03 Jun 21:46
          Gimp UX: Paste Chris Mohler 03 Jun 22:01
           Gimp UX: Paste Sven Neumann 03 Jun 22:18
          Gimp UX: Paste Rob Antonishen 04 Jun 00:07
           Gimp UX: Paste Rob Antonishen 04 Jun 04:48
         Gimp UX: Paste Gino D 04 Jun 13:10
          Gimp UX: Paste Rob Antonishen 04 Jun 17:11
  Gimp UX: Paste Michael Schumacher 02 Jun 15:14
   Gimp UX: Paste Joao S. O. Bueno 02 Jun 15:30
  Gimp UX: Paste peter sikking 03 Jun 01:27
Jason Simanek
2010-06-02 05:19:04 UTC (almost 14 years ago)

Gimp UX: Paste

Hi,

Has there been any discussion about doing away with the 'floating selection' quasi-layer that occurs after copy/pasting in Gimp? I don't mean to compare the Gimp to Photoshop, but it seems like this is a place where Photoshop does the right thing: when graphics are copy/pasted a new layer is created. In my experience the floating selection quasi-layer has little or no usefulness.

A new layer is non-destructive. Why is there a need for this other type of layer? The name 'floating selection' isn't even accurate. This is a collection of pixels. It is not a selection. A selection is an ephemeral mask not a collection of specific pixels.

What would be best, I think, is that a new layer would automatically be created after pasting and that this new layer, rather than appearing at the top of the layer stack, would be created directly above the currently active layer.

While I'm at it I also recommend that layer boundaries should be disposed of. They only add confusion. A layer should be apparently without dimension and should be masked only by the canvas. The current way of doing things is confusing. If a boundary smaller than the canvas is desired a layer mask should be used. Currently I am confused about the relationship between layer boundaries and layer masks. They seem to be the same thing.

Thanks for listening. If a discussion about these issues has already taken place, please provide URLs to those discussions. I have no intention of reopening discussions that have already been resolved.

Jason Simanek

Gino D
2010-06-02 13:12:04 UTC (almost 14 years ago)

Gimp UX: Paste

Hi.

2010/6/2 Jason Simanek :

A new layer is non-destructive. Why is there a need for this other type of layer? The name 'floating selection' isn't even accurate. This is a collection of pixels. It is not a selection. A selection is an ephemeral mask not a collection of specific pixels. . . .

Jason Simanek

Until some time ago, I also doubt the usefulness of this kind of layer. Recently, however, I discovered that the floating selections can be really handy, especially when they are put into action within the scripts. Often, indeed, with the purpose of obtaining a specific type of effect for a drawable through the Script-Fu language, it is necessary to make the script perform, one or more times, the fusion between the starting drawable and a new drawable, which is usually a modified copy of the first one. This combination can be accomplished either by merging the created drawable down or by anchoring it towards the original one, depending, respectively, on whether it has been added as new layer/channel or pasted as floating selection.

But the first approach can be slightly destructive about the properties the initial drawable had - like its ID, opacity, linked state, layer's mask (if present), "lock alpha channel" setting, combination mode -, because the eventual drawable derived from the fusion won't keep any of them. Particularly, the loss of the ID voids the variable it was been stored in, so it becomes essential to re-define it every time like this:
(define drw (car (gimp-image-get-active-drawable img))).

The anchorage of a floating selection, instead, allows to really maintain the integrity of the drawable to which such floating object belongs, including all the important features listed above.

Jason Simanek
2010-06-02 14:50:03 UTC (almost 14 years ago)

Gimp UX: Paste

Gino,

On 06/02/2010 06:12 AM, Gino D wrote:

2010/6/2 Jason Simanek:

A new layer is non-destructive. Why is there a need for this other type of layer? The name 'floating selection' isn't even accurate. This is a collection of pixels. It is not a selection. A selection is an ephemeral mask not a collection of specific pixels.

Until some time ago, I also doubt the usefulness of this kind of layer. Recently, however, I discovered that the floating selections can be really handy, especially when they are put into action within the scripts.

Thanks for pointing out the usefulness of floating selections for scripting/plugins. That makes a lot of sense. But if that is the only usefulness for this special type of layer I think it should be a special behavior that can be employed by script and plugin writers, not the default in the GUI.

What Gino just told me is that the floating selections are a special type of layer whose special properties can only be perceived or employed by scripts. How would a normal mouse-user derive any usefulness from the qualities of this special layer?

In this case it seems the interest in making Gimp scriptable has overridden the interest in making Gimp's UI intuitive.

-Jason Simanek

Michael Schumacher
2010-06-02 15:14:49 UTC (almost 14 years ago)

Gimp UX: Paste

Von: Jason Simanek

Thanks for listening. If a discussion about these issues has already taken place, please provide URLs to those discussions. I have no intention of reopening discussions that have already been resolved.

https://bugzilla.gnome.org/show_bug.cgi?id=561576

HTH, Michael

Joao S. O. Bueno
2010-06-02 15:30:00 UTC (almost 14 years ago)

Gimp UX: Paste

Hi, This has just been discussed in the Libre Graphics Meeting which just took place, and should be the main subject of the Summer of Code project I am mentoring.

there are other motives for the Floating Selection (i.e. the "quasi layer") to exist, but of course, the existing usability for that is way broken. We will be working closely with peter Siking to get pasted objects to behave in the most useful and unobtrusive way possible.

js
-> wrote:

Von: Jason Simanek

Thanks for listening. If a discussion about these issues has already taken place, please provide URLs to those discussions. I have no intention of reopening discussions that have already been resolved.

https://bugzilla.gnome.org/show_bug.cgi?id=561576

HTH, Michael
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

peter sikking
2010-06-03 01:27:42 UTC (almost 14 years ago)

Gimp UX: Paste

Jason Simanek wrote:

Has there been any discussion about doing away with the 'floating selection' quasi-layer that occurs after copy/pasting in Gimp?

hey, what a coincidence. actually last weekend at lgm there was a meeting (joao, pippin and me) about giving Elle Yan's 'on-canvas tool' SoC project a purpose.

everybody agreed that the concrete goal should be tackling the 'floating selection', which involves some simple on-canvas controls and build/exercising the infrastructure for that.

I don't
mean to compare the Gimp to Photoshop, but it seems like this is a place
where Photoshop does the right thing: when graphics are copy/pasted a new layer is created. In my experience the floating selection quasi-layer has little or no usefulness.

A new layer is non-destructive. Why is there a need for this other type
of layer? The name 'floating selection' isn't even accurate. This is a collection of pixels. It is not a selection. A selection is an ephemeral
mask not a collection of specific pixels.

yes, 'floating paste' is a much better term.

another coincidence: during my talk at the lgm:

I talked about layer abuse, not by users, but by applications that make certain things only possible by introducing a new layer.

that has to stop: only users get to decide how many layers they need for organising their composition.

so pasting is going to be _in_ a layer (or mask or channel) and the controls for opacity, blend mode and anchoring will be on-canvas. there will be quite a few things to take care of, like new-layer-from-clipboard workflow, and they will be.

While I'm at it I also recommend that layer boundaries should be disposed of.

yep, that will happen, one day.

--ps

founder + principal interaction architect man + machine interface works

http://mmiworks.net/blog : on interaction architecture

Gino D
2010-06-03 13:38:40 UTC (almost 14 years ago)

Gimp UX: Paste

Hi.

2010/6/2 Jason Simanek :

Thanks for pointing out the usefulness of floating selections for scripting/plugins. That makes a lot of sense. But if that is the only usefulness for this special type of layer I think it should be a special behavior that can be employed by script and plugin writers, not the default in the GUI.

What Gino just told me is that the floating selections are a special type of layer whose special properties can only be perceived or employed by scripts. How would a normal mouse-user derive any usefulness from the qualities of this special layer?

In this case it seems the interest in making Gimp scriptable has overridden the interest in making Gimp's UI intuitive.

-Jason Simanek

Though previously I myself have stressed the importance of the floating selections for scripting, nevertheless I think that even the GUI environment takes advantage of what these objects permit to do, that is the fusion of a pasted/created layer into another drawable without losing the initial characteristics of the latter.

Having said that, if there is no need to merge layers together, but you simply want to manage the pasted object as indipendent layer, then the optimal solution is to use the "Paste as New Layer" command rather than the "Paste" command, which actually generates floating selections. According to me, the only small drawback of the former choice consists in the fact that such new pasted layer doesn't come centered on the target image (as it would be convenient), whereas, on the contrary, every floating selection (when pasted) does.

peter sikking
2010-06-03 15:21:37 UTC (almost 14 years ago)

Gimp UX: Paste

Gino D wrote:

Having said that, if there is no need to merge layers together, but you simply want to manage the pasted object as indipendent layer, then the optimal solution is to use the "Paste as New Layer" command rather than the "Paste" command, which actually generates floating selections. According to me, the only small drawback of the former choice consists in the fact that such new pasted layer doesn't come centered on the target image (as it would be convenient), whereas, on the contrary, every floating selection (when pasted) does.

as I said yesterday, this new-layer-from-clipboard workflow needs attention too. user efficiency (speed!) and flexibility are important here. one aspect (as Gino points out) is default placement of the paste on the new layer.

but in the majority of cases it will be in the 'wrong' position and it needs to be moved to be 'right'. so I think the new layer should appear with the paste floating on it in default position, ready to be moved and/or anchored. In this new layer scenario I think the controls for opacity and blend mode should not be there (on canvas) because the new layer will take care of that.

hmmm, thinking about it a bit more, this sounds like the solution is actually to have the new layer appear with the paste anchored in the default position, but with a selection around it active (same shape as used for floating paste) and the upcoming combined transform tool as active tool for moving, sizing and deforming.

but that is a thing for the future...

--ps

founder + principal interaction architect man + machine interface works

http://mmiworks.net/blog : on interaction architecture

Jason Simanek
2010-06-03 17:00:44 UTC (almost 14 years ago)

Gimp UX: Paste

On Thu, Jun 3, 2010 at 8:21 AM, peter sikking wrote:

Gino D wrote:
as I said yesterday, this new-layer-from-clipboard workflow needs attention too. user efficiency (speed!) and flexibility are important here. one aspect (as Gino points out) is default placement of the paste on the new layer.

I've already switched my keyboard shortcut Ctrl+V to be associated with 'paste as new layer' rather than the 'pasted selection' that is default. This works almost right but...

but in the majority of cases it will be in the 'wrong' position and it needs to be moved to be 'right'.

Paste to new layer currently pastes the copied pixels in the top-left. I think Gino suggested that it be changed to 'centered'. It sounds like you are saying it should be pasted to the exact location where it was copied from. I agree. The pasted pixels should end up exactly where I copied them from.

sounds like the solution is actually to have the new layer appear with the paste anchored in the default position, but with a selection around it active (same shape as used for floating paste) and the upcoming combined transform tool as active tool for moving, sizing and deforming.

Not sure about this. I actually think the selection should be removed. When you copy/paste text in a text editor the pasted result is just text, not 'selected' text. Besides, if the pasted result is on a new layer there should be no need for a selection. The entire layer is dedicated to the previously selected pixels, so you should be able to manipulate the layer without the need for the initial selection.

-Jason Simanek

peter sikking
2010-06-03 17:49:01 UTC (almost 14 years ago)

Gimp UX: Paste

Jason Simanek wrote:

but in the majority of cases it will be in the 'wrong' position and it needs to be moved to be 'right'.

Paste to new layer currently pastes the copied pixels in the top-left. I think Gino suggested that it be changed to 'centered'. It sounds like you are saying it should be pasted to the exact location where it was copied from. I agree. The pasted pixels should end up exactly where I copied them from.

moving it 'right' is a user thing, because GIMP cannot guess how the resulting art has to be. I have not made up my mind about the default but exact location (when available) sounds correct, else centred.

sounds like the solution is actually to have the new layer appear with the
paste anchored in the default position, but with a selection around it active (same shape as used for floating paste) and the upcoming combined transform tool as active tool for moving, sizing and deforming.

Not sure about this. I actually think the selection should be removed. When you copy/paste text in a text editor the pasted result is just text, not 'selected' text.

bad example, because there you set the cursor before the paste to control where the paste is inserted: total control. in GIMP there is no such thing. a paste is generally moved into position after pasting.

Besides, if the pasted result is on a new layer there should be no need for a selection. The entire layer is dedicated to the previously selected pixels, so you should be able to manipulate the layer without the need for the initial selection.

that's better. you are right about this.

--ps

founder + principal interaction architect man + machine interface works

http://mmiworks.net/blog : on interaction architecture

Chris Mohler
2010-06-03 18:02:28 UTC (almost 14 years ago)

Gimp UX: Paste

On Thu, Jun 3, 2010 at 4:00 PM, Jason Simanek wrote:

It sounds
like you are saying it should be pasted to the exact location where it was copied from. I agree. The pasted pixels should end up exactly where I copied them from.

From my own (user) perspective, I wholeheartedly agree: if possible,

paste the pixels exactly where they came from. That saves a lot of tedious nudging.

0.02,
Chris

Rob Antonishen
2010-06-03 19:45:12 UTC (almost 14 years ago)

Gimp UX: Paste

I've been following this with interest.

To play with it, I created a script: http://ffaat.pointclark.net/incoming/scripts/paste-as-new-centered.scm

It registers as Edit->Paste As->New Centered Layer

This script will paste the contents of the buffer as follows: - If there is a selection, it will paste it as a new layer, centered on that selection.
- If no selection, it will paste it as a new layer above the active layer, centered on the active layer. - If no active layer, it will paste it as a new layer at the top of the image stack, centered on the canvas.

I bound this to ctrl-v and played for a while and it feels pretty intuitive. One "feature" is that if you make a selection and go ctrl-x, ctrl-v it pastes the cut out bit exactly where it was cut out from, which makes sense.

Note that it will not do any clipping, and will always past the full contents of the clipboard buffer as a layer, regardles of selection , canvas, or active layer sizes.

-Rob A>

Sven Neumann
2010-06-03 21:46:38 UTC (almost 14 years ago)

Gimp UX: Paste

On Thu, 2010-06-03 at 13:45 -0400, Rob Antonishen wrote:

I bound this to ctrl-v and played for a while and it feels pretty intuitive. One "feature" is that if you make a selection and go ctrl-x, ctrl-v it pastes the cut out bit exactly where it was cut out from, which makes sense.

That is what GIMP has been doing all the time, right ?

Sven

Chris Mohler
2010-06-03 22:01:11 UTC (almost 14 years ago)

Gimp UX: Paste

On Thu, Jun 3, 2010 at 8:47 PM, Sven Neumann wrote:

I bound this to ctrl-v and played for a while and it feels pretty intuitive.  One "feature" is that if you make a selection and go ctrl-x, ctrl-v it pastes the cut out bit exactly where it was cut out from, which makes sense.

That is what GIMP has been doing all the time, right ?

Yes, as long as the selection remains.

Selecting nothing and copy+paste also pastes the layer in place - unless you select a layer with a different size before pasting. For example, copying a 300px wide layer, selecting a 600px wide layer and pasting centers the floating selection. I'd prefer it pasted in the original position in this case - but this is only my opinion.

Chris

Sven Neumann
2010-06-03 22:18:45 UTC (almost 14 years ago)

Gimp UX: Paste

On Thu, 2010-06-03 at 21:01 +0100, Chris Mohler wrote:

On Thu, Jun 3, 2010 at 8:47 PM, Sven Neumann wrote:

I bound this to ctrl-v and played for a while and it feels pretty intuitive. One "feature" is that if you make a selection and go ctrl-x, ctrl-v it pastes the cut out bit exactly where it was cut out from, which makes sense.

That is what GIMP has been doing all the time, right ?

Yes, as long as the selection remains.

Selecting nothing and copy+paste also pastes the layer in place - unless you select a layer with a different size before pasting. For example, copying a 300px wide layer, selecting a 600px wide layer and pasting centers the floating selection. I'd prefer it pasted in the original position in this case - but this is only my opinion.

Well, then we'd have to attach the original coordinates to the clipboard somehow. This information is not kept currently.

Sven

Rob Antonishen
2010-06-04 00:07:34 UTC (almost 14 years ago)

Gimp UX: Paste

Yes more or less. The script pastes as a layer not a floating layer. That is the big difference. And it provides the same alignment behaviour to the new layer which is not the behaviour of the current “paste as layer” (which aligns the new layer at 0,0.

-Rob A>

On 6/3/10, Sven Neumann wrote:

On Thu, 2010-06-03 at 13:45 -0400, Rob Antonishen wrote:

I bound this to ctrl-v and played for a while and it feels pretty intuitive. One "feature" is that if you make a selection and go ctrl-x, ctrl-v it pastes the cut out bit exactly where it was cut out from, which makes sense.

That is what GIMP has been doing all the time, right ?

Sven

Rob Antonishen
2010-06-04 04:48:09 UTC (almost 14 years ago)

Gimp UX: Paste

(Sorry for the top post. I was using gmail from my phone and it defaults to that and can't be turned off.... I don't even see what I am replying to but it sticks it there anyway...)

-Rob A>

Gino D
2010-06-04 13:10:32 UTC (almost 14 years ago)

Gimp UX: Paste

2010/6/3 Rob Antonishen :

I've been following this with interest.

To play with it, I created a script: http://ffaat.pointclark.net/incoming/scripts/paste-as-new-centered.scm

It registers as Edit->Paste As->New Centered Layer

-Rob A>

Thank you, Rob, for creating this useful script.

If I may, I would like to suggest a little improvement aimed to get rid of the only snag the script could encounter, occurring when the active drawable is a floating selection. Indeed, although the event of pasting into such a "quasi-layer" is surely rare and atypical, all the same this operation alters both the floating selection and the drawable it is attached to, since eventually the former will be anchored to the latter and its content replaced by the pasted object.

So, it might be worthwhile forcing the script to ignore floating selections, for instance with this initial condition:

(case (car (gimp-layer-is-floating-sel active-layer)) ((1)
(gimp-message "The script doesn't affect floating selections.") (quit)
)
)

In order to make the script effective even on any floating selection, another solution might be to transform at first this object into a layer (through the "gimp-floating-sel-to-layer" procedure), but the problem of this choice is that such procedure returns an error if the floating selection belongs to a channel or a layer mask.

Rob Antonishen
2010-06-04 17:11:59 UTC (almost 14 years ago)

Gimp UX: Paste

Thank you, Rob, for creating this useful script.

If I may, I would like to suggest a little improvement aimed to get

Thanks for the suggestion. I have added the check for floating selection.

Also, as a point, this can not replace the real ctrl-v as it can not paste stuff from the system clipboard. The pdb calls only work with the default gimp buffer and can not interact with the system copy/paste buffer as far as I can tell.

-Rob A>