poooi / poi

Scalable KanColle browser and tool.

Home Page:https://poi.moe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Use more screen areas by moving plugins into empty space

liu-ziyang opened this issue · comments

poi 版本 / poi version:
10.9

操作系统 / OS:
macOS but should be os independent

功能的详细描述 / Details on the feature:
Right now the game canvas is wrapped in a resizable canvas that wasted some screen space when played under most 16:9 monitors.
Screenshot 2023-10-25 at 4 35 41 PM

It would be great if we can utilize the whole screen space if we can have additional layout that allows either plugins or the main panel to occupy this space, for example

Screenshot 2023-10-25 at 4 37 17 PM

(The above layout is probably not very appealing , it probably makes more sense to put it on the bottom but I can't make it on the bottom at the moment)


I am interested to contribute to this, but being very new with javascript/typescript/electron I didn't make much progress. In addition to my inexperience in the language I was also struggling to unwrap my head in the code around window handling since there is quite extensive code branching between window mode or not. (An alternative can be making the plugin panel also a window like the main game so we can move it around to under the game window, for example)

If someone is interested to pair with me to get this to work that would be awesome

It needs major changes to current layout, but a nice to have feature. will consider if there is a way to do it with less cost

Going to throw this out here as a react amateur:
I really like how the main panel allows customization of individual components and allows moving/resizing them. What if we make the whole app a big react grid and everything a resizable component in there? be it plugin/panel component or even the game canvas itself?

Is this something completely stupid and/or not achievable? Understandable if the cost and negatives overweight the benefit

@liu-ziyang It's possible but as I said before, it need a lot of changes, especially in the webview area, which has a complex layout rule

okay, if this is possible I can explore this, would you be interested to follow the WIP and maybe provide some guidance along the way?