elanthia-online / illthorn

Electron-based FE
18 stars 10 forks source link

Improve layout tweaking: resizing, maximizing, hiding elements #146

Closed jasedit closed 1 year ago

jasedit commented 3 years ago

It would be nice to be able to adjust the layout in a variety of ways. Here's the pain points I've run into thus far:

  1. Resize various panels to tweak the layout. Making the left hand panel wider/narrower, making the thought window taller/shorter, etc.
  2. Hiding the sessions div, either intelligently (e.g. 0 or 1 sessions doesn't display the div, more than 1 displays it) or make it controllable.
  3. Adjust chrome to have a way to maximize the window. On macOS, you can normally double click part of the top bar to maximize the window, but Illthorn currently doesn't have a location where this can be accomplished.

I have tried solving point 2 by adding logic to be able to set style.display on the sessions div to hidden, but that doesn't update the layout of the rest of the app.

ondreian commented 3 years ago

Resize various panels to tweak the layout. Making the left hand panel wider/narrower, making the thought window taller/shorter, etc. I don't think resizing is something that will ever be added to this project, it adds an order of magnitude or two to maintaining the skins and I'd rather focus on features that matter, if someone isn't happy with the layout they can reskin it themselves and maintain that skin.

Hiding the sessions div, either intelligently (e.g. 0 or 1 sessions doesn't display the div, more than 1 displays it) or make it controllable.

Interesting idea, I think it should be relatively straight forward to add a .solo class to the grid layout, but I personally like knowing which character i'm currently viewing

Adjust chrome to have a way to maximize the window. On macOS, you can normally double click part of the top bar to maximize the window, but Illthorn currently doesn't have a location where this can be accomplished.

does super + up arrow not work? It might be better to implement a non-chromeless window.

BryanSchuetz commented 3 years ago

FWIW:

  1. The Icemule theme has a resizable thoughts panel
  2. I think it makes sense to give the sessions panel a hide/show flag like we have for vitals, injuries, spells, etc. (Though I think if we keep the window frameless—the sessions panel is the only draggable element in the frame. In Icemule I also made the hands-wrapper draggable. I wouldn't want sessions to hide automatically—I generally play with only one character logged on and like having the panel shown.
  3. If we do bring back the window frame, the titlebar will have the double-click to zoom functionality being asked about, that's fine by me.