Add paste (and copy) to right-click menu

Now that we've got copy (to clipboard) as a right-click option on reporters
image

would it now be possible to have a corresponding paste into slots?

image
[edit]5Nov and a copy option as well please? :slight_smile:
image

ctrl+v doesn't work?

Yes :slight_smile:
But I'd prefer to not have to use the keyboard :slight_smile:

Can't you use the browser's Edit menu paste option?

No, because snap disables the browser edit menu.

Not on my computer. (MacOS, Chrome) It disconnects the hotkeys from that menu, but the menu itself works for me.

Doesn't work for me on Linux Mint/Vivaldi

It does work on Chrome but I have to click on the 3 dots top right, then click on Find and Edit and then finally select Paste

Even a keyboard agnostic user like me is going to use ctrl-v :slight_smile:

Huh. You don't have a menu bar?

No :frowning:

I can see from your screenshot that it would be trivial in MacOS - unfortunately I'm not that rich :slight_smile:

On Chrome@Windows there is a triple dot menu with Search & Edit menu.

So how many mouse movements do you have to do to paste a value into a Snap slot?

On Chrome in Linux Mint it is 4 - select slot, select 3 dots, select Find and edit, select paste

Not very convenient compared to right-click, paste :slight_smile:

It's one more click than on the Mac...
I'm not insisting that it's convenient. Just doable.
Edited.

User script - context menu 'paste/copy', no selection, whole input

// ==UserScript==
// @name         Snap! Copy/Paste menu
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Snap! copy/paste menu
// @author       DarDoro@Snap || Snap
// @match        https://snap.berkeley.edu/snap/snap.html
// @icon
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

InputSlotMorph.prototype._userMenu ||= InputSlotMorph.prototype.userMenu;

if(! navigator.clipboard) return;

InputSlotMorph.prototype.userMenu = function(){
  let menu = this._userMenu();
  let _this = this;

  menu.addItem(
    "paste"
    ,async function(){ _this.userSetContents( await navigator.clipboard.readText())}
  );
  menu.addItem(
    "copy"
    ,function(){ navigator.clipboard.writeText( _this.contents?.()?.text)}
  );

  return menu;
}

})();

pressing alt usually brings up the hidden menu bar on linux and windows

Not for me, and I'm on windows.

what browser are you using? i probably should have mentioned im using firefox

I'm using brave, which uses chromium.

ive done it on windows too, it might be a firefox only thing, not sure

I just tested, and in chrome, alt just focuses on the settings menu, except when I'm in snap. In snap, pressing alt does nothing. Strangely the context menu key on my keyboard also doesn't work in snap (it works everywhere else).

I also decided to test out firefox, and yeah, firefox does show the menubar when I press alt, only if I'm not in snap.

It just looks like snap takes over the alt and context menu keys, otherwise these would be fine alternatives (although I think it would still be better to add copy/paste to the snap text context menu).

Excellent work as always with that userscript :slight_smile:

Could you add copy as well please?

Note to Jens - would still like a native method

How did you attach a video?