Problems Copying a Picture, Shrinking It, and Pasting It

Ohh. I'm just a young greenhorn, compared to you:
Skærmbillede 2023-09-02 kl. 21.49.01

But anyway, I guess I have saved tons of clicks, and without KM I could NOT have ventured into these 'facts gatherings', I run now.
And it is interesting, for me, to overcome (to a certain degree :rofl:) my resitance to try something new, in this respect, rather than simply mimicing mouseclicks in my macros :+1: :muscle:

one of the sideeffects are that some projects now are slimming by a factor of 50%. (the tiffle effect)This is very fine, when talking 25 GB+

:beers:

GreyT

2 Likes

My curiosity got the better of me about Time saved: ... but I have not found out how this is calculated!!!
I mean 42 days... compared to 126 years :eyes:

GreyT

Yes - ridiculous :rofl: This is what Peter says:

My guess is you can easily double it with a couple of these: :beers:

1 Like

Jiminy

Eating the elephant, slice by sclice :beers:
To better/really quantify the benefit (for me) on using the two macros, I have taken a live, 2023 project, and startet to run every document thought the steps.
Frankly I am amazed...

Before the 'live' project contained 1.538 documents (7.720 pages) and 4.75 GB

Now, at about 60% of documents done the numbers are:
1.558 documents (7.776 pages) and ONLY 2.85 GB. :partying_face:

To check in between I used Finder to peek into the project package, searching for content.rtf and can only marvel over the "Shrinkage" of the larger documents, having (many) photos of say 2048 1536 pix, and the document slimmed down from 50MB to 5MB.

It is delightful for me to know, that when I run the 2 macros, now, all info is preserved... and disk space / time to search/process/save is being optimized
:beers: :beers:
GreyT

2 Likes

Blimey!

Are these all Scrivener documents? If they are you might want to tell your story on the Literature & Latte forum and mention what a good combination Scrivener and Keyboard Maestro make :handshake:

Whether or not you do that, it’s brilliant you’re seeing the benefit of them rolling in!

Great stuff :slightly_smiling_face:

On the homerun now, just 98 documents to go, in this "Live project". I must take a break for eyes as well as fingers, but the end result is looking marvelous:
Before: 1.538 documents (7.720 pages) and 4.75 GB
Now: 1.580 documents (7.849 pages) and 2.45 GB
And all information, text and visuals are maintained.
:beers:
Have also adjusted hotkeys to a very useful fingerfriendly dance:
Skærmbillede 2023-09-14 kl. 14.32.52
where the last one is entering the message "Foto-Trimmed" into the metadata field "Event Arc", why? Well because this is my sort criteria, for this exercise :nerd_face:

Later I'll post my findings in the Scrivener forum as you suggested.
:+1:

2 Likes

Done... :muscle:

1.582 documents (7.856 pages) and 2.41 GB

:+1: KM Rocks :+1:
:partying_face: :beers: :partying_face:

1 Like

Many clicks later, I have a question to you:
is it possible to "ignore mouse-movements" while the combined macro is running?

just a tiny movement, like moving the mouse simply to make room for my :coffee:, will offset the pointer somewhat, and that will goof the insertion point for the text: "Trimmed by macro..." ???
When it happens it requires me to do a number of cmd Z to 'undo'

GreyT

I'm afraid not :slightly_frowning_face:

Hello - I’m very late to this discussion but maybe I can give some advice here, too …

Palle (@Palle_GreyT) what @tiffle just said on this is absolutely right … you can’t get KM to ignore any input like mouse movements - but there are two options you have

One is an application that blocks all peripheral devices and only listens to one specific shortcut for bringing everything up to usability again by pressing this one shortcut …. I am not going to tell you which one because there are many of them out there and I forgot about their names … :see_no_evil:

Another is a complex workaround with asynchronous loops of read store and recall stored mouse positions during the whole work that KM is doing for you since km would have to know what exactly happened to the mouse to catch up on mouse movements you did during the whole process… but that would be very much work to do for you ….

And by the way … love this discussion here … learned a lot about resizing images with KMs native actions just from this topic …

Greetings from Germany :de:

Tobias

Hi @Nr.5-need_input
thanks for your input... the unintended mouse action is really a result of "slow macro combination"... that is, when I started with the original from @tiffle it worked fine with the delayvalues he suggested, then in some instance (probably schrinking very large images took a bit longer and the macro failed...) so I increased the delayvalue, and not being so patient I did it for all delays, thus the macro got slow(ish) and then I moved the mouse when I thought is should be ready :slight_smile: ...
So maybe I will simply add a spoken text, at the start like this: "Keep OFF the mouse... SpeedyGonzales"

Ah okay I got it … there is another thing you can do … call an asynchronous loop of just showing and hiding a Palette with one macro that has this sentence as name … the macro self doesn’t need any actions …

And let the macro end the loop when the work is done …. If you give the palette the right size and color it should be a nice indicator for a running process because it blinks on your screen all the time until the end. There is a discussion about this on this forum already… but I don’t remember the name of the topic currently…

This could also be a help for you I think :thinking:

Greetings from Germany :de:

Tobias

It seems that the booming voice advising me to keep off the mouse helps my twitching fingers ... on that "I'll rest my case" (pun intended)

GreyT

Visit this… it should get you going ….
Wait Indicator Macro Example by JMichaelTX

1 Like

I will... later... until then it wil have to Wait :rofl:

As my final input, I have moved the Spoken words to the end of the macro: "Mouse is free"... in this way the 'waiting' comes naturaly and not depending on where my eyes may roam...

GreyT

Hello :wave:

Thanks for letting me/us know about what you decided to do …

One last tip though… I advise you for other workflows to keep my suggestions in mind … I have many situations like yours where I use either one or a combination of them to keep me reminded about it whether I can move my mouse or do something else or if it’s better to wait … in this exact manner … it saved me bacon’s every time…

Greetings from Germany :de:

Tobias

1 Like

Notwithstanding @Nr.5-need_input’s useful input I’m pretty lazy in circumstances like this so I just put an action that plays a distinctive sound at the end of such macros. Still, I sometimes forget to wait and I’ll move the mouse or switch to another app and screw up the macro. That’s why I always look for an alternative to using an app’s user interface - such as AppleScript or JXA - but of course that’s not always possible or, more likely, beyond my skill to implement :person_shrugging:

2 Likes

Thanks Taj (@tiffle) for praising me for my input….

I know exactly what you’re talking about by speaking of being pretty lazy in circumstances like this… - I was often very lazy in developing on my macros, too … but since then I do as much as I can to prevent my laziness taking affect when I am writing a complex macro by asking myself about what could happen and inserting predefined actions based on a dynamic template …

A little background from my time back as a student for CNC-Machine-Programming: When I was learning to program CNC-Milling-Machines my teachers told me to only be lazy in programming when I have everything checked and have my sub programming ready for it to just implement these so that I don’t have to be worried about what could happen because in five axis programming there will happen a horrible crash to the machine when you have told the machine to go somewhere where it is able to but should not to do so … it just happens in a fraction of a second and could cost thousands of Euros or dollars …

My advice here - find a good way for implementing the worst possible things that could happen and figure out how to catch up on these things … and while you are Programming… why not use automation to implement them and being lazy this way ?!

I hope this helps and gives some insight on how I think Mac automation should be done

Have a great day

Greetings from Germany :de:

Tobias

1 Like