This is what I came up with: on run -- open this project tell application "BBEdit" open "full:path:to:project.bbprojectd" end tell -- open CodeKit tell application "CodeKit" launch end tell -- open Github Desktop tell application "Github Desktop" launch end tell -- open Transmit tell application "Transmit" launch end tell end run
On Monday, January 23, 2017 at 7:08:38 AM UTC-8, Greg Raven wrote: > > Chris, > > Thanks for all of this. > > I, too, have had difficulties getting attachment scripts to work, which is > one reason why I was asking if anyone else had an approach to this. So far, > I'm not able to get your script to work, but it might be a path issue. > > I often open the first project of the day by double-clicking the > .bbprojectd file in the Finder, so what I think I'll do for now is to > create an AppleScript application that opens the .bbprojectd file (which > will also open BBEdit, of course), and then open CodeKit, Github Desktop, > and Transmit. It will be crude, but it should get me where I want to go. > > On Sunday, January 22, 2017 at 11:08:20 PM UTC-8, Christopher Stone wrote: >> >> On Jan 22, 2017, at 15:59, Greg Raven <[email protected]> wrote: >> >> When opening one of my website projects, I would like BBEdit >> automatically to open CodeKit, Github Desktop, and Transmit. I've tried a >> couple approaches, but no joy so far. >> >> ------------------------------ >> >> Hey Greg, >> >> See “Document attachment points” and “Using Attachment Scripts” in >> the BBEdit manual. >> >> See also this post by yours truly: >> >> https://groups.google.com/d/msg/bbedit/EAM5uhEvCcc/ZZvb5GC8AgAJ >> >> I've posted about attachment scripts before, so you might be able to find >> even more material. >> >> I haven't fooled with a “documentDidOpen” script for a while, and I must >> warn you that when I initially experimented with attachment scripts it was >> quite a chore getting them to work properly. >> >> Oh, well. In for a penny... >> >> Here you go: >> >> Script name MUST be: >> >> Document.documentDidOpen.scpt >> >> Script path MUST be: >> >> ~/Library/Application Support/BBEdit/Attachment >> Scripts/Document.documentDidOpen.scpt >> >> The internals of the script are reasonably self-explanatory or documented. >> >> Change projectFileAlias to correctly point to your project file (note >> it's an *alias* – do NOT use a POSIX Path). >> >> Change the items listed in variable appList to alter what apps are >> launched. >> >> >> ------------------------------------------------------------------------------------------- >> # Auth: Christopher Stone >> # dCre: 2017/01/22 23:00 >> # dMod: 2017/01/23 00:56 >> # Appl: BBEdit >> # Task: Attachment script using “documentDidOpen” event – launches apps >> if opened doc matches criteria. >> # Libs: None >> # Osax: None >> # Tags: @Applescript, @Script, @Attachment, @documentDidOpen, @Event, >> @Launches, @Apps >> >> ------------------------------------------------------------------------------------------- >> >> *using terms from* *application* "BBEdit" >> >> >> # Attachment handler for “documentDidOpen” event: >> *on* documentDidOpen(openedDocument) >> >> >> # Alias of project file we want to check for: >> *set* projectFileAlias *to* *alias* ((*path to* *documents folder* >> as *text*) & "BBEdit Projects:INFO-PROJECT.bbprojectd:") >> >> >> # List of application names we want to launch if opened document >> matches “fileAlias”: >> *set* appList *to* {"CodeKit", "Github Desktop", "Transmit"} >> >> >> # Filter to prevent script from running twice. >> *if* *class* *of* openedDocument = *project document* *and* name >> *of* openedDocument's *window* *ends with* "bbprojectd" *then* >> >> >> *set* openedDocumentAlias *to* *file* *of* openedDocument *as* >> *alias* >> >> >> *if* openedDocumentAlias = projectFileAlias *then* >> launchApps(appList) *of* *me* >> *end* *if* >> >> >> *end* *if* >> >> >> *end* documentDidOpen >> >> >> *end* *using terms from* >> >> # launchApps() handler >> *on* launchApps(appList) >> *repeat* *with* appName *in* appList >> *tell* *application* appName *to* *run* >> *end* *repeat* >> *end* launchApps >> >> *on* logText(theText) >> *tell* *application* "BBEdit" >> *set* logDoc *to* *a reference* *to* *document* *id* (ID *of* >> *document* "TEST_LOG.txt") >> *tell* logDoc >> *set* *after* *its* *text* *to* theText & linefeed >> *end* *tell* >> *end* *tell* >> *end* logText >> >> >> ------------------------------------------------------------------------------------------- >> >> Getting this to work properly was quite pesky, because the attachment >> mechanism doesn't support external debugging with Script Debugger. >> >> -- >> Take Care, >> Chris >> >> -- This is the BBEdit Talk public discussion group. If you have a feature request or would like to report a problem, please email "[email protected]" rather than posting to the group. Follow @bbedit on Twitter: <http://www.twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/bbedit.
