### Feature request

`customButtonsOnHover` fixes a lot of issues with drag and `pointer` styles, but my app currently uses `hidden-inset` so this setting changes the position of the buttons. I'd suggest `customButtonsOnHover` either be an option outside of `titleBarStyle` that respects `titleBarStyle`s values ('hiddenInset' or `hidden') or the addition of a `customButtonsOnHoverInset`.

As a separate note, the docs for `customButtonsOnHover` currently specify it's a Boolean type, but it's a string value.
shell/browser/api/electron_api_base_window.cc
: weak_factory_(this) {
  
  gin::Handle<BaseWindow> parent;
  if (options.Get("parent", &parent) && !parent.IsEmpty())
    parent_window_.Reset(isolate, parent.ToV8());
#if BUILDFLAG(ENABLE_OSR)
  
  gin_helper::Dictionary web_preferences;
  bool offscreen;
  if (options.Get(options::kWebPreferences, &web_preferences) &&
      web_preferences.Get(options::kOffscreen, &offscreen) && offscreen) {
    const_cast<gin_helper::Dictionary&>(options).Set(options::kFrame, false);
  }
#endif
  
  window_.reset(NativeWindow::Create(
      options, parent.IsEmpty() ? nullptr : parent->window_.get()));
  window_->AddObserver(this);
#if defined(TOOLKIT_VIEWS)
  {
    v8::TryCatch try_catch(isolate);
    gin::Handle<NativeImage> icon;
    if (options.Get(options::kIcon, &icon) && !icon.IsEmpty())
      SetIcon(icon);
    if (try_catch.HasCaught())
      LOG(ERROR) << "Failed to convert NativeImage";
  }
#endif
}
BaseWindow::BaseWindow(gin_helper::Arguments* args,