指定テキストファイルのXattr(拡張属性)を操作して、CotEditorの縦書き属性を追加し、CotEditorのファイルオープン時にデフォルトで縦書き表示を行うAppleScriptです。
–> XAttribute.framework (To ~/Library/Frameworks/)
try! macOS meet-upの席上でCotEditorメンテナーの1024jpさんに
「(CotEditorに)デフォルトでプレーンテキストの縦書き表示を行わせる機能ってないんでしょうか?」
と聞いてみたら、本Xattrの存在を教えてもらえました。
これで、GUI Scriptingを併用せずに縦書き表示ができるようになったので、CotEditor内蔵Script Menuからでも縦書きで表示させるファイルを切り替えるようなScriptを呼び出せました。
▲デフォルト時
▲本ScriptによりXattrを追加してFinderからオープン、あるいはCotEditorからオープンを行なった状態
AppleScript名:OTMXAttributeで指定ファイルにxattrを追加する |
— Created 2018-02-28 by Takaaki Naganoya — 2018 Piyomaru Software use AppleScript version "2.5" use scripting additions use framework "Foundation" use framework "XAttribute" –https://github.com/rylio/OTMXAttribute set aFile to POSIX path of (choose file) set xRes to addXAttrToFile(aFile, "com.coteditor.VerticalText", "1") on addXAttrToFile(aFile, anXattr, aValue) –Get Xattr String set anAttribute to (current application’s OTMXAttribute’s stringAttributeAtPath:aFile |name|:anXattr |error|:(missing value)) if anAttribute is not equal to missing value then –Already Exists set tmpRes to removeXAttrFromFile(aFile, anXattr) of me if tmpRes = false then return false end if –Set Xattr set xRes to (current application’s OTMXAttribute’s setAttributeAtPath:aFile |name|:anXattr value:aValue |error|:(missing value)) if xRes = missing value then return false return (xRes as boolean) end addXAttrToFile on removeXAttrFromFile(aFile, anXattr) –Get Xattr String set anAttribute to (current application’s OTMXAttribute’s stringAttributeAtPath:aFile |name|:anXattr |error|:(missing value)) if anAttribute = missing value then return true –There is no use to remove xattr –Remove Xattr set xRes to (current application’s OTMXAttribute’s removeAttributeAtPath:aFile |name|:anXattr |error|:(missing value)) if xRes = missing value then return false return (xRes as boolean) end removeXAttrFromFile |
More from my site
(Visited 75 times, 1 visits today)
CotEditorの最前面で表示中のDocumentを縦書き表示に - AppleScript Hole says:
[…] 、根本的な解決策を1024jpさんに教えてもらえたので(Xattributeの書き換え)、そちらをおすすめします。 […]