digitalextremist

Top of screen is not topmost point of X11 virtual desktop?

7 posts in this topic

I'm running Mint 17.1 with Synergy 1.6.3 ( since libssl requires compiling from source on Mint, and I'm too lazy to do that right now ) ... I have three monitors on this system, and I put a Synergy client above my host server in the configuration... but I cannot reach that client directly above my center screen, unless I go up from one of the two side screens. At first I thought this was an issue with X11/mdm/Cinnamon and top/bottom edges... but then I remembered my screen layout is such that the top of the center screen is not the top of the whole "virtual desktop" ... I'm attaching my screen layout. [attachment=0]screen-layout.png[/attachment] Is there a way to configure X11 or Synergy to detect that yes, I have reached the top edge of the screen, now take my cursor over to the client above my host machine? I tested throwing off my screen layout by moving the center screen up to be flush with the two on the sides, and then my cursor leaves via the top edge to my client. So it's certainly the idea of the virtual desktop in play here, which must be a rectangle apparently. Any help would be appreciated!

Share this post


Link to post
Share on other sites
Yes this can be done. Typically modern desktops configure the X Windows System to start by default as a Single screen. Plugging in more displays/monitors only increases the size of this "Screen" You need each "Display" to have its own "Screen". If that makes any sense. X has its own terminology, and right now your screen is a gigantic rectangle encompassing all 3 "Displays" (monitors). If each of those has its own X Screen associated with it, X can be instructed to let the mouse move freely between them, and Synergy would attach to just your primary Display (having a "Screen" not shared with the other 2). Xorg configuration is different depending on your graphics driver. Let me know if you need any pointers along with your graphics manufacturer/driver. -Ben

Share this post


Link to post
Share on other sites
Thanks Ben! Well, before I checked back, I thought of your idea and set out to try that... but when I started synergys with -display 0:0 or the like, it still mapped to my entire "rectangle" desktop, even though I'd mapped each display into separate screens. I wonder if Xinerama is causing the display to be seen as one rectangle again. But I do need to move windows between screens. I have an nVidia card so configuring it is strange(ish) ... I wonder if I could use just plain xrandr commands to avoid xinerama, if randr supports the same basic features. So far I've reverted back to the old way of doing it because it was causing extremely bad glitches in mouse movements, etc. Will try this again when there's a better route to try. Also -- distinguishing between monitors attached to the client is a huge difficulty if not impossible. If I could do that, I could use both. But for now, I have to only use one really.

Share this post


Link to post
Share on other sites
You should probably avoid xinerama. What I like to do is set up my screens and position them next to each other. You have to be precise though. Being off by as much by as much as even 1 pixel will make it impossible for your mouse to pass between screens. xorg.conf provides nifty things for this. You can specify "leftof" and "rightof" in in the ServerLayout section. But you say you are using nVidia? So then the proprietary driver will overlap its metamodes over that. You will need to choose between classic xorg.conf config or nvidia metamodes. Either way, xinerama tends to cause issues for more complex setups and I would avoid it for now. As for xrandr, it is a program that only modifies X screens once they have been created on X server start. so you can change resolution and position of Displays sure, but Synergy is looking at your "Screen" not your "Display". :( What I would do, is get proof of concept running. Forget the extra monitors. 1) Set your DVI up manually in xorg.conf and run Synergy on it. 2) Add a second in xorg.conf. Serverlayout section will want something like "leftof" no need for xinerama or nvidia weirdness. 3) See if it works and modify from your working baseline. Pro Tip: I disable Display Managers and launch X with the startx command when doing work like this. Be warned typos in xorg.conf result in black screens.

Share this post


Link to post
Share on other sites
One more thing, still assuming you are using the Official driver from NVidia. So this command will write out a fresh xorg.conf if you need one. You need this when logging in results in a black void and all hope seems lost. Oh look defaults! [code]nvidia-xconfig[/code] In case you can't tell, I have spent wayyyyy too much time configuring X Windows. :ugeek:

Share this post


Link to post
Share on other sites
I've just reconfigured my desktop and have run into the very same thing, and want to setup things so that I can move to a laptop when going down ONLY from the middle screen (DVI-I-1 in the picture at the top of the thread). Using unique X displays :0.0, :0.1, and :0.2 is highly undesirable since it stops the ability move windows across monitors, which is a requirement for me. I was wondering if it would be possible to have synergys be configured (or even autodetect) where the displayed pixels are located) and treat the effective current edge of the screen as the edge. Assuming all of the monitors in the example are 1920x1200 and there is a 1920x360 dead space above and below DVI-I-1, allow a way to define the effective edge for a region. It could either be an option in the screens or part of a link. As an option [code]section: screens desktop: up = [email protected] down = [email protected] end [/code] As a link specification [code] section: links desktop: down(#1921x1560, #3120x1560) = laptop laptop: up = desktop(#1921x1560, #3120x1560) end [/code] This introduces pixel specifications, which act similar to the current percent. The XxY syntax defines a point, and XxY,XxY defines a line. The pixel syntax would likely be important even with the first approach if you want to limit the down transition to only be from the middle monitor and percentages may not be exact. Obviously this is a feature request, but it would solve the problem without screwing around with the X server configuration (and make my desk a more comfortable place)

Share this post


Link to post
Share on other sites
I like your suggested specification. I think under the hood synergys needs to bind to xrandr and/or Xinerama, and not just treat the entire X11 display as one screen whether you're using Xinerama or not. Mint/Cinnamon for example uses xrandr and that unifies the desktop nicely without Xinerama. Most advanced dm's are going that direction. nVidia by default favors TwinView / Base Mosaic, and avoids Xinerama on a driver-level. Being able to detect where the cursor is on the screen, and which screen it is on, has gone well beyond a single cohesive desktop shape... and well beyond one approach to unifying screens... so yes, your specification is good. Being able to distinguish screens and not just machines would be great too. For example, what if I had my center screen coming from a client, and the screen on the right, left, and top coming from the server? That seems like it just plain never would work. But for now, I've given up on getting Synergy ( or X11 for that matter ) to work properly with four displays how I need it to be: perfectly. I sold my two graphics cards of different types, and bought a four-head GTX 960. That worked perfectly, right out of the box. Even though both my cards were nVidia, the interplay is so sensitive without SLI. And getting into SLI is an expensive habit going all the way down to specific motherboards supporting it, bridges between identical cards, etc. Yeah, I'll pass on that. What I am looking forward to though is setting up a way to use Synergy to control new systems, like putting a huge display above my quad-screen setup, have that powered by my laptop, and having this issue solved to make that happen.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now