[リストへもどる]
一括表示
タイトルURL Scheme による検索
記事No1141
投稿日: 2020/11/14(Sat) 21:59:30
投稿者eunheui
長年、愛用させていただいています。本当にありがとうございます。

さて、macOS を Big Sur にアップデートしたところ、コマンドラインからの url scheme による検索ができなくなってしまいました。

今までは(perl の system 関数経由で)
open ebmac://検索したい文字列 
で検索できていたのですが、Big Sur では
The file /(現在のパス)/ebmac:/検索したい文字列 does not exist.
となります。

open -a ebmac でアプリケーション自体は起動しますが、
open -a ebmac://検索したい文字列  とすると
Unable to find application named 'ebmac://検索したい文字列'
となります。

macOS の open 命令は --args で引数を渡すこともできるようなのですが、その後にいろいろな形で検索したい文字列を指定してみましたが、うまくいきません。

タイトルRe: URL Scheme による検索
記事No1142
投稿日: 2020/11/15(Sun) 10:12:33
投稿者hishida
> 長年、愛用させていただいています。本当にありがとうございます。
>
> さて、macOS を Big Sur にアップデートしたところ、コマンドラインからの url scheme による検索ができなくなってしまいました。
>
> 今までは(perl の system 関数経由で)
> open ebmac://検索したい文字列 
> で検索できていたのですが、Big Sur では
> The file /(現在のパス)/ebmac:/検索したい文字列 does not exist.
> となります。
>
> open -a ebmac でアプリケーション自体は起動しますが、
> open -a ebmac://検索したい文字列  とすると
> Unable to find application named 'ebmac://検索したい文字列'
> となります。
>
> macOS の open 命令は --args で引数を渡すこともできるようなのですが、その後にいろいろな形で検索したい文字列を指定してみましたが、うまくいきません。

また頭の痛い問題がでてきましたね。調査はしますが、ある程度お時間をください。
開発環境を Big Sur にアップデートすると,Catalina以前の動作検証ができなくなるので、Big Sur専用の開発環境を別途整える必要がありそうです。
今後のことを考えるとAppleシリコンMacを導入してBig Sur以降はそちらで開発したほうがよさそうですが、第一世代機を買うのはあまり気が進みませんし。

引数の与え方でurl scheme でなくても検索できないかどうかから、調べてみたいと思います。

タイトルRe^2: URL Scheme による検索
記事No1143
投稿日: 2020/11/15(Sun) 15:07:52
投稿者eunheui
お返事ありがとうございます。開発環境に関するお気持ち、とてもよくわかります。

AppleScriptにも対応してくださっているおかげで、

on run {arg}
tell application "EBMac"
select dictionary "辞書名"
search {arg}
end tell
end run

というスクリプトを用意しておき(仮に eb.scpt とします)、コマンドラインで

osascript eb.scpt 検索したい文字列

とすることで、引数が渡せることを確認しました。

EBMac が既に立ち上がっている場合、url scheme だと、自動的に検索まで実行されていたのに対し、上記の方法だと、検索語フィールドに文字列は入りますが、手で検索ボタンを押す必要があります。

タイトル「EBMacで検索(Look Up With EBMac)」について
記事No1157
投稿日: 2021/01/19(Tue) 10:57:21
投稿者田中
eunheui 様、素晴らしいハック、勉強になります。ありがとうございます。
BetterTouchTools等他アプリとの組み合わせでさらに可能性が広がりそうです。

hishida 様、いつもありがたく利用させていただいております。
難しい開発環境の中、大変なメンテナンス作業、ありがとうございます。

さて、お話のBig Surの問題に関連して、小さな不具合を見つけたので報告です。
Big Surでは「プレビュー」アプリからコンテキストメニューの「EBMacで検索(Look Up With EBMac)」を実行すると、EBMacはアクティブになりますが、テキストボックスは空のままで、単語が自動的に挿入されません。キーボードショートカットから実行しても同様です。
他アプリでは同じ現象が再現されないため、ほぼ間違いなく「プレビュー」アプリのバグだとは思います。
コンテキストメニューの「Spotlight」を実行しても同様の問題が起こるので、そもそも「プレビュー」がサービスにテキストを渡せていないようです。
Appleに報告してみますが、念の為こちらにも報告させていただきます。

Appleが修正するまでは、BetterTouchTools等で工夫するほかありませんね。

[検証環境]
機種:MacBook Air (M1, 2020)
OS:Big Sur(11.1)
OS言語設定:英語
EBMacバージョン:1.45.1/1.46.0
「プレビュー」バージョン:11.0 (1018.2)

> お返事ありがとうございます。開発環境に関するお気持ち、とてもよくわかります。
>
> AppleScriptにも対応してくださっているおかげで、
>
> on run {arg}
> tell application "EBMac"
> select dictionary "辞書名"
> search {arg}
> end tell
> end run
>
> というスクリプトを用意しておき(仮に eb.scpt とします)、コマンドラインで
>
> osascript eb.scpt 検索したい文字列
>
> とすることで、引数が渡せることを確認しました。
>
> EBMac が既に立ち上がっている場合、url scheme だと、自動的に検索まで実行されていたのに対し、上記の方法だと、検索語フィールドに文字列は入りますが、手で検索ボタンを押す必要があります。

タイトルRe: 「EBMacで検索(Look Up With EBMac)」について
記事No1159
投稿日: 2021/02/27(Sat) 08:47:31
投稿者eunheui
すみません。渡す文字列をちゃんと uri encode すれば、検索できることに気付きました。MacOS のアップグレードで perl のバージョンが変わるまでは、この部分がいい加減なままで動いていたのですが… 申し訳ありませんでした。

タイトルRe: 「EBMacで検索(Look Up With EBMac)」について
記事No1206
投稿日: 2022/01/16(Sun) 04:55:57
投稿者縞猫
田中様がおっしゃった「プレビューアプリでのバグ」ですが、辞書by物書堂でもサービスメニューから辞書がひけません。なお、PDFExpert上の単語はEBMacでも辞書by物書堂でも自動的に検索欄に単語が入って検索できました。また、WordやPages、テキストファイル、WebSite上の文字列、いずれでも可能でした。ただし辞書by物書堂では完全一致検索以外を選べません。EBMacの方は、こちらで指定した検索に従ってくれます。