### 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
gin_helper::Dictionary options;
  std::string mode;
  args->GetNext(&options) && options.Get("mode", &mode);
  NativeWindow::ProgressState state = NativeWindow::ProgressState::kNormal;
  if (mode == "error")
    state = NativeWindow::ProgressState::kError;
  else if (mode == "paused")
    state = NativeWindow::ProgressState::kPaused;
  else if (mode == "indeterminate")
    state = NativeWindow::ProgressState::kIndeterminate;
  else if (mode == "none")
    state = NativeWindow::ProgressState::kNone;
  window_->SetProgressBar(progress, state);
}
void BaseWindow::SetOverlayIcon(const gfx::Image& overlay,
                                const std::string& description) {
  window_->SetOverlayIcon(overlay, description);
}
void BaseWindow::SetVisibleOnAllWorkspaces(bool visible,
                                           gin_helper::Arguments* args) {
  gin_helper::Dictionary options;
  bool visibleOnFullScreen = false;
  args->GetNext(&options) &&
      options.Get("visibleOnFullScreen", &visibleOnFullScreen);
  return window_->SetVisibleOnAllWorkspaces(visible, visibleOnFullScreen);
}
bool BaseWindow::IsVisibleOnAllWorkspaces() {