Hello, I'm developing a fancy screenshot application for the GNOME-desktop using GTK and GDK libraries (and some Xlib stuff too). When taking a screenshot of a window, my code first finds out in which desktop the window lies (resides) and then moves to that desktop and takes a screenshot. This is quite easy to do under the Metacity window manager, but I cannot make this work right in Compiz because not all desktop-operations (find current desktop, number of desktops, move to a spesific desktop #, find desktop for this window id) do work correctly or similarly in Compiz. Question 1: How to take a screenshot of an arbitrary window in in Compiz? Should I implement it via OpenGL instead of Xlib and GNOME's GDK og GDKPixbuf? Question(s) 2: I've done a serie of tests to find out algorithms that work both in flat Metacity and Compiz VMs. Please study and test-run the code and give your best opinions. The tests area: TEST1: Get number of desktops. TEST2: Get desktop names. TEST3: Get the current desktop number. TEST4: Move to the last desktop, sleep(2) and come back. TEST5: Get the desktop number for a spesific Window ID. (Requires you to modify the code (in TEST5) and change the window_id= to a correct value. Use xwininfo command to find out window-id for any window you like), then recompile and run. The test code (desk-test.c) is available from http://www.futuredesktop.org/tmp/desk-test.c Compile it: gcc `pkg-config --cflags --libs gtk+-2.0` -lX11 -Wall desk-test.c -o desk-test Run it in Metacity, Compiz. ./desk-test ------------------------------ This is output of my run: TEST1: Get number of desktops. Number of desktops is: 6 I've kind of made it work both in Metacity and Compiz, ------------------------------------------ TEST2: Get desktop names. Length of the name list is: 6 Desk 1 Compiz desktop 2 Compiz desktop 3 Compiz desktop 4 Compiz desktop 5 Compiz desktop 6 I've kind of made it work both in Metacity and Compiz, ------------------------------------------ TEST3: Get the current desktop number. Current desktop is: 0 I've kind of made it work both in Metacity and Compiz, ------------------------------------------ TEST4: Move to the last desktop, sleep(2) and come back. You should see the desktop move if this is right. My test shows that this works in Metacity but not in Compiz vm. ------------------------------------------ TEST5: Get the desktop number for a spesific Window ID. Run xwininfo command to find out a window-id (for any window you like) then change the variable window_id= in the code (in TEST5). My test shows that this works in Metacity but not in Compiz vm. Desktop number for X-window 0x2a029d5 is: 0 ------------------------------------------ How can I make the desktop-operations to work right in Metacity and Compiz? (and maybe even in KDE)? I need urgent enlightenment ;-) Many TIA, Moma Antero Norway, Oslo, Gr?nland/T?yen.