First of all: Please don’t tell me how impractically this might be or confusing or whatever. This is like a thought experiment and let’s be honest: We don’t JUST want efficiency when modding our desktops – we also want it to look sick and individual and have people watch in admiration – or something like that. So keep that in mind before dismissing rightaway :-) thanks!

  • I recently thought about a concept of tiling window managers. I don’t know If this already works out of the box in some window managers. It was originally how I understood the concept of “tiling window managers” before I really got to know how they worked.

My general idea: Everything is just tiles on a larger canvas - with some exceptions everything visible can be laid out as a position on the screen. Also widgets are just tiles placed next to each other. There can (imho should) exist some rules for easy sizing of tiles / widgets, but that’s details. I sometimes have the problem of working with one main application, but having to look up two other things A) and B) one after the other. I would switch between two screens all the time, but more ideally I would only move my screen slightly to get a look on either A) or B) while in both situations still having my main application in view. Moving between apps can be done simply with arrow keys (e.g. super + arrows) or mouse. There’s also quickjump-positions. For example pressing 1 2 3 4 etc would move the screen to a previous set position (and could also preset the focused application)

Similar to a smartphone the background can move along in a more subtle way.

The login screen would just be a different place on that canvas - for security the rest outside the view has to disappear even when invisible while logged out (to avoid weird security issues :D

possible exception: An exception to “everything is in the canvas” could be when maximizing a focused application: Then the actual application is moving in front of the view (while the rest of the canvas is getting slightly further away). Some nice blurring could make that really nice. If the application tile isn’t in the screen’s aspect ration before it will change its aspect ration in the same motion while moving.

So in short: Instead of having tiles fixed to screens why not have tiles everywhere and move the screen step by step.

A lot of hotkeys need to be thought about here of course. Also specialized behavior to resize tiles. Increasing the width/height or changing the aspect ratio would require moving surrounding tiles around in certain situations, but these shouldn’t bee too complicated. Again: some rules about minimum/maximum values for width/height/desired aspect rations could help.

Even the angle of viewing could be changed in some situations not in situations where switching often is required. But I’d love me some nice rotation and translation when locking my screen :-)

What do you think?

( I might cross post this to reddit’s unixporn subreddit later as well)

  • aardA
    link
    fedilink
    arrow-up
    40
    ·
    1 year ago

    The bit where you have a small view on a large virtual display exists in xorg (I assume it is still there - when I used that it was XFree86).

    You’d configure a virtual screen with whatever resolution you want, and your physical resolution generates a view on that which is moving with the mouse focus. I used to run a 1200x1600 desktop on a 640x480 screen until my girlfriend said she got sick watching me and bought me a large screen.

    Might be useful if you quickly want to prototype the general idea.

    • exocortex@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      20
      ·
      edit-2
      1 year ago

      now you can run a 4000x6000 screen on your 1200x1600 monitor 😉

      but seriously thank you. if that existed this might still exist in wayland…

      • aardA
        link
        fedilink
        arrow-up
        5
        ·
        1 year ago

        This is an Xorg thing - for wayland you’d have to implement that kind of functionality yourself.

        Just checked, it seems to be still there, and exposed via xrandr, see the --panning option in xrandr manpage. So you should be able to somewhat dynamically resize the virtual desktop used via xrandr nowadays. The maximum virtual desktop size supported is determined by your graphics card - so if you’d want that some infinity thing you’d have to do that yourself and just throw a small part of the screen in the graphics buffer for rendering.