View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Poner una ventana de un programa en la de otro programa en las X




Thursday, 28 July 2005, 9:22:06 am
Para probar el xpdf Aquí y aquí hay documentos de cómo usar el ps2pdf, aunque lo ideal es usar el epstopdf.
 epstopdf plano_metromadrid.ps --outfile=plano_metromadrid.pdf

Si se llegara a necesitar generar pdfs desde código, la librería más completa por el momento parece ser panda (GPL, es decir, sólo utilizable sin compromiso para desarrollos internos; los desarrollos que se disribuyan han de incluir el código fuente).

Tuesday, 19 July 2005, 8:42:26 am
Problemas con el BloqNum (NumLock) en las X Aquí hay un artículo en el que lo explica. Más información en el Capítulo 16 del Manual de Xlib. El modificador se llama <NumLock>, pero resulta que está mapeado a alguno de los modificadores (Mod1 a Mod5). En resumen, la translation table te quedará algo así como "#override\n Mod1 <Btn1Down>: mifuncion() \n".

Tuesday, 1 March 2005, 4:30:40 pm
Extensión de las X para hacer lo que queremos: XC-APPGROUP http://davinci01.man.ac.uk/aix433/x11/specs/pdf/app_group.htm

Tuesday, 1 March 2005, 1:05:43 pm
Cómo lo hace el KDE: QXEmbed EL código fuente está aquí, pero la perte relevante es esta:
void QXEmbed::embed(WId w)
{
    if (!w)
        return;

    bool has_window =  w == window;
    window = w;
    if ( !has_window )
        XReparentWindow(qt_xdisplay(), w, winId(), 0, 0);
    QApplication::syncX();
    XResizeWindow(qt_xdisplay(), w, width(), height());
    XMapRaised(qt_xdisplay(), window);
    XAddToSaveSet( qt_xdisplay(), w );
    extraData()->xDndProxy = w;

    if ( parent() ) {
        QEvent  layoutHint = new QEvent( QEvent::LayoutHint );
        QApplication::postEvent( parent(), layoutHint );
    }
    windowChanged( window );
    send_xembed_message( window, XEMBED_EMBEDDED_NOTIFY );
    send_xembed_message( window, isActiveWindow() ? XEMBED_WINDOW_ACTIVATE : 
                                                    XEMBED_WINDOW_DEACTIVATE );
    if ( hasFocus() )
        send_xembed_message( window, XEMBED_FOCUS_IN );
}


/*!
  Returns the window identifier of the embedded window, or 0 if no
  window is embedded yet.
 */


¿Y en GNOME?: existe el gtkxembed, pero no sirve En el log de xembed.h (xembed.h), se menciona a gtkxembed (.c .h). Mirando el código de gtkxembed.c, es un módulo que implementa el mandar mensajes de XEMBED, pero no tiene lo de embeber una ventana en otra :-?.

Tuesday, 1 March 2005, 12:35:57 pm
Xsharp embed Los del Xsharp tienen una librería para hacerlo (en sharp, claro): mensaje. El Xsharp es un componente del DotGNU Portable.NET que permite dibujar en las X desde C#. El código fuente en cuestión es este: EmbeddedApplication.cs

Monday, 21 February 2005, 1:08:38 pm
XShm (y XShmPutImage) Es una extensión de las X. El manueal es el mit-shm.PS.gz, que se puede descargar de aquí

Friday, 18 February 2005, 6:19:39 pm
xwd: Otro programa que usa la ventana de otro usuario de las X Aquí>http://anoncvs.openbsd.lt/cgi-bin/viewcvs.cgi/X11/xc/programs/xwd/ está el código fuente del xwd, que también accede a la ventana de "un tercero", aunue en este caso es para leer su contenido (captura esa ventana en un archivo de imagen en disco).

Attachs:

EmbeddedApplication.cs

Link to this Page