About

  • Macintosh の自作ソフトウェアを公開しています。
  • 配布しているアプリケーションは、すべてフリーウェアかつソースコードを公開しています。
  • コメント、不具合の報告、ご要望を待っています。

Donation

このサイトで配布しているソフトを常用されている方は寄付をお願いします。

Tags

2019.01.15

14:40:38Permanent Link

DateStamp : 現在の日付/時刻を書式を選択してペースト

現在の日付をクリップボードに挿入して、挿入します。起動すると、次のようなダイアログが表示され、いくつかの日付の書式を選択することができます。

「ペースト」ボダンを押すと選択したテキストがクリップボードに挿入して前面の書類にペースト(Command+V のキータイプをエミュレート)します。

なんらかのランチャーから実行すると良いでしょう。

  • Spotlight メニューから実行する。
  • スクリプトメニューから実行する。
  • Dock に登録して実行する。
  • DragThing とかに登録してショットカットキーを割り当てて実行する。
  • LaunchBar で実行する。

変更点:

  • OS X 10.10 以降が必要になりました。
  • クリップボードに挿入するだけでなく前面の書類にペーストするようにしました。
  • ローカライズリソースを追加。
  • 2018-07-26 11:36 +0900 の形式を追加
  • コード署名の追加
  • 64bit アプレット
  • リストの先頭に番号を追加。数字キーで項目を選択できます。
  • Retina Display 対応アイコン。

2018.12.26

20:58:22Permanent Link

XDate 1.0 : date クラスの値を様々な書式のテキストに変換

date クラスの値を様々な書式の文字列に変換する AppleScript ライブラリです。

よく整理されたオブジェクト指向のインターフェースにより、柔軟に書式を組み立てることができます。

ヘルプを表示するのに HelpBook.osax ではなく、OpenHelpBook が必要です。

15:58:13Permanent Link

OpenHelpBook 1.0 : バンドル内の Help Book を ヘルプビューアで表示するAppleScript ライブラリ

任意のバンドル内の Help Book を ヘルプビューアで表示するAppleScript ライブラリです。

macOS では、アプリケーションなどでは、そのバンドル内の HTML で書かれたヘルプファイル(Help Book といいます)をヘルプビューアで表示させることができます。アプリケーションとそのヘルプファイルをひとまとめにして扱うことができますので、非常にスマートな方法だと思います。

OpenHelpBook.scptd は、AppleScript から次の様なことをできるようにします。

  • AppleScript からアプリケーションを起動せずヘルプを表示させることができます。
  • スクリプトバンドル形式の AppleScript に Help Book を持たせることができます。

ヘルプビューアに Help Book を登録すると、ヘルプビューアの高度な検索機能やAppleScript の実行機能が使えるようになります。普通の HTML ファイルより、使いやすい説明書を作れます。

これまで、同じ目的のためにスクリプティング機能追加 HelpBook.osax を開発していましたが、Mojave では SIP を一部解除しないとスクリプティング機能追加が使えなくなってしまいました。

そこで HelpBook.osax の代わりとして、OpenHelpBook を開発しました。バンドル内に特製のコマンドラインツールを収めて、AppleScript ではできないことを可能にしています。

随時、HelpBook.osax から OpenHelpBook に切り替えていこうと思っています。AppleScript Libraries が必要なので、OS X 10.9 以降になります。

2018.12.16

02:25:17Permanent Link

macOS Mojave 10.14 でサードパーティのスクリプティング機能追加を使う

macOS Mojave 10.14 の AppleScript ではサードパーティーのスクリプティング機能追加やフレームワークに大きな制限が導入された。

https://latenightsw.com/mojave-brings-in-big-security-changes/

従来、/ライブラリ もしくは ~/ライブラリ 以下にスクリプティング機能追加やフレームワークをインストールしたけど、無視される。

有効なのは、システム標準のスクリプティング機能追加とアプレットやドロップレットのバンドル内の Resources フォルダ以下とのこと。

アプレットやドロップレットのバンドル内はスクリプトエディタから参照されない。すなわち、開発時はどうするのさ?という話になって、実質的に意味なし。つまり、普通のスクリプトファイルやドロップレット/アプレットからサードパティーのスクリプティング機能追加やフレームワークは使えないということである。

この制約は、SIP (System Integrity Protection。通称 Rootless。) によってもたらされているとのこと。

AppleScriptObjC のおかげで随分とスクリプティング機能追加の必要性はずいぶん薄れたけど、自分は拙作の ModuleLoader.osaxHelpBook.osax の二つが使えないと生きていけない。仕様が無いから SIP の一部を無効化して、スクリプティンク機能追加を使えるようにする。その手順をまとめる。

本当なら、スクリプティング機能追加をバックグラウンドアプリケーションとして最実装するのがいいのかもしれないけど、利便性は確実に落ちる。悩ましいところです。

1. スクリプティング機能追加をインストール

まずは、普通にスクリプティング機能追加をインストールします。例として ModuleLoader.osax の場合を考えましょう。インストーラを使って、

/Library/ScriptingAdditions/ModuleLoader.osax

にインストールされたとします。

2. SIP の一部無効化

そのために、一度 Mac をシャットダウンし、Command + R キーを押しながら起動して、リカバリーモードで立ち上げます。

メニューバーから「ユーティリティー/ターミナル」を選択してターミナルを起動します。

ターミナルで次のコマンドを実行して、SIP をの一部を無効化します。

csrutil enable --without fs --without debug

アップルメニューから再起動を選択して、SIP が無効化された状態で Mac を起動します。

これで作業終了です。

csrutil コマンドについて補足

ちなみに、次の csrutil disable コマンドを実行すると SIP のすべてを OFF にできます。

csrutil disable

とりあえずこれでスクリプティング機能追加を使えるようになりますが、少々乱暴すぎるように思えるので、必要最低限の部分だけを OFF することを試みました。

csrutil enable コマンドには、unsuported ですがオプションを指定して一部の機能を場外にしてオンすることができます。

いくつものオプションがあるのですが、試行錯誤して、fs と debug の二つを OFF にすれば良いことがわかりました。

csrutil enable --without fs --without debug

どちらかではダメです。両方必要でした。

/System/Library/ScriptingAdditions に移動したら使えるんじゃ無いの?

システム標準のスクリプティング機能追加は有効なのだから、同じ場所に入れてやれば、サードパーティーのスクリプティング機能追加も使えるのでは無いかと最初考えましたが、そうではありませんでした。

場所は */Library/ScriptingAdditions ならどこでも関係なく、上記の SIP の一部をオフにすることが必要でした。

ターミナルで次のコマンドを実行しても良いでしょう。

2018.12.14

15:33:25Permanent Link

Show Help 1.2 : バンドル内の Help Book をヘルプビューアで表示

アプリケーションなどバンドルに設定されている Help Book をヘルプビューアで表示する AppleScript です。

アプリケーションのヘルプを表示する為には、起動してヘルプメニューから項目を選択する必要がありますが、Show Help を使えば、アプリケーションを起動しなくてもヘルプを表示させることができます。

起動時するとFinder で選択されているバンドルの Help Book を表示します。なんらかのランチャーから実行してください。

  • Spotlight メニューから実行する。
  • スクリプトメニューから実行する。
  • Dock に登録して実行する。
  • DragThing とかに登録してショットカットキーを割り当てて実行する。
  • LaunchBar で実行する。

LaunchBar と一緒に使うのがおすすめです。LaunchBar で検索したアプリケーションを Show Help で開くようにすると、Finder でアプリケーションを選択する手順を省略できます。

変更点:

  • コード署名を追加。
  • HelpBook.osax をバンドル内に含めた。

< Previous Topics