Rotate single application

Carsten Haitzler (The Rasterman) raster at rasterman.com
Thu Nov 27 02:12:31 CET 2008


On Thu, 27 Nov 2008 00:53:01 +0000 Al Johnson <openmoko at mazikeen.demon.co.uk>
babbled:

> On Thursday 27 November 2008, Carsten Haitzler wrote:
> > On Thu, 27 Nov 2008 03:04:03 +0300 "Alexander Chemeris"
> >
> > <alexander.chemeris at gmail.com> babbled:
> > > On Thu, Nov 27, 2008 at 2:39 AM, The Rasterman Carsten Haitzler
> > >
> > > <raster at rasterman.com> wrote:
> > > > On Thu, 27 Nov 2008 01:43:49 +0300 "Alexander Chemeris"
> > > >
> > > > <Alexander.Chemeris at sipez.com> babbled:
> > > >> On Wed, Nov 26, 2008 at 10:03 PM, Bernd Prünster
> > > >>
> > > >> <bernd.pruenster at gmail.com> wrote:
> > > >> > Alexander Chemeris schrieb:
> > > >> >> Is there any possibility to rotate screen for a selected
> > > >> >> application? Now I use "xrandr -o 1 && app && xrandr -o 0" to run
> > > >> >> application in landscape mode, but this rotates screen for the
> > > >> >> whole system. I rather want to rotate single application window.
> > > >> >
> > > >> > sure it is, just make shellscript which does the rotation, then
> > > >> > launches the application an then rotates tzhe screen back. you can
> > > >> > also change the keycode for the aux button just for one application
> > > >> > in the same way! (just look at the scummvm wiki page if you want to
> > > >> > have a good example!)
> > > >>
> > > >> That's exactly what I'm doing - "xrandr -o 1 && app && xrandr -o 0"
> > > >> But this change screen orientation for the whole X. If you tap on the
> > > >> top, choose "Home", you'll see it also rotated. What I'm asking for
> > > >> is an ability to rotate a single aplpication, leaving illume and other
> > > >> apps in portrait orientation.
> > > >>
> > > >> Btw, thanks for pointing to ScummVM, I should try this. :)
> > > >
> > > > you will need to make the app itself handle its own rotated drawing.
> > > > it's up to the app.
> > >
> > > That's what I expected.
> > > I wonder why there are still no such feature in illume. A handful of
> > > applications
> > > want this.
> >
> > nothing to do with illume. this is x. apps draw their own window contents
> > and handle their own window even inputs. the app would need to rotate its
> > own draws and translate all input even co-ordinates.
> 
> I was thinking of a window manager plugin that applies rotation when the 
> window is activated. Compiz can apply many of its effects selectively 
> according to application (window name?) so I'm guessing wildly that calling 
> an xrandr setting by name on change of active window should be possible. Then 
> again I know nothing abut the internals of window managers...

that would require xevie (so every mouse event go through the compositor and
it can try translate (rotate them), so you will add more latency to mouse
events), and compositing (which will slow down rendering as all rendering now
has to happen to a backing pixmap) AND you will not have accelerated
rotates/transforms as xrender is unaccelerated on glamo - so your output will
become nice and slow... really slow.

as such you could selectively rotate thew WHOLE screen if a particular window
is focused, but e has no such code - a module could be written that does just
that. but then the keyboard, top-bar etc. will also rotate. 

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com





More information about the community mailing list