1 points par GN⁺ 2023-12-30 | 1 commentaires | Partager sur WhatsApp
  • Il s’agit d’une expérience visant à ne pas limiter les moniteurs de développement à 0° et 90°, mais à appliquer une rotation à un angle arbitraire avec xrandr sous Linux afin d’obtenir des lignes de code plus longues
  • 0° convient bien aux applications et aux vidéos au format large, mais laisse beaucoup de marges sur les sites web et dans les documents, tandis que 90° est adapté à la lecture de documents textuels mais moins avantageux pour l’affichage des films et les angles de vision
  • 1° peut servir à corriger l’inclinaison du bureau, mais le rendu des polices devient instable, et 45° semble être un compromis entre horizontal et vertical, alors que l’utilisation de l’espace reste maladroite sur un format d’écran non carré
  • Sur un écran ultralarge 21:9, une rotation d’environ 22°, proche de la diagonale, est présentée comme le réglage offrant la plus grande longueur de ligne
  • L’application concrète se fait sous Xorg en insérant une matrice de transformation dans xrandr --output HDMI-3 --transform..., et Wayland n’était pas pris en charge

Expérience de rotation d’écran au-delà de 0° et 90°

  • Les moniteurs en mode portrait sont utilisés depuis longtemps pour la lecture et la programmation, avec l’avantage de pouvoir afficher beaucoup de texte en une seule fois
  • La comparaison des angles de base est la suivante
    • : convient à la plupart des applications et aux vidéos au format large
    • Inconvénient de 0° : beaucoup de marges et de padding peuvent apparaître autour des sites web et des documents
    • 90° : adapté aux documents textuels qui se lisent de haut en bas comme une page de livre
    • Inconvénient de 90° : mauvais pour l’affichage des films et problématique pour les angles de vision
  • Sous Linux, xrandr permet de faire pivoter l’écran selon un angle arbitraire
    • Sur macOS et Windows, la même opération est plus compliquée
    • L’expérience n’a pas fonctionné sur MacBook, mais elle a marché sans problème sur un PC de bureau
  • Les résultats pour les angles supplémentaires mêlent aspects pratiques et humour
    • : la barre de menu semblait disparaître vers la droite ; cela peut être utile si le bureau est légèrement incliné, mais le rendu des polices devient étrange
    • 45° : donne une impression intermédiaire entre horizontal et vertical, proche de la diagonale, mais l’espace ne s’adapte pas bien avec un format d’écran non carré
    • 22° : sur un ratio 21:9, cela se rapproche de l’angle de rotation requis par le calcul triangulaire, et c’est présenté comme le réglage offrant la plus grande longueur de ligne
  • La conclusion est qu’avec une rotation de 22°, la longueur des lignes devient suffisante pour ne plus se soucier de la limite des 80 colonnes, mais la webcam commence à glisser vers le bas

Application avec la matrice de transformation de xrandr

  • L’environnement pris en charge se limitait à Xorg, sans support de Wayland
  • La commande de base est de la forme xrandr --output HDMI-3 --transform lots of numbers here
  • --transform reçoit une matrice de transformation pour la position et la rotation de l’écran
  • Le format de base nécessaire pour la rotation et le déplacement est le suivant
cos(x),-sin(x),shift_left,sin(x),cos(x),shift_up,0,0,1
  • La commande d’exemple n’inclut pas le déplacement du centre et ne recentre pas l’écran, l’auteur expliquant ne pas connaître la résolution
#-0.1
xrandr --output HDMI-3 --transform 0.999998476913288,0.00174532836589831,0,-0.00174532836589831,0.999998476913288,0,0,0,1

#1
xrandr --output HDMI-3 --transform 0.999847695156391,-0.0174524064372835,0,0.0174524064372835,0.999847695156391,0,0,0,1

#45
xrandr --output HDMI-3 --transform 0.707106781186548,-0.707106781186548,0,0.707106781186548,0.707106781186548,0,0,0,1

#22
xrandr --output HDMI-3 --transform 0.927183854566787,-0.374606593415912,0,0.374606593415912,0.927183854566787,0,0,0,1
  • Un petit calculateur JavaScript générant la commande xrandr à partir des valeurs d’entrée est également inclus

1 commentaires

 
GN⁺ 2023-12-30
Commentaires Hacker News
  • L’article le présentait sur un ton drôle, mais en pratique certains systèmes de contrôle du trafic aérien utilisent bien des écrans tournés en diagonale, avec ce « long côté » aligné sur l’axe principal d’approche de l’aéroport
    La configuration que j’ai vue utilisait un grand écran avec saisie au stylet, et ce n’était pas un écran ultra-large, mais plutôt un écran au format assez standard incliné en biais.
    • J’ai cherché moi aussi comme d’autres, et j’ai vu pas mal d’écrans au format 1:1 ; à ce niveau-là, ça me semble plutôt pas mal.
    • J’aimerais vraiment voir une photo de cette configuration.
    • Intéressant. Du coup, j’ai du mal à comprendre le choix d’utiliser des applications GPS/cartographie sur un appareil en mode paysage tout en gardant le sens de déplacement vers le « haut »
      Moi, je veux maximiser les informations sur ce qu’il y a « devant » là où je conduis, pas sur les côtés.
  • Si on a un moniteur ultra-large, est-ce qu’on ne pourrait pas le faire tourner pour créer un immense affichage circulaire grâce à l’effet de rémanence ? Il pourrait aussi faire office de ventilateur pour dissiper la chaleur générée par le GPU qui redessine en continu.
    • Il y a quelques jours, mon fil YouTube m’a proposé « spinning gaming monitor » : https://youtu.be/J6P3o6zrqsc?si=NUB7YviQNYoSW7Vi
    • La plupart des compositeurs redessinent déjà en continu, et sur les puces modernes cela ne coûte presque rien. Les opérations supplémentaires de déplacement et de rotation ne seraient sans doute même pas perceptibles.
  • C’est un peu un autre sujet, mais comme conseil, mieux vaut un grand 4K qu’un ultra-large. On obtient plus de pixels pour moins cher
    Les seuls ultra-larges vraiment intéressants sont les modèles en 5K x 2K : ils ont plus de pixels qu’un simple 4K, mais ils sont chers. Cela dit, un moniteur 5K en 16:9 a encore plus de pixels
    Personnellement, j’utilise trois 27 pouces 4K : ça coûte moins cher qu’un seul ultra-large 5K, et ça offre bien plus de pixels.
    • Je ne comprends pas très bien l’intérêt d’utiliser plusieurs moniteurs. Aujourd’hui, je fais 98 % de mon travail sur un seul 32 pouces 4K 16:9, avec tout affiché sur un grand écran
      J’ai bien des documents à côté, une webapp en hot reload, une vidéo que je regarde en travaillant, et un moniteur auxiliaire pour les visioconférences quand je partage mon écran, mais l’effort de tourner la tête est trop important, donc en pratique je m’en sers peu. 80 % du temps, tout ça reste simplement vide.
    • Je pense exactement l’inverse. J’ai utilisé deux moniteurs 4K pendant des années, puis je suis passé à un ultra-large l’an dernier, et ça a tout changé
      J’ai l’impression que je n’aurais jamais dû acheter deux 4K, voire une configuration double écran tout court. Un ultra-large est bien plus cohérent et fonctionnel que d’avoir les épais bords de deux moniteurs pile au centre du champ de vision.
    • À l’inverse, moi j’utilise un moniteur 49 pouces 32:9, et pour un laptop c’est excellent. La prise en charge d’un seul moniteur est bien meilleure qu’une configuration à deux écrans ou plus
      Je le branche directement au portable et ça marche, tout simplement. Avec deux écrans, il me fallait une station d’accueil, et franchement la plupart étaient mauvaises. Dès qu’on monte en gamme, l’argent économisé sur des moniteurs moins chers disparaît complètement
      En général, il faut aussi un dock compatible Thunderbolt, et même quand le laptop est censé le prendre en charge, ça fait partie du genre de choses qui posent problème. Avec un ultra-large, il était aussi plus simple de configurer les raccourcis de gestion des fenêtres.
    • Il faut toujours regarder le PPI. En gros, on a ceci
      27” 5K (5120 x 2880) -> 218 PPI
      32” 4K (3840 x 2160) -> 137.68 PPI
      34” 5K (5120 x 2160) -> 163.44 PPI
      39.7” 5K (5120 x 2160) -> 139.97 PPI
      Apple Pro Display XDR 32" 6K (6016 x 3384) -> 218 PPI
    • Je prépare une nouvelle machine pour remplacer un système vieux de 11 ans, et le choix du moniteur est pénible. Les besoins de travail général / code et de retouche photo se contredisent
      Comme je traite des images de plus de 40 mégapixels, un écran à aussi haute résolution que possible est préférable pour limiter le zoom avant/arrière. Mais dans ce cas, il faut appliquer une mise à l’échelle de l’affichage pour les autres éléments d’interface
      Windows s’en sort plutôt bien en général, mais quand ça se passe mal, c’est souvent parce que le logiciel qu’on utilise est insuffisant. Après beaucoup de recherches, la meilleure solution semble être d’adapter la taille physique de l’écran à la résolution souhaitée pour pouvoir l’utiliser sans une mise à l’échelle excessive, par exemple 300 %
      Je regarde de près le Dell Ultrasharp 32" 6K. Son dpi est un peu élevé, à 223, mais il peut afficher environ 75 % d’une photo non recadrée. Je pense aussi acheter un LG DualUp à côté
      Ce qui me déplaît sur les deux, et c’est particulièrement décevant vu le prix du Dell, c’est que ce sont des dalles 8bit+FRC. Je n’ai pas envie de découvrir trop tard que je suis sensible au scintillement, ou que la dalle ne tient pas dans le temps. Cela dit, Dell offre 3 ans de garantie, et chez LG on peut aussi acheter la version professionnelle avec 3 ans de garantie.
  • L’idéal, bien sûr, serait un moniteur tourné d’environ 54,74 degrés, l’angle magique, afin d’éliminer les effets des interactions anisotropes
    https://en.m.wikipedia.org/wiki/Magic_angle
    • Cet article Wikipédia se lit comme une blague. C’est très drôle.
  • La rotation réellement « idéale » pour maximiser la longueur de ligne ne serait-elle pas plus proche de 23° que de 22° ? Puisque Atan(9/21) = 23.20°
    Et est-ce qu’on ne pourrait pas aller encore plus loin ? Si l’on considère le contenu de l’écran comme visible sur un plan arbitraire, que se passerait-il si on inclinait le contenu à l’opposé de l’utilisateur, comme le Mode 7 de la SNES ou le texte d’ouverture de Star Wars ? Hauteur d’écran infinie !
    • La hauteur des caractères n’influe-t-elle pas sur ce calcul ? La ligne la plus longue possible ne pourra pas être rendue jusqu’aux deux extrémités, donc des lignes plus courtes à un autre angle pourraient peut-être afficher davantage de texte ?
    • Si le moniteur est incurvé, on est peut-être en réalité plus proche de 24°.
  • Dans mon code Go, 90 degrés, c’est le mieux. Dans ce sens-là, on peut caser beaucoup plus de blocs if err != nil
    • Comme ça, on peut aussi faire une mise en page sur deux colonnes. De toute façon, personne ne devrait dépasser 80 caractères.
  • Dans le même esprit, j’aimerais qu’il y ait plus d’écrans 3:2 et que davantage de gens les connaissent. Le champ visuel humain central — pas le périphérique — est très proche d’un ratio 3:2, mais à cause des économies d’échelle, le 16:9 est un peu moins cher et bien plus courant
    Et pour ceux qui se poseraient la question : faire pivoter un 16:9 en mode portrait pour gagner de l’espace vertical n’aide pas. Ça devient trop étroit. Pour moi, un écran carré serait idéal
    En prime, il y a aussi les problèmes de rendu sous-pixel et les angles de vision des dalles TN, mais ce sont des problèmes relativement mineurs.
    • Eizo fabriquait un écran 1920x1920, mais il semble qu’il soit arrêté maintenant. Il y a une bonne critique ici : https://youtu.be/gJG9HOQITrg

Le LG DualUp est un moniteur 16:18 presque carré, avec une résolution plus élevée que l'Eizo et un prix presque deux fois moindre

  • Le fait que le ratio du champ de vision central humain soit proche de 3:2 n'est pas très pertinent lorsque la taille du moniteur est bien plus grande que ce champ de vision.
    Ce qui compte, c'est la tension sur la nuque. En pratique, on a naturellement envie de garder la tête à l'horizontale et de la bouger de gauche à droite. Les mouvements latéraux ne luttent pas contre la gravité, contrairement aux mouvements de haut en bas.
    Donc, pour la taille d'un moniteur, il vaut mieux qu'il soit large que haut
  • Huawei fabrique un moniteur 28 pouces en 3:2 : https://consumer.huawei.com/uk/monitors/mateview/specs/
    La résolution est de 3840*2560
  • Exact. Ce n'est qu'après avoir retrouvé un vieux IBM Thinkpad au sous-sol et l'avoir utilisé que j'ai réalisé à quel point les écrans wide étaient à côté de la plaque.
    En plus, les éléments comme les barres d'outils grignotent souvent l'espace vertical, ce qui écrase encore davantage la zone de travail dans un format plus large. Quand on lit ou écrit du texte, les bords gauche et droit de l'écran restent simplement comme des espaces vides.
    À surface égale, un écran plus haut donne une impression d'espace bien plus grande. En revanche, placer deux fenêtres/panneaux/buffers côte à côte peut être moins pratique qu'avant.
    Si tu utilises toi-même un écran 3:2, je serais curieux de savoir quel modèle c'est
  • C'est pour ça que j'aimais vraiment le SurfaceBook. Son format d'écran était presque parfait. Je suis revenu sur un MBP maintenant, et c'est ce qui s'en rapproche le plus
  • La solution à 22° ne prend pas en compte une implémentation de fenêtres triangulaires ou une option d'affichage en « division diagonale »
    • L'écran optimal serait probablement proche d'un triangle ou d'un demi-cercle. Un écran rectangulaire pivoté n'est qu'une approximation très grossière
  • J'ai acheté un moniteur 48 pouces comme écran principal. Pas besoin de se soucier de rotation ou autre, il y a juste un écran gigantesque devant moi
    Certaines personnes semblent mal à l'aise à l'idée d'avoir un grand moniteur devant elles, mais une fois qu'on y a goûté, on se rend compte que disposer de petits moniteurs de 27 ou 32 pouces en simple/double/triple est inutilement compliqué.
    Un seul grand moniteur, c'est bien mieux. Les grands moniteurs sont l'avenir, c'est juste que pour une raison ou une autre les gens ne se sentent pas encore à l'aise à l'idée d'en acheter
    • C'est peut-être un problème de support logiciel. Il est plus facile de "sentir" qu'on a deux moniteurs que d'utiliser un seul moniteur comme s'il y en avait deux.
      D'ailleurs, je serais curieux de savoir comment tu as configuré la gestion des fenêtres
    • Un moniteur 48 pouces en 4K, au final, c'est ça :
      • 4 écrans 24 pouces 1080P sans bordures
      • 4 écrans 24 pouces 1080P coincés dans une grille fixe sans flexibilité
        Chacun a ses préférences, et c'est très bien comme ça
    • J'ai aussi un moniteur 48 pouces. J'ai également un moniteur 27 pouces en mode portrait de chaque côté.
      Mais je ne vois pas très bien pourquoi les configurations multi-écrans seraient compliquées. On branche, on fait glisser une fenêtre sur le côté si nécessaire, et on travaille
    • Si j'hésite à acheter un grand moniteur, c'est parce que je trouve inconfortable de travailler à un bureau devant un grand moniteur, et que je ne perçois pas d'avantage personnel à l'espace supplémentaire pour le code.
      Même sur un ordinateur portable 16 pouces, il y a largement assez de place pour trois panneaux de terminal verticaux : un pour l'édition, un pour la documentation et un pour les commandes shell. Si j'ai besoin de chercher quelque chose sur le web, je passe d'espace avec cmd-H puis je reviens au terminal avec cmd-L.
      Mon flux de travail fonctionne sur un portable, donc il reste le même où que j'aille. Bien sûr, ce n'est pas une méthode qui convient à tout le monde, mais je suis assez sceptique sur l'idée que les grands moniteurs représentent l'avenir pour la plupart des gens, et je suis presque certain que ce n'est pas mon avenir, en tout cas
    • Comme je ne veux pas toujours utiliser toute la surface de n'importe quel moniteur, je préfère plusieurs petits moniteurs que je peux éteindre quand je n'en ai pas besoin
      Cela a ses propres difficultés, mais pour des choses comme la navigation web, j'aime les utiliser en plein écran, et sur un écran gigantesque ça ne fonctionne pas très bien