AppleScript – How to Copy Current URL in Fluid App with Keyboard Shortcut

applescriptfluid.appservices

I'm using FluidApp Version 1.8.6 (2331) on MacOS Sierra 10.12.3. Sometimes I need to copy current URL of Web page in FluidApp. I want to do it with keyboard shortcut and I know I need to use a service for it.

So how do I create a service for this job?

Best Answer

If you're having issues using L, C and Esc and you want an AppleScript script that runs as an Automator Service, in order to copy the URL of a Fluid App, created with Fluid, then here is an example scenario you could implement.

Under macOS 10.12.3 using Fluid (Version 1.8.6 (206)) and the URL of this question, I created a Fluid App named Ask Different Question.

Ask Different Question Fluid App

I them made an Automator Service workflow using a Run AppleScript action and the AppleScript code below.

set appName to "Ask Different Question"

tell application appName
    activate
    tell application "System Events"
        set toolbarState to (name of every menu item of menu 1 of menu bar item 5 of menu bar 1 of application process appName)
        if toolbarState contains "Show Toolbar" then
            keystroke "t" using {option down, command down}
            set the clipboard to (get value of text field 1 of group 1 of toolbar 1 of window 1 of application process appName)
            keystroke "t" using {option down, command down}
        else
            set the clipboard to (get value of text field 1 of group 1 of toolbar 1 of window 1 of application process appName)
        end if
    end tell
end tell
  • Note that all you should have to change in the code above is the first line, set appName to ... where ... is the name of your Fluid App. The rest of the code should then work as is.

In Automator, create a new Service workflow, adding a Run AppleScript action to it. Then replace the default code with the code above. Also change the value for Service receives to no input while selecting the target Fluid App for in, as shown in the image below. Then save the Automator Service workflow.

Automator Image

The next step is to assign a keyboard shortcut for the Automator Service workflow you've just created.

In System Preferences > Keyboard > Shortcuts > Services, find your service and set its shortcut.

I used U as that was easy to remember using U for URL.

Services Keyboard Shortcut Image

The last thing you'll need to do, is add the Fluid App you created that will use the Automator Service workflow you've just created to System Preferences > Security & Privacy > Privacy > Accessibility as shown in the image below for the Ask Different Question app I created in Fluid.

Security & Privacy Image

Now when you're in the Fluid App you created and press U, the URL will be copied to the Clipboard and from there you can paste it wherever you'd like.