Split Screen Editing

Hey all,

If I am in split screen and I’m dragging text from one screen to another (same page/text), how can I set it up so that the text is “moved” rather than just “copied.” Not having to go back to delete the text saves me a step? Any suggestions? Prolly I’m missing something very obvious. :blush:

Why don’t you just use cut and paste instead of drag? Am I missing something?
All the best,

Yep - you’re missing something. :slight_smile:

I tried this just now, and it appears very counter-intuitive to me that pulling a text-piece from one pane to another duplicates instead of simply moving the text.

But is this a big issue? Not to me…

Sorry, what am I missing?

When you drag text out of a text view, it puts that text on the pasteboard. It will only move it if it is then dropped in the same text view. Drop it into another, and it copies. It’s the same if you drag between two windows in TextEdit. As Scrivener just uses the OS X text engine, it does the same thing. To change the behaviour would mean the two text views “knowing” about each other and overriding the internals of the text system.

Given that cut and paste does exactly what is wanted, I don’t really see the issue.

I guess the issue is that when you drag and drop within the same document, it moves the text without duplicating it. So, when you’re moving a piece of text from one part of a split screen to another part, i.e. changing text views, in the same document, it shouldn’t be duplicated. But thats because I know I’m in the same document completely ignoring the fact of text views. :slight_smile:

But hey, cut&paste is fine, and now I’m aware of this behavior.

I’ll be quiet now.

No need to be quiet. :slight_smile: I do know what you mean, and you are right. The trouble is technical rather than conceptual - drag and drop is handled by the view rather than by the underlying text. Presumably Apple have some internal magic in the text view to know when it has pasted into itself, but I’m not quite sure how. When you drag something on OS X, all that happens is the view gets a message saying, “the user dragged something”. The view then looks at the mouse point and puts whatever was dragged on the dragging pasteboard. When a view receives a drop, it gets a message saying, “the user just dropped something”, and it looks on the dragging pasteboard and copies what is there. Now, it can determine the source of the drag, and presumably in the internal magic of the text view Apple have the text view check the source, and if it dragged from itself, it deletes the selected text that has just been dragged. But as far as I can see, this isn’t done in any of the public areas of code that developers have access to, so there’s nowhere for me to hook into and say, “actually, if it uses the same text delete it, too”. And in the case where the two text views have different content, it would be even more difficult, if not impossible, as the text view from which you drag the text never knows anything about the drop; it’s job is done when it puts the information onto the dragging pasteboard. So when you drop that text somewhere else, if it’s in a different text view, the original text view has no way of knowing about it.

Anyway, that’s the science bit. :slight_smile:

I get it.

Its interesting how many issues people here have with the way the Mac OS handles text. So many of the problems boil down to just this.

I suggest you get a t-shirt saying something along the lines of “Don’t blame me, blame the OS.”

Anyway - thanks for explaining - always enjoyable to get a human language version of a programming issue.

T-shirt might not be sufficient. Maybe a tattoo on the forehead, although that might be overkill. Maybe just add it to your signature. Something like

But that seems petty. sigh