本棚のフィルタボックスへテキストを自動入力させたい

Issue #864 closed
Ito Mitsuhiro repo owner created an issue

コマンドスクリプトによってNeeViewを再起動(??)させた場合の挙動について報告します。
もし不具合であれば、修正いただけるとありがたいです。

症状:
コマンドスクリプトで「--new-window=off」オプションを付けてNeeViewを再起動(??)させた場合、-o オプション(本棚のパス/フィルタ指定)が無視される

詳細:
下記スクリプトのように「--new-window=off」オプションを付けてNeeViewを再起動(??)させた場合

oオプションで指定した場所(及びフィルタ)ではなく現在開いているブックの場所が(フィルタが空の状態で)本棚に適用されてしまうようです

※「--new-window=off」オプションを付与しない場合は、-oオプション指定のパス/フィルタが本棚に適用されたNeeViewが(新たなウインドウとして)起動することは確認済みです
(開いているブック及びページはそのまま維持されます)

<スクリプト>
// path, search は任意の値
const param = {
"Command": "$NeeView",
"Parameter": `-o ${path}?search=${search} --new-window=off`, // NG: -oオプションが効かない
// "Parameter": `-o ${path}?search=${search}`, // OK: 問題なく-oオプションが適用される(当然ながら新規ウィンドウになってしまうが...)
"ArchivePolicy": "SendArchivePath"
}
nv.ShowToast(`NeeView 起動パラメータ:\n${param.Parameter}`)
nv.Command.OpenExternalApp.Patch(param).Execute()
// end

背景:
元々はスクリプトから本棚のフィルタボックスへテキストを自動入力させたくて試行錯誤していました。
今のところ、スクリプトから同UIオブジェクト(或いはconfigオブジェクト?)へのアクセス手段は用意されていないことが分かり一旦諦めましたが、
NeeViewの起動オプションを使ってフィルタを適用できる可能性に気がついていろいろ工夫をこらしてみました。
結果的に「--new-window=off」オプションを付けると上手くいかない(付けなければ上手くいく)ことが分かったので、報告・相談させてもらいました。

現状では新規ウィンドウでない場合には起動オプションは反映されません。
新しいコマンドを追加する等、対策を検討いたします。

Comments (3)

  1. Ito Mitsuhiro reporter

    スクリプト:本棚アクセサ実装 (fixed #864,#877,#914)

    スクリプト: - 廃止: PageAccessor.Width|Height ... 読み込まれていないページでは値が反映されないため - 廃止: BookAccessor.PageSize ... Pages.length で代用 - 廃止: BookAccessor.ViewPageSize ... ViewPages.length で代用 - 変更: BookAccessor.Page() -> BookAccessor.Pages[]: PageAccessor[]。 インデックス0が1ページ目になります。 - 変更: BookAccessor.ViewPage() -> BookAccessor.ViewPages[]: ViewPageAccessor[] - 追加: PageAccessor.Size|LastWriteTime - 追加: ViewPageAccessor ... BookAccessor.ViewPages[] で使用されるアクセサ。PageAccessorにWidth,Heightを追加したもの - 追加: BookshelfPanelAccessor (nv.Bookshelf) - 追加: PageListPanelAccessor (nv.PageList) - 追加: HistoryPanelAccessor (nv.History) - 追加: BookmarkPanelAccessor (nv.Bookmark) - 追加: PagemarkPanelAccessor (nv.Pagemark)

    スクリプトコンソール:各アクセサの内容を出力するようにした

    → <<cset 81585152bafd>>

  2. Log in to comment