Browse Source

docs: mark skipTaskbar as unsupported on Linux (#33226)

Fixes #33124.
Charles Kerr 3 years ago
parent
commit
0af2b8de73
3 changed files with 15 additions and 3 deletions
  1. 2 2
      docs/api/browser-window.md
  2. 12 1
      docs/breaking-changes.md
  3. 1 0
      shell/browser/native_window_views.cc

+ 2 - 2
docs/api/browser-window.md

@@ -186,8 +186,8 @@ It creates a new `BrowserWindow` with native properties as set by the `options`.
     mode. On macOS, also whether the maximize/zoom button should toggle full
     screen mode or maximize window. Default is `true`.
   * `simpleFullscreen` boolean (optional) - Use pre-Lion fullscreen on macOS. Default is `false`.
-  * `skipTaskbar` boolean (optional) - Whether to show the window in taskbar. Default is
-    `false`.
+  * `skipTaskbar` boolean (optional) _macOS_ _Windows_ - Whether to show the window in taskbar.
+    Default is `false`.
   * `kiosk` boolean (optional) - Whether the window is in kiosk mode. Default is `false`.
   * `title` string (optional) - Default window title. Default is `"Electron"`. If the HTML tag `<title>` is defined in the HTML file loaded by `loadURL()`, this property will be ignored.
   * `icon` ([NativeImage](native-image.md) | string) (optional) - The window icon. On Windows it is

+ 12 - 1
docs/breaking-changes.md

@@ -27,9 +27,20 @@ preload scripts _do_ depend on Node, either refactor them to remove Node usage
 from the renderer, or explicitly specify `sandbox: false` for the relevant
 renderers.
 
+### Removed: `skipTaskbar` on Linux
+
+See `skipTaskbar` discussion in 19.0 below. This feature is not available on
+Wayland. Since most modern Linux desktops are transitioning to Wayland, this
+feature will be removed for Linux.
+
 ## Planned Breaking API Changes (19.0)
 
-*None (yet)*
+### Unsupported: `skipTaskbar` on Linux
+
+On X11, `skipTaskbar` sends a `_NET_WM_STATE_SKIP_TASKBAR` message to the X11
+window manager. There is not a direct equivalent for Wayland, and the known
+workarounds have unacceptable tradeoffs (e.g. Window.is_skip_taskbar in GNOME
+requires unsafe mode), so Electron is unable to support this feature on Linux.
 
 ## Planned Breaking API Changes (18.0)
 

+ 1 - 0
shell/browser/native_window_views.cc

@@ -291,6 +291,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,
 #endif
 
 #if defined(USE_X11)
+  // TODO(ckerr): remove in Electron v20.0.0
   // Before the window is mapped the SetWMSpecState can not work, so we have
   // to manually set the _NET_WM_STATE.
   std::vector<x11::Atom> state_atom_list;