CustomScript

ページ

2024年7月14日日曜日

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

画像ビューアー NeeView を 41.3 に更新しました。不具合修正のみです。

41.3

(2024-07-14)

変更

  • .NET 8.0.7
  • 7z.dll ver 24.07

不具合修正

  • ページフィルター切替時にエラーになることがある不具合修正
  • ページリストでダミーアイコンの巨大なポップアップが表示される不具合修正
  • アニメーションフレーム生成中にブックを切り替えたときにエラーになることがある不具合を軽減

114 件のコメント:

  1. いつも利用させて頂いています。
    エフェクトの機能について要望なのですが、自分でスキャンした漫画雑誌のモアレを低減しつつレベル補正で暗い部分まで見易い状態で閲覧したいと考えているのですが、現状ぼかしのエフェクトとレベル補正のエフェクトを同時に利用することが出来ません。
    エフェクト1、エフェクト2…と言ったように複数のエフェクトを重ねて有効にする仕様を検討して頂くことは可能でしょうか?よろしくお願い致します。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
  2. エクスプローラーやファイラーから書庫を「D&D」したときに、NeeViewをフォアグラウンドにするような設定がほしいです。現状だとD&Dしたあとにマウスでフォアグラウンドにして矢印キーでページ操作とひと手間あるのでそれがなくなってくれると助かります。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
  3. いつも便利に使わせていただき、ありがとうございます。
    要望なのですが、マウスボタンでのページ送り、戻りの際、マウスカーソルを完全非表示にするスイッチが欲しいです。
    thinkpadですと手前にマウスボタンがあるので非常に快適なのですが、いちいちマウスカーソルが復帰するのが気になっております。
    自動非表示マウスポインターの非表示にするまでの時間設定の最小値が今は1秒ですが、0秒まで設定できるようにするのでも結構です。
    よろしくお願いいたします。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
    2. 設定がありました。「マウス ボタン操作で再表示する」をOFFにしてみてください。「再表示する移動距離」を大きめにするとより効果的です。

      削除
  4. 更新ありがとうございます。普段より便利に利用させていただいております。

    さて、かなり古くのバージョンから同じ挙動をするのでもしかすると仕様なのかもしれないのですが、フォルダの中に画像が入っているものをNeeviewで閲覧している際に、ページビューからページ(画像)を選択して、コピーして別フォルダにペーストすると何故かコピーではなく移動されます。ZIP圧縮されていれば問題ないのですが、直接画像を参照している際にはこのような挙動になります。コピーしたつもりが元フォルダから消えていてびっくりすることがあるのですが、ご確認いただければ幸いです。

    もう一点、クイックアクセスで動画を検索して表示している状態で、検索されたファイルリストから再生中の動画を削除した場合、$hoge.mp4といった先頭に$マークの付いたtmpファイルがリスト内に残り、中身は消した動画ファイルになっています。検索をリフレッシュすればそのtmpファイルは消えるのですが、リフレッシュしない限りは残ったままになります。本棚の設定の「隠しファイルを表示する」はOFFになっています。こちらもご確認いたただければ幸いです。

    返信削除
    返信
    1. ご報告ありがとうございます。
      ですが、問題を再現できませんでした。よろしければ再現の詳細手順を教えていただけると助かります。また、何らかの設定が影響している可能性もありますのでお気づきの点がありましたらお知らせください。
      以下、こちらで試した手順です。

      > 何故かコピーではなく移動されます。
      1. 「ファイル操作許可」はON
      2. 複数の画像が入ったフォルダーを NeeViewで 開く
      3. 「ページリスト」を表示し、任意のページを選択して右クリックメニューから「コピー(C)」を実行
      4. 画像フォルダーと同じドライブの別フォルダーをエクスプローラーに開き、Ctrl+V でペーストする。正しくコピーになり移動は確認できない

      > 先頭に$マークの付いたtmpファイルがリスト内に残り
      1. 「本棚」で複数の画像が入ったフォルダーに移動し、適当な検索キーを適用した状態でクイックリストに登録する
      2. このクイックリストを開き、一番上の動画を選択し再生する
      3. 一番上の動画を選択し、右クリックメニューから「削除(D)」を実行
      4. 選択した動画は問題なく削除されリストからも消え、次にある動画が再生される

      削除
    2. 再現しないとのことでお手数をおかけします。

      1.につきまして、条件を変えつつ色々試してみたところ、当方のローカル環境の問題であろうことが分かってきました。当方ではファイラにAS/Rを利用しているのですが、報告した問題はAS/R上にペーストしたときのみ発生してるようです。AS/Rではファイルをドラッグ&ドロップしたときの挙動を設定可能で、それを「移動固定」で利用しています。Neeviewからのコピーがドラッグアンドドロップで実装されているため、AS/Rに貼り付けた場合には、移動されてしまうと推測しました。当方の確認不足で申し訳ありません。以後は気を付けて利用していくこととします。

      2. についても再現手順は記載されたとおりで当方の環境では100%再現するのですが、今のところ別の条件は見つけられていません。こちらについては更に条件が見つけられればまたご報告いたします。

      削除
  5. 更新ありがとうございます。
    いつも便利に利用させていただいております。

    私はNeeViewを多重起動して利用することが多いのですが、各ウィンドウの履歴情報を統合して残すようにして頂くことは可能でしょうか。
    具体的な内容としては、多重起動時に各ウィンドウでそれぞれ複数のファイルを開き履歴情報が更新された状態にあるとき、全てのウィンドウを閉じた後に改めて起動し直した際に、履歴にそれぞれのウィンドウで更新された履歴情報が不足無く記録されている状態になっていて欲しいです。

    現在の41.3で確認している事象としては、起動していた全てのNeeViewのウィンドウを閉じて再度開くと、一つのウィンドウ以外の全てのウィンドウの履歴が記録されていなかったり、幾つかのウィンドウの履歴のみが記録されていなかったりしました。
    また、希にですが全てのウィンドウの履歴が正しく反映されていることもありました。
    感覚的には、どのウィンドウを最後に閉じるかが履歴の保存状況に影響している様に感じましたが、履歴情報を任意で保存できることを期待して「設定の保存」にショートカットを割り当てているため、各ウィンドウでの「設定の保存」の実施有無も影響しているようにも感じています。

    よろしくお願いいたします。

    返信削除
    返信
    1. ご報告ありがとうございます。
      履歴は統合して保存しているつもりでした。調査いたします。

      削除
  6. いつも楽しく使わせていただいております。感謝です。
    ちょっと気になっていたのですが、設定に該当するところがわからず教えてほしいのです。

    縦にディスプレイを並べております。
    上のディスプレイに NeeView を全画面表示すると、下のディスプレイにはみだします。
    ほんの少しなので気にはしなかったのですが、私の環境だけなのかもわかりません。
    もし、設定で対処が可能であれば教えてほしいのです。
    どうぞ、よろしくお願いします。

    返信削除
    返信
    1. ご報告ありがとうございます。
      ですが、こちらの環境(Windows10)では現象を確認できませんでした。また、NeeViewには全画面時のウィンドウサイズを調整する機能はありません。
      Aeroスナップでウィンドウを移動させるとディスプレイ外にはみ出す現象は確認していますが、他のアプリでも同様の挙動でOSの機能によるものと思われるため、対応は難しいです。

      削除
  7. 7-Zip 24.08 出てました

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

      削除
  8. すみません。「表示できるファイルがありません」と出る不具合がありました。
    今すぐですみませんが、修正をお願いします。

    返信削除
    返信
    1. 問題の再現方法がわかりません。よろしければ詳細な情報をお願いします。

      削除
    2. 返事が遅くなり申し訳ございません。何故か画像ファイルのタイトルが消失してしまいまして…。

      削除
    3. うーん、まだ問題を把握できません。具体的な再現手順をお願いします。どのような操作手順で、どの場所の表示がどのようにおかしくなるか、再現率は、といったこちらでも問題を再現するための情報です。

      「表示できるファイルはありません」と表示されるのは、そのフォルダーに表示できるファイルが存在しない場合です。ひとまず思いつく状況は以下のとおりです。

      - 本棚の場合、サブフォルダーや対応する圧縮ファイルが存在しないフォルダーに移動した時。
      - 本棚の場合、検索ボックの入力で検索結果が0になるとき。
      - メインビューの場合、開いたブックにページとして表示可能な画像ファイルが存在しないとき。

      削除
  9. こんにちは、とても素晴らしいソフトをありがとうございます。
    だけど、どうしても欲しい機能で、削除の際の確認を無用にする設定です。
    あるのかもしれないけど?設定見て回ったけど、見つけられませんでした。
    消す都度に、消しますか?って、すごいストレスになるんです。
    いらないのだから、一回で消えてくれって思ってしまいます。

    返信削除
  10. すみません。何度も何度も見てたら見つかりました。

    返信削除
  11. Canary版(0825)の公開ありがとうございます。
    スクリプトコマンド向けの新たなコマンドパラメータ nv.Comamnd[CommandName].Paramater.CheckFlagKey について提案があります。
    ぜひ一度ご検討いただければ幸いです。


    提案:
    nv.Values の項目名を格納する「CheckFlagKey: string」の代わりに、フラグ自体を直接格納する「CheckFlag: boolean」を用意する


    提案の背景:
    下記の例1,2のように、関連するスクリプトコマンドの動作に関わるフラグを自身の Paramater.Argument に格納(永続化)するスクリプトコマンドを書いて利用しています。
    現Canaryの実装では、同永続フラグをチェックマークに反映させたい場合、nv.Values の項目に反映するコードが別途必要になります。また、同様の反映処理がNeeView起動時(OnStartUp や起動スクリプトに実装)にも必要になります。
    もし boolean型の CheckFlag であったら、下記の例3のようにチェックマーク自身を永続フラグとして利用できてよさそう、と思った次第です。

    例1) 現状 - truthy/falsy な文字列を操作して、そのまま格納
    nv.Comamnd[CommandName].Paramater.Argument = nv.Comamnd[CommandName].Paramater.Argument
    ? ''
    : 'enabled';
    // チェックマーク更新
    // nv.Values[nv.Comamnd[CommandName].Paramater.CheckFlagKey] = !!nv.Comamnd[CommandName].Paramater.Argument;

    例2) 現状 - boolean値を内包したオブジェクトを操作して、それをJSON文字列化して格納
    const param = JSON.parse(nv.Comamnd[CommandName].Paramater.Argument ?? {});
    param.enabled = !param.enabled;
    nv.Comamnd[CommandName].Paramater.Argument = JSON.stringify(param);
    // チェックマーク更新
    // nv.Values[nv.Comamnd[CommandName].Paramater.CheckFlagKey] = param.enabled;

    例3) 提案 - boolean値をそのまま操作・格納(チェックマーク自体が永続フラグ)
    nv.Comamnd[CommandName].Paramater.CheckFlag = !nv.Comamnd[CommandName].Paramater.CheckFlag;


    副作用の検討:
    本提案採用時は現Canaryから2点の変化 a) フラグ永続化、 b) フラグ共有不可、があります。
    参考までに、a,bそれぞれの変化がもたらすスクリプトを書く上での副作用を、フラグの用途別に書き出してみました。

    用途1 - 純粋な状態表現フラグ
    - a 永続化: OnStartUp や起動スクリプトでの初期化が不要になる(うれしい)
    - b 共有不可: 共有用(値の並列化)コードが個別に必要になる。ただし、対象ユースケースが思いつかない(負の影響はなしと見做してよい??)

    用途2 - ブックやページの状態に応じたリアクティブな状態表現フラグ
    - a 永続化: OnBookLoaded や OnPageChanged で個別の更新が必要な点は変化しない(影響なし)
    - b 共有不可: 共有用(値の並列化)処理コードが個別に必要になる。ただし、対象ユースケースが思いつかない(負の影響はなしと見做してよい??)

    返信削除
    返信
    1. ご提案ありがとうございます。検討します。



      削除
    2. Canary0829で、CheckFlagKey → IsChecked に変更されていることを確認しました。
      ありがとうございました!

      削除
  12. こんにちは、素晴らしいソフトをいつも有難く使わせていただいております。
    「ファイル操作許可」にチェックをしても「削除」がグレーアウトしたままなのですが、何か特別な設定などがあるのでしょうか?
    ご回答いただけますと幸いです。よろしくお願いいたします。

    返信削除
    返信
    1. 通常のファイルは削除できるようになっていると思います。
      圧縮ファイル内のファイルは基本的に削除できません。ただし、ZIPファイルのみ設定の「ZIP」ページの「ZIPファイル編集」を有効にした場合のみZIP内ファイルを削除できるようになります。

      削除
    2. ご回答ありがとうございます。
      PDFだと削除できないことはありますか?
      アンインストールして再インストールしても削除できないままでした。

      削除
    3. PDFファイル自体は削除できますが、PDFファイル内のページは削除できません。PDFは圧縮ファイルと同じ扱いとなります。

      削除
    4. 承知しました。別のPDF編集ソフトで削除しようと思います。
      ありがとうございました。

      削除
  13. こんにちは。永く愛用させて頂いております。さて私め、以前のバージョンではフルスクリーンの解除と終了、両方のコマンドにESCを割当てておりました。ESCを2回押すと、フルスクリーンを解除してから終了するわけです。ですが、最近のバージョンでは競合状態においては、どちらかのコマンドしか実行されないようです。細かいと言えば細かいですしバグの温床だと言われればその通りなのですが、アプリの状態に応じたコマンドキーの重複についての調整をご検討頂けますとありがたく思います。

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

      削除
  14. Canary版で気になった点を報告します。(0829で確認しています)
    参考にしていただければ幸いです。

    ■ スクリプトエラー
    1. nv.Book.ViewPages[0].Player のエラー

    libVLC無効(下記の設定項目が OFF の状態)でメディアファイル(音声ファイル・動画ファイル)を開いた場合、nv.Book.ViewPages[0].Player にアクセスするコードでスクリプトエラーが発生するようです。

    <設定項目>
    設定 > 対応形式 > 動画 > libVLC を使用して動画を再生する(nv.Config.Archive.Media.IsLibVlcEnabled)

    <スクリプトのエラーメッセージ>
    Error: (1): このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。

    <エラーになるもの>
    >> nv.Book.ViewPages[0]
    >> nv.Book.ViewPages[0].Player
    >> nv.Book.ViewPages[0].Player.Duration
    >> nv.Book.ViewPages[0].Player.IsMuted = true // 書き込み側のみエラー
    >> nv.Book.ViewPages[0].Player.Position // 読み出し側のみエラー
    >> nv.Book.ViewPages[0].Player.Volume = .5 // 書き込み側のみエラー


    2. nv.DestinationFolderCollection.Items の Copy メソッドのエラー

    2-1. 現在のブックに含まれない、"アーカイブのブック" の画像ファイルのパス文字列(c:\\test.zip\\test.jpg)を渡すと、下記のスクリプトエラーが発生するようです。
    なお、現在のブックに含まれている場合はエラーは発生せず、問題なくコピーされます。
    現在のブックに含まれない、"フォルダのブック" の画像ファイル(c:\\testFolder\\test.jpg)の場合もエラーは発生せず、問題なくコピーされます。

    <スクリプトのエラーメッセージ>
    Error: (1): Code=0x007c

    2-2 パス文字列の配列を渡すと、下記のスクリプトエラーが発生するようです。
    下記のような、現在のブック内の画像ファイルのパス文字列だけが含まれる配列を渡した場合でも再現します。
    >> nv.DestinationFolderCollection.Items(nv.PageList.Items.map(e => e.Path))

    <スクリプトのエラーメッセージ>
    Error: (1): Invalid cast from 'System.String' to 'NeeView.PageAccessor'.

    Moveメソッド側は確認していませんが、同様かもしれません。


    3. ブックマークフォルダの削除メソッドのエラー
    下記のようなブックマークフォルダを削除するコードでスクリプトエラーが発生するようです。
    >> nv.Bookmark.FolderTree.BookmarkNode.Remove(nv.Bookmark.FolderTree.BookmarkNode.Children[0]); // ルート直下一つ目のブックマークフォルダを削除

    <スクリプトのエラーメッセージ>
    Error: (1): No public methods with the specified arguments were found.

    スクリプトマニュアルで BookmarkNodeAccessor の Insert メソッドの戻り値の型と、Remove メソッドの引数の型が共に「QuickAccessNodeAccessor」になっていますが、本件に関係しているのでしょうか?
    Insert 実行時の戻り値は BookmarkNodeAccessor のように見えたので、マニュアル側の誤記?

    余談になりますが、ブックマークフォルダはルートノードと子ノードが共に BookmarkNodeAccessor なので、下記のようなコードでルートノードを削除できてしまいそうな雰囲気を感じました。
    >> nv.Bookmark.FolderTree.BookmarkNode.Remove(nv.Bookmark.FolderTree.BookmarkNode)

    ルートノードと子ノードの型を分けた上で、子ノードにだけ、引数なしの削除メソッド Remove を用意した方がよいのかもしれません。


    ■ 提案
    1. 下記のクイックアクセス登録用メソッドに、省略可能な引数 Name の追加を提案します
    クイックアクセスは登録後に名前を変更できますが、スクリプトによる登録時には名前を指定する手段があってもよさそうに感じました。

    <対象メソッド>
    nv.Bookshelf.FolderTree.QuickAccessNode.Insert


    2. 親フォルダをブックとして開いた状態における「ページ要素としてのメディアファイル」の扱いについて

    2-1) 下記設定項目が ON の場合でも、PageAccessor 及び ViewPagesAccessor に追加されたプロパティ「IsBook」が false になっています。
    実際にはブックとして開いても問題ないので、ページ要素としてのフォルダやアーカイブと同様に true にすることを提案します。

    2-2) 下記設定項目が ON の場合でも、フィルムストリップ/ページパネル上の要素/ナビゲーションパネルのサムネイル、のコンテキストメニュー項目「ブックを開く」が非表示になっています。
    実際にはブックとして開いても問題ないので、ページ要素としてのフォルダやアーカイブと同様に「ブックを開く」を表示させることを提案します。

    <設定項目>
    - 設定 > 対応形式 > 動画 > 動画をブックとして開く(nv.Config.Archive.Media.IsEnabled)

    返信削除
    返信
    1. ご報告ありがとうございます。
      修正、検討いたします。

      削除
    2. Canary0912 でのエラー1,2-2,3の修正、提案1の採用ありがとうございました!

      以下は関連する追加の報告になります(Canary0912で確認)。
      参考にしていただければ幸いです。


      ■ エラー2-1 に関連
      プレイリストをブックとして開いた際のページ要素のうち実際にはアーカイブに属するページの ページ要素/パス を CopyPage()/Copy() に渡した場合、コピー失敗の通知が出ずにプレイリスト自体がコピーされてしまうようです。
      (プレイリストをブックとして開くと、ページのパスが実際の c:\\test.zip\\test.jpg ではなく c:\\testPlaylist.nvpls\\test.jpg と認識されることと関係がある?)


      ■ 提案2 に関連
      動画の取り扱いに関連する下記3つの設定項目について、設定値の組み合わせとそれぞれの振る舞いをまとめてみました(まとめただけで不具合の指摘ではありません)。
      先日の提案2は、下記の a における「isBookとコンテキストメニューの振る舞い」に言及したものになると思います。

      ※本件のトピックとは少しズレますが、個人的に動画のブックサムネイルをCache.dbに登録して利用していまして、下記の一連のテストを通じて
      下記 b では「動画のブックサムネイルがページサムネイルとしても利用される」ことに気が付きました(想定内でしょうか?)。
      サムネイルキャッシュの登録・更新に SQLite3.exe を利用していたのですが、Canaryで追加された SQLite API も無事スクリプトから利用できました。
      fileio用の関数(readfile, writefile)についても接続時に拡張モジュール(https://github.com/nalgeon/sqlean の fileio.dll)をロードすることで利用できました。


      <設定項目>
      - 動画をブックとして開く(nv.Config.Archive.Media.IsEnabled)
      - 動画をページとして開く(nv.Config.Archive.Media.IsMediaPageEnabled)
      - ページになるファイルの種類(nv.Config.System.BookPageCollectMode)


      <設定値の組み合わせと振る舞い>
      a) ON / ON / 画像とフォルダ
      - 本棚に列挙される
      - ページリスト及びフィルムストリップにページ要素として列挙される(▶アイコンとして表示される)
      - ページ要素として再生可能(nv.Book.ViewPages[0].Player で操作可能)
      - isBook が false、ページ要素のコンテキストメニューに「ブックを開く」が表示されない ・・・提案2で言及

      b) ON / OFF / 画像とフォルダ
      - 本棚に列挙される
      - ページリスト及びフィルムストリップにページ要素として列挙される(登録済みのブックサムネイルがページサムネイルとして表示される)
      - ページ要素として再生は不可(nv.Book.ViewPages[0].Player が null)
      - isBook が true、ページ要素のコンテキストメニューに「ブックを開く」が表示される

      c) OFF / ON / 画像とフォルダ
      - 本棚に列挙されない
      - ページリスト及びフィルムストリップにページ要素として列挙される(▶アイコンとして表示される)
      - ページ要素として再生可能(nv.Book.ViewPages[0].Player で操作可能)
      - isBook が false、ページ要素のコンテキストメニューに「ブックを開く」が表示されない

      d) OFF / OFF / 画像とフォルダ
      - 本棚に列挙されない
      - ページリスト及びフィルムストリップにページ要素として列挙されない
      - N/A
      - N/A

      e) OFF / OFF / 全て
      - 本棚に列挙されない
      - ページリスト及びフィルムストリップにページ要素として列挙される(テーマの Thumbnail.Background の色がプレースホルダとして表示される)
      - ページ要素として再生は不可(nv.Book.ViewPages[0].Player が null)
      - isBook が false、ページ要素のコンテキストメニューに「ブックを開く」が表示されない


      削除
    3. ご報告ありがとうございます。
      修正、検討いたします。

      削除
    4. Canary1008 で提案2が反映されていることを確認しました!ありがとうございました!

      削除
    5. Canary1008 でエラー2-1 が修正され、実際の画像がコピーされることを確認しました!
      ありがとうございました!

      削除
  15. 今までダウンロード版を使用してきたのですが、この度ストアアプリ版をインストールしてみました。
    ショートカットをデスクトップに作成したときにアイコンが透過されずに背景が緑色になってしまったのですが、透過アイコンにするにはどうすれば良いでしょうか?

    返信削除
    返信
    1. 現象を確認しました。調査してみます。
      現状の認識ですとストアアプリの仕様っぽいです。

      削除
  16. いつも使用しています、ありがとうございます。
    要望なのですが、WebPアニメーションに対応していただけないでしょうか?

    返信削除
    返信
    1. ご要望ありがとうございます。
      対応を検討します。

      削除
  17. Native AOTに対応してほしい。
    ビルドが通っても動かないとか、ビルドエラーが出ないので何が問題なのかわからない等々、対応させるのが大変なのですがNative AOTになって起動が速くなればNeeViewの欠点がなくなるのでがんばって対応お願いします。

    返信削除
    返信
    1. ご要望ありがとうございます。
      検討いたしますが、現状、WPFがNative AOTに非対応であることもあり、望みは薄そうです。
      WinUI3は最近対応されたので移行の候補になりますが、ほぼすべてのUIとデータ依存関係の作り直しになってしまうため、こちらも難しいです。

      削除
  18. いつも便利に使わせていただいております。
    ソフトについて質問なのですが、アスペクト比を変更するショートカットはありますでしょうか?

    返信削除
    返信
    1. その機能のショートカットは用意されていません。
      現状ではスクリプトで実現可能かと思われます。以下、スクリプトの例です。
      https://bitbucket.org/neelabo/neeview.scriptsamples/src/master/Scripts/ToggleAcpectRatio.nvjs

      削除
  19. いつも利用させて頂いています。
    業務で利用することは可能でしょうか。主に画像ビューアとして使いたいのですが利用規約を見つけられなかったのでコメントさせていただきました。商用、非商用など利用規約をご教授いただけると幸いです。

    返信削除
    返信
    1. NeeViewはMITライセンスで提供されておりますので、それに従ってください。

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

      削除
  20. プレイリストパネルの+ボタンについて気になった点を報告します。
    (NeeView 41.3およびCanary0912で確認)
    参考にしていただければ幸いです。


    1. ブックを開いてから別のページに切り替えるまで機能しないようです。
    このとき、ページリストやフィルムストリップの要素のコンテキストメニュー「プレイリストに追加」や、コマンド「プレイリスト項目追加/削除(TogglePlaylistItem)」は正常に機能します。

    2. プレイリストをブックとして開いている際にも機能してしまう?ようです。
    このとき、ページリストやフィルムストリップの要素のコンテキストメニュー「プレイリストに追加」はグレーアウトしていて、コマンド「プレイリスト項目追加/削除(TogglePlaylistItem)」は機能しません(意図的に無効化されている?)。

    なお、ブックとして開いているプレイリストをプレイリストパネルで開いる状態で+ボタンを押した場合(c:\\testPlaylist.nvpls に c:\\testPlaylist.nvpls\\test.jpgを登録した場合) 、対象のプレイリスト要素を削除するかプレイリストパネルで別のプレイリストを開くまでCPU使用率が一定程度上昇したままになるようです。
    また、そのようなプレイリストをブックとして開こうとしてもブックを開く処理が終わらないことがあるようです。

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

      削除
  21. いつも便利に使わせていただいております。ありがとうございます。
    一点質問がございます。

    1・最終ページに至ってから左クリックを押すと、通常は次のファイルの一枚目に遷移することと思われます。
    2.しかしながらブックマークからページを開いている場合、最終ページにて左クリックをすると、前回表示していたファイルの次のファイルの一枚目に遷移してしまいます。
    3・最終ページまで読んだ場合、次のブックマークに遷移してほしいのですが、そのような機能は存在するでしょうか? 

    お忙しいところ恐れ入りますが、お時間のあるときにご回答いただければ幸いです。
    (「次のブックマークに移動」のコマンドが廃止されたとの記載は見たのですが、代替機能が見つけられず……)

    返信削除
    返信
    1. 本棚パネルにブックマークリストを表示した状態であればブックの移動が次のブックマークへの移動になります。本棚にブックマークリストを表示させる方法は本棚パネルでフォルダーツリーを表示するとわかりやすいかと思います。

      削除
    2. なるほど盲点でした。フォルダーツリーを表示してからブックマークを選択すると、本棚パネルにブックマークリストを表示して希望の動作が叶うのですね。先程試し、実際に動作確認ができました。
      迅速なご回答、誠にありがとうございます。

      削除
  22. まれに落ちることがあるのでご連絡いたします。

    ■操作
    NeeViewは「フルスクリーン表示」で、zip内の画像を表示。
    「ウインドウを最小化」して、NeeViewのウインドウを非表示にする。
    その後、別のアプリを使用していると突然画面(Windows全体)が固まり、しばらく(数秒)すると操作可能になり、NeeViewのエラーダイアログらしき物が表示される。
    表示されるエラーはErrorLog.txtのスタックトレースと同様の内容。

    ■頻度
    発生頻度は非常に低いです。今年に入ってから数回程度でしょうか。
    再現性はあるようですが、意図的に再現させられるものではありません。
    v40.xの時は見かけなかった気がします(たまたまか気のせいの可能性もありますが)。

    ■その他
    パソコンは常時稼働(シャットダウンしない、スリープしない)です。
    NeeViewも基本的に起動しっぱなしで、不要な時は最小化して非表示にしています(終了させない)。
    長時間実行させておくとまずいというようなことはあるのでしょうか。
    ErrorLogからは、起動直後等に必ず発生するタイプのエラーメッセージのような印象を受けますが、通常使用では特に問題は起きておらず、忘れた頃に突然発生するという、どうにもピンとこないエラーです。
    致命的に困っているということではないのですが、再現性があるようですので、対応可能であればご検討をお願いいたします。

    ErrorLog.txt
    ---
    OS Version: Microsoft Windows NT 10.0.22621.0 (64bit)
    NeeView Version: 41.3 (.msi)

    System.Runtime.InteropServices.COMException: {デスクトップ構成が無効化されています} デスクトップ構成が無効化されているために、操作を完了できませんでした。 (0x80263001)
    at Standard.NativeMethods.DwmExtendFrameIntoClientArea(IntPtr hwnd, MARGINS& pMarInset)
    at System.Windows.Shell.WindowChromeWorker._ExtendGlassFrame()
    at System.Windows.Shell.WindowChromeWorker._UpdateFrameState(Boolean force)
    at System.Windows.Shell.WindowChromeWorker._HandleDwmCompositionChanged(WM uMsg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at System.Windows.Shell.WindowChromeWorker._WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    at System.Windows.Application.RunDispatcher(Object ignore)
    at System.Windows.Application.RunInternal(Window window)
    at NeeView.App.Main()
    ---

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

      グラフィックドライバーが関係している可能性がありますので、ドライバーを最新版にすれば改善するかもしれません。
      https://stackoverflow.com/questions/17202236/desktop-composition-is-disabled-error
      https://github.com/microsoft/PowerToys/issues/30507

      削除
    2. ご検討いただきありがとうございます。
      グラフィックドライバーは私も気になっていたところで、今年に入ってから何度かアップデートをかけており、ほぼ最新の状態になっていると思いますが、それでも再発しています。
      当方の環境ですが、CPUはIntel Core i7-13700、GPUはCPU内蔵のもの(UHD Graphics 770)、RAMは32GBです。

      なお、本件は2つの問題があると思っており、1つは「一瞬画面が固まる」で、これはドライバの問題のような気がしています。
      もう1つが、「その時にNeeViewが落ちてしまう」で、これが不可解です。

      同時に複数のアプリを起動していますが、この事象が発生した時に、決まってNeeViewのみ落ちます。
      他に頻繁に起動しているアプリとしては、エクスプローラー、ブラウザ、テキストエディタ、VS Code、Word、Excel、音楽プレーヤーなどで、何を起動しているかはタイミング次第ですが、大抵は複数のアプリを起動しています。
      それらはいずれも落ちないのですが、NeeViewのみ落ちてしまいます。
      違いとしては、その時にウインドウが最小化されているのはおそらくNeeViewのみですが、関係ありますでしょうか。

      よろしくお願いいたします。

      削除
    3. 推測するに、.NET の WPF で作られたアプリに生じる現象のように思われます。ウインドウの状態が関連しているかは不明です。NeeViewアプリ側も特に関連する処理は行っていません。

      削除
  23. -h 付きで起動させたときに表示されるヘルプ(起動オプションの説明ダイアログ)のテキスト表示がおかしくなっているようです。
    多言語対応の置換前テキストがそのまま表示されている感じがします。

    40.8までは正常で、41.0 からおかしくなったようです。

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

      削除
  24. いつも便利に使わせていただいています。便利なツールをどうもありがとうございます。
    要望が二つあります。

    (要望1)
    コマンドラインでスクリプトを指定して実行するとき、設定で指定したスクリプトのフォルダではなく、NeeView.exeがあるフォルダにあるスクリプトファイルを実行するようです。これをスクリプトフォルダとして指定した場所にあるスクリプトを実行するようにできないでしょうか?スクリプトはできれば1カ所で管理したいです。

    (要望2)
    メインビューを分離していないときにフォルダを開くと1枚or2枚のサムネイルが表示されています。これをメインビューを分離しているときと同じようにページリストを表示するようにできないでしょうか?現在の表示との切り替えでもOKです。
    私の場合、フォルダを表示しているときはコンテンツを表示するような見方ではなく、リストを確認するような見方の方が多いので、ページリストのような表示形式の方が便利です。

    よろしくお願いします。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      ちなみに、パネルはサイドバーアイコンをドラッグして左右配置を移動できたりパネル同士を縦横に接続したりすることが可能ですので、ページリストパネルの配置をそのように変更することで似たような表示にできるかと思います。

      削除
    2. とりあえず以下のようなスクリプトをOnBookLoaded.nvjsとして設定して、それっぽい動作にはできました。

      if (/[.]zip$|[.]rar$/i.test(nv.Book.Path)) {
      nv.Config.MainView.IsFloating = false
      } else {
      nv.Config.MainView.IsFloating = true
      }

      分離したメインビューがそのまま残るので、これは手動で小さくしています。これを自動でCloseできればほぼ期待通りの動作になりますが、スクリプトでの描き方がちょっとわからなかったのでこれでしばらく運用してみます。

      削除
    3. 以下のようにOnBookLoaded.nvjsを設定するとメインビューを自動で最小化することもできました。ただ、メインビューを分離しているときにページリストをクリックするとメインビューが表示されます。これを、ページリストをクリックしても表示されないようにする方法はあるでしょうか?

      if (/[.]zip$|[.]rar$/i.test(nv.Book.Path)) {
      nv.Config.MainView.IsFloating = false
      else if (/[.]zip$|[.]rar$/i.test(nv.PageList.SelectedItems[0].Path)) {
      nv.Config.MainView.IsFloating = true
      nv.Command.FocusMainView.Execute()
      nv.Command.ToggleWindowMinimize.Execute()
      } else if (nv.PageList.SelectedItems[0].GetMetaValue("FileSize") != "") {
      nv.Config.MainView.IsFloating = false
      } else {
      nv.Config.MainView.IsFloating = true
      nv.Command.FocusMainView.Execute()
      nv.Command.ToggleWindowMinimize.Execute()
      }

      削除
    4. ないです。
      設定を検討してみます。

      削除
    5. よろしくお願いします。

      削除
  25. 無料で高機能で有難く使用させて頂いています。

    (要望)
    「スライダーの方向」を「左から右」に設定していてる場合、
    左クリックすると一つ前の画像に戻ります。つまり、スライダーが左に移動します。右クリックすると次の画像に移動します。

    スライダーの方向に関係なく、左クリックは次の画像へ、右クリックは前の画像へ移動するように変更もしくは設定できると有難いです。

    返信削除
    返信
    1. 設定の「コマンド」ページに「スライダー方向によってページ移動コマンドの移動方向を入れ替える」がありますので、こちらを OFF にしてお試しください。

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

      「スライダー方向によってページ移動コマンドの移動方向を入れ替える」をOFFにすることで、スライダー方向を「左から右へ」「右から左へ」のどちらの場合でも、意図した通り左クリックで次の画像に移動できました。しかし、スライダー方向「左から右へ」の状態で、キーボードの「→」キーを押すと、前の画像に移動します。

      恐らく、仕様的概念的に、左クリックを「←」、右クリックを「→」キーに割り当てているからだと思います。
      多くの画像ビューアやブラウザでは、左クリックを「←」として扱うようになっていないため混乱しました。

      一応、コマンド設定で、「前のページに戻る」を右クリックから左クリックに変更して割り当てることで、スライダー方向「左から右へ」に関してだけは意図通り挙動するようになりました。

      削除
  26. いつも便利に利用させてもらっています。
    スクリプトに関する要望です。

    読み取り専用でもよいので、nv.Book.IsBookmark みたいな感じで「開いているブックのブックマーク登録有無」を判別できたらうれしいです。
    アドレスバー右上の★の有無をスクリプトで読むイメージです。

    ご検討いただけたら幸いです。

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

      削除
  27. アップデートありがとうございます。いつも便利に使用させていただいております。
    要望なのですが「MoveBookFile.nvjs」のスクリプトをブックがディレクトリの場合にも機能させることは可能でしょうか?
    ご検討のほどよろしくお願いいたします。
    https://bitbucket.org/neelabo/neeview.scriptsamples/src/master/Scripts/MoveBookFile.nvjs

    返信削除
    返信
    1. ご要望ありがとうございます。
      このスクリプトの実装方法だとディレクトリのドライブをまたいだ移動が複雑になるので、別の方法を検討します。

      削除
  28. お世話になってます。
    バグというよりおそらく仕様だと思うのですが
    「イメージをデコードできません。イメージのヘッダーが破損している可能性があります。」
    と、表示され画像が表示されません。
    表示されないファイルを調べてみるとプロパティの詳細のイメージの部分が空欄でした。
    Windows11内蔵のビューア等でも表示されないのでこれが正常なのかもしれませんが
    他のビューアやSusieプラグイン経由だとNeeViewでも問題なく表示されるので
    ヘッダー?をスルーできるようなオプションをできましたらお願いします。
    (すでにそのような設定があったらすみません)

    返信削除
    返信
    1. ご要望ありがとうございます。検討します。
      ですが、画像表示には.NETライブラリの機能をほぼそのまま使用しているため、対応は難しそうです。

      削除
  29. バージョンアップ管理を簡素にしたいのでできるだけwingetでインストールアプリを管理したいのですがZIP版だけでしかオプションからエクスプローラーの右クリックメニューで「NeeViewで開く」のオン・オフを設定できないのが不便です。インストーラー版ではインストール時に決定したら二度と変更がきかないしストア版ではそもそも選択できずオフのみです。どの経路でインストールをしてもオプションからいつでも変更できるようにしてほしいです。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除
  30. こんにちは
    メニューのフェードやスライド効果を無効化できますでしょうか?

    返信削除
    返信
    1. 今のところ、無効化できません。

      削除
    2. Windows の設定でアニメーションを無効にした時、一部のメニューにしか反映されませんね。
      調査、検討します。

      削除
  31. とても便利なソフトで愛用しています。
    だいぶ前のバージョンから発生していたのですが、ある条件でページがものすごく小さい画像で表示されます。最初に選択するファイルによっては、フォルダのサムネイルも表示されません。
    異常になると本棚の青枠が選択(黄色い下線)通りに動かず、2つ表示される場合もあります。
    本棚で選択するファイルにより正しく表示されたり、異常になったりします。
    こちらではフォルダに合計1.42GBとなる15個のファイルがある場合に発生しています。
    一つ消して14個にすると正しく表示されます。
    個別では問題ないのでファイル自体に異常はありません。
    何か制約があるのでしょうか?

    返信削除
    返信
    1. ご報告ありがとうございます。
      巨大な画像ファイルを読まれているようですので、なんらかのメモリ関係の問題が発生している可能性があります。
      設定の「メモリとパフォーマンス」ページの設定で挙動が変化するかもしれません。

      削除
    2. メモリとパフォーマンスの設定のどれが効果あるのかわかりませんが、いろいろ変えてみた結果は改善されず。PCはi5-13600Kのメモリ32GB。
      同じ現象はもっと小さい容量の場合でも発生するようですが、何が効いているのかわかりません。昔のバージョンでは問題無かったのですが、何か試してみることがあればお願いします。

      削除
    3. 80MB の jpeg 20 枚のフォルダーでテストしてみましたが、現象を確認できませんでした。
      もし簡単な再現方法がわかりましたらお知らせください。

      巨大サイズの画像を表示するときのメモリ節約設定としては、「最大画像サイズ」を2048x2048ぐらいに、「読み込み画像サイズ制限」をオンにすることが効果的です。
      「画像読み込みに使用するスレッド数」を 1 にすることで並列処理が原因の問題が抑制されるかもしれません。

      「ものすごく小さい画像で表示」という状態になった時、スケールやストレッチを変更することで正常なときと同じ画像になりますか?
      設定の「対応形式」ページの「画像の解像度情報を適用する」をオフにすることでピクセルサイズそのままの画像サイズになりますが、単体では問題は発生しないとのことなので関連の可能性は少なそうです。

      削除
    4. 教えていただいたメモリとパフォーマンスの設定でも変わらずでした。
      問題の状態になった場合には、メニューバーのプルダウンメニューがどれも、アプリの左上に表示されてしまいます。前に述べたように本棚の選択も異常になっています。スケール、ストレッチの方法はわかりませんが、アプリ自体の動作が異常になっているように見えます。
      一度クリーンインストールしてみようと思います。

      削除
  32. 一つか二つ前のCanary版から、ブックマークの中身が消えるようになっております。

    また、40系か41系になる前のα版のどれかの時点から、画像を四十五度や九十度等に回転させてから「ウィンドウに合わせる」操作をしても合わなくなっております。

    それから、元々おかしかったのかどこかの時点からおかしくなったのか、またはっきりした条件も分かりませんが、
    透過pngを寸法九十九%や百%で表示する際とそれ以外の寸法で表示する場合とで色味が変わります。

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

      > 一つか二つ前のCanary版から、ブックマークの中身が消えるようになっております。
      こちらでは現象を確認できませんでした。
      お手数ですが再現手順を教えていただけると助かります。

      > また、40系か41系になる前のα版のどれかの時点から、画像を四十五度や九十度等に回転させてから「ウィンドウに合わせる」操作をしても合わなくなっております。
      無回転の状態を基準にストレッチするように計算を変更したための挙動となります。
      以前のように回転した状態でストレッチさせるには、ナビゲーターパネルのスケール項目にある「ストレッチ追従」ボタンをONにしてください。

      > 透過pngを寸法九十九%や百%で表示する際とそれ以外の寸法で表示する場合とで色味が変わります。
      100%ではそのまま、それ以外ではピクセル補完処理やリサイズフィルター処理が入るため、その影響で色味が変化している可能性があります。
      これらはすべての画像に共通の挙動で、こちらでは透過png特有の問題であると確認できませんでした。なにかお気づきの点があればお知らせください。

      削除
    2. >再現手順
      例えばブックマークパネルで新しいフォルダーを作ってそこに登録済みのフォルダーをドラッグしてから新しいフォルダーを開くと、表示できるファイルはありませんとなります。
      41.3に上書きして戻すと確かに移動していたようで表示されます。

      他には、新しいフォルダーを開いた状態で左のパネルからブックマークするとブックマークされたような状態にはなるものの星印はつかず、新しいフォルダーから他のフォルダーに移動してまた戻ってくると表示できるファイルはありませんとなります。
      41.3に上書きして戻してもブックマークされておらず表示できるファイルはありませんのままです。

      Canary1105でも変化ありません。

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

      削除
  33. いつも更新ありがとうございます。Windows標準のPhoto.exeがあまりに使えなくて、これ無しでは生活できません。

    私は今neeView 41.3(64bit)zip版をwin10 64bit環境で利用しています。

    要望になります。
    AI画像生成において余りにも大量の枚数の画像を一度に閲覧確認、整理といった作業が頻発するようになりました。(一度に数百枚超を4,5回)
    現在だとCtrl+Cなどで今閲覧している画像について「ファイルをクリップボードにコピー」という機能がありますが、そうした機能とは別途「ファイル名をコピー」、「フルパスでのファイル名をコピー」などの機能がありましたら大変助かります。

    なにとぞよろしくねがいします

    返信削除
    返信
    1. >(一度に数百枚超を4,5回) ※1日あたりの作業量です

      削除
    2. ご要望ありがとうございます。
      ちょっとわかりにくいですが、「ファイルをコピー」コマンドのパラメーター設定に「テキストコピー」がありますので、これを設定することでファイルパスのテキストもコピーされるようになります。
      ちなみに次のバージョンではこの設定を今よりはわかり易い場所(「全般」ページ)に移動する予定です。

      削除
    3. できました!
      こんなところにあったんですね素晴らしいアプリです!ありがとうございます

      削除
  34. こんにちは!とても便利に使わせていただいております。ページを移動してもルーペで拡大をしたままにしたく”ページの移動でルーペを解除する”をオフにしてみたのですがうまくできません。ほかの設定でできますでしょうか?

    返信削除
    返信
    1. その設定でルーペ状態は維持されるはずです。
      こちらで以下のようにテストしてみましたが、問題を確認できませんでした。

      1. ”ページの移動でルーペを解除する”をオフにする
      2. 左ボタン長押しでルーペ状態にする
      3.そのまま左右キーを押してページ移動する -> ルーペ状態は維持されたままであることを確認

      上記と異なる場合、問題の再現手順を教えていただけると助かります。

      削除
  35. コマンド「ブック内の前の/次のプレイリスト項目に移動(nv.Command.PrevPlaylistItemInBook/NextPlaylistItemInBook)」について

    本コマンドは、「"ブック内のページ順" にプレイリストマークのあるページに移動するコマンド」になっています。
    コマンド「前の/次のプレイリスト項目に移動」のバリアントコマンドの挙動としては、ふさわしくない感じがあります。

    そこで、下記のいずれかを提案します。
    ご検討いただければ幸いです。

    <提案>
    a) コマンドグループを「プレイリスト」から「ページ移動」に変更する。
    その上で、新たに 「"プレイリスト項目順" にブック内のプレイリスト項目に移動するコマンド」を、コマンドグループ「プレイリスト」に用意する。
    b) コマンドパラメータに移動順序(ブック内のページ順/プレイリスト項目順)を指定する項目を追加する

    なお、上記aを採用する場合、既存および新規のコマンド名をどうするかが悩ましいかもしれません。
    また、上記 b を採用する場合、既存のコマンドパラメータ「最初と最後のページを含める。(IsIncludeTerminal)」は移動順序が "ブック内のページ順" の場合にのみ意味のあるパラメータ、ということになりそうです。

    返信削除
    返信
    1. ご提案ありがとうございます。
      対応を検討します。

      削除
  36. プリンタをセットアップしていない環境で「印刷」メニューをクリックすると、エラーで落ちてしまうようです。
    正式版(41.3)及びCanary版(1029)で確認しました。

    返信削除
    返信
    1. ご報告ありがとうございます。対策を検討します。
      もしエラーメッセージのテキストが表示されているようであれば詳細を教えていただけると助かります。

      削除
    2. お返事ありがとうございます。
      下記がエラーログになります(分割1)。
      Canary1029を解凍してそのままの環境で取得しました。

      --------------
      OS Version: Microsoft Windows NT 10.0.19045.0 (64bit)
      NeeView Version: Canary 1029 / Rev. 44b7656f (Canary 1029)

      System.NullReferenceException: Object reference not set to an instance of an object.
      at NeeView.PrintModel.UpdatePrintDialog()
      at NeeView.PrintModel..ctor(PrintContext context)
      at NeeView.PrintWindowViewModel..ctor(PrintContext context)
      at NeeView.PrintWindow..ctor(PrintContext context)
      at NeeView.PrintController.Print(Window owner, PageFrameContent content, FrameworkElement element, Transform transform, Double width, Double height)
      at NeeView.PrintController.Print()
      at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
      at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
      at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
      at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
      at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
      at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
      at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
      at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
      at System.Windows.Input.CommandManager.TransferEvent(IInputElement newSource, ExecutedRoutedEventArgs e)
      at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
      at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
      at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
      at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
      at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
      at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
      at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
      at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
      at System.Windows.Threading.DispatcherOperation.InvokeImpl()
      at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
      at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)

      削除
    3. (分割 2/2)

      --------------
      --- End of stack trace from previous location ---
      at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
      at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
      at System.Windows.Threading.DispatcherOperation.Invoke()
      at System.Windows.Threading.Dispatcher.ProcessQueue()
      at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
      at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
      at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
      at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
      at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
      at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
      at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
      at System.Windows.Application.RunDispatcher(Object ignore)
      at System.Windows.Application.RunInternal(Window window)
      at NeeView.App.Main()

      削除
    4. 情報ありがとうございます。
      修正します。

      削除
  37. FTPサーバーにアクセスする方法はありますでしょうか?

    返信削除
    返信
    1. 残念ながらFTPには対応しておりません。

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

      削除
  38. いつも大変便利に使わせていただいています。有益なソフトウェアを公開いただき、有難うございます。

    数年前から使用しておりますが、中に格納する画像の枚数が多い(1,000枚以上とか)ブック(フォルダ)を選択し、中の画像をパラパラとページをめくるようにスクロール(表示画像を切替)していくと、たまにアプリが固まってしまったり、画面がブラックアウトしてアプリ終了してしまったりすることがあります。格納する画像が多い時に限って再現する症状のように思えるので、PCのRAMを増設することで症状再発を防げるのかな? と思っているのですが、作者様のお考えをお聞かせいただけませんでしょうか?
    なおNeeViewは最新41.3、OSはWin11Home。RAMは既に32GB積んでいるので、これ以上載せても意味あるのかな? という気もしています。ちなみに各画像のサイズはほぼ全て1MB未満、大抵は300KB前後とさほど大きくありません。

    返信削除
    返信
    1. メモリは十分だと思います。当方16GBですが問題に遭遇したことはありません。画像数も数万枚での動作も確認しています。
      症状からして、グラフィックドライバ―が関係しているかもしれませんので最新版に更新して試してみるのもよいかもしれません。あとは設定の「メモリとパフォーマンス」で「画像読み込み数に使用するスレッド数」を1にすることで画像の並列展開がなくなるので症状がかわるかもしれません。
      エラーダイアログも表示されないような落ち方の場合、Windowsのイベントビューアーでエラーのスタックトレースが確認できるかもしれませんので、機会がありましたらその内容を教えていだだけますと解決の手がかりになるかもしれません。

      削除
    2. さっそくご返信いただき、有難うございまず!
      グラフィックドライバは常に最新版を適用しているので、たぶん問題ないと思います。ちなみにGeForce3060tiです。
      「画像読み込み数に使用するスレッド数」、確認したところ『4』に設定しておりました。ご指示通り『1』、もしくは(推奨2~4なので)『2』に設定変更してしばらく使ってみようと思います。

      削除
  39. サイドパネルの上部および下部のスペースについて

    メニューおよびスライダーを自動的に隠す設定にした場合に、サイドパネルの上部および下部に追加のスペースが生じるようです。
    これは、意図されたものでしょうか?
    (マウスポインタによるパネルの自動表示判定に関する挙動を考慮したもの?)


    a) パネル上部のスペース
    下記設定が ON の場合、サイドパネルの上部に追加のスペースが生じます
    <設定項目>
    -メニューを自動的に隠す(nv.Config.MenuBar.IsHideMenu): ON

    b-1) パネル下部のスペース
    下記設定が共に ON の場合、サイドパネルの下部に追加のスペースが生じます
    <設定項目>
    - スライダーを表示する(nv.Config.Slider.IsEnabled): ON
    - スライダーを自動的に隠す(nv.Config.Slider.IsHidePageSlider): ON

    b-2) パネル下部のスペース、が生じないパターン
    スライダーが無効化されていると、フィルムストリップを自動的に隠す設定にしても追加のスペースは生じません(上記bと異なる)
    <設定項目>
    - スライダーを表示する(nv.Config.Slider.IsEnabled): OFF
    - フィルムストリップを表示する(nv.Config.FilmStrip.IsEnabled): ON
    - フィルムストリップを自動的に隠す(nv.Config.FilmStrip.IsHideFilmStrip): ON

    返信削除
    返信
    1. はい、意図した挙動になります。
      これはサイドパネル上部に表示された項目を選択しようとしたときに隠れていた上部パネルがその上に表示され選択できなくなるというストレスを軽減するための処置です。

      削除
    2. お返事ありがとうございます。
      サイドパネル操作に支障が出そうな状況をあらかじめ回避する意図が込められていたんですね。

      そのコンセプトに則った上で要望があります。
      下記設定項目がそれぞれ「有効(Allow)」以外の場合に、それぞれ上下の追加のスペースを抑制できたらうれしいです。
      個人的に両方とも「1ピクセルだけ有効(AllowPixel)」にしているので、現状は追加スペースがただのデッドスペースになってしまっています。

      - サイド パネル上でのメニュー バーの自動表示判定(nv.Config.AutoHide.AutoHideConflictTopMargin)
      - サイド パネル上でのスライダーの自動表示判定(nv.Config.AutoHide.AutoHideConflictBottomMargin)

      削除
    3. ご要望ありがとうございます。
      検討いたします。

      削除
  40. こんにちは。非常に細かい点ですが、本棚でのファイル操作について2つ要望がございます。

    1.Explorerにおいてはファイル名を変更しようとF2を押すと、ファイルの名前部分のみが全選択されます。ここで左キーを押すとカーソルはファイル名先頭に、右キーを押すとカーソル位置はそのままに全選択状態が解除されます。しかしながらNeeviewにおいては、選択状態が解除されつつカーソルがファイル名の終端位置から単に1つだけ左または右に移動する、となっています。普段使用しているExplorerまたはその互換ファイラーと操作法が異なるのは事故に繋がりますため、出来得ればExplorer準拠の挙動として頂きたく存じます。

    2.ファイル整理において、Explorer他のファイラーを併用する事が多いのですが、切り取り(ctrl+x)に相当する機能が無いようにお見受け致します。あればあったで効率化の助けになる可能性のあるものです。

    以上について、ご検討頂けますと幸いです。私の見落とし・勘違い等がございましたら平にご容赦くださいませ。今後ともよろしくお願い致します。。

    返信削除
    返信
    1. ご要望ありがとうございます。対応を検討します。

      削除