[GH-ISSUE #547] Multiple screens either side layout #427

Closed
opened 2026-05-05 06:22:11 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @ameeno on GitHub (Jan 29, 2020).
Original GitHub issue: https://github.com/debauchee/barrier/issues/547

Operating Systems

Server: Ubuntu Eoan

Client: Win10./ MacOS VM's using VFIO
1909 (Win10) - mac not setup yet.

Barrier Version

2.31

Hello, My config for possible monitor layouts a bit weird and i am trying to figure out.

So i Have ONE CLIENT and One Host.

My Host has 3 Screens, and my Client has two screens.

However, My Clients screens are on either side of my hosts 3 screens.

Example:

1 2 3 4 5
C H H H C

The thing is, each of the Client screens is connected to the same VM. (A single client as far ad barrier is concerned.

How can i make this setup workable so when I move the mouse from the right of H Screen 3 (4 in the grid above) I end up on Screen 5 (Client screen 2)

and if i move from the left of host screen 1, (2 in grid above) -> i arrive in client screen 1 (1 in grid above)

I hope I have clearly explained what i am trying to accomplish. is it possible?

Originally created by @ameeno on GitHub (Jan 29, 2020). Original GitHub issue: https://github.com/debauchee/barrier/issues/547 ### Operating Systems ### Server: Ubuntu Eoan Client: Win10./ MacOS VM's using VFIO 1909 (Win10) - mac not setup yet. ### Barrier Version ### 2.31 Hello, My config for possible monitor layouts a bit weird and i am trying to figure out. So i Have ONE CLIENT and One Host. My Host has 3 Screens, and my Client has two screens. However, My Clients screens are on either side of my hosts 3 screens. Example: 1 2 3 4 5 C H H H C The thing is, each of the Client screens is connected to the same VM. (A single client as far ad barrier is concerned. How can i make this setup workable so when I move the mouse from the right of H Screen 3 (4 in the grid above) I end up on Screen 5 (Client screen 2) and if i move from the left of host screen 1, (2 in grid above) -> i arrive in client screen 1 (1 in grid above) I hope I have clearly explained what i am trying to accomplish. is it possible?
gitea-mirror 2026-05-05 06:22:11 -06:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@tattsan commented on GitHub (Jan 29, 2020):

Hi. I had experienced similar situations. This solution can be used only if you want to split 2 screens to left and right.

First, configure client screens left and right reversed. Screen1 should be configured as a right screen of th client machine, even if its is a left screen physically. And also screen5 should be configured as a left screen of the client machine. This is not barrier's setting, configure your OS's video setting.

Next, let's configure barrier. Left of H is C, left of C is H, right of H is C, right of C is H. It's very simple.

<!-- gh-comment-id:579849225 --> @tattsan commented on GitHub (Jan 29, 2020): Hi. I had experienced similar situations. This solution can be used only if you want to split 2 screens to left and right. First, configure client screens left and right reversed. Screen1 should be configured as a right screen of th client machine, even if its is a left screen physically. And also screen5 should be configured as a left screen of the client machine. This is not barrier's setting, configure your OS's video setting. Next, let's configure barrier. Left of H is C, left of C is H, right of H is C, right of C is H. It's very simple.
Author
Owner

@deckar01 commented on GitHub (Feb 13, 2020):

The config syntax does not provide a way to specify a link anywhere but the edges of a (virtual) "screen". The syntax also only accepts the edge of the starting screen and enforces the corresponding edge of the end screen. Maybe the link range could accept a 3rd argument specifying the percentage distance away from the edge to position the link.

# NOTE: NOT A WORKING SUGGESTION, JUST AN ILLUSTRATION!

section: links
	server:
		left = client(0, 100, 50)
		right = client(0, 100, 50)
	client:
		left(0, 100, 50) = server
		right(0, 100, 50) = server
end

I don't think there is actually anything special about the edges of the screen other than the fact that the logic might have been simplified by assuming the current constraints. The calculation should just be that the mouse delta added to the cursor position satisfies an inequality with an arbitrary value that the cursor position currently does not.

<!-- gh-comment-id:585977832 --> @deckar01 commented on GitHub (Feb 13, 2020): The config syntax does not provide a way to specify a link anywhere but the edges of a (virtual) "screen". The syntax also only accepts the edge of the starting screen and enforces the corresponding edge of the end screen. Maybe the link range could accept a 3rd argument specifying the percentage distance away from the edge to position the link. ``` # NOTE: NOT A WORKING SUGGESTION, JUST AN ILLUSTRATION! section: links server: left = client(0, 100, 50) right = client(0, 100, 50) client: left(0, 100, 50) = server right(0, 100, 50) = server end ``` I don't think there is actually anything special about the edges of the screen other than the fact that the logic might have been simplified by assuming the current constraints. The calculation should just be that the mouse delta added to the cursor position satisfies an inequality with an arbitrary value that the cursor position currently does not.
Author
Owner

@the-wes commented on GitHub (Mar 3, 2020):

@tattsan is correct. There is not a better answer I am aware of

<!-- gh-comment-id:593880097 --> @the-wes commented on GitHub (Mar 3, 2020): @tattsan is correct. There is not a better answer I am aware of
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/barrier#427
No description provided.