[3ddesktop-dev] Re: other window managers like fvwm95 and qvwm support

Lonnie,

The desktop is grabbed using imlib_create_image_from_drawable().  Then it
uses imlib_create_cropped_scaled_image() to scale the image to the texturesize.
Then it walks the data and converts the RGB data into RGB ordering suitable for
an OpenGL texture.  Look at GLWindow::grab_screenshot_data() in win.cpp.

After this 3ddeskd calls load_texture_data() using those bytes.  The texture is
bound and a mipmap created using gluBuild2DMipmaps().  See 
Face::load_texture_data()
in face.hpp.

--Brad


Lonnie Cumberland (lonnie@xxxxxxxxxx) wrote:

> Thanks for the information Brad,
> 
> What I really need to know is the core collection stuff of 3ddesktop. In 
> particular where it grabs the desktop frames and stores them in buffers 
> that are written to a OpenGL texture I presume.
> 
> My project needs to also grab the frames and write to a texture but I am 
> not clear on the process and 3ddesktop seems to do it well.
> 
> Thanks again,
> Lonnie
> 
> Brad Wasson wrote:
> 
> >Lonnie,
> >
> >There is a standard called EWMH for switching desktops.  Both GNOME 2 and 
> >KDE 3
> >use it.  3ddesktop supports this standard.  
> >
> >Here is the standard:
> >   http://www.freedesktop.org/standards/wm-spec/
> >
> >A search on ewmh and fvwm turned up this:
> >   http://fvwm-ewmh.sourceforge.net/
> >
> >As for qwvm I don't know what it uses to switch desktops.  There are other 
> >protocols
> >that 3ddesktop uses to switch desktops and one of them may work.  Have your 
> >tried
> >any of the different flags described in README.windowmanagers?
> >
> >There are 3 things that need to be able to be done programatically for 
> >3ddesktop to
> >support another windowmanager:
> >1) query the number of desktops
> >2) query the current desktop
> >3) set the current desktop
> >
> >So long as those three can be done its usually a no-brainer.  Have a look at
> >xutil.cpp.
> >
> >As for capturing single application windows it is definitely possible as the 
> >gnome 
> >deskguide can do it but I don't know how it works.  Probably listens for 
> >certain 
> >window events and gets the geometry of the window and then captures just 
> >that 
> >area of the screen.  I'd start with looking at the source of the patch 
> >suggested 
> >and looking at the source for deskguide.
> >
> >--Brad
> >
> >
> >
> >
> >Lonnie Cumberland wrote:
> >
> >  
> >
> >>Hello Brad,
> >>
> >>How can 3ddesktop be made to support a few other window managers like 
> >>fvwm95 and qvwm?
> >>
> >>In a project that I am working on I have a need to use fvwm95 and qvwm, 
> >>also want to use 3ddesktop but am clear on how to make it work.
> >>
> >>I also have a great need to be able to capture just a single application 
> >>window(s) in a screen instead of the full desktop which would mean that 
> >>that 3ddesktop would have to dynamically create screen buffers for each 
> >>application that opened up.
> >>
> >>Could you please talk to me regarding some of these things so that I can 
> >>discuss my project with you and hopefully we can do a little work 
> >>together on it in the area of the 3ddesktop implementation.
> >>
> >>Thanks and hope to hear from you soon,
> >>Lonnie
> >>
> >>
> >>
> >>
> >>
> >>    
> >>
> >
> >
> >________________________________________________
> >Get your own "800" number
> >Voicemail, fax, email, and a lot more
> >http://www.ureach.com/reg/tag
> >
> >
> >
> >  
> >
> 
> 
> 
> 
> 


________________________________________________
Get your own "800" number
Voicemail, fax, email, and a lot more
http://www.ureach.com/reg/tag

Other related posts: