I try make some things in the desktop :)

I need in my desktop
1 - create a run time window (or desktopwindow)
2 - the window don´t reopen with this to be open
3 - resize the wallpaper of the window

my solutions for these problems

1 and 2

I find in forum create window in run time, but don´t work with desktop window :(.
Create the .js with the code of create windows, and control the opening of them

.js
var janelas="";
var intJanela=-1;

function createWindow(name){
        //verify of the window is opened
        intJanela=janelas.indexOf(name);
        if (intJanela != -1){
            //if have the string, abort function
            return
        }
        
        //put name in string
        janelas += name ;
        
        //open the window
        switch(name){
            case 'LogOut':{winLogOut(name); break;}
            case 'produto.aspx':{ winProduto(name); break;}
            case 'produto_categoria.aspx':{ winProdutoCategoria(name); break;}
            case 'produto_subcategoria.aspx':{ winProdutoSubCategoria(name); break;}
         }
    }

 function  removeTabJanela(win){
    //remove the name of window of the string
    janelas = janelas.replace(win, " ");
    }
    
function winLogOut(name){
    var window = new Ext.Window({
                        name:name
                    ,   collapsible: true
                    ,   title: "Formulário teste"
                    ,   width:200
                    ,   height:300
                    });
                    window.name = name;
                    window.show();
                    window.on('close',function(){removeTabJanela(name)});
                    }
note I use the name of the .aspx for call the function createWindow
and inserte listener close in code

in the menu I put this

    <ext:MenuItem Text="Produtos">
        <Listeners>
            <Click Handler="createWindow('produto.aspx')" />
        </Listeners>
    </ext:MenuItem>
Work fine, but I don´t know if is the best mode for make this. like the view of the members...

for the other problem, i make this code in .js

 // Cross-browser, cross-platform, self-resizing 
// web page background images. JavaScript code
// copyright 2006, 2007, 2008 Boutell.Com, Inc. 
//
// See http://www.boutell.com/newfaq/ for more information.
//
// Permission granted to use, republish, sell and otherwise
// benefit from this code as you see fit, provided you keep 
// this notice intact. You may remove comments below this line.
//
// END OF NOTICE
//
// INSTRUCTIONS: this WON'T WORK unless you do the following in the
// document that includes it.
//
// 1. Specify the right doctype at the top of your page:
//
//    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
//      "http://www.w3.org/TR/html4/strict.dtd">
//
// 2. In the <head> element of your page, bring in this code:
//
//    <script src="resizing_background.js">
//    </script>
//
// 3. Set the right event handlers in your body element
//    (you may call other functions too, use semicolons to separate):
//
//    <body &#111;nload="rbInit()" &#111;nresize="rbResize()">
//
// 4. Call rbOpen() immediately after your <body> element:
//
// <script>
// // For a centered image that scales up but keeps its proportions
// // (be sure to also set a background-color style on body):
// rbOpen(true);
// // For an image that fills the entire window, distorting if necessary: 
// rbOpen(false);
// </script>
//
// 5. If you have any absolutely positioned divs, put them
//    BEFORE rbOpen(), and make VERY SURE you set z-index explicitly
//    to 1 or higher for them, or the background will appear over
//    them. Hint: use a style sheet to make that less painful.
// 
// 6. Call rbClose() with the URL of YOUR background image,
//    just before your </body> element (relative URLs are fine):
//
//    <script>
//      rbClose("background.jpg");
//    </script>
//
// And that's all it takes! 
//
// WARNINGS: 
//
// 1. Internet Explorer versions prior to 7 will scroll jumpily.
//   IE 7 beta 2 scrolls smoothly, just like Firefox, Safari, and Opera.
//
// 2. There's a very small "fudge factor" in use for Opera, because
//   Opera doesn't support my Firefox trick to get the real size
//   of the usable client area OR the Internet Explorer clientWidth
//   method (Opera returns offsetWidth for clientWidth - that's
//   not right, Opera). So I assume a 16 pixel scrollbar vertically
//   and no scrollbar horizontally. Makes a very small difference.
//
// 3. Users with JavaScript disabled won't see a background.
//   Set a reasonable background color in your <body> element
//   as a fallback measure.


function rbIsIE()
{
 if (navigator.appName == 'Microsoft Internet Explorer') {
  return true;
 }
 return false;
}


function rbIsOpera()
{
 if (navigator.appName == 'Opera') {
  return true;
 }
 return false;
}


function rbSupportsFixed()
{
 if (navigator.appName == 'Microsoft Internet Explorer') {
  var agent = navigator.userAgent;
  var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
  var version;
  if (re.exec(agent) != null) {
   version = parseFloat(RegExp.$1);
  }
  if (version < 7.0) {
   return false;
  }
 }
 return true;
}


var rbCenter = false;


function rbInit()
{
 if (rbSupportsFixed()) {
  div = &#100;ocument.getElementById('rbBackgroundDiv');
  div.style.position = 'fixed';
 } 
 // I'd use onScroll, but that 
 // doesn't exist in standards mode
 setTimeout("rbReposition()", 50);
 rbResize();
}


var rbLastScrollTop = null;
var rbSimulateTop = 0;
 
function rbResize()
{
 // We're in "standards mode," so we must use
 // &#100;ocument.documentElement, not &#100;ocument.body, in IE.
 var width;
 var height;
 var x, y, w, h;
 if (rbIsIE()) {
  // All modern versions of IE, including 7, give the
  // usable page dimensions here.
  width = parseInt(&#100;ocument.documentElement.clientWidth);  
  height = parseInt(&#100;ocument.documentElement.clientHeight);  
 } else if (rbIsOpera()) {
  // This is slightly off: the width and height will include
  // scrollbar space we can't really use. Compensate by
  // subtracting 16 pixels of scrollbar space from the width
  // (standard in Opera). Firefox has an equivalent but
  // more serious problem because such a mistake in Firefox
  // will break mouse clicks on the scrollbar in 
  // Mac Firefox (yes, really!). Fortunately, in Firefox,
  // we can use a third method that gives accurate results
  // (see below).
  width = parseInt(window.innerWidth) - 16;
  // If there is a horizontal scrollbar this will be
  // 16 pixels off in Opera. I can live with that.
  // You don't design layouts with
  // horizontal scrollbars, do you? (Shudder)
  height = parseInt(window.innerHeight);
 } else {
  // Other non-IE browsers give the usable page dimensions here.
  // We grab the info by discovering the visible dimensions 
  // of a hidden 100% x 100% div. Opera doesn't like this
  // method any more than IE does. Fun!
  testsize = &#100;ocument.getElementById('rbTestSizeDiv');
  width = testsize.scrollWidth;
  height = testsize.scrollHeight;
 }
 div = &#100;ocument.getElementById('rbBackgroundDiv');
 img = &#100;ocument.getElementById('rbBackground');
 if (rbCenter) {
  if (img.width == 0) {
   // We don't know the width yet, the image
   // hasn't loaded. Set a timer to try again.
   setTimeout("rbResize()", 1000);
   return;
  }
  w = width;
  h = width * (img.height / img.width);
  x = 0;
  y = (height - h) / 2; 
  if (y < 0) {
   h = height;
   w = height * (img.width / img.height);
   y = 0;
   x = (width - w) / 2;
  }
 } else {
  x = 0;
  y = 0;
  w = width;
  h = height;
 }
 // HTML 4.0 Strict makes the px suffix mandatory
 // We have floating point numbers, trim them and add px
 div.style.left = parseInt(x) + "px";
 if (rbSupportsFixed()) {
   div.style.top = parseInt(y) + "px";
        } else {
          rbSimulateTop = parseInt(y);
        }
 img.style.width = parseInt(w) + "px";
 img.style.height = parseInt(h) + "px";
 div.style.visibility = 'visible';
 rbLastScrollTop = null;
 rbReposition();
}


function rbReposition()
{
 if (rbSupportsFixed()) {
  return;
 }
 // Make sure we do this again
 setTimeout("rbReposition()", 50);
 // Standards mode, must use documentElement
 body = &#100;ocument.documentElement;
 var scrollTop = body.scrollTop;
 // No scroll since last check
 if (scrollTop == rbLastScrollTop) {
  return;
 }
 rbLastScrollTop = scrollTop;
 div = &#100;ocument.getElementById('rbBackgroundDiv');
 var rbBodyDiv = &#100;ocument.getElementById('rbBodyDiv');
 var pos = 0;
 // Don't make the user scroll just to see the background itself
 var max = rbBodyDiv.offsetHeight - rbBodyDiv.clientHeight;
 if (max < 0) {
  max = 0;
 }
 if (scrollTop <= max)
 {
  pos = scrollTop;
 } else {
  pos = max;
 }
 if (pos < 0) {
  pos = 0;
 }
 div.style.top = pos + rbSimulateTop;
}


function rbOpen(center)
{
 rbCenter = center;
 &#100;ocument.write("<div id='rbBodyDiv' style='position: relative; z-index: 2'>\n");
}


function rbClose(image)
{
 &#100;ocument.write("
\n");
 str = "<div " +
  "id='rbBackgroundDiv' " +
  "style='position: absolute; " +
  "  visibility: hidden; " +
  "  top: 0px; " +
  "  left: 0px; " +
  "  z-index: 0'>" +
  "  <img src='" + image + "' id='rbBackground'>" +
  "
\n";
 &#100;ocument.write(str);
 &#100;ocument.write("<div " +
  "id='rbTestSizeDiv' " +
  "style='width: 100%; " +
  "  height: 100%; " +
  "  position: fixed; " +
  "  left: 0; " +
  "  top: 0; " +
  "  visibility: hidden; " +
  "  z-index: -1'>
\n");
}
call it in header, and put this in my body (.aspx) desktop

<body &#111;nload="rbInit()" &#111;nresize="rbResize()">
<script type="text/javascript" >
    rbOpen(true);
</script>
<script type="text/javascript" >
rbClose("images/wallpaper/empresa.jpg");
</script>
work fine too...

have this property in the <ext:desktop for make the background resizable??, i don´t use the member wallpaper of the desktop...


tks