OK/キャンセルのダイアログをショートカットでこてんぱんにこらしめたい(macOS)

小ネタというか粒ネタになりますが。いちおうInDesignをベースに話をします。

ドキュメントの生殺与奪をユーザーに委ねるダイアログというのがありますね。
まあこれですね。

このパターンは、右から順に
保存    … returnキー、enterキー、⌘+S(SaveのS)
キャンセル … escキー
保存しない … ⌘+D(DismissのD)


もうひとつ、よく見るのがこれ。

このパターンは、
置き換え  … ⌘+R(ReplaceのR)
キャンセル … returnキー、enterキー、escキー

これだけ覚えておけば、だいたいはしのげます。


で、

しのげないやつを最近見かけてしまったんですよ奥さん。
これ、トンボ外の「情報」に入るファイル名に半濁音が使われてたせい。
外付SSDにコピーしたら出るようになった。Unicode正規化で直るのかな。

基本、青にハイライトされているボタンはreturn/enterで反応します。
今回おしえてもらいましたがスペースバーでも反応します。へええへえへえ! いつからなんだろう。
このハイライトはtabキーでフォーカスを順送りして切り替えることができます。
shift + tabで逆送り。バックもできるでー。古い。

このパターンで大汗かいてたんですが、割り当てをようやく見つけました。
OK     … ⌘+O(OKのO……。気付けよこんなの>自分)
キャンセル … returnキー、enterキー、escキー

さぁ、これで昨日より8秒ぐらい早く帰れますね!

InDesign:アンカーポイント(変形基準点)をテンキーで切り替えるやつ

ものすごい昔にもダイアログで入力するやつを書いたんですが、
スクリプト実行時に押しといたキーで発火するやつを書いてみました。


事前知識

アンカーポイント(基準点)は、実は元からテンキーで制御することができます。
ただそのためにはフォーカスされていないといけないのがわりとだるい。
たとえば、手近なX欄をフォーカスした状態から、

shift + tab でアンカーポイントにワクがつきます。
これがフォーカス状態。

この状態になったら、テンキーの1-9でアンカーポイントを変更できます。
知ってた? うちは10年以上前から知ってたー。

ただし、選択オブジェクトが22.5°以上回転している場合は割り当てが変わります。
うちは13年以上前から知ってた。

でも現実的に、こんな小さな点、老人はなるべくならクリックしたくない。
ショートカットがいい。そうだろう?(そうじゃそうじゃー)


というわけでスクリプトをリニュアルしました。
InDesign2021でテスト。古いほうはCS3とかでも問題なく動くと思います。

id_anchorPointSelecter.jsx

つかいかた

テンキーの、希望のアンカーポイントに対応したキー(1-9)を押しながらスクリプトを実行するだけ。
押下キーの判定は単体しかできないため、スクリプトをショートカット登録して使う場合は、テンキー以外を瞬間で離すようにしてください。
※一瞬すぎたので0.1秒→0.25秒に変更&更新しました…
Apple純正キーボードだとF16あたりがおすすめ。

注意

  • 本来ドキュメントを開いていなくても可能な作業ではありますが、このスクリプトはドキュメントウィンドウが開かれているとき限定で動作します。
  • 前述の斜め状態のアンカーポイント割り当てには未対応。そのうちヒマになったら実装するかも。
  • ノートPCの本体キーボードでがんばってる方への救済措置は今回ありません(ఠ虫ఠ)

というわけで、みんなでこれ使って全国アンカーポイント早替え大会に出ましょう。

InDesign:テキスト変数の対象スタイルの置き方に注意

最近のことではないんですが、数年前にやらかしたことがありまして。
以来こっそり注意してたんですが、先週ヨソから受け取った「前版最終データ」にイラッとしてしまったので、そのはけぐちに。

序文

あのーテキスト変数。柱とかで使うやつ。章タイトルとか大見出しとかが入るやつ。
とくに大見出しが頁内に複数入ったときは最後に入ったものが柱に入りがち。
こんなかんじですね。

えー、気をつけましょう。


テキストで入った場合

まあ大丈夫です。柱でけえな。


テキストフレームがアンカー付きオブジェクトで入った場合

テキストフレーム単体がアンカー付きオブジェクトで入る場合は大丈夫です。


表で入った場合

大丈夫。


表がアンカー付きオブジェクトで入った場合

これも、表が入ったテキストフレーム単体がアンカー付きオブジェクトで入るなら大丈夫。


グループオブジェクトがアンカー付きオブジェクトで入った場合

はいアウトォ。これがだめ。しかもよくある。装飾の指定が盛り盛りだったりすると。
この性質を知っていれば別の手段の採りようもある(というメンバーもいる)だろうに(たぶん)。

これ、なに順かというと、オブジェクトの作成順になっています。
具体的にはオブジェクトIDが新しい(数字が大きい)順。
ペーストやドラッグ複製で挿入した場合もこれにあたります。新規オブジェクトができているわけで。
サンプルデータは「3.おまけに」が最後に作られました。
もう、ほんとに気をつけてください。
っていうか、アンカー付きオブジェクトで使う大見出しの装飾をテキストフレーム単体で作れる技量があるなら、なるべく絶対そうしてください。ほんとにあぶないんだこれ。


おまけ

サンプルの大見出しの番号は手打ちしちゃったやつですが、自動番号に作り替えてみました。
アンカー付きオブジェクトで入っている場合はアンカー文字のIDで昇順に揃います。

で、所用でアンカーを解除してみましょう。
やったー(やられたー、が正しい)。

これも作成順に転化します。
今回これで大いに吠え面かきました。仕様は知ってたんだけど解決策がなかなかおぼつかなかった。

えー、気をつけましょう。