1 Punkte von GN⁺ 2023-12-30 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Experiment, um Monitore für die Entwicklung nicht nur in 0° und 90° aufzuteilen, sondern mit Linux-xrandr beliebige Drehwinkel anzuwenden, um längere Codezeilen zu gewinnen
  • 0° passt gut zu Apps und Breitbild-Videos, lässt bei Websites und Dokumenten aber viel Leerraum; 90° eignet sich gut zum Lesen von Textdokumenten, ist bei Filmen und beim Betrachtungswinkel jedoch nachteilig
  • 1° kann zur Korrektur einer schiefen Schreibtischneigung nützlich sein, führt aber zu instabilem Font-Rendering; 45° wirkt wie ein Kompromiss aus Hoch- und Querformat, nutzt den Platz bei nicht quadratischen Seitenverhältnissen aber ungeschickt
  • Auf einem 21:9-Ultrawide wird eine Drehung von etwa 22°, also nahe an der Diagonalen, als Einstellung mit der größten Zeilenlänge behandelt
  • Die praktische Umsetzung erfolgt unter Xorg, indem in xrandr --output HDMI-3 --transform... eine Transformationsmatrix eingesetzt wird; Wayland wurde nicht unterstützt

Monitor-Drehungsversuch jenseits von 0° und 90°

  • Vertikale Monitore werden schon lange zum Lesen und Programmieren ausprobiert; ihr Vorteil ist, dass sie große Textmengen auf einmal anzeigen können
  • Der Vergleich der Grundwinkel sieht so aus
    • : passt gut zu den meisten Anwendungen und Videos im Breitbildformat
    • Nachteil von 0°: um Websites und Dokumente herum kann viel Leerraum und Padding entstehen
    • 90°: geeignet für Textdokumente, die man wie Buchseiten nach unten liest
    • Nachteil von 90°: ungeeignet für Filme und problematisch beim Betrachtungswinkel
  • Unter Linux kann der Bildschirm mit xrandr auf beliebige Winkel gedreht werden
    • Unter macOS und Windows ist dieselbe Aufgabe deutlich umständlicher
    • Auf einem MacBook funktionierte das Experiment nicht, auf dem Desktop dagegen problemlos
  • Die Ergebnisse für weitere Winkel mischen Praxisnutzen und Humor
    • : Die Menüleiste schien nach rechts zu verschwinden; bei leicht schrägem Schreibtisch könnte das nützlich sein, aber das Font-Rendering wird merkwürdig
    • 45°: vermittelt den Eindruck eines Mitteldings zwischen Hoch- und Querformat und liegt nahe an der Diagonalen, passt bei nicht quadratischen Seitenverhältnissen jedoch räumlich schlecht
    • 22°: liegt bei einem 21:9-Seitenverhältnis rechnerisch nahe an dem nötigen Dreieckswinkel und wird als Einstellung mit der größten Zeilenlänge behandelt
  • Die Schlussfolgerung zur 22°-Drehung lautet, dass man dank der langen Zeilenlänge die 80-Spalten-Begrenzung ignorieren kann, aber die Webcam beginnt herunterzurutschen

Anwenden mit einer xrandr-Transformationsmatrix

  • Die Laufzeitumgebung war auf Xorg beschränkt; Wayland wurde nicht unterstützt
  • Der Grundbefehl hat die Form xrandr --output HDMI-3 --transform lots of numbers here
  • In --transform wird eine Transformationsmatrix für Bildschirmposition und Rotation eingesetzt
  • Das Grundformat für Rotation und Verschiebung lautet wie folgt
cos(x),-sin(x),shift_left,sin(x),cos(x),shift_up,0,0,1
  • Der Beispielbefehl enthält keine Verschiebung zum Mittelpunkt und richtet den Bildschirm auch nicht zentriert aus, da die Auflösung unbekannt ist
#-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
  • Enthalten ist außerdem ein kleiner JavaScript-Rechner, der aus Eingabewerten einen xrandr-Befehl erzeugt

1 Kommentare

 
GN⁺ 2023-12-30
Hacker-News-Kommentare
  • Der Artikel ist zwar humorvoll geschrieben, aber tatsächlich verwenden einige Flugverkehrskontrollsysteme diagonal gedrehte Bildschirme und richten die „lange Linie“ an der primären Anflugroute des Flughafens aus.
    Die Konfiguration, die ich gesehen habe, bestand aus einem großen Display mit Stylus-Eingabe; es war kein Ultrawide, sondern ein Display mit eher standardmäßigem Seitenverhältnis, das schräg gedreht wurde.
    • Ich habe wie die anderen auch danach gesucht und ziemlich viele 1:1-Displays gefunden; in der Größe wäre das wohl gar nicht schlecht.
    • Ich würde wirklich gern ein Foto von diesem Setup sehen.
    • Interessant. Deshalb fällt es mir auch schwer zu verstehen, warum man GPS-/Karten-Apps auf einem Gerät im Querformat verwendet, obwohl man die Fahrtrichtung als „oben“ beibehält.
      Ich möchte lieber die Informationen maximieren, die vor mir auf der Strecke liegen, statt die links und rechts.
  • Wenn man einen Ultrawide-Monitor hat, könnte man ihn dann nicht drehen und per Nachleuchteffekt ein riesiges kreisförmiges Display erzeugen? Das könnte gleichzeitig als Ventilator dienen, der die Wärme verteilt, die die GPU durch das ständige Neuzeichnen erzeugt.
    • Vor ein paar Tagen wurde mir in meinem YouTube-Feed „spinning gaming monitor“ angezeigt: https://youtu.be/J6P3o6zrqsc?si=NUB7YviQNYoSW7Vi
    • Die meisten Compositoren zeichnen ohnehin ständig neu, und auf modernen Chips ist das praktisch keine Belastung. Die zusätzlichen Bewegungs- und Rotationsberechnungen würde man vermutlich gar nicht bemerken.
  • Etwas anderes, aber mein Rat wäre: großes 4K statt Ultrawide. Man bekommt mehr Pixel für weniger Geld.
    Sinnvolle Ultrawides sind im Grunde nur Modelle mit 5K x 2K Auflösung; die haben zwar mehr Pixel als ein einzelner 4K-Monitor, sind aber teuer. Trotzdem hat ein 16:9-5K-Monitor noch mehr Pixel.
    Ich persönlich nutze drei 27-Zoll-4K-Monitore; das ist günstiger als ein einzelner 5K-Ultrawide und bietet deutlich mehr Pixel.
    • Ich verstehe nicht so recht, warum man mehrere Monitore nutzt. Ich erledige inzwischen 98 % meiner Arbeit auf einem einzelnen 32-Zoll-4K-16:9-Monitor und habe alles auf einem großen Bildschirm.
      Ich habe zwar daneben Dokumente, eine Web-App mit Hot Reload, ein Video, das nebenbei läuft, und einen zweiten Monitor für Videokonferenzen beim Screen-Sharing, aber der Aufwand, ständig den Kopf zu drehen, ist groß, daher nutze ich das in der Praxis nicht oft. 80 % der Zeit ist er einfach leer.
    • Bei mir genau umgekehrt. Ich habe jahrelang zwei 4K-Monitore verwendet und bin letztes Jahr auf Ultrawide umgestiegen, und der Unterschied war enorm.
      Im Nachhinein habe ich das Gefühl, ich hätte nie zwei 4K-Monitore, ja nicht einmal ein Dual-Monitor-Setup kaufen sollen. Ein Ultrawide ist viel stimmiger und funktionaler, als zwei Monitore mit dicken Rahmen genau im Zentrum des Sichtfelds zu haben.
    • Umgekehrt nutze ich einen 49-Zoll-32:9-Monitor, und für ein Notebook ist das großartig. Die Unterstützung für einen einzelnen Monitor ist viel besser als für Setups mit zwei oder mehr Displays.
      Man steckt das Notebook direkt an und es funktioniert einfach. Bei zwei Displays brauchte ich eine Dockingstation, und ehrlich gesagt waren die meisten davon nicht besonders gut. Wenn man zu besseren Modellen greift, ist die Ersparnis durch günstige Monitore schnell dahin.
      In der Regel braucht man auch noch ein Thunderbolt-kompatibles Dock, und selbst wenn das Notebook es unterstützt, gehört das oft zu den Dingen, die Probleme machen. Beim Ultrawide war es außerdem viel einfacher, Shortcuts für das Fenstermanagement einzurichten.
    • Man sollte immer auf die PPI achten. Grob liegt das hier:
      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
    • Ich plane gerade einen neuen Build als Ersatz für ein 11 Jahre altes System, und die Monitorfrage ist knifflig. Die Anforderungen von allgemeiner Arbeit/Coding und Fotobearbeitung stehen im Widerspruch zueinander.
      Da ich mit Bildern jenseits von 40 Megapixeln arbeite, ist ein möglichst hochauflösender Bildschirm sinnvoll, um weniger zoomen zu müssen. Das führt aber dazu, dass für andere UI-Elemente Display-Skalierung nötig wird.
      Unter Windows funktioniert das im Großen und Ganzen gut, und wenn nicht, liegt es meist an den Programmen, die ich verwende. Nach viel Recherche scheint es am besten zu sein, die physische Größe so zu wählen, dass man die gewünschte Auflösung ohne übermäßige Skalierung, etwa 300 %, nutzen kann.
      Ich schaue mir den Dell Ultrasharp 32" 6K sehr genau an. Mit 223 dpi ist er etwas hoch, aber er kann etwa 75 % eines unkroppierten Fotos anzeigen. Wahrscheinlich würde ich auch noch einen LG DualUp dazukaufen.
      Schade ist bei beiden, und besonders enttäuschend angesichts des Dell-Preises, dass sie 8bit+FRC-Panels sind. Ich möchte nicht erst hinterher herausfinden, ob ich empfindlich auf Flimmern reagiere oder ob das Panel nicht lange hält. Immerhin hat Dell 3 Jahre Garantie, und von LG kann man die Business-Version ebenfalls mit 3 Jahren Garantie bekommen.
  • Ideal wäre natürlich ein Monitor, der um etwa den magischen Winkel von 54,74 Grad gedreht ist, um die Auswirkungen anisotroper Interaktion zu beseitigen.
    https://en.m.wikipedia.org/wiki/Magic_angle
    • Dieser Wikipedia-Artikel liest sich wie ein Witz. Sehr lustig.
  • Wäre die tatsächlich „ideale“ Rotation für maximale Zeilenlänge nicht eher 23° als 22°? Atan(9/21) = 23.20°, also doch.
    Und könnte man nicht noch weiter gehen? Wenn man den Bildschirminhalt als auf einer beliebigen Ebene betrachtet, was wäre dann mit einer Neigung vom Benutzer weg, wie bei SNES Mode 7 oder dem Star-Wars-Opening-Text? Unendliche Bildschirmhöhe!
    • Beeinflusst die Buchstabenhöhe diese Berechnung nicht? Die längstmögliche Zeile kann ja nicht bis ganz an die Enden gerendert werden, also könnte eine kürzere Zeile bei einem anderen Winkel vielleicht mehr Text anzeigen.
    • Wenn der Monitor gekrümmt ist, liegt es vielleicht eher bei 24°.
  • Für meinen Go-Code sind 90 Grad optimal. In dieser Ausrichtung passen viel mehr „if err != nil“-Blöcke hinein.
    • Dann ist sogar ein zweispaltiges Layout möglich. Niemand sollte ohnehin mehr als 80 Zeichen schreiben.
  • In einem ähnlichen Zusammenhang wünschte ich, es gäbe mehr 3:2-Displays und die Leute würden sie besser kennen. Das menschliche zentrale Sichtfeld — nicht das periphere — kommt einem Seitenverhältnis von 3:2 sehr nahe, aber wegen Skaleneffekten ist 16:9 etwas billiger und viel verbreiteter.
    Und für alle, die sich das fragen: Ein 16:9-Display hochkant zu drehen, um mehr vertikalen Platz zu bekommen, hilft nicht. Es wird einfach zu schmal. Für mich wäre ein quadratisches Display wohl am besten.
    Dazu kommen noch Probleme mit Subpixel-Rendering und die Blickwinkelprobleme von TN-Panels, aber das sind vergleichsweise kleine Themen.
    • Eizo hat einmal ein 1920x1920-Display gebaut, aber es scheint inzwischen eingestellt worden zu sein. Hier ist ein gutes Review: https://youtu.be/gJG9HOQITrg

LG DualUp ist ein fast quadratischer 16:18-Monitor, hat eine höhere Auflösung als Eizo und kostet fast nur die Hälfte.

  • Dass das menschliche zentrale Sichtfeld eher einem Verhältnis von 3:2 entspricht, ist kaum relevant, wenn der Monitor deutlich größer als dieses zentrale Sichtfeld ist.
    Wichtig ist die Belastung für den Nacken. Realistisch betrachtet möchte man den Kopf waagerecht halten und ihn nach links und rechts bewegen. Seitliche Bewegungen kämpfen nicht gegen die Schwerkraft, vertikale Bewegungen dagegen schon.
    Deshalb ist bei der Monitorgröße ein breiteres statt eines höheren Format besser.
  • Huawei baut einen 28-Zoll-Monitor im 3:2-Format: https://consumer.huawei.com/uk/monitors/mateview/specs/
    Die Auflösung beträgt 3840*2560.
  • Stimmt. Erst nachdem ich im Keller einen alten IBM Thinkpad gefunden und benutzt habe, wurde mir klar, wie aus dem Lot Wide-Screen-Displays eigentlich sind.
    Dazu kommt, dass Dinge wie Symbolleisten oft vertikalen Platz wegnehmen und den Arbeitsbereich in ein noch breiteres Verhältnis drücken. Beim Lesen oder Schreiben von Text bleiben die linken und rechten Bildschirmränder dann einfach als leere Fläche übrig.
    Bei gleicher Fläche fühlt sich ein höheres Display viel breiter an. Allerdings ist es möglicherweise nicht mehr ganz so angenehm wie früher, zwei Fenster/Panele/Puffer nebeneinander zu haben.
    Falls du selbst einen 3:2-Bildschirm benutzt, würde mich interessieren, welches Modell das ist.
  • Deshalb mochte ich das SurfaceBook wirklich sehr. Das Seitenverhältnis war nahezu perfekt. Inzwischen bin ich wieder beim MBP, und das ist die nächstbeste Lösung.
  • Bei der 22°-Lösung fehlt eine Umsetzung für dreieckige Fenster oder eine Fensteransicht mit „diagonaler Teilung“.
    • Der optimale Bildschirm wäre vermutlich eher ungefähr dreieckig oder halbkreisförmig. Ein gedrehter rechteckiger Bildschirm ist nur eine sehr grobe Annäherung.
  • Ich habe einen 48-Zoll-Monitor als Hauptmonitor gekauft. Über Rotation muss man sich da keine Gedanken machen, man hat einfach einen riesigen Bildschirm vor sich.
    Manche scheinen sich unwohl zu fühlen, wenn ein großer Monitor vor ihnen steht, aber wenn man es einmal ausprobiert hat, merkt man, dass die Anordnung kleiner Monitore wie 27 oder 32 Zoll als Einzel-, Doppel- oder Dreifach-Setup unnötig kompliziert ist.
    Ein einzelner großer Monitor ist deutlich besser. Große Monitore sind die Zukunft; die Leute fühlen sich aus irgendeinem Grund nur noch nicht wohl dabei, sie zu kaufen.
    • Das könnte an Problemen mit der Software-Unterstützung liegen. Zwei Monitore fühlen sich einfach leichter an, als einen Monitor wie zwei zu verwenden.
      In dem Zusammenhang würde mich interessieren, wie du dein Fenstermanagement eingerichtet hast.
    • Ein 48-Zoll-4K-Monitor ist am Ende im Grunde das hier:
      • vier 24-Zoll-1080P-Monitore ohne Rahmen
      • vier 24-Zoll-1080P-Monitore, die ohne Flexibilität an ein festes Raster gebunden sind
        Jeder hat andere Vorlieben, und das ist in Ordnung.
    • Ich habe auch einen 48-Zoll-Monitor. Links und rechts steht jeweils noch ein 27-Zoll-Monitor im Hochformat.
      Ich verstehe allerdings nicht ganz, warum Multi-Monitor-Setups als kompliziert gelten. Einstecken, falls nötig Fenster zur Seite ziehen, und einfach arbeiten.
    • Der Grund, warum ich nur ungern einen großen Monitor kaufe, ist, dass ich es als unangenehm empfinde, am Schreibtisch auf einen großen Monitor zu schauen, und persönlich keinen Nutzen im zusätzlichen Platz fürs Programmieren sehe.
      Selbst auf einem 16-Zoll-Laptop ist genug Platz für drei vertikale Terminal-Panels: eines zum Editieren, eines für Dokumentation und eines für Shell-Befehle. Wenn ich etwas im Web nachschlagen muss, wechsle ich mit cmd-H den Space und kehre mit cmd-L ins Terminal zurück.
      Mein Workflow funktioniert auf dem Laptop, also funktioniert er überall genauso. Natürlich passt das nicht für alle, aber ich bin ziemlich skeptisch, dass große Monitore für die meisten die Zukunft sind, und ich bin mir fast sicher, dass sie zumindest für mich nicht die Zukunft sind.
    • Ich möchte auf keinem Monitor immer die ganze Fläche nutzen, deshalb sind mehrere kleine Monitore, die ich bei Bedarf auch ausschalten kann, besser.
      Das hat zwar seine eigenen Schwierigkeiten, aber Dinge wie Webbrowsing möchte ich im Vollbild nutzen, und auf einem riesigen Bildschirm passt das einfach nicht so gut.