<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>X11-big-cursor MINIHOWTO: Technical discussion</TITLE> <LINK HREF="X-Big-Cursor-6.html" REL=next> <LINK HREF="X-Big-Cursor-4.html" REL=previous> <LINK HREF="X-Big-Cursor.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="X-Big-Cursor-6.html">Next</A> <A HREF="X-Big-Cursor-4.html">Previous</A> <A HREF="X-Big-Cursor.html#toc5">Contents</A> <HR> <H2><A NAME="tech"></A> <A NAME="s5">5. Technical discussion</A></H2> <P>Is it possible to write a X program that enlarges cursors automatically? <P> <DL> <DT><B>(Partial) solution 1</B><DD><P>Use the XTestCompareCursor from the XTEST extension. For all windows that the mouse pointer enters compare the cursor of this window with a set of `known' cursors (e. g. from the cursor font). If the cursor is found, replace it with an enlarged version, otherwise either leave it alone or substitute a standard cursor. This will only work where the XTest extension is available. <P> <DT><B>Solution 2</B><DD><P>Write a proxy X server that relays all client requests unchanged to the real X server, except that it intercepts all requests corresponing to the <CODE>XCreate*Cursor</CODE> Xlib functions. <CODE>XCreate*Cursor</CODE> requests should be modified to use an enlarged cursor. <P>This proxy server simulates a new display, e. g. <CODE>:1</CODE>. All clients that connect to this display (e. g. <CODE>xterm -display :1</CODE>) are displayed on the real server (normally <CODE>:0</CODE>) and their mouse cursors are enlarged automatically. The mouse cursors of clients that connect to <CODE>:0</CODE> will remain <EM>unchanged</EM>. </DL> <P> <HR> <A HREF="X-Big-Cursor-6.html">Next</A> <A HREF="X-Big-Cursor-4.html">Previous</A> <A HREF="X-Big-Cursor.html#toc5">Contents</A> </BODY> </HTML>