Hi Mark,
you could write a short AppleScript that launches Royal TSX and starts the connections you want.
This should be easily doable in a couple of lines.
Here's a link to get you started using the AppleScript scripting interface: https://www.royalapps.com/go/kb-ts-mac-applescript-samples
Hope that helps!
cheers,
Felix
Thanks Felix,
I was able to create an AppleScript and then a shortcut in the Shortcuts.app below:
on run {input, parameters}
tell application "Royal TSX"
-- Replace 'Terminal' with the name of the connection you want to open
set targetName to "Terminal"
-- Get the ID of the connection whose name matches the target name
set conIds to id of every connection whose name is equal to targetName
-- If there's a matching ID, connect
if (count of conIds) > 0 then
set conId to item 1 of conIds
connect conId
else
display dialog "No connection found with the name: " & targetName
end if
end tell
return input
end runUsing a shortcut or a script, even when saved as a .app, isn't the most efficient solution to this problem. A more intuitive approach would be to incorporate a checkbox within a connection's properties or an option to select apps for startup under Settings > General > Start and Quit. This would let Royal TSX stay docked and launch normally, eliminating the need to run separate apps, scripts, or shortcuts.
The best alternative I've found so far to use Hammerspoon with the following init.lua
function applicationWatcher(appName, eventType, appObject)
if (eventType == hs.application.watcher.launched) then
if (appName == "Royal TSX") then
local applescriptCode = [[
tell application "Royal TSX"
-- Replace 'Terminal' with the name of the connection you want to open
set targetName to "Terminal"
-- Get the ID of the connection whose name matches the target name
set conIds to id of every connection whose name is equal to targetName
-- If there's a matching ID, connect
if (count of conIds) > 0 then
set conId to item 1 of conIds
connect conId
else
display dialog "No connection found with the name: " & targetName
end if
end tell
]]
local ok, result = hs.osascript.applescript(applescriptCode)
if not ok then
hs.notify.show("AppleScript Error", "Failed to run the script", result)
end
end
end
end
appWatcher = hs.application.watcher.new(applicationWatcher)
appWatcher:start()
Mark Sowell
When starting Royal TSX it would be helpful if there were an option to have a connection, or multiple connections, start automatically. On macOS every time I use Royal TSX I connect to the local terminal and two other machines, one ssh and one RDP. I have many other connections in Royal TSX that I open when needed, but to have these 3 start with the application would be a big time saver.