Here is a variant on your theme which I am using from Keyboard Maestro.
It doesn't close Marked (I tend to keep Marked running), but it does allow you to select several OO rows and concatenate their notes in Marked if you want (for previewing or export to PDF, MS Word, HTML etc).
It also optionally (edit the value of
pblnPositionWindows) tries to position your Marked and OO3 windows side by side, with 50% of the screen each.
(Note that it requires
Marked 2 – it uses
Preview Clipboard)
Code:
property pTitle : "View OO3 notes in Marked II"
property pVer : "0.01"
-- VIEW NOTES OF SELECTED ROW(S) IN BRETT TERPSTRA'S MARKED VER 2
property pblnPositionWindows : true -- Set this to false to disable the window positioning at the end of the script
on run
set lstNote to {}
tell application id "OOut" to set lstNote to note of selected rows of front document
if lstNote ≠ {} then
-- JOIN THE NOTES OF ANY SELECTED ROWS
set {dlm, my text item delimiters} to {my text item delimiters, linefeed & linefeed}
set strNote to lstNote as text
set my text item delimiters to dlm
-- PLACE THEM IN THE CLIPBOARD
do shell script "echo " & quoted form of strNote & " | pbcopy"
-- USE MARKED 2 PREVIEW > CLIPBOARD PREVIEW
tell application id "com.brettterpstra.marky"
activate
close windows
end tell
tell application id "sevs"
click my GetMenuItem("com.brettterpstra.marky", {"Preview", "Clipboard Preview"})
end tell
-- OPTIONALLY TRY TO POSITION THE MARKED AND OO3 WINDOWS SIDE BY SIDE
if pblnPositionWindows then
set lngWidth to word 3 of (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Width")
set lngHeight to word 3 of (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Height")
set lngHalf to lngWidth / 2
set lngHeight to lngHeight - 22
tell application id "sevs"
set procOutliner to first process where name contains "OmniOutliner"
tell procOutliner to tell window 1 to set {position, size} to {{lngHalf, 22}, {lngHalf, lngHeight}}
tell process "Marked" to tell window 1 to set {position, size} to {{0, 22}, {lngHalf, lngHeight}}
end tell
tell application id "OOut" to activate
tell application id "com.brettterpstra.marky" to activate
end if
else
tell application id "OOut"
activate
display dialog "No rows selected in OO3..." buttons {"OK"} default button "OK" with title pTitle & " ver. " & pVer
end tell
end if
end run
-- RETURNS A REFERENCE TO A CLICKABLE MENU ITEM
-- E.G. set mnuZoomFit to GetMenuItem("OGfl", {"View", "Zoom", "Zoom to Selection"})
-- RETURNS A REFERENCE TO A CLICKABLE MENU ITEM
-- E.G. set mnuZoomFit to GetMenuItem("OGfl", {"View", "Zoom", "Zoom to Selection"})
on GetMenuItem(strAppCode, lstMenu)
set lngChain to length of lstMenu
if lngChain < 2 then return missing value
tell application id "sevs"
set lstApps to application processes where its bundle identifier = strAppCode
if length of lstApps < 1 then return missing value
tell first item of lstApps
-- GET THE TOP LEVEL MENU
set strMenu to item 1 of lstMenu
set oMenu to menu strMenu of menu bar item strMenu of menu bar 1
-- TRAVEL DOWN THROUGH ANY SUB-MENUS
repeat with i from 2 to (lngChain - 1)
set strMenu to item i of lstMenu
set oMenu to menu strMenu of menu item strMenu of oMenu
end repeat
-- AND RETURN THE FINAL MENU ITEM (OR MISSING VALUE, IF UNAVAILABLE)
try
return menu item (item -1 of lstMenu) of oMenu
on error
return missing value
end try
end tell
end tell
end GetMenuItem