sebastien / pywo

Automatically exported from code.google.com/p/pywo
GNU General Public License v3.0
0 stars 0 forks source link

Windows resize relative to whole Xinerama desktop #9

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. use PyWO on a double-head Xinerama setup
2. resize some windows

What is the expected output? What do you see instead?
Windows should be resized relative to the screen they currently are on. They 
are resized relative to the whole desktop instead.

For example, on my 1280x1024-above-1024x600 desktop, Ctrl-Shift-5 resizes a 
window to 1280x1576 at (0, 24). I'd expect it to resize to 1280x1000 at (0, 24) 
if the window is on the larger screen, or 1024x600 at (0, 1024) if the window 
is mostly on the smaller screen.

What version of the product are you using? On what operating system?
Revision 185 on Ubuntu 10.10 and the Lubuntu desktop.

Please provide any additional information below.
Earlier commits taken from my previous xinerama patch provide the necessary 
supporting pieces for fixing this. The patch attached to this issue actually 
makes use of those pieces.

There seems to remain an edge case where the nearest_screen_geometry() method 
sometimes doesn't get called when doing a resize. I'll try to debug that later.

This patch also lives in my GitHub fork at 
https://github.com/akaihola/PyWO/tree/xinerama-support
and the diff is available for download also at
https://github.com/downloads/akaihola/PyWO/pywo-xinerama-support.2.diff

Original issue reported on code.google.com by akaih...@gmail.com on 14 May 2011 at 4:49

Attachments:

GoogleCodeExporter commented 8 years ago
Right now I'm in the middle of refactoring/rewriting the resizer module (well, 
this code was a mess...). So it will be possible to turn on/off xinerama easily 
using config file and/or commandline option. Or, for example, set arbitrary 
screen size in case on some window managers panels/docks are not recognized 
correctly.

Original comment by kosci...@gmail.com on 14 May 2011 at 12:08

GoogleCodeExporter commented 8 years ago

Original comment by kosci...@gmail.com on 14 May 2011 at 12:08

GoogleCodeExporter commented 8 years ago
That's great news. I'm looking forward to your refactored version and using my 
patch meanwhile.

Original comment by akaih...@gmail.com on 14 May 2011 at 7:01

GoogleCodeExporter commented 8 years ago
Just commited new version with Xinerama support. Since I'm not sure if it is 
working correctly with multiple monitor screens it's disabled by default, and 
needs to be enabled by adding '--xinerama' option in commandline, or adding 
'xinerama = yes' to [SETTINGS] section of the config file.

Please tell me if it's working correctly.

Original comment by kosci...@gmail.com on 15 May 2011 at 7:44

GoogleCodeExporter commented 8 years ago
It mostly seems to work correctly, but sometimes it detects the current screen 
of a window incorrectly. What happens is that a window is moved from the first 
to the second screen although it was entirely within the bounds of the first 
screen.

I'll continue testing and try to provide debug info.

Original comment by akaih...@gmail.com on 16 Jun 2011 at 9:00