Electron: Le mode sombre Mojave provoque une ligne blanche en haut des applications Electron

Créé le 6 juin 2018  ·  110Commentaires  ·  Source: electron/electron

  • Version électronique: ???
  • Système d'exploitation (plate-forme et version): macOS 10.14 Mojave
  • Dernière version électronique fonctionnelle connue: ???

Comportement prévisible
Pas de lignes blanches

Comportement réel
Il y a une fine ligne blanche au bord supérieur de Discord

Reproduire
Téléchargez Discord et exécutez.

Captures d'écran
image

Information additionnelle
Peut être lié au thème sombre.


Je suis conscient que macOS Mojave n'est pas encore accessible à tout le monde, mais je le signale au cas où.

bug platformacOS

Commentaire le plus utile

S'il vous plaît,

si un piratage, une mise à jour ou quelque chose comme ça, faites le moi savoir. Les développeurs Apple ont vraiment franchi la ligne lors de la création de cette chose laide 🤯

line

Tous les 110 commentaires

👋 Merci d'avoir ouvert votre premier numéro ici! Si vous signalez un bug 🐞, assurez-vous d'inclure des étapes pour le reproduire. Nous recevons beaucoup de problèmes sur ce repo, alors soyez patient et nous vous répondrons dès que possible.

Pour nous aider à analyser votre problème plus facilement, veuillez suivre les consignes de contribution .

Confirmer cela se produit dans toutes les applications Electron que j'ai en mode sombre Mojave.

Offtopic: peut-être que la méthode systemPreferences.isDarkMode() aura plus d'amour maintenant. Heureux de voir que l'API existante prend en charge cela.

testé Mojave hier, également vu la ligne. La boîte de dialogue standard d'ouverture de fichier est également apparue en blanc

Cela se produit à la fois en mode sombre et en mode clair. Je pense que cela a quelque chose à voir avec les applications qui cachent la barre de titre.

J'ai le problème dans Atom, Hyper et Slack.

J'ai également signalé le problème à Apple. (D'autres rapports peuvent aider - ils ont tendance à prioriser les problèmes signalés par plusieurs personnes - donc si vous rencontrez cela, envoyez-leur un rapport de bogue dans l'application Feedback Assistant)

+1 Même le chrome sur Mojave l'a, donc je pense que c'est autour des applications chrome / électron.

Je crois que cette ligne est ajoutée par le système d'exploitation, elle est également ajoutée à d'autres applications, mais lorsque l'application n'utilise pas la barre de titre native, il n'y a pas de "dégradé" et cela se distingue davantage parce que le contraste est plus élevé.
Cette ligne existe également dans l'interface utilisateur légère, mais elle est moins dérangeante car le contraste est plus faible.
J'ai signalé cela comme un "comportement inattendu" à Apple mais je ne suis pas sûr qu'ils feront quoi que ce soit à ce sujet (à moins que beaucoup d'autres personnes ne se plaignent).

Intégré à propos de ce Mac:
image
Ce n'est pas du blanc pur comme dans Electron.

@LoganDark Il semble que vous ayez raison, je viens de vérifier avec 4 applications différentes, 3 d'entre elles sont natives et chacune d'elles a une couleur différente sur cette ligne.
J'ai vérifié avec "settings", "safari", chrome (qui a la même couleur) et "feedback assistant".

Edit: après l'avoir examiné de plus près, dans les applications natives, il semble que la ligne s'éclaircit à mesure qu'elle se rapproche du haut.

Une mise à jour pour ceci? @ivanreese

@ gilad215 Il semble que ce soit une chose Chrome? Je ne sais pas, je ne suis qu'un utilisateur d'applications Electron, pas un développeur sur aucun de ces projets.

Rien n'a changé après la mise à jour 69 de Chrome. Il s'agit toujours d'un problème.

J'espère que cela sera résolu d'une manière ou d'une autre, cela me dérange vraiment 😆
image

Même une fenêtre transparente affiche la bordure blanche 😞

captura de pantalla 2018-09-24 a la s 20 00 56

Dans ce cas, une fenêtre transparente plein écran.

Vraiment frustrant. Ils doivent faire une option pour le désactiver.
Le mar 25 septembre 2018 à 2:04 Rodrigo Díaz [email protected] a écrit:

Même une fenêtre transparente affiche la bordure blanche 😞

[image: captura de pantalla 2018-09-24 a la s 20 00 56]
https://user-images.githubusercontent.com/1670771/45983791-924aad00-c034-11e8-9034-eafd22f9ed74.png

Dans ce cas, une fenêtre transparente plein écran.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/electron/electron/issues/13164#issuecomment-424153643 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AXyHVF7TC99trs7UGKHDJLrzwCg7kdCSks5ueWUOgaJpZM4Ub1At
.

Vivre cela aussi.

Oui, ce problème se produit en mode sombre et clair

S'il vous plaît,

si un piratage, une mise à jour ou quelque chose comme ça, faites le moi savoir. Les développeurs Apple ont vraiment franchi la ligne lors de la création de cette chose laide 🤯

line

La version officielle de Mojave a-t-elle résolu le problème?

Je le vois toujours avec VSCode (https://github.com/Microsoft/vscode/issues/54838)

La version officielle de Mojave a-t-elle résolu le problème?

Nan

Veuillez utiliser: par défaut write -app [nom de l'application] NSRequiresAquaSystemAppearance -bool Non
Ça marche!

Annuler: par défaut delete -app [nom de l'application] NSRequiresAquaSystemAppearance

Il s'agit d'une solution temporaire non officielle.
Et ne l'utilisez pas sur les applications de couleur claire.

La solution de @SinarPandora réduit certainement la ligne blanche à une ligne grise plus fine (dont je ne me souviens pas avoir été là auparavant). Confirmé avec Sublime \ Text et Google \ Chrome.

Edit: Oui, @ Neofish22 a raison, cela ne semble pas résoudre complètement le problème: (Il y a maintenant une nouvelle ligne de gradation autour de toute la fenêtre.

Si vous voulez toujours l'essayer, [application name] est écrit comme juste le nom de l'application, avec des barres obliques inverses avant les espaces:

defaults write -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance -bool No

Continuez à atteindre pour redimensionner ma fenêtre d'un pixel. Donne l'impression que je peux voir d'autres contenus de fenêtre en arrière-plan.

Je me demande comment d'autres applications déjà sombres par défaut ont réussi le passage à la prise en charge du mode sombre au niveau du système. Rusé. Je ne veux pas du tout que macOS touche mon application Atom electron. Je l'aime tel quel.

J'ai une bordure en cadre + transparent

frame

@bkeating
Vos applications d'électrons devraient bien fonctionner. Mac ne fait rien de spécial lors du rendu des applications dans Mojave par rapport à avant. Les applications ont la possibilité de vérifier si le mode sombre est activé, mais Mac OS rend les applications comme avant (à l'exception du problème de bordure abordé ici et de certains changements de rendu de texte non pertinents).

Il semble que le problème de la ligne blanche soit du côté du système d'exploitation. Pas seulement des applications Electron.
Bien qu'il soit pratique d'avoir une option pour masquer la ligne blanche sur la barre de titre du côté Electron. Alternativement, il peut être masqué par défaut lors de l'utilisation de la barre de titre sans cadre ou masquée.

Edit: Oui, @ Neofish22 a raison, cela ne semble pas résoudre complètement le problème: (Il y a maintenant une nouvelle ligne de gradation autour de toute la fenêtre.

Si vous voulez toujours l'essayer, [application name] est écrit comme juste le nom de l'application, avec des barres obliques inverses avant les espaces:

defaults write -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance -bool No

Après tout, il s'agit d'une solution temporaire non officielle.
Et ne l'utilisez pas sur les applications de couleur claire.

Je n'utilise pas le mode sombre et j'ai toujours le problème dans les applications Electron (Wavebox et Atom). Ni utiliser la barre de titre du système.

Je regrette la mise à niveau. Cette ligne blanche est si irritante.

Même problème ici:

screen shot 2018-09-26 at 7 25 47 am

😥

J'ai aussi ce problème, peu importe si OSX est en mode sombre ou clair, tho: ça a l'air plutôt mauvais sur mon application aussi - pas aussi mauvais que sur les applications de la barre de menu comme @evilrabbit

screenshot 2018-09-27 at 08 58 12

NSRequiresAquaSystemAppearance ne semble pas du tout fonctionner. La racine des cheveux en haut est visible dans les modes sombre et clair. hasShadow = false n'y remédie pas non plus this

Je l'ai aussi dans mon Chrome. (J'utilise un thème sombre, mais la bordure blanche est identique à ce que je vois dans VS Code, Hyper, Now, There, Notion)
cleanshot 2018-09-27 at 18 36 50 2x

Notion, Hyper:
image

Je ne pense pas que ce soit un problème Electron / MacOS, je pense que cela pourrait être un problème Chromium.
La seule application non-Electron qui a ce problème est Chrome, et c'est ce qui m'amène à cette conclusion.
Pour clarifier les choses, MacOS Mojave ajoute une ligne claire à la fenêtre, mais elle est plus légère que celle que nous voyons dans les applications électroniques / chrome actuelles, et elle change en fonction de la position de la fenêtre. Donc, plus il est proche du sommet, plus il est léger, mais il est meilleur que l'actuel.

@morajabi @samuelgozi Je ne pense pas que ce soit un problème secondaire de chrome ou d'électron. Vous pouvez voir le même problème de ligne blanche se produire sur les applications natives ainsi que TextEdit, Terminal, etc.

screen shot 2018-09-29 at 10 31 46 am

La ligne blanche n'est pas le problème, c'est par conception à Mojave. Le problème est que la fenêtre transparente l'a rendue au mauvais endroit (contrairement à l'ombre).

@vanejung C'est assez différent des natifs, comparez-les côte à côte, c'est plus léger dans Chrome et cela le rend plus ennuyeux. ( @pronebird fait également référence à un autre problème grave, je suis d'accord)

Comparé côte à côte:
cleanshot 2018-09-29 at 11 57 11

Je l'ai testé plusieurs fois avec des sélecteurs de couleurs et différentes positions, la ligne est là par conception, mais dans les applications de chrome (applications d'électrons et chrome), la ligne est beaucoup plus claire, dans d'autres applications, la ligne est plus sombre et change en fonction de la position du fenêtre, donc plus la fenêtre est haute, plus la ligne est légère, mais elle n'est jamais aussi légère que dans les applications chrome.

C'est pourquoi je pense que c'est un problème de chrome. Si le chrome avait une ligne plus sombre ou aucune ligne comme les applications natives, ce serait un gros indice que c'est un problème d'électrons, mais pour l'instant, je suis à peu près sûr que c'est un problème de chrome.

@morajabi @samuelgozi A remarqué que les applications non électroniques telles que Sketch et Affinity Photo ont le même problème de ligne blanche proéminent avec Chrome. Encore une fois, cela semble être un problème côté OS, pas seulement Chromium. À propos, curieusement, certaines autres applications telles que Finder, TextEdit et Spark ont ​​un traitement de cadre de fenêtre différent. Peut-être y a-t-il des options de cadre ou des modes que les développeurs peuvent choisir? Que je ne suis pas trop sûr.

Comparaison - Sketch & Chrome
screen shot 2018-09-30 at 9 45 08 am

Quelqu'un connaît-il une amélioration des performances ou un changement significatif qui lui donne envie de rester?

J'envisage en fait de me dégrader en HS à cause de cette bordure blanche insupportable

J'ai signalé ce bug à Apple, je suggère que vous fassiez de même pour attirer leur attention (car ces frontières sont tout simplement horribles), https://www.apple.com/feedback/macos.html

@MAPESO Êtes-vous sûr que Sketch et Affinity sont en électrons ou en chrome? Compte tenu de la taille de l'application, c'est un peu incroyable mais n'hésitez pas à partager si vous avez des preuves?

bonjour je ne vais pas m'abonner

Envoyé de Mailspring (https://link.getmailspring.com/link/[email protected]/0?redirect=https%3A%2F%2Fgetmailspring.com%2F&recipient= cmVwbHkrMDIwNmY0OTQzOWQyYTI4MDI3NzRiM2UwZWQ0MTg2NTc4MWM1OGM5MjY0ZDY1NTZmOTJjZjAwMDAwMDAxMTdjZWYxMGQ5MJDXMTdjZWYxMGQ5MJMDxMTdjZWYxMGY5MZlMxMdjZWYxMGQ5MZlExpdmxmxmdxmd3dljbg
Le oct. 5 2018, à 11 h 29, Mohammad Rajabifard [email protected] a écrit:
>

@MAPESO (https://link.getmailspring.com/link/[email protected]/1?redirect=https%3A%2F%2Fgithub.com%2FMAPESO&recipient=cmVwbHkrMDIwNmY0OTQzOWQyYTI4MDI3NzRiM2UwZWQ0MTg2NTc4MWM1OGM5MjY0ZDY1NTZmOTJjZjAwMDAwMDAxMTdjZWYxMGQ5MmExNjljZTEzYTY3M2NmQHJlcGx5LmdpdGh1Yi5jb20 % 3D) Etes-vous sûr que Sketch et Affinity sont en Electron ou Chromium? Compte tenu de la taille de l'application, c'est un peu incroyable mais n'hésitez pas à partager si vous avez des preuves?
-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, affichez-le sur GitHub (https://link.getmailspring.com/link/[email protected]/2?redirect=https%3A%2F % 2Fgithub.com% 2Felectron% 2Felectron% 2Fissues% 2F13164% 23issuecomment-427302221 & destinataire = cmVwbHkrMDIwNmY0OTQzOWQyYTI4MDI3NzRiM2UwZWQ0MTg2NTc4MWM1OGM5MjY0ZDY1NTZmOTJjZjAwMDAwMDAxMTdjZWYxMGQ5MmExNjljZTEzYTY3M2NmQHJlcGx5LmdpdGh1Yi5jb20% 3D), ou de couper le fil (https://link.getmailspring.com/link/1538731872.local-24a71e1e-b964-v1.4.2 [email protected]/3?redirect=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAgb0lFVYdI4MQSeuMN86_SZfV-5R6tCcks5uhyaNgaJpZM4Ub1At&recipient=cmVwbHkrMDIwNmY0OTQzOWQyYTI4MDI3NzRiM2UwZWQ0MTg2NTc4MWM1OGM5MjY0ZDY1NTZmOTJjZjAwMDAwMDAxMTdjZWYxMGQ5MmExNjljZTEzYTY3M2NmQHJlcGx5LmdpdGh1Yi5jb20%3D).

@MAPESO @morajabi sketch est une application native

Pour résumer le fil, c'est définitivement un "bug" et non destiné à être en mode sombre Mojave .

Où est le bug, nous ne sommes pas sûrs:

  • il peut s'agir uniquement de chrome (probablement pas)
  • Une chose native macOS, que Chromium s'est trompée (ce qui a amené toutes les applications Electron à l'avoir) aux côtés de quelques autres applications natives comme Sketch ou Affinity.
    S'ils identifient le problème, nous nous débarrasserons de cette terrible frontière.

bonjour je ne vais pas m'abonner

@Scotttresor Tant qu'il ne s'agit pas de la série T, vous avez ma permission.

@morajabi @hemlok Je viens de vérifier les informations. J'avais tort, je suis désolé pour la confusion. Sketch est une application native ❤️

@morajabi On pourrait dire que c'est un problème Chromium et macOS Mojave

C'est très moche. Je l'ai reconnu le premier jour lors de l'utilisation de VS Code, Hyper.

Cela a également été signalé à Apple, la ligne est correcte sur les applications macOS telles que Finder, mais c'est vraiment ennuyeux sur les applications tierces telles que Chrome, VSCode, etc.

Cela se produit également sur d'autres applications telles que WhatsApp ou Spotify, qui ne sont pas des applications Electron.

@itsandreramon Je suis presque sûr que l'application de bureau WhatsApp est une application Electron.

Oh d'accord, je ne le savais pas. Affecte alors beaucoup d'applications .. déception.

Vous pouvez trouver une liste d'applications créées avec Electron ici

Cela ne mène nulle part.
Nous avons besoin d'une personne impliquée dans le projet Chromium pour nous aider à savoir s'il s'agit d'un problème avec la façon dont Chromium gère les fenêtres (peut-être n'utilise-t-elle pas l'API mise à jour à droite) ou avec le système d'exploitation.

Étant donné que j'ai déjà déposé des rapports de bogues sur Apple (environ 2 mois avant la sortie) et que rien ne s'est passé, nous devrons peut-être les déposer également sur Chromium.

Voici un lien pour déposer des rapports de bogue sur Chromium: https://crbug.com/wizard
Et voici les "Directives de rapport de bogue pour les versions Mac et Linux": https://www.chromium.org/for-testers/bug-reporting-guidlines-for-the-mac-linux-builds

Je crois fermement que c'est un problème avec Chromium car vous pouvez clairement voir qu'il y a une différence entre les applications natives et les applications Electron, et cela me porte à croire que peut-être les natives utilisent l'API de fenêtre différemment.

Veuillez signaler le bogue si vous avez le temps.

Cela se produit également sur NordVPN, qui n'est pas une application Chromium.

Cela peut simplement être une déception générale de la façon dont le mode sombre est. Personnellement, je m'attendais à quelque chose de «plus plat»; sans la bordure brillante. Quelque chose de plus dans le sens de l'atome et c'est One Dark (et bien d'autres). Probablement pourquoi nous avons tous remarqué.

Un autre endroit qui mord vraiment mes engrenages: le viseur rayé en mode liste. Beaucoup trop de contraste.

Ensuite, je me rends compte qu'Apple a probablement choisi leurs couleurs et leurs détails en mode sombre en fonction d'un équilibre approuvé pour l'accessibilité. Alors maintenant, je me sens comme une bite pour me plaindre. Je voulais simplement One Dark pour toutes les choses.

C'est bien, ce mode sombre est nul. Nous avons toujours le bit (clair / sombre) à accrocher et signifie que les applications peuvent toujours vouloir le prendre et le posséder elles-mêmes.

Le mode sombre est un art sombre.

@bkeating Je suis d'accord que cela a besoin de plus de travail, cependant, je ne pense pas qu'ils aient trop pris en compte les problèmes d'accessibilité, ce qui me porte à penser, c'est qu'il y a des paramètres pour cela dans les préférences, des paramètres spécifiquement pour contraste.

@NordVPN Vous avez raison, NordVPN ne semble pas être une application d'électrons, mais cela ne signifie pas qu'il n'y a pas de problème de chrome, ils ne profitent probablement pas du mode sombre (comme le chrome).

J'ai créé une application vide avec Xcode et essayé certains paramètres. Comme vous pouvez le voir, il est toujours activé et n'a rien à voir avec le natif ou non.

  • La désactivation des ombres supprime les bordures (sauf celle du haut).

    • L'application d'une couleur d'arrière-plan modifie la couleur de la bordure. Le noir est presque invisible par rapport à celui par défaut Electron (voir ci-dessous)

Je n'ai vu aucun autre paramètre en regardant l'API Apple AppKit.

Code:

import Cocoa

<strong i="15">@NSApplicationMain</strong>
class AppDelegate: NSObject, NSApplicationDelegate {

    <strong i="16">@IBOutlet</strong> weak var window: NSWindow!

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        window.hasShadow = false
        window.titlebarAppearsTransparent = true
        window.titleVisibility = .hidden
        window.backgroundColor = NSColor.black
    }

    func applicationWillTerminate(_ aNotification: Notification) {}

}

Différents paramètres:
screenshot

Application Black bg vs Electron:
screenshot 1

Merci d'avoir réglé ce @oomathias!

Je suppose que cela signifie que le support du mode sombre en électron pour toutes les applications transparentes, comme @evilrabbit ou @gavJackson posté, va être un problème

@hemlok Une fenêtre transparente ressemble à ceci 😞

@oomathias J'ai envoyé un PR qui supprime la ligne blanche pour les fenêtres sans cadre. https://github.com/electron/electron/pull/15012

@pronebird Nice! Je suis heureux que vous ayez trouvé et résolu le problème des fenêtres transparentes. Je n'ai pas d'expérience avec l'application native Apple, je voulais juste confirmer qu'elle est bien conçue.

Il est corrigé dans VS Code Insiders, pas encore dans la version stable.
Haut, stable avec problème de bordure blanche. Bottom Insiders, qui est une ligne de système d'exploitation normale, c'est bien mieux.
image

@morajabi C'est peut-être mon PR en mode sombre pour vscode qui a été publié pour les initiés, @bpasero est-ce que transmis aux initiés maintenant?

@MarshallOfSound oui maintenant c'est fait

@MarshallOfSound Je suppose que le PR en question est celui-ci: https://github.com/Microsoft/vscode/pull/59742

Peut-être basé sur ce travail original: https://github.com/electron/electron/pull/14755

Je me demande comment d'autres applications déjà sombres par défaut ont réussi le passage à la prise en charge du mode sombre au niveau du système.

Pas bien du tout. Je vois des lignes sur toutes les applications en mode sombre non Apple.

J'étais tellement excité par le mode sombre à l'échelle du système que je suis allé à l'encontre de mon meilleur jugement et j'ai mis à niveau. Ce mode sombre dédié a en fait rendu mon expérience du mode sombre pire qu'avant lorsque je ne faisais que refaire le skin des applications électroniques.

Il existe une solution de contournement pour ce problème, voir:

https://github.com/zeit/hyper/issues/3259#issuecomment -431272678

@lehni, cela a déjà été mentionné plus haut dans ce fil et ne résout pas complètement le problème: https://github.com/electron/electron/issues/13164#issuecomment -424309847

J'espère que cela sera corrigé dès que possible, c'est tellement ennuyeux ...

Ce correctif est uniquement destiné aux utilisateurs normaux qui recherchent la commodité et non un correctif pour le problème signalé .
Cela donnera à Mojave un aspect plus similaire à High Sierra où seuls la barre de menus et le quai sont sombres.

  1. Passez en mode Lumière depuis Préférences -> Général
  2. Entrez cette commande dans le terminal
    defaults write -g NSRequiresAquaSystemAppearance -bool Yes
  3. Déconnectez-vous, puis reconnectez-vous.
  4. Allez dans Préférences -> Général et passez en mode sombre.

PS si vous souhaitez annuler ce que vous avez fait, répétez les étapes avec:
defaults delete -g NSRequiresAquaSystemAppearance

@ brave3d Cela a déjà été recommandé et cela ne fonctionne pas. Je l'ai testé avec plusieurs applications, y compris Discord et Spotify, et les lignes sont toujours là.

https://i.imgur.com/MKGgu30.png

C'est un effet global ajouté sur les modes clair et sombre.

@degecko J'ai déjà dit que ce n'était pas une solution , cela basculait essentiellement l'interface utilisateur en mode Light et gardait le Dock et la barre de menus en mode sombre afin que cela ressemble plus à High Sierra jusqu'à ce qu'une meilleure solution soit disponible.

J'ai une bordure en cadre + transparent

frame

Le même but :))
image

Des nouvelles à ce propos?? 🤔

Je pense que cela devrait être fermé car il est maintenant possible de mettre en œuvre tout ce qui concerne le mode sombre de Mojave. Les étapes suivantes sont nécessaires:

  • ajoutez ce qui suit à votre Info.plist
<key>NSRequiresAquaSystemAppearance</key>
<false/>
  • utilisez les méthodes et événements electron.systemPreferences liés au mode sombre de Mojave comme setAppLevelAppearance isDarkMode et des événements comme systemPreferences.subscribeNotification('AppleInterfaceThemeChangedNotification'...

Ne travaille pas pour moi. Avec ces étapes, le mode sombre est appliqué mais l'ombre de la barre supérieure est toujours présente. J'ai une application de plateau avec la flèche typique qui pointe dessus, donc mon menu doit être caché. Pouvez-vous nous donner plus d'informations pour y parvenir? Merci!

Une autre solution?

J'ai ce problème aussi.

ENV: 
electron: 4.0.0
os: mac 10.14.2, Light Mode
app: frameless and transparent window

Existe-t-il une solution en plus d'exécuter la commande "default ...- bool no"?

Ce bogue peut être résolu en définissant titleBarStyle: 'customButtonsOnHover' , mais provoquant un autre problème: titleBar apparaîtra lorsque vous survolez dessus.

Ce bogue peut être résolu en définissant titleBarStyle: 'customButtonsOnHover' , mais provoquant un autre problème: titleBar apparaîtra lorsque vous survolez dessus.

Merci pour ça @vifird! Mais n'oubliez pas que cela supprime également les coins arrondis. 😞

Ce bogue peut être résolu en définissant titleBarStyle: 'customButtonsOnHover' , mais provoquant un autre problème: titleBar apparaîtra lorsque vous survolez dessus.

Merci pour ça @vifird! Mais n'oubliez pas que cela supprime également les coins arrondis. 😞

Ouais, alors nous pourrions ajouter des coins arrondis par feuille de style.

Se référer au document électronique

Si vous utilisez electron-packager > = 12.2.0 ou electron-forge > = 6, vous pouvez définir l'option darwinDarkModeSupport lors de l'empaquetage et cette clé sera définie pour vous.

Si vous utilisez electron-builder > = 20.37.0, vous pouvez définir l'option darkModeSupport .

Heya Folks, mise à jour rapide à ce sujet, je vais diviser ce bogue en deux catégories et expliquer la voie à suivre pour chacune.

"Mon application a une ligne blanche en haut et elle ne semble pas correcte avec ma barre de titre macOS personnalisée"

Comme mentionné ci-dessus par @ Pong420, vous devriez consulter notre guide du mode sombre sur le site Web Electron. En particulier, les indicateurs darwinDarkModeSupport pour le packager / forge car cela rendra la «ligne blanche» moins évidente et plus en ligne avec le jeu de couleurs de votre système d'exploitation lorsque le mode darm est activé.

"Mon application est transparente et présente désormais une ligne blanche en haut et ne semble pas correcte"

Malheureusement, cela est actuellement classé par Apple comme un "bug connu" avec Mojave. J'ai eu des discussions avec l'équipe technique d'Apple via TSI et ils conviennent que le code que j'ai fourni devrait fonctionner (et fonctionne sur <= 10.13). Ils ont soulevé ce problème en interne et tout ce que nous pouvons faire maintenant, c'est espérer qu'ils le corrigeront dans une future version de Mojave / macOS.

TLDR: activez la prise en charge du mode sombre pour votre application pour que la ligne blanche soit légèrement meilleure, à part cela, ce bogue est maintenant dans le camp d'Apple 👍

J'ai eu des discussions avec l'équipe technique d'Apple via TSI et ils conviennent que le code que j'ai fourni devrait fonctionner (et fonctionne sur <= 10.13). Ils ont soulevé ce problème en interne et tout ce que nous pouvons faire maintenant, c'est espérer qu'ils le corrigeront dans une future version de Mojave / macOS.

@MarshallOfSound génial, ça sonne bien! Allez-vous mettre à jour ce fil s'il y a un mouvement du côté d'Apple?

Ce bogue peut être résolu en définissant titleBarStyle: 'customButtonsOnHover' , mais provoquant un autre problème: titleBar apparaîtra lorsque vous survolez dessus.

@MarshallOfSound
Des nouvelles?
Je suis presque sûr que ce bogue peut être corrigé, par exemple, fournissez une autre valeur de propriété titleBarStyle , comme customButtonsOnHover mais pas de boutons de survol.

Est-il possible de tester / faire cela pendant le développement?

@MarshallOfSound
Des nouvelles?
Ce bug a duré si longtemps. Pourquoi ne pas y faire un patch?
Nous avons vraiment besoin d'un comportement correct, bien que ce soit le bogue d'Apple.

Cela peut être corrigé avec le dernier patch qui a atterri dans la version bêta 5 d'Electron v6

https://github.com/electron/electron/issues/15008#issuecomment -497498135

@pronebird C'est cool, mais ça ne ressemble pas à la résolution officielle?

Salut les gens, j'ai eu de bonnes nouvelles d'Apple et je viens de les valider. La version bêta de Catalina corrige ce problème du côté d'Apple, une fois que Catalina a été déployée en tant que version stable, la ligne blanche n'apparaît plus sur transparent: true ou frame: false windows 👍

sorte de déception; J'étais sur le point d'appuyer sur la gâchette pour créer un t-shirt "Le mode sombre provoque une ligne blanche en haut des applications électroniques" et que le col du cou soit entouré d'une subtile ligne blanche. booo.

... pas entièrement convaincu que ce fil est encore mort. mais je suis ravi d'entendre le bon mot sur Catalina.

18485 a été rétroporté vers Electron 5.0.3, et il résout ce problème pour moi (en utilisant customButtonsOnHover et les indicateurs appropriés)! J'avais le sentiment qu'un correctif comme celui-ci pouvait être fait ... un grand merci à @codebytere , maintenant je peux commencer à tester mon application pour de vrai

Cela existait également pour le mode léger sur mon MacOS.

Confirmé corrigé après la mise à niveau vers Catalina.

Catalina 10.15, semble ajouter de nouveaux problèmes - une étrange bordure noire (ou presque) et une autre bordure plus claire (probablement avant; la fenêtre des outils de développement, par exemple, a également ce cadre) apparaît après la mise à jour.

Bordure sombre
image
Liste des options de la fenêtre:

{
  show: false,
  darkTheme: true,
  backgroundColor: '#000000ff',
  frame: false,
  titleBarStyle: 'hiddenInset',
  vibrancy: 'dark'
}

Bordure plus légère
image
Liste des options de la fenêtre:

{
  show: false,
  center: true,
  darkTheme: true,
  resizable: false,
  maximizable: false,
  fullscreenable: false,
  frame: false,
  backgroundColor: '#1f1f1f',
  titleBarStyle: 'hiddenInset'
}

NSRequiresAquaSystemAppearance est défini sur true

Comment supprimer ces chrome pour toujours?

@nickensoul avez-vous

@bernatfortet non , juste laissé tel quel pour le moment. Je pense que cela nécessite quelques changements d'interactions avec les API du système (et je pense que c'est le noyau Electron, il faudrait donc un fork)
Alors, toujours en attente.

gotcha, merci!

La ligne blanche en haut de l'écran est transparente. Si vous pouvez mettre une ligne #000000 dessous, vous pouvez l'assombrir un peu.

C'est un peu difficile de le rendre, mais l'ajout de ce qui suit à ma barre de titre personnalisée a fait l'affaire.

border-top: 1px solid #000000
padding-top: 1px
margin-top: -1px
````

The white bar came down from `rgb(175,175,175)` to `rgb(151,151,151)`

Edit: this may also require the following inside the title bar:

```html
<div style="position: fixed; top: 0; left: 0; background: #000; height: 1px; width: 100%"></div>

Pour ceux qui viennent à cela maintenant, cela semble être corrigé dans Catalina. Je viens de le tester sur 10.15.2

Pour ceux qui viennent à cela maintenant, cela semble être corrigé dans Catalina. Je viens de le tester sur 10.15.2

@ adam-lynch Dans Atom, je vois toujours la ligne:
https://user-images.githubusercontent.com/43918077/67483562-bda42f00-f66e-11e9-8fb4-4590dc06822e.png

Il semble qu'Atom utilise une ancienne version d'Electron ...

sur Big Sur toutes les fenêtres ont une ligne blanche

Sur Big Sur, c'est une bordure noire à l'extérieur d'une bordure blanc cassé, sauf sur Discord, elle remplit actuellement les coins aussi: (Espérons qu'un bogue au début de la bêta.

2020-06-24_01 27 52-886a2eca

Edit: Vu SEULEMENT la discorde a ce comportement de remplissage jusqu'à présent.

@robjtede Je n'ai pas encore

@robjtede Je n'ai pas encore

Non seulement les applications tierces ont ce problème, mais également toutes les applications Apple telles que Finder, Music, Safari.
Voici la capture d'écran:
Screen Shot 2020-06-25 at 00 13 13

Je soulève ici le problème de sensibiliser davantage de gens au bogue de Big Sur, afin que l'équipe Apple puisse le remarquer et le corriger.
Bien sûr, j'ai soulevé la question de l'assistant de rétroaction et du forum des développeurs.

Modifier: mettez à jour la capture d'écran pour l'agrandir.

@robjtede Je n'ai pas encore

Non seulement les applications tierces ont ce problème, mais également toutes les applications Apple telles que Finder, Music, Safari.
Voici la capture d'écran:
Screen Shot 2020-06-25 at 00 13 13

Je soulève ici le problème de sensibiliser davantage de gens au bogue de Big Sur, afin que l'équipe Apple puisse le remarquer et le corriger.
Bien sûr, j'ai soulevé la question de l'assistant de rétroaction et du forum des développeurs.

Modifier: mettez à jour la capture d'écran pour l'agrandir.

Des nouvelles? C'est un peu ennuyeux de voir ces lignes blanches dans chaque fenêtre en mode sombre ...

Cette page vous a été utile?
0 / 5 - 0 notes