サブウインドウのサイズ記憶

こんにちはー。
下記、同様の要望が無かったように見えましたが、重複していたらお許しください。

メインウィンドウと、ノートをダブルクリックして開く個別のノートウィンドウが開く際のウィンドウサイズを指定できる設定が欲しいです。

現状

  • メインウィンドウ: 前回終了時のウィンドウサイズを記録し、次回起動時に復元する
  • ノートウィンドウ: 固定

要望

  • メインウィンドウ:
    • ウィンドウサイズ復元動作か、ウィンドウサイズ固定かを選びたい (サイズは指定可能にしたい)
  • ノートウィンドウ:
    • メインウィンドウ同様にウィンドウサイズ復元動作か、ウィンドウサイズ固定かを選択したい (サイズは指定可能にしたい)
    • メインウィンドウとは別枠で設定したい (例えばメインウィンドウは復元動作、ノートウィンドウはサイズ指定するなど)

現状のノートウィンドウの幅は私にとっては少し狭いため、毎回ノートウィンドウを開いてから少し幅を広くして使っています。そこで、ノートウィンドウの幅をもう少し広く取った状態で開けたらいいな…と思いました。

Yukoさん

こんにちは。ご要望ありがとうございます。
現状はメインウインドウのみサイズと位置を記憶する仕様ですね。
確かに、サブウインドウのサイズも記憶するようにしてもいいかもしれません。
固定かどうか選びたいとの事ですが、その理由は何でしょうか?

固定かどうか選びたいとの事ですが、その理由は何でしょうか?

私の場合、その時々の作業に応じて利用するウィンドウサイズを変えています。いつもは 1280x720 くらいのサイズ感で使っていますが、例えば資料(書籍だったりWebだったり)を横に並べて(全画面の中央縦割りで左右に並べて)使うこともあれば、最大化状態で使うこともあります。ただ、メインは 1280x720 程度のサイズで使うことが多いため、前回終了時のサイズによっては一度ウィンドウを狭めるなど調整してから使い出します。そのため、起動時にサイズが固定できると小さな手間が無くなると考えた次第です。

しかしながら、利用しやすいサイズに一度調整したらそのまま使う場面の方が多いため、固定に設定できなくともサブウィンドウが記憶されるだけで非常に助かります。

なるほど、ご説明ありがとうございます。
作業内容によってウインドウサイズを変えているんですね。
聞いていて思ったのですが、作業によって逐一設定をオンオフ切り替えたりサイズを指定するのもなかなか手間だったり忘れたりするのではないかという気がしました。設定画面をいちいち開いてチェックボックスをトグルしているワークフローがイメージできませんでした。

なので、まずはサブウインドウのサイズを記憶するという機能を検討したいと思います。

なので、まずはサブウインドウのサイズを記憶するという機能を検討したいと思います。

ありがとうございます!サブウィンドウは毎回幅を調整してから使い始めているので、搭載されると大変助かります。
ご検討よろしくお願いします。

作業によって逐一設定をオンオフ切り替えたりサイズを指定するのもなかなか手間だったり忘れたりするのではないかという気がしました。設定画面をいちいち開いてチェックボックスをトグルしているワークフローがイメージできませんでした。

すみません、上手くお伝えできていないようです。

「作業によって逐一設定をオンオフ切り替えたりサイズを指定する」という使い方はせず、「起動時ウィンドウサイズ固定 & サイズ:1280x720」で設定したら、常時それで使うイメージです。

改めて下記に整理します。(うまく伝えられるか自信がありませんが…:sweat_smile:

現状:

いつもは 1280x720 程度のウィンドウサイズで使っているが、作業によってはサイズを変えて使うことがある。そのままアプリを終了すると、次回起動時にはそのウィンドウサイズ(≠ 1280x720)が引き継がれるため、いつもの使いやすいサイズ(= 1280x720)に直してから使い始める。

やりたいこと:

起動時、自動的に指定サイズ(= 1280x720)にリセットする。

設定イメージ:

起動時ウィンドウサイズ固定 & サイズ:1280x720

なるほど、理解できました。
確かにそのワークフローは納得できます。
要望の内容は、プリセットのサイズに素早く変更できれば良いという風に理解しました。
代替案としては、例えば init.js でウインドウサイズを変更を変更するコマンドを作り、メニューショートカットを定義してみてはいかがでしょうか? inkdrop.windowBrowserWindowのインスタンスにアクセスできます。

おおっ、プラグインにしなくともカスタマイズできる仕組みがあったんですね。素晴らしい拡張性です。

仰るとおり、プリセットしたサイズに起動時に変えたかったのです。以下のような init.js を書いて、希望の動きとなりました!ありがとうございます🙇‍♂️🙇‍♂️

inkdrop.commands.add(document.body, {
  'user:reset-window-size': () => {
    let size = {width: 1350, height: 800};
    if (!inkdrop.isMainWindow) {
      size.width = 880;
      size.height = 720;
    }
    inkdrop.window.setSize(size.width, size.height);
  },
});
inkdrop.commands.dispatch(document.body, 'user:reset-window-size');

2 Likes

おお、実現できてよかったです!
init.jsのシェアもありがとうございます:tada::pray: