Panning support - tiny hack
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
disper |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
I use disper -e mostly to extend/shrink my laptop's screen in twinview whenever I connect/disconnect to/from an external display. it always annoyed me that there's a dead area, as the screen resolutions are never the same. I could only fix this with nvidia-settings, but wanted disper to do it automatically, that is, automatic panning. I created a tiny (and a bit dirty) hack for this, which I'm attaching.
Also, I refused to use 2 X screens... mostly for being lazy, I might give it a try in the future.
Notes about this hack:
- It might be wise to add another option to disper to disable auto panning, in case someone doesn't want it.
- I tested it for right and top orientations (should work for left and bottom) on a Dell Latitude E6500.
- The code itself is a bit dirty as it cycles through the resolutions first to figure out maximum width or height and then cycles again to create the metadata - it would be nice if the nvidia method could do this, but I'm not sure how free I am to modify that bit of code.
- Like the author said in one of the comments, this needs some refactoring ;-)
- Suggestions, other ideas, constructive criticism is welcome. I'm not a very experienced Python developer.
Hi! Someone's actually using panning :)
If more people are using panning, I'd be happy to add it. The important question is: what do people use it for, why and how? You are more than welcome to carefully answer these three questions.
My answer would be something like: the 'dead area' is annoying, sometimes stuff can 'disappear' into that area. This is best solved by making sure that is treated as really off-screen (window manager+toolkits looking at Xinerama info). If that is a little hard to achieve, one could make X pan to the area when the mouse cursor moves there and pan back to the default immediately when the cursor leaves the area (the latter is not possible by default iirc).
Disper is a user-centric interface around low-level display interfaces, that's why I'm asking this.