CustomScript

ページ

2021年1月8日金曜日

画像ビューアー 「NeeView」38.1 更新しました

  • .NET Framework 4.8
  • WPF
画像ビューアー NeeView を 38.1 に更新しました。
不具合修正のみとなります。

38.1

(2021-01-08)

修正

  • 起動時のウィンドウ状態に関する不具合修正。

33 件のコメント:

  1. アップデートありがとうございます。いつも便利に使用させていただいております。洗練されていて大変重宝しております。
    一点、質問です。
    本棚のコンテキストメニューでブック(ファイル)を特定フォルダーに移動できますが、この操作にショートカットキーを割り当てて、ポンポンとキー操作でブック(ファイル)を振り分けて整理したいです。どのように設定すればよいでしょうか。現状、コマンド設定には該当する項目がないように見えます。しかしながら、課題 #273を読むと何かしらの設定変更で実現できそうにも思えます。
    設定方法など、アドバイスいただけると嬉しいです。

    返信削除
    返信
    1. 現状ではショートカットに対応していません。対応を検討いたします。

      現状でもスクリプトコマンドにすることで実現可能です。参考にスクリプトのサンプルを挙げておきます。
      https://bitbucket.org/neelabo/neeview.scriptsamples/src/master/Scripts/MoveBookFile.nvjs

      削除
    2. すいませんスクリプトを少し弄ってみたのですが「特定の拡張子」に「特定の設定ファイルを対応させる」スクリプトがうまく組めませんでした…もしよろしければサンプルスクリプトをアップして頂けると大変助かります。

      削除
  2. 素早い対応ありがとうございます。頂いたスクリプトで所望の操作が実現できました。非常に便利で最高です!
    私としてはこれで十分ですので、ショートカット対応については取り下げさせてください。
    大変助かりました。これからも活用させていただきます。

    返信削除
  3. フルスクリーン時に、下部にあるスライダーを表示したままにしたいのですが、
    どこを設定すれば良いでしょうか?

    できれば、環境設定で「フルスクリーン」の設定を
    1ページ内でまとめて表示するようにしてほしいです。

    返信削除
    返信
    1. 「パネル」ページの「自動非表示モードのときにスライダーを自動的に隠す」の設定になります。
      ウィンドウの状態に応じでパネルを自動的に隠す機能を自動非表示モードとしてまとめ、フルスクリーンだけの設定ではなくなりました。

      削除
  4. v37.1からv38.1にアップデートしたところ、一部のスクリプトが正常に動作しなくなってしまいました。原因を調べたところ、nv.Config.History.IsVisibleがnv.History.IsVisibleに変更されたり、nv.Config.Bookshelf.IsPageListDockedが廃止されるなどの大幅な「仕様変更」にあることがわかりました。
    そこでお願いがあるのですが、スクリプトのAPIやキーボードショートカット、起動時オプションなどの自作スクリプト/プログラムや他のアプリとの連携にかかわる部分は「むやみに仕様変更しない」でもらいたいのです。やむなく変更する場合も、「nv.Config.History.IsVisibleをnv.History.IsVisibleのエイリアスとして残す」というように下位互換を維持してもらえれば助かります。
    最近、前バージョンとの互換性を無視した「破壊的変更」が相次いで行われており、使用時の連係動作や設定ファイル/Susieプラグインファイルの管理などを行うためのバッチファイルやPowerShellスクリプト、C#クラスライブラリなどを何度も書き直さなければならず保守管理の手間が増えていて困っています。直近の物でも、Susieプラグインx64の廃止や設定ファイルのJSON化がありましたが、それに合わせての管理スクリプトなどの書き換えに相当時間を取られています。
    家庭内での個人的利用でもこの状態ですから、企業でNeeViewを業務目的で使用したりそれを保守管理する場合には相応のコストがかかっているものと思われます。Vectorで静止画ビューアの人気ランキングの上位に位置するようになっていることから鑑みて、ユーザーサイドの負担を無くすことを重要視する時期に入っていると思われます

    返信削除
    返信
    1. ご提案ありがとうございます。
      結論から申し上げますと、メジャーバージョンアップでは互換性の優先度は低く、マイナーバージョンアップでは互換性を優先する、となります。

      なるべく互換性を維持したいとは考えておりますが、今回のパネル構造変更のような大きな変更の場合にはそれが困難な場合があり、その際は互換性より破壊的変更を選択します。
      現状でも互換性維持のための作業量が多くを占めており、長期開発の大変さを実感しています。

      削除
    2. 回答ありがとうございます。

      互換性の優先についてですが、優先度を下げても良いものと、決して優先度を下げてはならないものとの2つに切り離して考える必要があります。

      互換性の優先度を下げても構わないものとしては、主に今回のパネル構造のようなUIの改善や、問題のある内部動作の改善など、スクリプト/プログラムを書かない「真の意味でのエンドユーザーのための機能」が該当します。

      一方、互換性の維持を徹底すべきものは、先ほど挙げたスクリプトのAPIなどの「他のプログラム/スクリプトのための機能」となります。

      前者のエンドユーザーのための機能の変更に合わせて後者の他のプログラムのための機能を変更/削除する場合は

      ・今回のnv.Config.History.IsVisible→nv.History.IsVisibleのような関数名の変更がある場合は、旧関数名は新関数名へのエイリアスとして動作するように実装して、決して旧関数を削除しないようにする。
      ・nv.Config.Bookshelf.IsPageListDockedのように不要になった関数も、常にデフォルト値(intなら0とかboolならfalseとか)を返して何も行わないダミー関数として実装して、関数自体は決して削除しない。

      というようにして呼び出す側の他のプログラム/スクリプトで「関数自体が存在しない」という例外が発生しないようにする必要があります。

      削除
    3. ご提案ありがとうございます。
      参考にさせていただきます。

      削除
  5. ページ送りした際に、画像中央にファイル名が表示されますが、
    これを非表示にするにはどうすれば良いでしょうか?

    返信削除
    返信
    1. 読み込みに時間がかかっているときにファイル名が表示されます。これは読み込みよりもページ移動を優先させているため、ページの代わりにファイル名を表示しています。
      この機能は設定の「移動」ページの「ページ移動優先」の設定でOFFにすることができます。

      削除
  6. 表示されるドットサイズがスケーリング表示に合わせて拡大してしまいます。
    画像のドットバイドット表示オプションを有効にしても影響はありませんでした。
    ストアアプリ版で発生する問題で、Zip版では発生しませんでした。
    アプリのバージョンは38.1でWindows10のバージョンは20H2です。
    アプリを起動した状態でスケーリング表示の設定を変更して戻すなどするとアプリ終了までは治るようです。

    返信削除
    返信
    1. ご報告ありがとうございます。
      GIF画像で、ストレッチをオリジナルサイズにして、ナビゲーターパネルでスケールを変更したところドットのまま拡大されてしまうことを確認しました。ホイール操作で拡大した場合は再現しないようです。修正いたします。
      この現象はZip版でも確認できたため、ご報告いただいた現象とは違うものかもしれません。もしそうであれば再現手順等のさらなる情報をいただけると助かります。

      削除
    2. 申し訳ありません。
      ストアアプリ版限定の問題というのは私の勘違いで設定に違いがあっただけでした。

      私はWindowsの設定でディスプレイの表示スケールを200%に設定しています。
      この状態でリサイズフィルターを有効にするとドットサイズが表示スケールに合わせて拡大され粗い画像になってしまうというのが報告したかった問題です。
      リサイズフィルターを無効にすることでひとまず解決しました。

      削除
    3. 詳細報告ありがとうございます。
      現象を確認しました。修正いたします。

      削除
    4. バージョン38.2でこの問題が起きないことを確認しました。
      ありがとうございました。

      削除
  7. 縦長ページと横長ページの判定が逆になり、横長ページを分割するを行うと縦長ページが分割されたり、横長ページを2ページとみなすを行っても1ページ扱いになります。
    どの設定で変更できるのかがわからないので教えて頂けますか?

    返信削除
    返信
    1. 設定の「ブック」ページの「横長画像を判定するための縦横比」が横長画像判定のための比率となります。
      正方形以上を横長とする場合は1を、4:3以上を横長とする場合は1.33を、というようになります。

      削除
    2. 回答ありがとうございます。
      知らずのうちに設定を0にしていたみたいです。
      無事解決致しました。

      削除
  8. アップデートお疲れ様です。
    今回のアップデートで37.1の時に希望した事が全て実現されており感激です。

    さて、さらなるお願いで恐縮ですが、下記3点の設定追加をお願いできないでしょうか?

    1)メインビューウィンドウを常に前面に表示させる設定
    2)スライドショーの開始停止をマウスのスクロールボタンで行える設定
    3)マウスの進む・戻るボタン(第4、第5ボタン)に何らかの機能を割り当てる設定

    以上、ご検討のほどお願い致します。

    PS.
    まだ当分の間以前のような生活に戻ることは難しそうですがご自愛下さいませ。

    返信削除
    返信
    1. ご要望ありがとうございます。

      > 1)メインビューウィンドウを常に前面に表示させる設定

      メインビューウィンドウのタイトルを右クリクすると表示されるメニューで「常に手前に表示」をON/OFFできます。

      > 2)スライドショーの開始停止をマウスのスクロールボタンで行える設定
      > 3)マウスの進む・戻るボタン(第4、第5ボタン)に何らかの機能を割り当てる設定

      目的のコマンドにショートカットを設定することで実現可能です。
      コマンド設定で各コマンドの設定ダイアログを開きショートカットのマウス入力欄を使って登録します。

      削除
    2. ご教示ありがとうございます。
      おかげさまで1と2に関して解決しました。
      ダブルクリックで設定できたのですね、気づきませんでした……
      3についてですが、ブック移動で前のページに戻る(ALT+LEFT)にXButton1を設定しました。
      ALT+LEFTは動作しますが、マウスのボタンでは動作しません。
      どこか他に有効にするべき設定項目がありますか?

      削除
    3. 他に影響する設定はありません。以下の点をご確認ください。
      ・コマンドリスト上でのショートカット欄に "XButton1Click" は含まれておりますでしょうか? ダブルクリックも登録できるので、その場合は "XButton1DoubleClick" になります。
      ・コマンドは基本的にメインビュー上での操作になります。サイドパネル等ではマウス操作は認識されません。

      削除
    4. まず初めに訂正を。
      「前のページに戻る」→「前の表示ブックに戻る」でした。

      コマンドリスト上のショートカット欄とは「設定」→「コマンド」→「コマンド設定」で表示される一覧でしょうか?
      こちらのショートカットには"XButton1Click"と表示されております。
      最初 "ALT+LEFT"を残したままだから駄目なのかなと考え、"ALT+LEFT"を消し、設定の再読み込みをしましたが動作しませんでした。
      "ALT+LEFT"は消したのに何故かそのまま動作をしている状況です。

      削除
    5. 失礼しました。
      メインビュー上で正常に動作しました。
      確認不足で申し訳ありません。
      私の場合、サイドパネル上で操作をすることも多々あるので、今後対応して頂けますと幸いです。

      あと、最後に記載しました「"ALT+LEFT"は消したのに何故かそのまま動作をしている状況です。」ですが、これはやはり変わりませんでした。
      消して設定を再読込しても動作します。
      特に困っているわけではありませんが、ご報告だけ。

      削除
    6. サイドパネルのリストではALT+LEFTが「←」ボタンのショートカットとして実装されているため、これが動作したものと思われます。

      サイドパネル上でのマウス入力対応については検討されていただきます。

      削除
  9. 画像サイズを拡大縮小した任意のサイズのままページを移動できるようにしてほしいです。
    よろしくお願いいたします。

    返信削除
    返信
    1. ナビゲーターパネルのスケール欄のプッシュピンボタンをONにすることで、スケールを維持したままページ移動するようになります。お試しください。

      削除
    2. 失礼しました。
      表示>ナビゲーター>スケールの右下のピンですね
      ようやくわかりました。
      ありがとうございました。

      削除
  10. コンテキストメニュー設定で設定したメニューが、メインウィンドウに反映されないのですが、メインウィンドウに反映させるにはどこで設定すればよろしいでしょうか。40.5でも39.5でも同様です。

    実施した内容:
    スクリプトを記述して「Scripts」フォルダに格納、設定→コマンド→コンテキスト メニュー→コンテキスト メニュー設定で、ルートに新しいサブメニューを作成して名前を「スクリプト」に変更、「スクリプト」サブメニューに作成したスクリプトを配置しました。
    サブメニュー自体が表示されません。
    NeeViewアプリを再起動をしてもメニューが反映されません。

    返信削除
    返信
    1. コンテキストメニューは、アプリケーションキー(メニューキー)を押すか、「コンテキストメニューを開く」コマンドを実行することで表示されます。メインメニューには影響しません。

      削除
    2. 回答ありがとうございます。理解しました。デフォルトの設定でも右クリックでメニューが出てくるウィンドウが見当たらなかったため、いわゆる一般的なコンテキストメニュー(右クリックメニュー)ではなくメインメニューを指しているのかなと誤解していました。

      削除