Open aDogCalledSpot opened 1 year ago
I have the opposite requirement: One virtual output should span over two physical monitors. Would be awesome if the code could cover that scenario as well!
I have the opposite requirement: One virtual output should span over two physical monitors. Would be awesome if the code could cover that scenario as well!
As I recently checked again if sway or hyprland had implemented splitting a monitor (the feature in this issue) since the last time I checked, I came across a hyprland plugin that seems to do what you want: https://github.com/levnikmyskin/hyprland-virtual-desktops
I found it on the hyprland awesome list: https://github.com/hyprland-community/awesome-hyprland
Oh, and, of course, a solution that is generic enough to cover both scenarios would be awesome.
One solution I thought about was whether the fake outputs feature could already be used to split a monitor into multiple. https://wiki.hyprland.org/hyprland-wiki/pages/Configuring/Using-hyprctl/#output
Herbstluftwm is the only wm which has this feature, as far as I know. https://herbstluftwm.org/tutorial.html#monitors
@vaxerski could you give a high-level overview of what would need to be done to support this, so that someone could maybe look into it a bit?
this is all but simple; hyprland is very much not made with this in mind.
Are there possible first steps that could be done in order to slowly move towards this? I dont expect this to be solved with a single PR.
none that I can think of. the entire thing is built on the assumption that there is strictly 1 monitor per 1 workspace
Can second this, I own an ultrawide and I can't use it with hyprland.
An alternative is to use PBP mode, idk if there's any monitors that support 3 side by side PBP outputs though. I find it pretty clunky because the only way to center a window between 2 monitors is through floating.
I just use master layout with always_center_master
, it works pretty well except I don't have control over resizing the non-master windows individually. I just got used to it.
I'm currently using XMonad with layoutScreens there to cycle through three configurations for my ultrawide (5120x1440):
XMonad handles everything inside these virtual monitors as if they where real displays and it also uses the available resolution of each virtual monitor to select the best layout (e.g. the half sized displays have a master window on top and other windows below tiled and the full sized ones have the master on the left or right).
If hyprland could or does support something similar it would be great.
Edit:
Here is how this is configured in XMonad and something similar would be great:
[ layoutScreens 3 (ThreeColMid 1 (3/100) (1/2)), layoutScreens 2 (TwoPane 0.5 0.5), rescreen ]
I don't know much about wayland but a quick glance through the docs suggests to me that this is something that should sit above the compositor and maps real wl_output devices (monitors) onto multiple virtual wl_outputs? That way it wouldn't be hyprland specific? Maybe someone more knowledgeable can confirm if this is possible.
I too am unable to switch to hyprland until this is supported. I have an ultrawide that I would like to split into 2 or 3 virtual displays. It would be great if hyprland could treat it as 3 separate displays. This is how you would do it in x11:
xrandr --setmonitor LeftSide 1280/340x1440/381+1920+0 none > /dev/null 2>&1
xrandr --setmonitor Center 2560/677x1440/381+3200+0 "$connected_monitor" > /dev/null 2>&1
xrandr --setmonitor RightSide 1280/340x1440/381+5760+0 none > /dev/null 2>&1
Yes please, I usually split my monitor into two: half for notes and what I'm doing (an ADHD must) and the other half is my workspace. I wish I could make the switch but this is essential if I want to maintain productivity
If someone could give me some pointers, I would be happy to draft a PR for this.
What information do you need to proceed with a PR? @aDogCalledSpot
I was hoping for a high level overview from someone who is more familiar with the codebase of what would need to be done.
I haven't worked on the code at all so I'm completely clueless as to what's necessary.
Right now though I wouldn't have the capacity to work on this anyway. Would still be good to have a rough outline anyway in case someone else wants to look into it (or if I find the time at some point).
making this work would require a pretty much from-the-ground-up rework of how window management works under hyprland and is not feasible (or planned) at the moment.
You can still write your own layout that would allow that, but a layout-agnostic method is not feasible atm.
I think a good alternative approach would be a simple Wayland compositor with a nested session with multiple screens emulated as windows
On Sun, Nov 10, 2024, 02:24 Vaxry @.***> wrote:
making this work would require a pretty much from-the-ground-up rework of how window management works under hyprland and is not feasible (or planned) at the moment.
You can still write your own layout that would allow that, but a layout-agnostic method is not feasible atm.
— Reply to this email directly, view it on GitHub https://github.com/hyprwm/Hyprland/issues/3575#issuecomment-2466522169, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIX5OZP6HK4D536QVHWCN3Z72RSZAVCNFSM6AAAAAA6A2I442VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWGUZDEMJWHE . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Description
Sway has already covered this issue quite extensively.
The idea is that you can split an (ultrawide) monitor into multiple smaller virtual outputs.
Example: Instead of having a single 5440x1440 monitor, you could divide it into two 2560x1440 monitors or even a setup such as 1280x1440 + 2560x1440 + 1280x1440 monitor
This way you can switch between workspaces on different parts of the physical screen indepently of the rest of the screen.
If someone could give me some pointers, I would be happy to draft a PR for this.