Hi Rainer,

I suspect that BBEdit's Script menu will always be blocking because as far 
as I know it uses an XPCService. (This should be checked with Bare Bones 
support though!)

I think of 2 other options that you could try:


*Option 1. Use the menubar Script Menu.* 
  • Activate the menubar Script Menu in Script Editor > Preferences > 
General > Script Menu.
  
  • Create BBEdit's application scripts directory : 
    
    % mkdir -p ~/Library/Scripts/Applications/BBEdit

  • Scripts placed in this directory should appear in the menubar Script 
Menu when BBEdit is the frontmost application. Generally they act as if 
they where run from the Script Editor. 
  
  • Sometimes this allows you to do things you couldn't do from BBEdit's 
Script menu (like restarting BBEdit for example).
    
*Option 2. Create a launchAgent that watches the folder containing your 
quarto files and that executes a script whenever a file is saved and thus 
refreshes the preview. *(Replace '<rainer>' with your user account in the 
below paths.)
 
  • Save this launchAgent in ~/Library/LaunchAgents/quarto_watcher.plist
  
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
        http://www.apple.com/DTDs/PropertyList-1.0.dtd>
        <plist version="1.0">
        <dict>
            <key>Label</key>
            <string>quarto_watcher</string>
            <key>ProgramArguments</key>
            <array>
                <string>/Users/<rainer>/Library/Application 
Support/BBEdit/Scripts/quarto_previewer.sh</string>
            </array>
            <key>WatchPaths</key>
            <array>
                <string>/Users/<rainer>/Documents/Quarto</string>
            </array>
        </dict>
        </plist>
  
  • Save this script in ~/Library/Application 
Support/BBEdit/Scripts/quarto_previewer.sh and give it the execution 
permission.
  
        #!/usr/bin/env sh
        
        DOCPATH=$(osascript -e 'tell application "BBEdit" to (URL of first 
document) as string')
        EXTENSION="${DOCPATH##*.}"
        
        #echo $DOCPATH
        #echo $EXTENSION
        
        if [ $EXTENSION == "quarto" ]; then
            /usr/bin/open -a quarto "$DOCPATH"
        fi
 
  • Create the /Users/<rainer>/Documents/Quarto directory. (Or some other 
directory and change the launchAgent accordingly.)
  
  • Start the launchAgent in the terminal with:
  
     % launchctl load 
/Users/<rainer>/Library/LaunchAgents/quarto_watcher.plist
     
  • Now whenever a file with extension ".quarto" is saved in the 
~/Documents/Quarto directory, the quarto_previewer.sh script should execute 
and open or reload this file in quarto.
  
HTH

Jean Jourdain

On Tuesday, March 22, 2022 at 2:52:19 PM UTC+1 Rainer Krug wrote:

> I have an using quarto <https://quarto.org> to render technical documents 
> (it is very nice!) and writing them in BBEdit.
>
> Now I have a script which I want to start from BBEdit as I do with all 
> scripts, but this script runs continuously and updates the preview. I would 
> very much like to have this in BBEdit (in the Scripts Menu), but when I 
> start this script, it blocks BBEdit.
>
> Is there a way of having that dialog non-blocking? Or is there another way 
> of running that script (at the moment I am running it from a different 
> terminal)?
>
> Thanks.
>

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or need technical support, please email "[email protected]" rather than 
posting here. Follow @bbedit on Twitter: <https://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 view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/9002fa2b-f8c5-4ddc-8177-2a6c3d26730en%40googlegroups.com.

Reply via email to