* feat: Add BrowserWindow option to ignore Mission Control (macOS)
* There are many circumstances when app developers may want to hide their
windows from mission control. E.g., full screen overlays, small helper
windows, dialogs, etc.
* This PR adds the functionality, docs, and tests.
* chore:Rename variables
* Update shell/browser/native_window_mac.h
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
We already document such info for other APIs, like the 'screen' API in
f711fe6b57/docs/api/screen.md (L7-L8).
So we should do the same thing for these ones too.
Signed-off-by: Darshan Sen <raisinten@gmail.com>
* docs: add window customization guide
* fixes
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/fiddles/windows/manage-windows/frameless-window/index.html
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/tutorial/window-customization.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* fix code fence
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* chore: correct hierarchy of BrowserWindow headings
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* Update docs/api/browser-window.md
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
Co-authored-by: Mark Lee <malept@users.noreply.github.com>
* rebase "feat: enable windows control overlay on Windows"
* correct compilation error
* fix linting errors
* modify includes and build file
* change `hidden` option to `overlay`
* add patch to fix visual layout
* add button background color parameter
* add button text color parameter
* modify `overlay` in docs and modify button hover/press transition color
* change `text` to `symbol`
* remove todo and fix `text` replacement
* add new titleBarOverlay property and remove titleBarStyle `overlay`
* update browser and frameless window docs
* remove chromium patches
* chore: update patches
* change button hover color, update trailing `_`, update test file
* add dchecks, update title bar drawing checks, update test file
* modify for mac and linux builds
* update docs with overlayColor and overlaySymbolColor
* add corner and side hit test info
* modify docs and copyright info
* modify `titlebar_overlay_` as boolean or object
* move `title_bar_style_ to `NativeWindow`
* update docs with boolean and object titlebar_overlay_
* add `IsEmpty` checks
* move get options for boolean and object checks
* fix linting error
* disable `use_lld` for macos
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Update docs/api/frameless-window.md
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
* Apply docs suggestions from code review
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* modify `true` option description `titleBarOverlay`
* ci: cleanup keychain after tests on arm64 mac (#30472)
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
* feat: emit resize edge with will-resize event
fix: wparam type
fix: private member usage on mac
docs: will-resize event edge option
refactor: 'info' -> 'details' for better type gen
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* Update docs/api/browser-window.md
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
* Added loadFile instead of loadURL in the example
For loading a local file the loadFile API is a better way to load any html file in the Renderer process.
Have changed it in the example.
* Changed backticks to single quote to correct for linting error
In order to correct the linting error reported by the bot, I have changed backticks to single quote in the example.
* feat: enable nativeWindowOpen by default
* set nativeWindowOpen: false on spec/ main window
* update snapshots
* fix tests
* fix test
* fix webview test missing allowpopups
* fix other test
* update default
* fix: invoke the window open handler for _blank links
* feat: add disposition to setWindowOpenHandler details
* fix: pass postData to new-window event
* postData can be heterogeneous
* fix type of postBody
* fix type of UploadFile and UploadRawData to be discriminated unions
* exclude the empty string from additionalFeatures
* add a test
* add postBody and referrer to setWindowOpenHandler args
* appease typescript
* Update api-browser-window-spec.ts
* update snapshots
* docs: update Node global symbols example to use contextBridge
* Trigger Build
* docs: change Node API example to show how to expose a crypto API
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* docs: Fix lint warning for crypto code sample
* docs: update node API example description to emphasize APIs instead of symbols
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
* feat: Raise a browser view via `BrowserWindow.setTopBrowserView()`.
This is similar to removing and re-adding a browser view, but avoids a visible flicker as the browser view is not removed from the window when using `setTopBrowserView`. Note: if the given browser view is not attached to the window, it will be added.
This commit contains the macOS implementation.
* feat: setTopBrowserView support for Windows and Linux
* docs: add info about setTopBrowserView
* docs: Clarify behavior when browserView is not yet attached.
* fix: throw en error when browserView is not attached to the window
* fix: build error
* fix: test
* fix: add test case
* fix: tests
* fix: reparenting
* fix: close second window in tests
Co-authored-by: sentialx <sentialx@gmail.com>
* fix: optionally transform processes on win.SetVisibleOnAllWorkspaces on macOS, making it backwards-compatible with v9.2.1 (#27101)
* fix: optionally transform processes on win.SetVisibleOnAllWorkspaces on macOS, making it backwards-compatible with v9.2.1 (#27101)
Co-authored-by: Cyrus Roshan <cyrusroshan@users.noreply.github.com>
* Rewrite titleBarStyle impls with WindowButtonsView
* Remove fullscreenWindowTitle option
* Make buttons show correctly under RTL
* Fix docs about traffic lights position
* Fix test on fullscreen resizable
* Fix button states with closabe/minimizable/fullscreenable
* Fix typo
* Deprecate the fullscreenWindowTitle option