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)

  • aard@kyu.de
    link
    fedilink
    arrow-up
    35
    ·
    11 months 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
      18
      ·
      edit-2
      11 months 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…

      • aard@kyu.de
        link
        fedilink
        arrow-up
        4
        ·
        11 months 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.

  • Strayce@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    14
    ·
    11 months ago

    I really, really like this. To add some complexity can I suggest being able to zoom out and in as well?

    • exocortex@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      6
      ·
      11 months ago

      That would be possible of course, and I like it. But in my mind this would be reserved for special functions only as it can quickly become gimmicky. (Think these early 2000s rotating cube-workspaces and so on :-) )

      A usecase could be that a lock-screen would be further away and locking out would move towards it. Or even turning the view in a different direction?

      • Strayce@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        6
        ·
        11 months ago

        I do see your point regarding it becoming gimmicky, but I feel like it’d be useful for arranging windows and jump positions. I can also see a “Now where did I put thing X?” situation arising and it’d be handy to get an overview.

        • exocortex@discuss.tchncs.deOP
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          In my mind there would still exist an Alt+Tab-Overlay that would enable me to switch between programs independent of their position.

  • hackerwacker@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    11 months ago

    I’ve configured something like this in FVWM2 a long time ago. It was neat for a few hours, but I don’t really see the benefit over regular virtual workspaces.

    in i3 I already switch workspaces with mouse wheel on the status bar, which is super easy and seems easier panning around with a mouse.

  • guiguinofake
    link
    fedilink
    arrow-up
    6
    ·
    11 months ago

    That’s a really cool idea,maybe scrolling along a single axis instead of a plane would be more intuitive?

    • exocortex@discuss.tchncs.deOP
      link
      fedilink
      arrow-up
      5
      ·
      11 months ago

      Could be. But I would want to have the option. As a middle-ground the second axis (e.g. up/down) could be reserved to special functions only.

      • I could imagine the typical search-field that pops up to quickly search for an application could instead be further up and activating it would simply move the screen up and focus the search field at once.
      • a status-bar that only appears when needed could just exist slightly over the current screen (it would move sideways with the screen) and viewing it would move the screen slightly up.
  • 4am@lemm.ee
    link
    fedilink
    arrow-up
    6
    ·
    11 months ago

    Congratulations, you just invented Apple watchOS 🤣

    But seriously, this is kinda cool and I’d try it. I wonder if I would prefer a simpler mode where it only expands along one axis though

  • Honytawk@lemmy.zip
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

    So resizing windows will mess up the entire layout or leave gaps?

    Yeah, no, not for me.

  • Eager Eagle@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    11 months ago

    I think this might be a good idea for a full FoV experience, like a VR/AR Desktop. For a regular display I’d have to try it, I guess.

  • MonkderZweite@feddit.ch
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    11 months ago

    You mean, like you can zoom out and back in, move around in the larger desktop? For that part, there’s an xrandr hack with panning and scale.

    edit: it’s literally --panning 4000x2000 and --scale for zooming. 0x0 and scale 1 to reset. Mouse on border moves the window. Make a script and bind that to keys and done.