Jump to content

dfay

Member
  • Posts

    1,054
  • Joined

  • Last visited

  • Days Won

    62

Posts posted by dfay

  1. Just got this same error message (and applied the same fix, using a Run Script action) working on an AppleScript for Microsoft Word.  Chances are its an artifact of the MS code base being 15+ years old at this point -- supposedly Office 2016 was a complete rewrite in Cocoa but it looks like there's still some Carbon deep down in there.

  2. Re #1 & 2 -- I've written a URL handler to allow creating a new Ulysses sheet that will subsequently be linked to a record in BibDesk -- the URL handler responds to ulbd:// and adds the newly created sheet to BibDesk -- but I've never changed it since (got it right the first time ;) ) so I'm not sure whether updating would break anything.  But...registering the URL handler is entirely done within the app bundle ( see http://www.macosautomation.com/applescript/linktrigger/index.html ) so I think if that app bundle was contained within the workflow directory and updated / replaced along with new versions of the workflow, the updating shouldn't be an issue. 

     

    re: 3-5 -- moving groups and sheets around doesn't seem to change the IDs in Ulysses as far as I've observed, so I think one would just need to capture the group ID once.  Or are you saying you want to have an inbox sheet (with its own ID) for a group (with its own ID)?  In that case the inbox sheet could be separated from the group if the user rearranged stuff....  My use pattern is to just use the one Inbox and file stuff from there, so separate inboxes per group are outside my normal usage.

     

     There's also the possibility of using paths instead of IDs with groups but that seems rather error-prone.

     

     

     

  3. OK I see what you're saying.  You want to act on the selected text but perhaps change the query later and have save the changed query.

     

    You're going to have to write a custom script filter that saves the query in a file every time and then runs the search.

     

    Running the search is pretty easy -- you can do it in bash using mdfind (the command-line interface for Spotlight) and it should be blazing fast since Spotlight does the heavy lifting. 

     

    mdfind 'kMDItemTextContent == "*{query}*" && kMDItemContentType = "com.mindnode.mindnode.mindmap"' -onlyin ~/Library/Mobile\ Documents/W6L39UYL6Z~com~mindnode~MindNode/Documents

     

    That will return a list of results.  You just need to hook it together with the programming language and Alfred workflow library of your choice :)

  4. what are you trying to accomplish? The answer is right there in the other thread, pipe it to the clipboard.  Or just hit command-A command-C and copy it.  Or if you really don't want it on the clipboard, you can write it to a file.  But I'd recommend just using the clipboard and your clipboard history (in Alfred or elsewhere -- I prefer Copied).

     

    If you're looking for an example of a script filter that produces an actionable list of files, see 

     

  5. Also if you want to go further here is a whole command-line time calculator library I wrote in python some years ago.  The code above does the conversion to minutes rather than seconds but it's basically the same as the input_time, to_seconds and base_time functionality below.

     

    def to_seconds(i):
    	seconds=int(i[2])+(int(i[1])*60)+(int(i[0]) * 60 * 60)
    	return seconds
    	
    def from_seconds(raw_seconds):
    	seconds=abs(int(raw_seconds))
    	minutes=0
    	hours=0
    	while seconds > 59:
    		seconds=seconds-60
    		minutes=minutes+1
    	while minutes > 59:
    		minutes=minutes-60
    		hours=hours+1
    	if raw_seconds<0:
    		hours=hours*-1
    	return [str(hours), str(minutes), str(seconds)]
    
    def input_time():
    	time = raw_input('enter time in h:m:s format: ')
    	time_list=time.split(":")
    	return time_list
    
    def add(base_time):
    	increase=input_time()
    	return(from_seconds(to_seconds(base_time)+to_seconds(increase)))	
    
    def subtract(base_time):
    	decrease=input_time()
    	return(from_seconds(to_seconds(base_time)-to_seconds(decrease)))
    	
    def multiply(base_time, multiplier):
    	return(from_seconds(to_seconds(base_time)*multiplier))
    
    def divide(base_time, divisor):
    	return(from_seconds(to_seconds(base_time)/divisor))
    
    def milePaceToKMPace(mile_pace):
    	return(multiply(mile_pace,0.621371))
    	
    def kmPacetoMilePace(km_pace):
    	return(multiply(km_pace,1.609343994))
    
    def decimal_equivalent(base_time):
    	return(to_seconds(base_time)/3600.0)
    	
    def negative(base_time):
    	return(multiply(base_time,-1))
    
    def display_time(i):
    	if len (i[1])==1:
    		i[1]="0"+i[1]
    	if len (i[2])==1:
    		i[2]="0"+i[2]
    	print i[0]+":"+i[1]+":"+i[2]

     

  6. I used Gemini 2 a lot about a year ago when I replaced the mechanical HD on my iMac with an SSD and 2nd HD, and cleaned up several hundred GB of photos in the process.  It worked fine for me but I switched to using SnapSelect for photos since it does fuzzy matching of similar but not identical photos.  No complaints with Gemini 2, though.  The bigger trick is to set up your work process so you don't end up with dupes in the first place ;)

×
×
  • Create New...