hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.5k stars 899 forks source link

Ability to project workspaces onto other workspaces from the same hyprland instance. #5546

Open modestbadger1773 opened 7 months ago

modestbadger1773 commented 7 months ago

Description

I was thinking about this problem last night: https://github.com/hyprwm/Hyprland/issues/5323

I came to the idea that it would actually be better to be able to project Workspaces onto other Workspaces, as this would allow the functionality requested in 5323, but would also allow for other unique use cases.

I have put together some schema diaphragms to better communicate my idea below:

Workspace in Workspace 1

One specific use case that I would personally use a medical student is the ability to view the Workspace that would normally be presented on another monitor on my laptop display and have my notes for the presentation open beside them in nvim:

Workspace in Workspace 2

This specific use case is sort of analogous to how Microsoft Powerpoint has a 'Presenter Mode', but it is obviously more powerful. Currently, I just mirror my laptop screen to the second monitor - but this enhancement would give me the ability to have notes as well.

I don't have the skills to implement this idea myself (my training is in chemistry/medicine), nor do I know if this is best implemented as an extension or an innate part of compositor. But I thought it was an idea worth sharing.

Thanks

modestbadger1773 commented 7 months ago

I could see work from https://github.com/hyprwm/Hyprland/issues/5489 also being useful for this idea. Essentially the 'Projection Clients' could be 'Viewports' that are smaller than the normal resolution of their monitor. To maintain congruity across the representation of a Workspace through multiple 'Viewports', the smaller 'Projection' 'Viewports' may need to be configured so that they can work with layouts larger than their size?