CustomScript

2021年1月18日月曜日

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

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

38.2

(2021-01-18)

修正

  • ディスプレイのDPIが適用されないことがある不具合修正。
  • ナビゲーターでスケールを変更したときにドットがそのまま拡大されてしまうことがある不具合修正。
  • メインビューウィンドウの切り替えを行うと動画が再生できなくなる不具合修正。
  • タブレットモードの時にフルスクリーンでタスクバーが表示される不具合修正。
  • エアロスナップの座標保存設定が機能していない不具合修正。
  • サブウィンドウのメモリーリーク修正。
  • コマンド初期化ダイアログのテキスト修正。

11 件のコメント:

  1. アップデートありがとうございます。いつも便利に使わせていただいています。

    返信削除
    返信
    1. ご利用ありがとうございます^^

      削除
  2. 38系のリリースおめでとうございます。
    スクリプトの自由度が上がってうれしい限りです。

    以下バグ報告など記載しますので、お時間のある時にでもお目通しいただければ幸いです。

    (1) スクリプトコンソールの exitコマンドが異常終了する

    (私のPCでは100%再現しましたが、環境依存でしたらご容赦ください)

    exit を入力しても終了せず、エラーウィンドウが表示される(ポップアップしないので Alt+Tab で切り替える必要あり)
    とはいえ exit を使わず、Xボタンや Alt+F4 で閉じればよいので致命的ではないはずです
    エラー表示は以下の通りです
    ----------------------------------------------------------------------
    OS Version: Microsoft Windows NT 10.0.19042.0 (64bit)
    NeeView Version: 38.2 (.zip)

    System.InvalidOperationException: このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。
    場所 System.Windows.Threading.Dispatcher.VerifyAccess()
    場所 System.Windows.Window.Close()
    場所 NeeView.ConsoleHost.Execute(String input, CancellationToken token)
    場所 NeeView.ConsoleEmulator.<>c__DisplayClass48_0.b__0()
    場所 System.Threading.Tasks.Task.Execute()
    System.AggregateException: タスクの例外が、タスクの待機によっても、タスクの Exception プロパティへのアクセスによっても監視されませんでした。その結果、監視されていない例外がファイナライザー スレッドによって再スローされました。
    場所 System.Threading.Tasks.TaskExceptionHolder.Finalize()
    ----------------------------------------------------------------------


    (2) BookshelfPanelAccessorクラスの SelectedItems プロパティを設定してもカーソル位置が選択項目に移らないことがある

    全ての状況を調べたわけではないのですが、直前のフォーカス対象、もしくは、カーソル位置の更新タイミングが関係しているように思います。以下のようなことを試していて気づきました。

    本棚パネルにおいて A で始まる最初のブックにカーソルを移動させる、次のようなスクリプトをショートカットキーに設定して実行:
    ----------------------------------------------------------------------
    nv.Bookshelf.SelectedItems = [ nv.Bookshelf.Items.filter(e => e.Name.startsWith('A'))[0] ]
    ----------------------------------------------------------------------
    目的の項目が選択されるのですが、カーソル位置が選択項目に移らないときがあり、その状態で↓キーなどを押下すると想定外の位置にカーソルが出現したように見えて面食らいます。

    いろいろ調べたところでは概ね以下の通りです。
    - 直前に本棚パネルにフォーカスが当たっているとスクリプト実行直後にカーソルは移らない
    - 直前に本棚パネル以外にフォーカスが当たっていると問題なくカーソルは移るように見える
    (↓の状況を考えると実はこの時点では移っていなくて本棚パネルにフォーカスした時点で反映されるのかも)
    - 直前に本棚パネルにフォーカスが当たっていても、スクリプト実行直後に一旦メインビューなどにフォーカスを移して再び本棚パネルにフォーカスを戻すとカーソルはきちんと選択位置を指す

    カーソル位置の更新タイミングが怪しいように思えましたが、これ以上は分かりませんでした。


    (3) ShowInputDialog() を Enter キーで決定すると、直前にフォーカスされていた対象に Enter が入力されてしまう

    直前に本棚パネルにフォーカスが当たっていればカーソル位置のブックを開いてしまいます。同じくフィルムストリップがフォーカスされていればカーソル位置にページ移動されます。
    ShowInputDialog() の直後に長めの sleep() を入れても回避不能でした。

    なぜか ShowDialog() の方では起こりません。返り値が文字列なのが関係しているのでしょうか。

    返信削除
    返信
    1. 詳細な報告ありがとうございます。修正いたします。

      (2)のみこちらで現象を確認できませんでしたが、本棚項目選択に関わる別の不具合の修正もあり次のバージョンでは挙動が変わる可能性がありますので、そのときに再度ご確認いただければと思います。

      削除
  3. 確認ありがとうございました。特殊な現象のようで、お手数お掛けしまして恐縮です。新バージョンがリリースされた折にでも確認してみます。
    (2) については SelectedItems を設定する直前に本棚にフォーカスがなければ問題なさそうな感じなので、一時的にフォーカスをメインビューに逃がして回避するつもりです。
    (3) についても ShowInputDialog() 直前にメインビューにフォーカスを移せば(Enterキーがショートカットに設定されていない限り)しのげると思われます。
    こうした小細工ができるのもスクリプト導入の恩恵なので有難い限りです。今後とも NeeView にはお世話になります。

    返信削除
  4. アップデートお疲れ様です
    38.2になってからの不具合報告です(38.1では発生しません)
    Windows10でタスクバーを左に配置している状態でNeeviewを起動すると、起動ごとにウィンドウが右にズレていってしまいます
    お手数ですが、次回以降のアップデートで修正していただけると助かります

    返信削除
    返信
    1. ご報告ありがとうございます。現象を確認しました。修正を検討します。
      修正されるまでは、起動設定の「AeroSnapのウィンドウ座標を復元」をOFFにしてご利用ください。

      削除
  5. いつもお世話になっております。「NeeView」のバージョンアップお疲れさまでした。
    普段から大変活用させたいただいており 感謝の言葉しかございません。さて

    私の環境依存現象かもしれませんが、google Chromeの拡張ソフト「ウェブページ全体をスクリーンショット - FireShot」で縦に長く
    スクリーンショットした画像をPDFファイル(ex:1134×11395 3.22M)に保存したものを開くとボケて表示されます(Chromeで開くとボケません)

    複数ファイルで構成された一般的なPDFファイルでは普通に表示されますので、おそらく一枚に対する画像容量が問題だと思われますが、またお時間ある時に確認していただけるとありがたいです※設定で回避できるのに見過ごしているようでしたら大変申し訳ございません

    返信削除
    返信
    1. ご報告ありがとうございます。
      現象を確認しました。調査いたします。

      削除
  6. いつも便利に利用させてもらっています。

    トリミング[OFF]状態でリサイズフィルタを[ON]にしている場合、画像の表示サイズが縦横それぞれ1ピクセル分小さくなってしまうことがあるようです。
    例えば、ストレッチモードを[ウィンドウサイズに合わせる]にしていても(右端及び下端に)1ピクセル分のスキマが空いてしまいます。
    上下左右すべてのトリミング量を[0]にした上でトリミング[ON]にしておけば他の副作用なく回避可能ではありますが、プログラム側で対処可能かどうかご検討いただけないでしょうか。

    ちなみに、設定>ブック>2ページ間の距離、のデフォルト設定値が現状[-1]になっていますが、本件解決した場合はデフォルト値を[0]にしても差し支えなくなると考えています。(少なくともトリミング[ON]運用で差し支え生じないことは確認済みです)

    ※少し分かりにくいですが、本件はリサイズフィルタの補完による1ピクセル未満程度の微妙な「表示シフト」ではなく、「表示サイズ」の変化に言及したものです

    返信削除
    返信
    1. ご報告ありがとうございます。
      対策を検討いたします。

      削除