feat: enable Windows Control Overlay on Linux (#42682)
* feat: enable Windows Control Overlay on Linux Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * docs: update documentation for Linux WCO Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: initial symbol painting Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: enable WCO tests for Linux Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: add missing Layer include Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fix gn-check failure Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: enable BrowserWindow.setTitleBarOverlay on Linux Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * test: fix test for maximize event on Linux Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: geometry updating on BrowserWindow.setTitleBarOverlay Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: crash when invalid titleBarStyle set Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: clean up ordering and comments Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * Update docs/api/structures/base-window-options.md Co-authored-by: Erick Zhao <erick@hotmail.ca> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * feat: enable customizing symbolColor Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * docs: correct symbolColor reference Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: update patches Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> * chore: remove Chrome-specific padding Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								89d09922f7
							
						
					
				
			
			
				commit
				
					
						342ef8e7e1
					
				
			
		
					 24 changed files with 1026 additions and 107 deletions
				
			
		| 
						 | 
				
			
			@ -80,14 +80,14 @@
 | 
			
		|||
  * `followWindow` - The backdrop should automatically appear active when the window is active, and inactive when it is not. This is the default.
 | 
			
		||||
  * `active` - The backdrop should always appear active.
 | 
			
		||||
  * `inactive` - The backdrop should always appear inactive.
 | 
			
		||||
* `titleBarStyle` string (optional) _macOS_ _Windows_ - The style of window title bar.
 | 
			
		||||
* `titleBarStyle` string (optional) - The style of window title bar.
 | 
			
		||||
  Default is `default`. Possible values are:
 | 
			
		||||
  * `default` - Results in the standard title bar for macOS or Windows respectively.
 | 
			
		||||
  * `hidden` - Results in a hidden title bar and a full size content window. On macOS, the window still has the standard window controls (“traffic lights”) in the top left. On Windows, when combined with `titleBarOverlay: true` it will activate the Window Controls Overlay (see `titleBarOverlay` for more information), otherwise no window controls will be shown.
 | 
			
		||||
  * `hiddenInset` _macOS_ - Only on macOS, results in a hidden title bar
 | 
			
		||||
  * `hidden` - Results in a hidden title bar and a full size content window. On macOS, the window still has the standard window controls (“traffic lights”) in the top left. On Windows and Linux, when combined with `titleBarOverlay: true` it will activate the Window Controls Overlay (see `titleBarOverlay` for more information), otherwise no window controls will be shown.
 | 
			
		||||
  * `hiddenInset` _macOS_ - Results in a hidden title bar
 | 
			
		||||
    with an alternative look where the traffic light buttons are slightly
 | 
			
		||||
    more inset from the window edge.
 | 
			
		||||
  * `customButtonsOnHover` _macOS_ - Only on macOS, results in a hidden
 | 
			
		||||
  * `customButtonsOnHover` _macOS_ - Results in a hidden
 | 
			
		||||
    title bar and a full size content window, the traffic light buttons will
 | 
			
		||||
    display when being hovered over in the top left of the window.
 | 
			
		||||
    **Note:** This option is currently experimental.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,9 +3,9 @@
 | 
			
		|||
* `webPreferences` [WebPreferences](web-preferences.md?inline) (optional) - Settings of web page's features.
 | 
			
		||||
* `paintWhenInitiallyHidden` boolean (optional) - Whether the renderer should be active when `show` is `false` and it has just been created.  In order for `document.visibilityState` to work correctly on first load with `show: false` you should set this to `false`.  Setting this to `false` will cause the `ready-to-show` event to not fire.  Default is `true`.
 | 
			
		||||
* `titleBarOverlay` Object | Boolean (optional) -  When using a frameless window in conjunction with `win.setWindowButtonVisibility(true)` on macOS or using a `titleBarStyle` so that the standard window controls ("traffic lights" on macOS) are visible, this property enables the Window Controls Overlay [JavaScript APIs][overlay-javascript-apis] and [CSS Environment Variables][overlay-css-env-vars]. Specifying `true` will result in an overlay with default system colors. Default is `false`.
 | 
			
		||||
  * `color` String (optional) _Windows_ - The CSS color of the Window Controls Overlay when enabled. Default is the system color.
 | 
			
		||||
  * `color` String (optional) _Windows_ _Linux_ - The CSS color of the Window Controls Overlay when enabled. Default is the system color.
 | 
			
		||||
  * `symbolColor` String (optional) _Windows_ - The CSS color of the symbols on the Window Controls Overlay when enabled. Default is the system color.
 | 
			
		||||
  * `height` Integer (optional) _macOS_ _Windows_ - The height of the title bar and Window Controls Overlay in pixels. Default is system height.
 | 
			
		||||
  * `height` Integer (optional) - The height of the title bar and Window Controls Overlay in pixels. Default is system height.
 | 
			
		||||
 | 
			
		||||
[overlay-css-env-vars]: https://github.com/WICG/window-controls-overlay/blob/main/explainer.md#css-environment-variables
 | 
			
		||||
[overlay-javascript-apis]: https://github.com/WICG/window-controls-overlay/blob/main/explainer.md#javascript-apis
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue