[3ddesktop-dev] Re: other window managers like fvwm95 and qvwmsupport
- From: Lonnie Cumberland <lonnie@xxxxxxxxxx>
- To: 3ddesktop-dev@xxxxxxxxxxxxx
- Date: Sun, 09 May 2004 10:19:28 -0400
Thanks Brad,
This is what I was looking for and I will dig deeper into you code to
see how things are working a little better.
Cheers,
Lonnie
Brad Wasson wrote:
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
- References:
Other related posts:
- » [3ddesktop-dev] Re: other window managers like fvwm95 and qvwmsupport
- » [3ddesktop-dev] Re: other window managers like fvwm95 and qvwmsupport
- » [3ddesktop-dev] Re: other window managers like fvwm95 and qvwmsupport
- » [3ddesktop-dev] Re: other window managers like fvwm95 and qvwmsupport
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