2 points par GN⁺ 2025-02-24 | 1 commentaires | Partager sur WhatsApp
  • WhiteSur GTK Theme est un pack de thèmes qui donne aux bureaux GTK sous Linux une apparence proche de macOS ; l’installation de base consiste à cloner le dépôt puis à exécuter ./install.sh
  • Le script d’installation propose des options de couleur, transparence, couleur d’accentuation, style Nautilus et GNOME Shell, et permet de spécifier plusieurs fois des arguments comme --theme, --color, --opacity, --nautilus et --gnomeshell
  • libadwaita, de plus en plus utilisé par les applications intégrées depuis Gnome 43.0, ne prend pas en charge les thèmes personnalisés ; WhiteSur propose donc un contournement limité qui consiste à écraser les fichiers de configuration gtk-4.0 avec les fichiers du thème
  • ./tweaks.sh gère l’application et l’annulation de thèmes liés à GDM, Firefox et Flatpak ; il permet notamment de configurer l’image d’arrière-plan de GDM, son flou et son assombrissement, ainsi que les variantes Monterey/flat/adaptive de Firefox
  • Pour les problèmes de thème des apps Flatpak, la méthode consiste à autoriser l’accès aux configurations gtk-3.0 et gtk-4.0 via flatpak override, puis à lier le thème WhiteSur ; le README précise que Snap n’est pas pris en charge

Présentation de WhiteSur GTK Theme

  • WhiteSur GTK Theme est un thème façon macOS pour les bureaux GTK sous Linux
  • Sa description de base le présente comme un « thème similaire à macOS pour les bureaux GTK Linux »
  • Le README couvre non seulement l’installation du thème GTK, mais aussi GNOME Shell, GDM, Firefox et Flatpak

Installation et prérequis de base

  • La procédure d’installation de base est simple
  • Les dépendances pour une installation depuis les sources incluent notamment sassc, libglib2.0-dev-bin, libglib2.0-dev, libxml2-utils et glib2-devel
  • D’autres dépendances sont indiquées, comme imagemagick, dialog, optipng et inkscape ; certaines sont optionnelles et servent à ajuster le thème GDM ou à générer les assets
  • Le README indique que l’installateur de WhiteSur fournit ces dépendances
  • Les extensions GNOME Shell recommandées sont les suivantes

Personnalisation de install.sh

  • ./install.sh [OPTIONS...] permet de spécifier finement la cible d’installation et les variantes du thème
  • Les principales options sont les suivantes
    • --dest : définit le répertoire cible d’installation, avec /home/[USER_NAME]/.themes comme valeur par défaut
    • --name : définit le nom du thème, WhiteSur par défaut
    • --opacity : choisit la variante de transparence, normal ou solid
    • --color : choisit la variante de couleur, light ou dark
    • --alt : choisit une variante des boutons de contrôle des fenêtres
    • --theme : choisit la couleur d’accentuation parmi default, blue, purple, pink, red, orange, yellow, green, grey et all
    • --scheme : choisit le jeu de couleurs, standard ou nord
    • --monterey : applique le style macOS Monterey
    • --nautilus : choisit le style Nautilus parmi stable, normal, mojave, glassy et right
    • --libadwaita : installe le thème pour libadwaita dans les paramètres gtk4.0
    • --highdefinition : applique des dimensions haute définition
  • Les options liées à GNOME Shell ajustent le panneau et les icônes
    • L’icône Activities peut être définie sur apple, gnome, ubuntu, tux, arch, fedora, debian, etc.
    • L’image d’arrière-plan peut être choisie parmi default, blank et IMAGE_PATH
    • La transparence du panneau peut être définie sur 30, 45, 60, 75, etc.
    • La hauteur du panneau, la taille de police et le style des boutons d’applications peuvent aussi être ajustés
  • La suppression du thème GTK se fait avec ./install.sh -r

Contournement de libadwaita et limites

  • Depuis Gnome 43.0, davantage d’applications intégrées utilisent libadwaita
  • libadwaita ne prend pas en charge les thèmes personnalisés, ce qui empêche de modifier l’apparence des apps libadwaita avec gnome-tweaks ou dconf-editor
  • Le contournement de WhiteSur consiste à écraser le fichier de configuration gtk-4.0 avec le fichier de thème
  • Les limites de cette méthode sont claires
    • Toutes les apps GTK4 utilisent un seul thème fixe
    • Le changement de thème n’est pas possible
    • Le passage en mode sombre n’est pas possible non plus
    • Pour passer à un autre thème, il faut réécraser le fichier de configuration gtk-4.0 avec le nouveau thème
  • Exemples d’installation pour libadwaita
    • ./install.sh -l : installe le thème normal dark par défaut
    • ./install.sh -l -c light : installe le thème light

Couleurs, Nautilus et variantes de thème supplémentaires

  • Les couleurs d’accentuation du thème s’installent avec --theme ou -t
    • ./install.sh -t red : installe uniquement la couleur d’accentuation red
    • ./install.sh -t red -t green : installe les couleurs d’accentuation red et green
    • ./install.sh -t all : installe toutes les couleurs d’accentuation
  • Le style Nautilus se définit avec --nautilus ou -N
    • Exemple : ./install.sh -N mojave
  • Davantage d’options de personnalisation sont disponibles avec ./install.sh -h
    • Transparence du panneau
    • Transparence du thème
    • Variantes des boutons de contrôle des fenêtres, etc.

tweaks.sh : GDM, Firefox, Flatpak

  • ./tweaks.sh [OPTIONS...] gère les ajustements liés à GDM, Firefox et Flatpak
  • Le thème GDM s’installe avec --gdm ou -g et nécessite une exécution en root
    • Exemple : sudo ./tweaks.sh -g
    • --background ou -b permet de définir une image d’arrière-plan
    • --nodarken ou -nd désactive l’assombrissement de l’arrière-plan
    • --noblur ou -nb désactive le flou de l’arrière-plan
  • Le thème Firefox s’installe avec --firefox ou -f
    • Les options disponibles sont monterey, flat, alt, darker, nord, adaptive et link
    • adaptive nécessite l’installation du plug-in adaptive-tab-bar-colour
    • --edit-firefox ou -e permet de modifier la configuration du thème Firefox installé et de le lier au profil Firefox actuel
  • Pour Flatpak, --flatpak ou -F lie le thème WhiteSur
    • Les options -o, -c, -t et -s permettent de définir la transparence, la couleur, la couleur d’accentuation et le jeu de couleurs
    • Snap n’est pas pris en charge
  • Les commandes pour corriger les problèmes de thème avec Flatpak sont les suivantes
    • sudo flatpak override --filesystem=xdg-config/gtk-3.0 && sudo flatpak override --filesystem=xdg-config/gtk-4.0

Éléments recommandés associés

  • WhiteSur Icon Theme : thème d’icônes WhiteSur
  • WhiteSur Wallpapers : fonds d’écran WhiteSur
  • Pour les informations relatives aux contributions, le lecteur est invité à consulter CONTRIBUTING.md

1 commentaires

 
GN⁺ 2025-02-24
Avis sur Hacker News
  • Mon expérience des thèmes Linux a été globalement assez mauvaise. Même les thèmes corrects conviennent à certaines apps et pas à d’autres, si bien qu’on finit par passer du temps à corriger des cas particuliers ou à accepter que certaines fenêtres aient un rendu bizarre.
    Du coup, j’utilise simplement le thème par défaut d’Ubuntu fourni avec GNOME. C’est celui qui s’intègre le mieux dans la plupart des apps, avec seulement quelques petites exceptions.
    Il existe peut-être de meilleurs thèmes, et en creusant suffisamment on peut sans doute obtenir une cohérence parfaite, mais comme je passe déjà beaucoup de temps devant l’ordinateur à coder, le thème du desktop est très bas dans mes priorités.
    C’est pareil pour l’environnement de bureau. Je sais que GNOME n’est pas le meilleur, mais je n’ai pas le temps de bricoler XFCE ou un gestionnaire de fenêtres en tuiles pour créer la configuration de mes rêves. Même s’il consomme plus de ressources, j’aime le fait que GNOME fonctionne tout simplement bien.

    • Je n’ai jamais créé de thème moi-même, mais côté GTK, le problème semble surtout venir des conflits CSS et du fait que libadwaita évolue séparément du cœur de GTK.
      Beaucoup d’apps GTK semblent coder en dur les couleurs, les polices, etc., au lieu de les paramétrer, ce qui fait qu’elles ne réagissent pas correctement aux changements de thème. Tous ces éléments combinés rendent l’expérience des thèmes très inégale.
      Côté Qt, ça a l’air un peu mieux, mais il y a des problèmes de mise à l’échelle. La plupart des thèmes KDE/Qt que j’ai essayés ne s’affichaient pas correctement quand le facteur d’échelle n’était pas entier.
      Personnellement, je trouve que CSS est assez mal adapté aux thèmes de toolkits d’UI desktop. Pour une seule app, ça va, mais dès que cela fait partie d’un système plus grand et plus flexible, ça devient vite complexe.
    • La créativité de l’âge d’or de themes.org me manque encore.
      Il y a beaucoup de gens créatifs, mais faire en sorte qu’un thème fonctionne bien avec tous les programmes, tous les utilisateurs, toutes les situations et toutes les exceptions demande un effort énorme. Une équipe d’entreprise avec des personnes rémunérées, qui maintient en continu une ou deux variantes et accumule puis corrige les rapports de bugs, semble être une approche plus adaptée.
      Il est difficile de maintenir du code ou du design lié à des problèmes qu’on n’utilise pas soi-même tous les jours, qu’on ne rencontre pas et qu’on ne peut pas reproduire.
      Peut-être qu’une personne extrêmement dévouée pourrait y arriver : https://www.nordtheme.com/ports
      J’ai gâché un temps fou à personnaliser mon desktop à la fin des années 90 et au début des années 2000, mais je n’ai plus ce temps depuis longtemps. Heureusement, les thèmes par défaut actuels sont plutôt corrects et suffisamment neutres dans la plupart des situations.
    • Même si un thème est parfait, on finit par l’abandonner parce qu’il cessera tôt ou tard d’être mis à jour pour une nouvelle version de l’environnement utilisé.
    • Dans les années 2000 et au début des années 2010, les thèmes fonctionnaient mieux, avant les changements d’API des environnements de bureau Linux. C’est aussi pour cela que beaucoup de sites de thèmes Linux semblent être restés bloqués à cette époque.
    • Si vous voulez seulement changer la couleur d’accent du thème Ubuntu, il y a Yaru : https://github.com/ubuntu/yaru
  • Cela fait longtemps que je n’ai plus installé de thème, quel qu’il soit. D’après mon expérience passée, il y avait toujours une gêne esthétique à la frontière entre les éléments auxquels le thème s’appliquait et ceux auxquels il ne s’appliquait pas.
    Le sous-titre « Fix for libadwaita (not perfect) » n’inspire pas non plus confiance. Ce n’est pas pour dénigrer ce thème en particulier, c’est un risque général lié à l’application de thèmes.

    • Le problème des thèmes qui imitent un autre système d’exploitation, c’est qu’ils peuvent reproduire le style, mais pas le comportement.
      Les captures d’écran peuvent se ressembler, mais en pratique cela ne se comporte pas comme l’OS d’origine, ce qui impose des compromis un peu partout et mène à la gêne mentionnée plus haut.
      Par exemple, GNOME n’a pas vraiment de concept de minimisation. On peut l’ajouter avec une extension, mais cela paraît maladroit et étrange. Si le système sous-jacent n’a pas été conçu ainsi, un thème ne peut pas le changer.
    • GNOME change souvent, ce qui oblige les mainteneurs à adapter sans cesse les plugins ; l’espérance de vie des plugins et des thèmes y est donc plutôt courte.
    • C’est vrai pour la plupart des thèmes GNOME, mais quand j’ai utilisé Chicago95 pendant trois ans sous XFCE, les parties gênantes se comptaient sur les doigts d’une main : https://github.com/grassmunk/Chicago95
    • Lancer des apps GNOME sous KDE, ou l’inverse, était autrefois une vraie souffrance.
      Le résultat était incroyablement laid, et même la solution officielle consistait à installer des thèmes de pont supplémentaires pour unifier l’apparence générale, ce qui n’était pas parfait.
      Les choses se sont améliorées, mais même en 2025, GParted a toujours l’air déplacé sous KDE, et c’est dommage.
    • Ici, « Fix » signifie en réalité hack. GNOME et libadwaita ne prennent pas officiellement en charge ce type de changement de thème.
  • Il y a quelques années, lors d’une conférence Ubuntu en Corée, j’ai vu un gamin qui faisait tourner Linux sur un MacBook et l’avait configuré pour ressembler parfaitement à macOS.
    C’était assez amusant, mais au moment de faire sa présentation, le HDMI ne fonctionnait pas.

    • J’imagine que c’était du Nvidia.
    • On dit aussi que le code du noyau est bien pire que ce que les gens croient. Ce n’est pas une entité sacrée, c’est peut-être parce qu’il a été fait par des geeks.
  • C’est un peu hors sujet, mais ça peut être intéressant. Avant, je personnalisais beaucoup ma configuration KDE, presque comme un hobby. J’essayais souvent d’autres environnements de bureau, d’autres gestionnaires de fenêtres, couleurs, thèmes, extensions, etc.
    Mais je n’arrivais pas à reproduire cette configuration sur d’autres machines, donc mon ordinateur portable était toujours laid, et seule ma machine principale était jolie.
    Il y a environ deux ans, je suis passé à i3. Tout se résume à un fichier de configuration où j’ai changé les couleurs et les principaux raccourcis clavier, et un autre fichier où j’ai ajusté la barre et le lanceur pour les rendre plus pratiques. En copiant ces deux fichiers de configuration, tous mes systèmes ont la même apparence et se comportent de la même façon.
    C’est laid, mais ça ne distrait pas. Plus de 98 % des pixels de l’écran sont occupés par les apps en cours d’exécution, donc il n’y a rien à ajuster.
    L’environnement de bureau n’est pas visible, je n’ai pas à interagir avec lui, il fonctionne tout simplement. Je m’y suis habitué ; quand je veux me concentrer, c’est très productif, et quand je veux me détendre ou écrire, je peux me consacrer entièrement à ça.
    Aucune animation n’est jouée, à part celles à l’intérieur des apps. Quand j’ouvre une app, comme j’ai tapé son nom, c’est bien celle que je veux et elle s’ouvre immédiatement.
    Sous Windows, on tape le nom d’une app et, juste avant d’appuyer sur Entrée, les résultats de recherche changent et autre chose se lance.
    Depuis ce changement, je ne me suis plus jamais soucié des thèmes GTK contre Qt. Il n’y a pas non plus de décorations de fenêtres. Il n’y a que des espaces de travail, du code et un navigateur, et j’oublie même qu’il y a un gestionnaire de fenêtres.
    Je n’ai pas l’intention de revenir en arrière pour l’instant, et KDE, GNOME, voire l’interface graphique de Windows, me semblent lents et patauds.

    • J’avais rendu mon environnement de bureau plutôt joli, sans toutefois m’y plonger à fond. Puis je suis passé à i3-gaps, mais je passais encore beaucoup de temps à configurer et comparer des émulateurs de terminal, des prompts shell, l’autocomplétion, des plugins vim, iommu/vfio, etc.
      À un moment, j’en ai eu assez de tout ça : je suis revenu à Windows/MacOS, j’ai arrêté de surconfigurer, j’installe les outils quand j’en ai besoin et j’essaie d’utiliser les choses aussi proches que possible de leur état par défaut.
      Au-delà du fait de ne plus avoir à maintenir tout ça, je me suis rendu compte que, quelle que soit la machine sur laquelle je me connecte en ssh, mes outils personnalisés ne me manquent pas.
    • Je recommande de gérer ses dotfiles avec git. Ce guide m’a aidé à démarrer : https://www.atlassian.com/git/tutorials/dotfiles
      Je conseille d’écrire un petit script qu’on peut récupérer avec wget et exécuter sur une nouvelle machine, pour qu’elle soit prête en quelques secondes. Peu importe alors qu’il y ait 2 fichiers de configuration ou 200. Dans mon cas, il installe aussi les outils que j’utilise, et en compile certains depuis les sources.
    • Sous Windows, il ne devrait pas arriver que les résultats de recherche changent juste avant d’appuyer sur Entrée après avoir tapé le nom d’une app, lançant ainsi une autre app.
      Par exemple, si KeePass est la meilleure estimation pour les apps commençant par k, ke, kee, ça devrait aussi être le cas pour keep, keepa, etc. Je n’ai jamais rencontré ce phénomène.
      En revanche, c’est possible si le nom de l’app a été mal saisi. La réaction à la dernière frappe erronée peut se produire pendant que la main se déplace vers Entrée.
  • Ça me rappelle le sentiment anti-thèmes dans la communauté des développeurs GNOME : https://stopthemingmy.app/

    • S’il existait un autre moyen vraiment simple de choisir les couleurs d’arrière-plan et de premier plan de toutes les apps, j’arrêterais volontiers de personnaliser les thèmes pour toujours.
      J’aime le texte blanc sur fond noir. Pas du texte blanc sur fond gris foncé, et encore moins du texte qui n’est pas complètement noir sur un fond jaunâtre.
      Je sais que ça ne change pas grand-chose à l’autonomie de la batterie, et que le gris foncé est considéré comme préférable du point de vue du design, mais ça m’est égal. Sur les appareils que j’utilise, je suis le seul à voir ces couleurs ; pourquoi devrais-je me soucier de ce que les autres préfèrent ?
      Je ne sais pas pourquoi, mais il est quasiment impossible d’obtenir ça sans créer soi-même un thème GTK. Parmi les thèmes faits par d’autres, je n’ai pas réussi à en trouver un qui se contente de modifier le fond noir sans y ajouter leurs préférences en matière d’icônes, d’espacement, etc.
      Cela dit, je suis reconnaissant que ce soit possible. Beaucoup d’apps qui ne sont ni GTK ni Qt n’ont tout simplement pas de fonctionnalité de thème.
      À part les éditeurs de code, j’ai rarement vu une app Electron permettant de choisir un arrière-plan entièrement noir. C’est pourquoi j’essaie de faire tourner des choses comme Slack ou Discord dans le navigateur et de les personnaliser avec du CSS utilisateur.
      Je me doute vaguement que c’est peut-être possible aussi dans les apps Electron via un mode développeur ou quelque chose du genre, mais je n’ai pas envie de passer du temps à reproduire dans l’app ce qui fonctionne déjà dans le navigateur.
      Formuler cet argument sous la forme « n’utilisez pas de thèmes personnalisés » le rend moins convaincant. Il n’existe presque pas de moyen simple d’obtenir la même flexibilité sans provoquer les problèmes qu’ils évoquent.
      C’est un peu comme voir un ami ou un proche utiliser le même mot de passe sur tous les sites, tout en essayant de le convaincre de supprimer Windows, de passer à Linux et d’installer un gestionnaire de paquets. Quand on mélange préférences subjectives et conseils techniques objectifs, on affaiblit aussi la force de persuasion des seconds.
    • On dirait un site de poisson d’avril, c’est difficile à croire.
    • C’est quasiment n’importe quoi.
  • Il vaudrait sans doute mieux éviter d’utiliser le logo Apple et l’icône Finder comme dans la capture d’écran en haut de ce thème.
    Et je ne vois pas très bien non plus ce qui change exactement dans le style de Nautilus entre « Default » et « Majave ».
    À part ça, le thème a l’air plutôt réussi.

    • Les icônes Launchpad, Activity Monitor, App Store, Music et Safari visibles dans la capture d’écran sont également protégées par le droit d’auteur.
    • La différence est de savoir si la barre latérale s’arrête sous la barre de titre ou si elle se prolonge jusqu’à celle-ci.
    • Dans le réglage par défaut, la barre latérale occupe toute la hauteur.
    • Apple va probablement le faire retirer. Ils l’ont déjà fait par le passé avec des projets similaires de look and feel.
  • LinuxScoop travaille depuis plusieurs années et sur plusieurs versions à des thèmes façon macOS pour KDE, GNOME et XFCE : https://invidious.baczek.me/channel/UCNnUnr4gwyNmzx_Bbzvt29g...

  • J’utilise le thème par défaut de GNOME
    Il est bien, sobre et frugal. L’UI apparaît exactement comme les développeurs l’ont voulue, et je n’ai pas besoin de perdre mon temps à chercher un thème
    Je n’ai pas non plus besoin de cacher Linux. Pourquoi le faudrait-il ? GNOME est plus beau que macOS
    Là où les thèmes comptent pour moi, c’est dans le shell et le code source. Parce que la lisibilité est importante et que j’aimerais que ce soit agréable à regarder. J’y fais attention même dans un TTY avec screen

    • libadwaita a été un grand tournant. Désormais, GNOME dispose soudain des applications les plus réussies visuellement parmi tous les environnements de bureau et plateformes
      J’espère que WhiteSur sera utile aux développeurs OSX qui utilisent GTK, mais je préférerais qu’on ne le fasse pas entrer dans GNOME et Linux
  • J’ai remarqué que les clones du Dock de macOS n’utilisent pas le même mode d’agrandissement qu’Apple. C’est parce qu’Apple l’a breveté

    • Je ne le savais pas, mais ces brevets semblent avoir expiré
      https://patents.google.com/patent/US7434177B1/en
      https://patents.google.com/patent/US8640045B2/en
      Quoi qu’il en soit, ce thème précis semble copier presque tels quels certains icônes d’Apple, donc l’auteur ne paraît pas s’être beaucoup soucié de la propriété intellectuelle
    • Le contenu des revendications du brevet consiste à prendre les distances d1 et d2 entre le curseur et les bords des tuiles, à calculer d1′ et d2′ avec une fonction sinus, puis à déterminer le facteur d’échelle
      Difficile d’appeler ça une invention
    • Ce thème ne semble pas se gêner pour copier plusieurs icônes et éléments de macOS, donc ce n’est probablement pas la raison
  • Je suis surpris de le voir publié ici. Je l’ai utilisé pendant plusieurs années, et je crois toujours que le design d’Apple est globalement meilleur que la plupart des thèmes GNOME/KDE. Cela dit, il y avait pas mal de bugs GNOME, donc je suis ensuite passé à un autre environnement