Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

フルスクリーンを可能にする #2251

Open
Hiroshiba opened this issue Aug 26, 2024 · 10 comments · May be fixed by #2273
Open

フルスクリーンを可能にする #2251

Hiroshiba opened this issue Aug 26, 2024 · 10 comments · May be fixed by #2273
Labels
初心者歓迎タスク 初心者にも優しい簡単めなタスク 機能向上

Comments

@Hiroshiba
Copy link
Member

内容

VOICEVOXはフルスクリーン用の機能がほぼコーディングされているのですが、なぜか UI 上には現れません。
フルスクリーンを可能にしてあげると、ちょっと便利かもです。
おそらく結構簡単なタスクだと思うので、初心者歓迎タスクにしてみてます。

実現方法

フルスクリーンにする機能はelectron側にあります。
最大化ボタンもelectronの機能を使っているので、ほとんど同じような流れを取ります。
コード全体で「maximizeWindow」と検索すれば最大化ボタンの処理がわかると思います。

あと同じようにしてフルスクリーン用の処理を書いていって、あとはelectronのwin.setFullScreenを実行すれば良いはず。

VOICEVOXのバージョン

0.20.0

その他

やらなくちゃいけないことの総量は少ないのですが、画面の処理からelectronの関数を実行するまでの経路がややこしいので、意外と手間取るかもしれません。
不明なことがあれば何でもご質問ください!

@Hiroshiba Hiroshiba added 機能向上 初心者歓迎タスク 初心者にも優しい簡単めなタスク labels Aug 26, 2024
@terapotan
Copy link

こちら着手してもよろしいでしょうか?
まだプロジェクトに不慣れなので、お時間頂戴するかもしれませんが、それでもよろしければ……!

また本issueに関して一点質問があります。フルスクリーンモードへ突入する契機はどのようなものを考えていらっしゃいますでしょうか。私の方で思いつく契機といたしましては、

  1. F11キーなどファンクションキーを押すことでフルスクリーンに移行する
  2. UIからフルスクリーンモードに切り替える
    があります。

@Hiroshiba Hiroshiba reopened this Sep 24, 2024
@Hiroshiba
Copy link
Member Author

Hiroshiba commented Sep 24, 2024

すみません、コメントを間違えた上に間違えてcloseしてしまいました 🙇


@terapotan issueコメントありがとうございます! もちろん大歓迎です!!

初心者歓迎タスクラベルはついていますが、もしかしたら予想していなかった不明な点がいくつかあるかもしれません。
なのでかなり気軽にご質問いただければ・・・!

フルスクリーンモードへの移行は1と2両方が良さそうに感じました!
どちらの実装も一癖ありますが、概ねこんな感じだと思います。参考になれば。。 🙇

  • 今のVOICEVOXのコード的には、まず2を実装して1を実装するのが簡単かも
  • 2のUIからフルスクリーンは、メニューバーの「表示」できると良さそう
    • コードはこのあたりsubMenuに「フルスクリーン」を足すと良さそう?
    • ちょっとtypescriptに慣れてないと難しい書式だけど、このあたりのコードを真似るとメニューアイテムを足せるはず。。
    • あとはissue内容の実現方法にある感じで頑張ればなんとかなる・・・はず!!だいぶ大変かもです!!
  • 1のショートカットキー
    • 同じファイルにあるregisterHotkeyForAllEditorsを書きつつ、あとはファイル全体検索で新規プロジェクトと検索して、出てきたコードのようにいろいろ書き足す
    • ちなみにmacOSのフルスクリーンショートカットはctrl+cmd+Fが主流とのこと

@terapotan
Copy link

terapotan commented Sep 25, 2024

@Hiroshiba
コメントありがとうございます! とても助かります!
ショートカットキーの実装について再度質問があるのですが……ファンクションキーの設定はどのように行えばよいかご存知でしょうか?
参考までに他のショートカットキーの設定を見たのですが、ショートカットキーにファンクションキーを使用している例はなく……具体的には下記のHotKeyCombinationにおいて、ファンクションキーを表す文字列として何を指定すれば良いのか分からないという質問です。

action: "新規プロジェクト", combination: HotkeyCombination(!isMac ? "Ctrl N" : "Meta N"), },

@sevenc-nanashi
Copy link
Member

多分 F11 で大丈夫だと思います。

@terapotan
Copy link

ファンクションキーの指定が正しいか確かめるために、src/type/preload.ts 150行目を次のように書き換え(Ctrl Shift S -> F10)、「プロジェクトを名前を付けて保存」のショートカットキーをCtrl + Shift +Sから、F10に変更することを試みました。
しかし、再ビルドをかけても動作に変化はありませんでした。依然として、Ctrl + Shift +Sが「プロジェクトを名前を付けて保存」のショートカットキーとして機能していました。他ショートカットキーの設定を反映させるために必要な修正、特殊なビルド手順等ございますでしょうか。

{ action: "プロジェクトを名前を付けて保存", combination: HotkeyCombination(!isMac ? "F10" : "Shift Meta S"), },

@sevenc-nanashi
Copy link
Member

デフォルトの設定なので新しく設定を作らないと反映されないと思います。

(あと:Draft PRでもいいのでPRを作ってくださると色々とアドバイスしやすいので可能ならお願いします)

@terapotan
Copy link

@sevenc-nanashi
ありがとうございます!
承知いたしました、PR作成します。

@Hiroshiba
Copy link
Member Author

Hiroshiba commented Sep 25, 2024

依然として、Ctrl + Shift +Sが「プロジェクトを名前を付けて保存」のショートカットキーとして機能していました。

完全にカンですが、Ctrl + Shift +Sが設定に保存されているかもしれません!
VOICEVOX内のアプリの「設定」→「ホットキー」でプロジェクトを名前を付けて保存の設定を確認するとチェックできる・・・かも・・・!
(更にそこでリセットボタンを押せばちゃんとF10になるかも・・・?)

@terapotan
Copy link

@Hiroshiba
新規でプロジェクト作成するか、ショートカットキーの設定をデフォルトに戻すと無事「プロジェクトを名前を付けて保存」がF10になりました!
ありがとうございます!

@Hiroshiba
Copy link
Member Author

おっ良かったです!!

terapotan added a commit to terapotan/voicevox that referenced this issue Sep 27, 2024
@terapotan terapotan linked a pull request Sep 27, 2024 that will close this issue
@sevenc-nanashi sevenc-nanashi linked a pull request Sep 27, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
初心者歓迎タスク 初心者にも優しい簡単めなタスク 機能向上
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants
@Hiroshiba @terapotan @sevenc-nanashi and others