this post was submitted on 14 Dec 2023
157 points (96.4% liked)

Unixporn

15397 readers
43 users here now

Unixporn

Submit screenshots of all your *NIX desktops, themes, and nifty configurations, or submit anything else that will make themers happy. Maybe a server running on an Amiga, or a Thinkpad signed by Bjarne Stroustrup? Show the world how pretty your computer can be!

Rules

  1. Post On-Topic
  2. No Defaults
  3. Busy Screenshots
  4. Use High-Quality Images
  5. Include a Details Comment
  6. No NSFW
  7. No Racism or use of racist terms

founded 5 years ago
MODERATORS
 

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)

all 37 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 40 points 11 months ago (1 children)

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.

[โ€“] [email protected] 20 points 11 months ago* (last edited 11 months ago) (1 children)

now you can run a 4000x6000 screen on your 1200x1600 monitor ๐Ÿ˜‰

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

[โ€“] [email protected] 5 points 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.

[โ€“] [email protected] 17 points 11 months ago (2 children)

kind of reminds me of the newm wm

[โ€“] [email protected] 5 points 11 months ago

Isn't that concept called a 'scrolling wm'?

[โ€“] [email protected] 3 points 11 months ago

yeah very nice. I imagine it a little like that only more "cluttered" :-) I like it a little more chaotic with more variety of screen sizes and rations. Thanks!

[โ€“] [email protected] 16 points 11 months ago (1 children)

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

[โ€“] [email protected] 8 points 11 months ago (1 children)

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?

[โ€“] [email protected] 6 points 11 months ago (1 children)

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.

[โ€“] [email protected] 2 points 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.

[โ€“] [email protected] 15 points 11 months ago (1 children)
[โ€“] [email protected] -1 points 11 months ago (1 children)
[โ€“] [email protected] 4 points 11 months ago

I sent a link to it, it's called newm

[โ€“] [email protected] 10 points 11 months ago (1 children)

An infinite canvas accessible by only using a keyboard? Shut up and take my money!

[โ€“] [email protected] 2 points 11 months ago (1 children)

Usable with just the keyboard would be cool but limiting it to only keyboard would be dumb

[โ€“] [email protected] 1 points 11 months ago

Sure I didn't mean it exclusively.

[โ€“] [email protected] 8 points 11 months ago (2 children)

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

[โ€“] [email protected] 10 points 11 months ago (1 children)
[โ€“] [email protected] 1 points 11 months ago
[โ€“] [email protected] 2 points 11 months ago

There is one kwin script for KDE plasma but I can't remember the name.

[โ€“] [email protected] 8 points 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.

[โ€“] [email protected] 7 points 11 months ago (1 children)

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

[โ€“] [email protected] 6 points 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.
[โ€“] [email protected] 6 points 11 months ago

This sounds a lot like newm, I'd suggest you check it out! (though I think it might be unmaintained now)

[โ€“] [email protected] 5 points 11 months ago* (last edited 11 months ago) (1 children)

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.

[โ€“] [email protected] 5 points 11 months ago

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

Yeah, no, not for me.

[โ€“] [email protected] 5 points 11 months ago

I just want efficiency actually...

[โ€“] [email protected] 4 points 11 months ago* (last edited 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.

[โ€“] [email protected] 4 points 11 months ago
[โ€“] [email protected] 4 points 11 months ago

If you set your X server size bigger than your monitor size you can already do that. You can also move windows partially off the screen, so e.g. only the left edge is visible.

But I personally don't see the use case. I can't think of a time where the physical layout of different programs would be so important as to require a 2D canvas. Usually the connections between programs are not in a 2D plane, but instead by concept or task.
For example I may have a browser open, and want a terminal and an IDE next to it. How exactly these windows are placed is of no concern, I just need them to be visible at the same time . And that's something I can achieve with a normal tiling wm already.

But maybe I'm just not creative enough to desire more complex window layouts XD

[โ€“] [email protected] 4 points 11 months ago* (last edited 11 months ago)

I think mixing horizontal and vertical is impractical, because it will mess up the whole layout once you resize a single window, but on one axis the concept is actually sound. There exists PaperWM for gnome 3 which is basically just this.

[โ€“] [email protected] 3 points 11 months ago

I've been contemplating AR display arrangements. Something like this would be a great direction for my use case.

[โ€“] [email protected] 3 points 11 months ago

I think there might be some aspects of this in Material Shell extension for Gnome โ€“ but it still maintains the discrete workspaces rather than joining everything into one seamless space

[โ€“] [email protected] 2 points 11 months ago

i swear i saw a post on mastodon about someone who made an OS like this. like it had a white background with a repeating grid and the windows were pixelated or smth.

[โ€“] [email protected] 1 points 10 months ago

Been thinking about this myself, and have been seriously considering making it.

As for maximizing, you're really just zooming into the canvas (though not a visual zoom, more of a "sizing zoom"). "Zoom" levels could be used for a lot more than maximizing: think StarCraft camera hotkeys.

One of the major issues I haven't been able to think through is how to get templates right. If I were to use this as a daily driver, I would want to be able to place down predefined layouts and actually start programs in them. E.g. one terminal running a text editor, and another running a shell below it. I haven't figured out the UX to make that efficient.

Maybe a project for this weekend.

[โ€“] [email protected] 1 points 11 months ago

I was thinking of something similar yesterday but with scrolling to the side instead like paperWM.