View Single Post
Old 12-15-2012, 05:05 AM
schferk schferk is online now
Registered User
Join Date: 11-02-2010
Posts: 151
A necessary correction of my above macro:


I do all my maps in the all-directional style, but not clockwise (as MM does then automatically), but (by rearranging topics) left from top to down, then right from top to down. Now the arrow keys don't function in any "topic order" way (= creation order, or "re-numbered" order), but just as you see these topics, i.e. if another topic, in the map you see, is beneath your current topic, you'll get to it by pressing the down arrow, etc. The same goes for repeated arrow key pressing when there are (not only main, but) second-level topics: arrow key pressing will get there, instead of just travelling within the main topics.

Now for the dashboards. Here, such an all-directional ordering would create a situation where your macro wouldn't "know" how to get to a specific main topic (that will become the "parent" of your to-be-pasted actionable). So, branch style will be "to the right", and then, any new main topic will be placed under the previous one (with manual rearrangement by control-alt-up/down-arrow).

Now, for selecting your target, you select the central topic (0 level), then do ONE right-arrow, which gets you to the first main topic (1 level), and then, you do the necessary amount of DOWN arrows, in order to get to your target main topic (and then paste as "child").


As said above, most other possible tries to get to your target main topic would cause much more visual and procedural fuss (e.g. opening of the search pane, etc.), but then, you CAN apply another method:

- select the central topic
- control-f
- entry #3
- return
= This will search for #3 within your dashboard map; note you'll get into trouble here if any of your imported copies will also be "coded" with that #3, and note you can't but search for such text codes, not for symbols. On the other hand, "symbol 3" in your "working maps" could be equivalent to "textcode #3" in your dashboard, so technically, it's perfectly possible to have, in your macro, such a transposition table, i.e. not a transposition table "how many down arrow key pressings", but a case structure for what #x to be searched for.
- escape ( to close the find dialog, not to be mixed-up with the search field, for more advanced searching)
- return (in order to revert focus from the text of the target topic back to the target topic itself!)
- control-v


Quite handy in such a scheme is the fact that your copies will bear a symbol, whilst your target main topics will bear the same symbol. So, if any copy has been placed beneath the wrong target main topic, its symbol will clearly show the misplacement of the copied topic - the same as with color coding within a range of lever files and such.


In many cases, you'll probably muse if you are to copy just ONE sub-topic to your dashboard, or if you better copy a whole sub-structure to your dashboard, where there are two or more such "actionables" within the perhaps 3, 4, 5, 6 subtopics there (and where the "parent" topic itself isn't an "actionable").

Do it whenever it makes sense: Do it when these "actionables" within this little structure are similar, i.e. all coded "3" or perhaps 2 "3" and 1 "4", the "4" being similar to the "3" category: The "wrong" symbol here will show that the one "4" subtopic there doesn't really "belong" to the "3" actionables in your dashboard, but it will be near the neighbouring "4" structure, so it seems that this will be absolutely acceptable.

Even with non-neighboring codes, this could be an alternative to not copying the whole sub-structure (= 5 or 6 such sub-topics held together by their common parent / great-parent) but only the 3 or 4 different actionables there, each separately: Especially if your dashboard doesn't get too convoluted: These dashboards are about practicability, not about 100 p.c. correct taxonomy. Of course, the different actionables here should be clearly distinguished by their respective symbols, in order for such a "slightly displaced" actionable not getting "lost" resp. "forgotten".

ad b)

As hinted at above, ONE macro processing a dozen or so different symbols, by checking a repetitive if / else if structure (in AHK, or a "conditions" structure in other scripting languages), would be MUCH more practical than 12 different and very similar macros, for 12 different "action" symbols, and this means your macro would be triggered by F7, e.g., and then you'd press any of your a...z keys once in order to tell the macro which symbol is to be placed within the current topic - and this will also determine the respective target topic in the dashboard.

The same will apply (cf. my post above) when you "distribute" pre-coded topics in your working maps, i.e. when they bear some provisional symbol (= "has to BE copied to ..."): This symbol will be replaced by the definite symbol (= "has BEEN copied to ..."), and further processing as usual. This means, if you work this way, with pre-coding instead of copying at once, early in the planning stage, your macro should contain a first command "delete any existing symbol first" - in MM that would be control-0.

As you see, such an external macro is easy and reliable (your dashboards should always be loaded, of course, but if they are not, AHK provides for the respective wait command in order for them to be loaded first, instead of getting macros running wild), even if it's external, as said, just put upon MM or another mm sw, instead of being "burnt" into it. Advantage here: You only need to know ONE scripting language, for ALL your needs, and you won't have to learn a new macro language for every application you try to domesticate to your needs.


As for the two-key macro triggering, it goes without saying that for copying to action topics you need again and again, you could assign just ONE-key macros to these commands you need more frequently; here, F7 with then a...z, but F8...F12 for one-key copying, and / or why not F7 and F8 for copying with then groups of a...z targets, but just F7 and F8 for frequent, standard target, whenever after the F7 or F8 key pressing, there is NO such a...z key pressing within a second (AHK allows for such time frames without any problem, whilst in AI, that would be much more complicated, but is also possible, with a gui construction). Variant: F7 and F8 with no further key pressing within 600 ms = your must-used target assignments, F7 and F8 two times in a row within 600 ms = two more very frequently used targets, and F7 plus a...z within 600 ms = further targets: This way, at least 4 targets are very handy, and that should be all you need most of the time. It goes without saying, that here, the scope would be within MM, but that on a much more general level, you could have such shortkeys with scope UR, e.g., in order to copy - just an idea - the title, and the very first paragraph of the content, of your current UR item into such an MM (or any other) dashboard. (Also, for pre-determined targets within your UR structure, for clippings, those same F7 / F8 keys working in a similar way when your current scope is your browser. As I said before, the functionally-similar (but technically necessarily totally different) assignment of the same keys, within different scopes, is the key to good macro programming: The same keys, in different applics, will have similar effect.

The AHK command that ensures your macros not running amok, is, here, winwait("Ultra Recall - NameOfYourTargetItem"), so any possible response time from UR will not become a technical problem - it just remains a psychological one. And, as said before, internal macros would possibly be able to work without all these unwanted screen updates, whilst our external macros do lots of screen flashing: they are effective, but they ain't beautiful - and they need much more time than internal macros would ask for: another big argument for better in-built functionality of the applics we buy.

Last edited by schferk; 12-15-2012 at 05:38 AM.
Reply With Quote