Jump to content

Sequential Paste — Paste previous clipboard entries in order


Recommended Posts

Usage


Paste clipboard entries sequentially via the Hotkey or Snippet Trigger. Each call pastes the preceding clipboard entry.


Copying from the most recent item restarts if the last paste is older than the timeout minutes defined in the Workflow’s Configuration. A force reset can be triggered with the paste keyword by pressing ⌘⌥⌃↩.


paste.png


⤓ Install on the Alfred Gallery | Source

 

Link to comment
  • 1 year later...

Using 20.4 on Alfred 4.3.4 [1229] on the latest MacOS does not work for me even after disabling other workflows I thought might interfere.

The copy shortcut results in a randomized paste.

 

[13:58:06.029] Logging Started...
[13:58:23.150] SequentialPaste[Hotkey] Processing complete
[13:58:23.154] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:58:23.155] SequentialPaste[Arg and Vars] Processing complete
[13:58:23.155] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:58:23.245] SequentialPaste[Run Script] Processing complete
[13:58:23.247] SequentialPaste[Run Script] Passing output '0' to Conditional
[13:58:23.248] SequentialPaste[Conditional] Processing complete
[13:58:23.249] SequentialPaste[Conditional] Passing output '0' to Copy to Clipboard
[13:58:23.252] SequentialPaste[Copy to Clipboard] Processing complete
[13:58:23.253] SequentialPaste[Copy to Clipboard] Passing output '0' to Run Script
[13:58:36.479] SequentialPaste[Hotkey] Processing complete
[13:58:36.489] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:58:36.490] SequentialPaste[Arg and Vars] Processing complete
[13:58:36.491] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:58:36.516] SequentialPaste[Run Script] Processing complete
[13:58:36.523] SequentialPaste[Run Script] Passing output '1' to Conditional
[13:58:36.525] SequentialPaste[Conditional] Processing complete
[13:58:36.526] SequentialPaste[Conditional] Passing output '1' to Copy to Clipboard
[13:58:36.527] SequentialPaste[Copy to Clipboard] Processing complete
[13:58:36.528] SequentialPaste[Copy to Clipboard] Passing output '1' to Run Script
[13:58:40.862] SequentialPaste[Hotkey] Processing complete
[13:58:40.875] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:58:40.876] SequentialPaste[Arg and Vars] Processing complete
[13:58:40.877] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:58:40.943] SequentialPaste[Run Script] Processing complete
[13:58:40.954] SequentialPaste[Run Script] Passing output '2' to Conditional
[13:58:40.955] SequentialPaste[Conditional] Processing complete
[13:58:40.956] SequentialPaste[Conditional] Passing output '2' to Copy to Clipboard
[13:58:40.957] SequentialPaste[Copy to Clipboard] Processing complete
[13:58:40.957] SequentialPaste[Copy to Clipboard] Passing output '2' to Run Script
[13:58:43.637] SequentialPaste[Hotkey] Processing complete
[13:58:43.650] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:58:43.651] SequentialPaste[Arg and Vars] Processing complete
[13:58:43.652] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:58:43.714] SequentialPaste[Run Script] Processing complete
[13:58:43.715] SequentialPaste[Run Script] Passing output '3' to Conditional
[13:58:43.728] SequentialPaste[Conditional] Processing complete
[13:58:43.729] SequentialPaste[Conditional] Passing output '3' to Copy to Clipboard
[13:58:43.729] SequentialPaste[Copy to Clipboard] Processing complete
[13:58:43.730] SequentialPaste[Copy to Clipboard] Passing output '3' to Run Script
[13:59:25.283] SequentialPaste[Hotkey] Processing complete
[13:59:25.300] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:25.301] SequentialPaste[Arg and Vars] Processing complete
[13:59:25.302] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:59:25.360] SequentialPaste[Run Script] Processing complete
[13:59:25.361] SequentialPaste[Run Script] Passing output '4' to Conditional
[13:59:25.377] SequentialPaste[Conditional] Processing complete
[13:59:25.378] SequentialPaste[Conditional] Passing output '4' to Copy to Clipboard
[13:59:25.379] SequentialPaste[Copy to Clipboard] Processing complete
[13:59:25.379] SequentialPaste[Copy to Clipboard] Passing output '4' to Run Script
[13:59:26.764] SequentialPaste[Hotkey] Processing complete
[13:59:26.786] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:26.787] SequentialPaste[Arg and Vars] Processing complete
[13:59:26.788] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:59:26.841] SequentialPaste[Run Script] Processing complete
[13:59:26.860] SequentialPaste[Run Script] Passing output '5' to Conditional
[13:59:26.861] SequentialPaste[Conditional] Processing complete
[13:59:26.862] SequentialPaste[Conditional] Passing output '5' to Copy to Clipboard
[13:59:26.862] SequentialPaste[Copy to Clipboard] Processing complete
[13:59:26.863] SequentialPaste[Copy to Clipboard] Passing output '5' to Run Script
[13:59:29.547] SequentialPaste[Hotkey] Processing complete
[13:59:29.569] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:29.570] SequentialPaste[Arg and Vars] Processing complete
[13:59:29.570] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:59:29.623] SequentialPaste[Run Script] Processing complete
[13:59:29.624] SequentialPaste[Run Script] Passing output '6' to Conditional
[13:59:29.647] SequentialPaste[Conditional] Processing complete
[13:59:29.648] SequentialPaste[Conditional] Passing output '6' to Copy to Clipboard
[13:59:29.649] SequentialPaste[Copy to Clipboard] Processing complete
[13:59:29.649] SequentialPaste[Copy to Clipboard] Passing output '6' to Run Script
[13:59:33.212] SequentialPaste[Hotkey] Processing complete
[13:59:33.236] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:33.237] SequentialPaste[Arg and Vars] Processing complete
[13:59:33.238] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:59:33.288] SequentialPaste[Run Script] Processing complete
[13:59:33.289] SequentialPaste[Run Script] Passing output '7' to Conditional
[13:59:33.315] SequentialPaste[Conditional] Processing complete
[13:59:33.316] SequentialPaste[Conditional] Passing output '7' to Copy to Clipboard
[13:59:33.316] SequentialPaste[Copy to Clipboard] Processing complete
[13:59:33.317] SequentialPaste[Copy to Clipboard] Passing output '7' to Run Script
[13:59:55.075] SequentialPaste[Hotkey] Processing complete
[13:59:55.107] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:55.108] SequentialPaste[Arg and Vars] Processing complete
[13:59:55.109] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[13:59:55.109] SequentialPaste[Run Script] Processing complete
[13:59:55.110] SequentialPaste[Run Script] Passing output '8' to Conditional
[13:59:55.111] SequentialPaste[Conditional] Processing complete
[13:59:55.112] SequentialPaste[Conditional] Passing output '8' to Copy to Clipboard
[13:59:55.112] SequentialPaste[Copy to Clipboard] Processing complete
[13:59:55.113] SequentialPaste[Copy to Clipboard] Passing output '8' to Run Script
[13:59:59.932] SequentialPaste[Hotkey] Processing complete
[13:59:59.938] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[13:59:59.939] SequentialPaste[Arg and Vars] Processing complete
[13:59:59.939] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[14:00:00.008] SequentialPaste[Run Script] Processing complete
[14:00:00.016] SequentialPaste[Run Script] Passing output '9' to Conditional
[14:00:00.017] SequentialPaste[Conditional] Processing complete
[14:00:00.017] SequentialPaste[Conditional] Passing output '9' to Copy to Clipboard
[14:00:00.018] SequentialPaste[Copy to Clipboard] Processing complete
[14:00:00.019] SequentialPaste[Copy to Clipboard] Passing output '9' to Run Script
[14:00:24.043] SequentialPaste[Hotkey] Processing complete
[14:00:24.055] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[14:00:24.057] SequentialPaste[Arg and Vars] Processing complete
[14:00:24.058] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[14:00:24.119] SequentialPaste[Run Script] Processing complete
[14:00:24.131] SequentialPaste[Run Script] Passing output '10' to Conditional
[14:00:24.132] SequentialPaste[Conditional] Processing complete
[14:00:24.133] SequentialPaste[Conditional] Passing output '10' to Copy to Clipboard
[14:00:24.134] SequentialPaste[Copy to Clipboard] Processing complete
[14:00:24.135] SequentialPaste[Copy to Clipboard] Passing output '10' to Run Script
[14:00:27.169] SequentialPaste[Hotkey] Processing complete
[14:00:27.185] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[14:00:27.186] SequentialPaste[Arg and Vars] Processing complete
[14:00:27.186] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[14:00:27.246] SequentialPaste[Run Script] Processing complete
[14:00:27.262] SequentialPaste[Run Script] Passing output '11' to Conditional
[14:00:27.263] SequentialPaste[Conditional] Processing complete
[14:00:27.264] SequentialPaste[Conditional] Passing output '11' to Copy to Clipboard
[14:00:27.265] SequentialPaste[Copy to Clipboard] Processing complete
[14:00:27.265] SequentialPaste[Copy to Clipboard] Passing output '11' to Run Script
[14:03:03.045] SequentialPaste[Hotkey] Processing complete
[14:03:03.063] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[14:03:03.064] SequentialPaste[Arg and Vars] Processing complete
[14:03:03.065] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[14:03:03.066] SequentialPaste[Run Script] Processing complete
[14:03:03.067] SequentialPaste[Run Script] Passing output '0' to Conditional
[14:03:03.068] SequentialPaste[Conditional] Processing complete
[14:03:03.068] SequentialPaste[Conditional] Passing output '0' to Copy to Clipboard
[14:03:03.069] SequentialPaste[Copy to Clipboard] Processing complete
[14:03:03.070] SequentialPaste[Copy to Clipboard] Passing output '0' to Run Script
[14:03:10.550] SequentialPaste[Hotkey] Processing complete
[14:03:10.569] SequentialPaste[Hotkey] Passing output '' to Arg and Vars
[14:03:10.570] SequentialPaste[Arg and Vars] Processing complete
[14:03:10.570] SequentialPaste[Arg and Vars] Passing output '' to Run Script
[14:03:10.626] SequentialPaste[Run Script] Processing complete
[14:03:10.627] SequentialPaste[Run Script] Passing output '1' to Conditional
[14:03:10.649] SequentialPaste[Conditional] Processing complete
[14:03:10.650] SequentialPaste[Conditional] Passing output '1' to Copy to Clipboard
[14:03:10.650] SequentialPaste[Copy to Clipboard] Processing complete
[14:03:10.651] SequentialPaste[Copy to Clipboard] Passing output '1' to Run Script

 

Link to comment
1 minute ago, Mindstormer said:

on the latest MacOS

 

When debugging, never say “latest” but always the exact version. With “latest” I don’t know if you mean the latest beta or stable version, nor do I know if you’re really on the newest version. You may think you’re up to date but be mistaken, or might be a version behind because the auto-update hasn’t kicked yet, or I may be on what I think is the latest version but isn’t, or a multitude of other reasons. “Latest” also makes it difficult for people who face the same issue later on and find the conversation, as they’ll have no idea if their version matches the one in the report.

 

Either way, everything looks fine from your debug log and the Workflow is too simple to be messing anything up in the way you describe. The problem could be somewhere in how Alfred handles {clipboard}, but I seriously doubt it. I could ask you to share your Clipboard data, but I don’t want access to any private information.


In the other post you mentioned:

 

On 5/11/2021 at 2:01 PM, Mindstormer said:

Not working for me on big sur. It pastes a variation of "Image: 19x32 (7.7 KB)" no matter what regular text I copy.

 

But that’s not necessarily wrong. It just means the data you had at that point was an image in your clipboard.

 

15 minutes ago, Mindstormer said:

The copy shortcut results in a randomized paste.

 

It’s more likely that you’re not understanding why something was picked than the order having been randomised.

 

You’re the only one experiencing this issue, so I recommend you look closely at your Alfred clipboard history and compare it with the results of the Workflow. This does not seem to be a bug.

Link to comment
6 hours ago, vitor said:

 

When debugging, never say “latest” but always the exact version. With “latest” I don’t know if you mean the latest beta or stable version, nor do I know if you’re really on the newest version. You may think you’re up to date but be mistaken, or might be a version behind because the auto-update hasn’t kicked yet, or I may be on what I think is the latest version but isn’t, or a multitude of other reasons. “Latest” also makes it difficult for people who face the same issue later on and find the conversation, as they’ll have no idea if their version matches the one in the report.

 

Either way, everything looks fine from your debug log and the Workflow is too simple to be messing anything up in the way you describe. The problem could be somewhere in how Alfred handles {clipboard}, but I seriously doubt it. I could ask you to share your Clipboard data, but I don’t want access to any private information.


In the other post you mentioned:

 

 

But that’s not necessarily wrong. It just means the data you had at that point was an image in your clipboard.

 

 

It’s more likely that you’re not understanding why something was picked than the order having been randomised.

 

You’re the only one experiencing this issue, so I recommend you look closely at your Alfred clipboard history and compare it with the results of the Workflow. This does not seem to be a bug.

Yeah, it does seem unusual. Here's a video clip of what's happening: https://drive.google.com/file/d/1ipy1--C0xPkvWFHX5dffajQdbpD-B6Zt/view

Link to comment

Good video! But that’s also behaving as expected. You cleaned the clipboard before the test, but did not wait the time (default 2 minutes) for the counter to reset. Notice how the debugger shows a counter in the thirties while you only copied three items. So there’s nothing to paste (because you don’t have items that far back). If you’re using the shortcut which adds a newline, there’s the behaviour.


For it to be a real test, you need to run :sequentialpasteresetcount beforehand, to ensure the counter starts from zero (your most recent copy).

Link to comment

Wait, you’re running the shortcut to copy the lines? No, you copy as usual, you only use the shortcut to paste!

 

And they’re separate shortcuts, you typically use one or the other. The only difference is that the top one adds a new line after pasting, while the bottom one doesn’t.

Link to comment

Haha, and just like that, it works like a charm! Thanks for the explanation.

 

Though, it seems to be pasting in reverse sequence to the most recent copies with cmd+c. So when I copy test 1, test 2, test 3, it pastes test 3, test 2, test 1.

Is there a way to have it paste in the same sequence copied within the last x amount of time like pastebot?

Edited by Mindstormer
Link to comment
Just now, Mindstormer said:

Is there a way to have it paste in the same sequence copied within the last x amount of time?

 

No. The whole point is that you don’t have to care when you copied something; that way you can paste ad-infinitum. If you know you’re going to paste a set of stuff in a certain order, copy them in reverse.

Link to comment
2 minutes ago, vitor said:

 

No. The whole point is that you don’t have to care when you copied something; that way you can paste ad-infinitum. If you know you’re going to paste a set of stuff in a certain order, copy them in reverse.

That's what I figured. I'm just used to seeing the option in pastebot I guess.

Shift tabbing backward through cells isn't too rough and I imagine that could be tricky to configure since you would have to have a trigger shortcut to tell it to start counting a forward copy sequence.

Link to comment
3 minutes ago, Mindstormer said:

and I imagine that could be tricky to configure since you would have to have a trigger shortcut to tell it to start counting a forward copy sequence.

 

Precisely. It’s also important to note this Workflow started as a way to scratch someone else’s itch. It’s a free plugin built to fit the paradigms and capabilities of its host tool (Alfred), while Pastebot is a full-fledged standalone commercial app.

Link to comment
5 minutes ago, vitor said:

 

Precisely. It’s also important to note this Workflow started as a way to scratch someone else’s itch. It’s a free plugin built to fit the paradigms and capabilities of its host tool (Alfred), while Pastebot is a full-fledged standalone commercial app.

Yeah, I get that. And this workflow basically covers that one feature which is all I was looking for anyway. Much appreciated!

Edited by Mindstormer
Link to comment

I love this, thanks so much for sharing. I've been having issues trying to copy-and-match style hyperlinks in the right font (i.e. not Calibri) in Outlook with hyperlinks on my clipboard, and this is accelerating my workaround of manually editing the hyperlink. 

Link to comment
  • vitor changed the title to Sequential Paste — Paste previous clipboard entries in order
  • 7 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...