Alt text:

Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a window shape almost like a stepped pyramid.

Edit: alt text

  • lynx@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    17
    ·
    11 months ago

    How can you do fractional rotation? Does it only work with x11 or is it also supported in wayland?

    • Chewy@discuss.tchncs.de
      link
      fedilink
      arrow-up
      23
      ·
      11 months ago

      Rotating the display by a custom angle is possible through xrandr on X.org.

      There’s no Wayland protocol for custom angle rotation, and I don’t expect anyone to create a protocol extension without a use-case.

      My wild guess: Theoretically it should be possible for a compositor to support similar custom rotation, as applications simply draw to their surface (window), without knowing how and where it is displayed on the viewport (display).

      But it might require quite a bit of work, depending on the project, so I don’t expect to ever see custom rotation on anything besides smaller/niche compositors.

      [1] https://unix.stackexchange.com/questions/552138/rotate-a-display-by-custom-angle#552140

      • grue@lemmy.world
        link
        fedilink
        English
        arrow-up
        11
        ·
        11 months ago

        There’s no Wayland protocol for custom angle rotation, and I don’t expect anyone to create a protocol extension without a use-case.

        [gestures at thread] Does this not count??? 😁

        Seriously, though: I suspect there might be non-novelty use-cases in mobile devices, especially things like smart watches. Those aren’t beyond the scope of Wayland in the long run, are they?

        • Zangoose@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          Ok I was joking with the images but now that I think about it this would likely be pretty useful to have on smart watches with circular displays.

          E.g. having the watch face rotating to face towards the wearer would be a pretty neat concept. Definitely something I’d want a toggle for though.

        • barsoap@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          Smart watches tend to be microcontroller class devices because even though you can fit something powerful in there, powering it and heat dissipation make it silly.

          The usual embedded-type application for wayland that it’s even especially designed for is automotive: Things without window management but not particularly hardware-restrained. Also think public transit ticket machines, ATMs, such things. In that sense, from wayland’s perspective android is already desktop.

    • AgnosticMammal@lemmy.zip
      link
      fedilink
      arrow-up
      7
      ·
      11 months ago

      I was looking into this earlier to try fixing a display that was being offset on an old tv screen. The display was going off the left side of the TV, causing a black bar on the right side.

      I was trying xrandr, and fixed it somewhat by offsetting the display back, but somehow it did not fix the right side - it seemed as if the display had went under the black bar.

      But yeah you can offset, stretch, skew and rotate with xrandr

      • lynx@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        11 months ago

        The --rotate normal,inverted,left,right does not work, but you can use the transform option to achieve the same effect. To create the transformation matrix you can use something like: https://angrytools.com/css-generator/transform/

        • for translateXY enter half the screen resolution
        • don’t copy the generated code, it has the numbers in the wrong order just type out the matrix row wise.

        The final command looks like this:

        xrandr --output screen-1 --transform 0.87,-0.50,960,0.50,0.87,540,0,0,1

        To restore the original use (type this in first, because if you screw up you might not be able to see anything anymore):

        xrandr --output screen-1 --transform 1,0,0,0,1,0,0,0,1

        I tested it on x11.

        • AgnosticMammal@lemmy.zip
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          It only had two modes for the VGA source, 16:9 and 4:3. The 16:9 is the right ratio for the laptop but had the offset issue. The 4:3 makes it stretched out / squashed, but it doesn’t have the offset issue.