comp windows x frequently asked questions faq archive name x faq part last modified subject where can i get an x based plotting program these usually are available from uucp sites such as uunet or other sites as marked please consult the archie server to find more recent versions gnuplot x xplot postscript and a bunch of other drivers export lcs mit edu and elsewhere contrib gnuplot tar z gl plot x output only comp sources unix volume graph yallara cs rmit oz au pub graph tar z comp sources unix volume pdraw drawplot d and d x ps scam berkeley edu src local dplot tar z scam berkeley edu src local contour tar z scam berkeley edu src local drawplot tar z uunet ftp contrib drawplot tar z xgraph plot zoom outputs ps or hpgl shambhala berkeley edu pub xgraph tar z sun ruf uni freiburg de x contrib xgraph tar z nisc jvnc net pub xgraph tar z comp sources x volume or many other sites ace gr formerly xvgr and xmgr xy plotting tools ftp ccalmr ogi edu xview version ccalmr pub acegr xvgr tar z motif version ccalmr pub acegr xmgr tar z mirrored on export in contrib acegr xgobi an interactive dynamic scatter plotting tool from bellcore lib stat cmu edu general xgobi log in as statlib with your email as the password or send email to statlib lib stat cmu edu containing the one line message send xgobi from general information from debby swayne dfs bellcore com robot a scientific xview based graph plotting and data analysis tool ftp astro psu edu pub astrod robotx tar z plotmtv a multi purpose d d plotter tanqueray berkeley edu pub plotmtv tar z thanks in part to emv ox com ed vielmetti geoff veritas com geoffrey leach paul a scowen uk spacsun rice edu black beno css gov mike black subject where can i get an x based spreadsheet a version of sc for x and which supports lotus files is available from vernam cs uwm edu in xspread tar z it also includes graphing functions information soft eng cs uwm edu the gnu package oleo is available in prep ai mit edu pub gnu oleo tar z it can generate postscript renditions of spreadsheets also several of the below are part of integrated office productivity tools which may also include word processing email conferencing image processing and drawing painting among other features vendor product contact information access technology informix wingz quality software products q calc exclaim ca unipress q calc uniplex uniplex digital decdecision digital applix aster x applix ais xess info ais com bbn software products bbn slate slate offer bbn com elsid software systems ripcam sas by the sas institute now has a spreadsheet module the x version is available on the current popular risc platforms subject where can i get x based project management software vendor product contact information productivity solutions ultra planner quality software products masterplan version sales qsp com digital tools inc autoplan nasa compass service cossack cosmic uga edu gec marconi software systems gecomo plus gec marconi software systems size plus tei inc vue mantix cascade advanced management solutions schedule publisher auburn university thanks to pete phillips pete egh qc co uk thanks to atul chhabra atul nynexst com subject where can i get an x based postscript previewer ghostscript is distributed by the free software foundation and includes a postscript interpreter and a library of graphics primitives version is now available the major site is prep ai mit edu gspreview by the computing laboratory of the university of kent at canterbury is an x user interface wcl based to the ghostscript interpreter the source is available for anonymous ftp from export lcs mit edu as gspreview tar z ghostview by tim theisen tim cs wisc edu is full function user interface for ghostscript check ftp cs wisc edu or prep ai mit edu for pub ghostview tar z there are also several executables available on ftp cs wisc edu pub x ghostview exe for various architectures also scriptworks is harlequin s software package for previewing and printing postscript r descriptions of text and graphics images previewers for x are available for information call or send email to scriptworks request harlqn co uk image network s xps supports the full postscript language and renders in color grayscale or monochrome fonts displayed are anti aliased info image network digital s dxpsview runs on uws and sun s pageview runs with the x news server subject where can i get an x based gks package the latest freely available xgks can be obtained from xgks request unidata ucar edu this is a c implementation derived from the x r contrib xgks from ibm and the university of illinois the release is on unidata ucar edu as pub xgks tar z in addition grafpak gks is available from advanced technology center gksul is available from gks ulowell edu ulowell cs department it is a b implementation which includes drivers for a variety of devices it can be passed an x window id to use the package includes both c and fortran bindings from dsrand mitre org and from stew hanauma stanford edu an xgkswidget is produced by neil bowers neilb leeds dcs neilb dcs leeds ac uk the latest conforms with the new version of xgks it is available on export in contrib xgks widget tar z subject where can i get an x based pex package the first official release of pex is with x r fix brings the sample implementation server to version the final pex protocol specification is now available via anonymous ftp to export lcs mit edu in the directory pub docs pex changes made from the public review draft are listed in the file p changes in that directory the final pexlib document is on export in pub docs pexlib there is now available from the university of illinois an implementation of the pex specification called uipex it contains a near complete implementation of phigs and phigs plus the file pub uipex uipex tar z is on a cs uiuc edu the porting platform was an rt running questions and comments can to go uipex cs uiuc edu in addition the pext toolkit by rich thomson rthomson dsd es com is available on export as pext tar z it includes a pex widget making it easier to include pex in xt based programs subject where can i get an x based tex or dvi previewer the xtex previewer for tex files is available from a number of archive sites including uunet the current version is usually on ftp cs colorado edu in seetex tar z pre converted fonts are also on that machine the distribution all includes mftobdf which converts pk gf and pxl fonts to bdf format where they can then be compiled for use by your local x server the xdvi dvi previewer is fairly comprehensive and easy to use it is also available from a number of sites including uunet and export lcs mit edu current version is patchlevel subject where can i get an x based troff previewer x r has two previewers for device independent troff the supported client xditview and the contributed but well maintained xtroff an earlier version of xtroff also appeared on the r contributed source xditview is also in the r distribution in addition the xman client can be used to preview troff documents which use the man macros i e man pages if psroff is used its output can be viewed with a postscript previewer in addition xproof an x previewer for ditroff has been contributed by marvin solomon solomon cs wisc edu version is available on export in contrib xproof elan computer group ca produces eroff a modified troff implementation and elan express an x eroff previewer softquad usa only mail sq uu net or mail sq com offers softquad publishing software including a substantially rewritten troff formatter a better intermediate language with backwards compatibility and an x r r previewer this is the package adopted by at t s own mis department and used in and re sold by many parts of at t information from ian darwin softquad ian sq com image network toxroff ca offers the xroff package which includes a fine modified troff implementation and a set of x based page previewers this is the package oem ed by several hardware vendors mostly courtesy moraes cs toronto edu mark moraes subject where can i get a wysiwyg interface builder a new release of the dirt interface builder by richard hesketh works with x r and includes some support for the motif widget set from the readme this builder allows the interactive creation and rapid prototyping of x user interfaces using the x toolkit and a number of widget sets dirt generates wc widget creation resource files and this distribution also includes the widget creation library version with the exception of the demos and mri ari source code with the kind permission of its author david e smyth check dirt readme dirt a tar z and dirt ps z on export lcs mit edu the interviews c toolkit contains a wysiwig interface builder called ibuild ibuild generates code for an interviews application complete with imakefile and an x resource file documentation is pub papers ibuild ps on interviews stanford edu quest windows s objectviews c package includes an interactive building tool druid demonstrational rapid user interface development runs on sparc machines using osf motif it is intended eventually to be a full uims but apparently now has only support for creating the presentation components for which it generates c uil code info singh g kok ch ngan ty druid a system for demonstrational rapid user interface development proc acm siggraph symp on user interface software and technology uist acm ny pp the byo interface builder is implemented in tcl also in addition these commercial products unsorted are available in final or prerelease form the following the product name indicates that the product is known to allow the designer to specify for each widget whether a particular resource is hard coded or written to an application defaults file for at least one form of output some are much more than user interface tools some are full user interface management systems information on most is not up to date product name look feel code output vendor hp interface motif c xm hp visual edge architect uimx open look express open look c xol helper lib at t visual edge uimx motif c xm helper code visual edge distributors vuit motif c uil r w dec digital x designer motif c xm c uil imperial software technology ltd sales ist co uk xfacemaker xfm motif c c script c like procedural language c uil nsl requests nsl fr builder xcessory motif c xm c uil r w ics ada info ics com xbuild motif c xm c uil nixdorf xbuild nixdorf com ixbuild motif c xm c uil ixos software karl ixos uucp teleuse motif c xm c uil r w telesoft gui info telesoft com ezx motif c xm helper lib c uil ada sunrise info sunrise com snapix motif c xm adnt openwindows developers open look gil c xview sun guide gil c xview gil c olit gil c postscript for tnt exocode sxm motif c xm expert object exocode plus open look xview tae xw motif c xw xm c tcl tae control language like uil needs helper library vax fortran ada c nasa goddard mob xsculptor motif openlook c xm uil c xol kovi psm pm msw c uil lancorp motif mac pty ltd fax australia motifation motif c xm aka edv fax uib open look motif c oi parcplace look for magazine reviews for more complete comparisons of meta file formats documentation real ease of use etc unix world and unix review often carry articles in addition neuron data makes open interface a window system independent object toolkit which supports interfaces which are or resemble supersets of mac windows and motif and open look the package includes an interface builder in addition the grammi builder supports the development of ada x applications using its own set of objects which are planned to have a motif look grammi is written in ada and generates ada specs and stub bodies grammi in addition these non wysiwyg but related products may help for goals of rapid prototyping of the application interface wcl the widget creation library basically describes the widget hierarchy and actions in a resources file available from fine archive servers everywhere including devvax jpl nasa gov in pub wcl provides a very thin layer over xt without any internal tweaking version is current winterp an xlisp based motif toolkit allows for interpretive programming the copy on the r tape is outdated get a copy off export or email to winterp source hplnpm hplabs hp com the serpent uims permits the building of user interfaces without specific knowledge of coding but with an understanding of attributes being set on a particular motif widget beta release is available from ftp sei cmu edu and can be found in pub serpent serpent is also available on export lcs mit edu in contrib serpent email questions can go to serpent sei cmu edu a commercial version of serpent is available as agora from aset woodhaven drive pittsburgh pa garnet is a common lisp based gui toolkit information is available from garnet cs cmu edu metacard is a hypertext rapid application development environment similar to apple claris corporation s hypercard info metacard com metacard is available via anonymous ftp from ftp metacard com csn org or subject where can i find x tools callable from shell scripts i want to have a shell script pop up menus and yes no dialog boxes if the user is running x several tools in the r contrib area were developed to satisfy these needs yorn pops up a yes no box xmessage displays a string etc there are several versions of these tools few if any have made it to the r contrib area though they may still be available on various archive sites in addition richard hesketh rlh ukc ac uk has posted the xmenu package to comp sources x v i xmenu for of n choices two versions of xprompt have been posted to comp sources x the latter being an unauthorized rewrite r forsman thoth reef cis ufl edu there is a version of xmenu available from comp sources x it is being worked on and will likely be re released xp tar z xpick tar z and xzap tar z on export s contrib are tools by gerry tomlinson newcastle ac uk which act as x versions of the simple display and choice making tools in k p xtpanel lets the user build a panel containing interactive objects such as buttons sliders text fields etc either from the command line or using a simple scripting language it is available for anonymous ftp from hanauma stanford edu as pub x xtpanel tar z and may also be found in the alt sources archives subject where can i get an x based debugger xdbx an x interface to the dbx debugger is available via ftp from export the current version is patchlevel an x interface to gdb called xxgdb is more like xdbx it is part of comp sources x volume xxgdb tar z is on export mxgdb is a motif interface to gdb by jim tsillas jtsillas bubba ma bull com version was released ups is a source level debugger which runs under the x and sunview window systems on sun and dec platforms it is available from export as contrib ups tar z also ups to patch z and unix hensa ac uk in pub misc unix ups or try mail to archive unix hensa ac uk unofficial fixes by rod armstrong rod sj ate slb com are on unix hensa ac uk in misc unix ups contrib rod sj ate slb com also mips produces a highly customizable wcl based visual debugger you should be able to use sun s dbxtool with its x news server the codecenter source level debugger available on most major platforms includes an x based interface at t offers the examine graphical interface an x interface to dbx and c dbx for sun and sun and sdb and sdb for and b platforms call or contact examine mvuxi att com for more information solbourne offers pdb its x based debugger for c c and fortran pdb uses the oi toolkit and runs in either open look or motif mode sco info sco com offers dbxtra as part of several development systems lucid s energize programming system a tightly integrated development environment for c and c programs incorporates a graphical user interface on top of an extended version of gdb info lucid info lucid com or subject how can i tee an x program identically to several displays there are several protocol multiplexer tools which provide for the simultaneous display of x clients on any number of machines xmx an x protocol multiplexor is available from wilma cs brown edu as pub xmx tar z it works independently of the server and does not affect the application being shared it was developed for use in the electronic classroom xtv is a conference program which can be used to duplicate the chalkboard on several displays release is available on the x r contrib tapes a more recent version is on ftp cs odu edu as pub wahab xtv r tar z shx from michael altenhofen of digital equipment gmbh cec karlsruhe also does this it is a wysiwis what you see is what i see package in the context of a computer based learning training tool to provide online help from remote tutors but is also useful for general window sharing information shx nestvx enet dec com shx can be found on export and gatekeeper dec com pub x contrib shx tar z crl dec com pub x contrib shx tar z modifications to shx for color mapping and private color allocation by mark j handley m handley cs ucl ac uk are on cs ucl ac uk in car shx car tar z xtrap is implemented as a server library extension and can be used to record and then replay an x session it is available as gatekeeper dec com pub x contrib xtrap v tar z export lcs mit edu contrib xtrap v tar z wscrawl can be used as a multi person paint program it s available on sax stanford edu as wscrawl shar z shdr implements a simple shared whiteboard without a chalk passing mechanism it s available on parcftp xerox com as pub europarc shdr tar z sketchpad is a distributed interactive graphical editor particularly designed for sketching sources have been posted to alt sources and are available from ftp igd fhg de in ftp incoming sketchpad the nestor project is described in upgrading a window system for tutoring functions michael altenhofen et al the proceedings of the exug conference also of use hewlett packard co has a commercial product hp sharedx which works under hp ux currently on their and series workstations and their hp rx x stations machines receiving shared windows can be any x server hp sharedx consists of a server extensions and a motif based user interface process contact your local hp sales rep for more information ibm offers a commercial product sun offers multi user confering software called showme insoft mechanicsburg pa usa offers multi user confering software called communique thanks in part to scott spectra com tim scott and to peter cigehn peter lulea trab se subject topic building the x distribution topic needs updating to r subject what s a good source of information on configuring the x build this faq includes information on a number of gotchas that can bite you on particular system however the best source of general information on building the x release is found in the release notes the file is bundled separately from the rest of the release so if it s become separated from your sources you can ftp another copy separately the file relnotes ms ps txt at the top of the distribution the file relnotes is also available from the xstuff mail server in addition o reilly associates s volume on x administration includes information on configuring and building x subject why doesn t my sun with a cg work with r apparently gcc is the problem it seems to produce fine code for all sun displays except for the cgsix the new sungx o distributed with fix may fix the problem note not known to work on solaris subject why doesn t my sun with sunos know about dlsym etc if you get errors with dlsym dlopen dlclose undefined link with libdl a add ldl to your and eventually your site def you may want to surround it with bstatic ldl bdynamic if you add it to the extra libraries variable since syslibs get added after extra libraries on the eventual compilation command otherwise you may not have a shared libdl or compile the stubs shared thanks to joe backo joe backo east sun com subject what is this strange problem building x clients on sunos in sunos sun fixed a shared library bug in ld which conflicts with the way x r builds the shared xmu library causing these symbols to be undefined when building some x clients get wmshellwidgetclass get applicationshellwidgetclass compiling bstatic lxmu bdynamic appears to work to solve the problem if you are using openwindows x r based xt please contact your local sun office and request the following patches patch i d description x openwindows libxt jumbo patch x openwindows undefined symbols when using shared libxmu greg earle earle sun com a source patch for use with the mit x r libraries was developed by conrad kimball cek sdc boeing com it retrofits into r some fixes made in r to get around this problem the patch is on export in contrib x r sunos patch version z subject why can t gcc compile x r on my sparc i used gcc to compile the whole distribution but i get several segmentation faults when running x note first that gcc on risc machines does not necessarily result in any performance increase it certainly is not as noticeable as it is on the x or vax platforms here is the problem gcc and cc use incompatible methods of passing structures as arguments and returning them as function values so when gcc compiled parts of x are linked with sun supplied functions that pass or return structs run time errors occur affected programs include rgb and the server this is from the gcc manual on the sparc gnu cc uses an incompatible calling convention for structures it passes them by including their contents in the argument list whereas the standard compiler passes them effectively by reference this really ought to be fixed but such calling conventions are not yet supported in gnu cc so it isn t straightforward to fix it the convention for structure returning is also incompatible and fpcc struct return does not help you can duck the problem either by using cc throughout or by using it for just the routines which cause incompatibilities the problem cannot be solved with compilation flags files which need to be compiled using cc include server os bsd oscolor c rgb rgb c in addition several of the inet functions use structs as args or return values clients xhost xhost c clients xauth gethost c calls to inet addr in lib clx socket c and lib x xconndis c are possibly harmless as they don t involve structs collected by bashford scripps edu don bashford subject what are these i o errors running x built with gcc when i try to run xinit or the xsun server i get the error getting interface configuration operation not supported on socket fatal server bug no screens found running the gcc fixincludes script apparently didn t work you can do this simple test include sys ioctl h siocgifconf run that through cc e and gcc e the last line of output is the piece of interest it should be identical modulo irrelevant differences like whitespace if the gcc version has x where the cc version has i your fixincludes run didn t work for some reason or other go back to your gcc sources and run fixincludes then rebuild the x distribution if they are identical try running a make clean in mit server and rebuilding just to make sure everything gets compiled with the proper include files courtesy der mouse mouse larry mcrcim mcgill edu subject what are these problems compiling x r on the older sun in mit server ddx sun suncg c c we have found missing defines for cg ac monolen cg bc monolen cg ac enblen cg bc enblen what should these be the r errata list distributed after x r mentions that you can add these lines to the file on older sunos versions e g to compile define cg ac monolen define cg ac enblen cg ac monolen define cg bc monolen cg ac monolen define cg bc enblen cg ac monolen however the sun should not actually ever have the cg device and so references to it can be removed from mit server ddx sun suninit c and the imakefile subject what are these problems compiling the x server on sunos the file sundev cg reg h isn t being found sun omitted sundev cg reg h from sunos remove the include from suncg c c and replace it with the line define cg vaddr color x the file has changed from earlier versions of sunos and should not be copied from another distribution subject what are these problems using r shared libraries on sunos all of the executables that i try to run have the following results ld so libxmu so not found or even ld so call to undefined procedure gethostname from xf a c if you are building with shared libraries on a sun remember that you need to run ldconfig as root after installing the shared libraries if you ve installed x on a file server run it on the server s clients too while building and installing the distribution you need to be careful to avoid linking against any existing x shared libraries you might have e g those distributed with openwindows you should make sure you do not have ld library path set in your environment during the build or the installation if you are going to keep xterm and xload as setuid programs please note that the shared libraries must be installed in usr lib usr local lib or usr lib for these programs to work or else those programs must be linked statically courtesy mit x consortium note also that the program mkfontdir is run as part of the build it attempts however to use the shared libraries before they have been installed you can avoid the errors by building mkfontdir statically pass bstatic to most c compilers subject can olit programs run with r xt xtqstring undefined this is a bug in the olit xtqstring was an external symbol that existed in x r upon which ow s libxt is based it wasn t documented and was removed in x r mit s guarantee of upward compatibility between the r and r libraries only applied to the documented interface a workaround is to temporarily set your ld library path to point to the x r or openwindows xt library that you linked the program against from barry margolin barmar think com from jeff francis jpf heliocentric com subject how do i get around the sunos security hole there is a security problem with certain r clients xterm and xload running under sunos that have been installed setuid root and are using shared libraries to avoid the problem do one of these make the program non setuid you should consult your system administrator concerning protection of resources e g ptys and dev kmem used by these programs to make sure that you do not create additional security problems at your site relink the programs statically using bstatic install the libraries before linking and link with absolute paths to the libraries from rws expo lcs mit edu bob scheifler the r version of xterm does this automatically by rebuilding xterm against the newly installed libraries when xterm is being installed this prevents an suid program from being built with libraries specified relatively note that this may cause an inconvenience when doing the installation from nfs mounted disks xload has been rewritten to avoid the problem subject how do i get around the frame buffer security hole on many systems the frame buffer is unsecured by default this permits anyone who can log into your workstation to peek at your windowing session by accessing the frame buffer directly or as less of a privacy issue but perhaps more annoying to accidentally start up a second x session on your console display check the man page for fbtab thanks to art mulder art cs ualberta ca subject topic building x programs subject what is imake imake is not a replacement for the make program instead it is a makefile generator that takes advantages of the include file and macro processing capabilities of the c preprocessor cpp to generate makefiles suitable for building software on a particular system although it is not specific to x the x release uses it to help solve a number of the configuration issues that arise in making such a large system widely portable imake has a fairly steep learning curve in part because the process by which the system specific configuration files system independent configuration files and individual imakefiles are melded to produce a makefile is not obvious there have been several different versions of imake the r r and r versions are different you can obtain information on imake from these sources the r and r release notes and imake man page include information on using imake to build x the r and r file mit config readme also contains useful information on the r tapes contrib doc imake imake tex is mark moraes r r guide to imake the r mit doc config usenixws paper ms contains a paper by jim fulton on an early version of imake paul dubois dubois primate wisc edu has written a useful explanation of how imake works and how to use it in configuring x for non supported systems the document is available from ftp primate wisc edu in the directory ftp pub imake stuff look for config x r ms troff and config x r ps postscript some supplemental appendices are nearby document version is now these imake papers are available by email mail a message body of send imake stuff help to almanac primate wisc edu see system administration imake friend of foe by dinah mcnutt in the november issue of sunexpert german readers should expect in june an article das meta make i make you make schwerelos by rainer klute in ix multiuser multitasking magazin directed at application programmers needing to write imakefiles an english language derivative of this article is in the x journal issue the o reilly x resource issue contains paul davey s article on demystifying imake alain brossard s working document full of tips on imake is in sasun epfl ch pub imakefile z subject where can i get imake versions are distributed with the r and r releases an earlier version is distributed with the x r release some third party toolkits redistribute versions of imake along with their own implementations of the template and configuration files there are no real standards for such configuration files although most current contributed software expects the templates distributed with x r export contains the r distribution unpacked so you can pick up imake without picking up the entire distribution a stand alone version of imake but one stemming from x r is in ftp germany eu net pub x misc imake imake pure tar z subject i have a program with an imakefile but no makefile what to do if you have r or r installed on your system run xmkmf this is a script which runs imake for you with the correct arguments the output is a makefile configured for your system and based on the imakefile then run make which will use that new makefile to compile the program subject why can t i link to the xlib shape routines when i try to compile certain programs i get the following link error undefined xshapequeryextension xshapecombinemask these routines are actually part of the shape extension to x shape which was introduced in the mit x r distribution and allows non rectangular windows like the other sample server extensions the shape extension will only run on a server which supports it pre x r servers as well as many vendor supplied servers do not support the shape extension in which case they will display rectangular windows anyway in order to use the shape extension you must link to the library libxext a in the x r distribution this library and the associated includes will be in the mit extensions directory if you do not have these files do not despair many freeware programs which use the shape extension can also be compiled without it by removing the dshape define from the makefile you can probably do this and compile successfully against your older vendor supplied x libraries from john b melby melby yk fujitsu co jp uunet uu net subject what are these problems with xtinherit not found on the sun when i run a x program that i wrote on a sunos or machine i get the error ld so symbol not found xtinherit what you are seeing is a side effect of a kludge in the r libxt a to get sun shared libraries working apparently you can t share a function that is both called and compared as xtinherit is this was handled by putting xtinherit in the same file as a function that is always used thereby guaranteeing that it would be loaded that is in initialize c where xttoolkitinitialize and xtinitialize reside these routines would normally be called you are probably seeing this error because your program is not a normal xt based program and does not call xttoolkitinitialize anywhere it may be a program that uses xt functions but never opens a connection to the x server osf motif s uil had this problem it called xtmalloc and other xt functions the solution is to add the call to your program the function does not have to be executed just linked in alternatively your program doesn t need any xt functions and is correct in not calling xttoolkitinitialize it may be an xlib or xview program in this case you can remove lxt from your link command it should not be necessary to link the shared libraries statically although this will certainly solve the problem from jordan hayes now jordan moorenet com and danny backx db sunbim be subject why can t i compile my r xaw contrib programs under the new x i have a program that worked well under x r when i try to link it under the current version of x i get this message undefined xtscrollbarsetthumb xttextsetinsertionpoint xttextreplace there were several name changes in the athena widget set in addition to the header files moving into x xaw these are mentioned in the r release notes in this case these functions are not really xt functions but are part of the xaw text widget and so have been renamed from xt to xaw subject topic programming problems and puzzles subject why doesn t my program get the keystrokes i select for sic the window manager controls how the input focus is transferred from one window to another in order to get keystrokes your program must ask the window manager for the input focus to do this you must set up what are called hints for the window manager if your applications is xlib based you can use something like the following xwmhints wmhints wmhints flags inputhint wmhints input true xsetwmhints dpy window wmhints if your application is based on the xt intrinsics you can set the xtninput resource to be true as you probably want to in any case if you don t have source you can start up the application with the resource input true certain window managers notably dxwm and olwm are very picky about having this done if you are using sun s openwindows olwm you can also add this resource to your defaults file to use clients that aren t icccm compliant openwindows focuslenience true mostly courtesy dave lemke of ncd and stuart marks of sun subject how do i figure out what window manager is running you can t reliably tell whatever mechanism you could use could be spoofed in any case for most cases you shouldn t care which window manager is running so long as you do things in an icccm conformant manner there are some cases in which particular window managers are known to do things wrong checking for particular hints placed on the window by the window manager so that you can sidestep the problem may be appropriate in these cases alternatively it may be appropriate to determine which window manager is running in order to take advantage of specific added features such as olwm s push pin menus in order to give your program added functionality beware of usurping the window manager s functions by providing that functionality even when it is missing this surely leads to future compatibility problems subject is there a skeleton x program available there is no general framework such as the transskel program for the macintosh which handles lots of the odds and ends and overhead of development under a window system and which can be used as a platform for additional development in x the problem is typically solved by using an interactive application builder tool or by using cut paste on existing x applications good applications which you might look to manipulate when you want to test just this one little thing include contrib clients xskel a simple r program that puts up a window and allows sketching in it and offers a starting point for quick hacks the xaw examples in the examples directory in the r and r distributions and the xlib hello world example in the r doc helloworld and r doc tutorials helloworld an updated version of this program which uses r xlib calls and current icccm conventions was posted in to comp windows x by glenn widener of tektronix in addition a sample xt program for xaw or xm by rainer klute showing how to open multiple displays and how to catch a broken display connection is available on export lcs mit edu in contrib mdisp tar z subject why does xtgetvalues not work for me sic the xtgetvalues interface for retrieving resources from a widget is sensitive to the type of variable your code may be doing something like this arg args int i int sensitive oops wrong data type i xtsetarg args i xtnsensitive sensitive i xtgetvalues widget args i but xtnsensitive is a boolean which on most machines is a single byte declaring the variable sensitive as boolean works properly this problem comes up often when using particular toolkits that redefine the xt types dimension and position code that assumes they are int will have similar problems if those types are actually short in general you are safe if you use the actual type of the resource as it appears in the widget s man page subject why don t xtconfigurewidget xtresizewidget xtmovewidget work you re probably trying to use these functions from application code they should be used only internally to widgets these functions are for a parent widget to change the geometry of its children other promising functions xtmakegeometryrequest and xtmakeresizerequest are also for use only by widgets in this case by a child to request a change from its parent the only way for your application to request a geometry change for a widget is to issue an xtsetvalues call setting some of the geometry resources although this will result in the widget internal functions being called your application code must use the standard xtsetvalues interface or risk the widgets data becoming corrupted the xlib calls xmovewindow and xresizewindow should similarly be avoided they shouldn t be used to change xtnx xtny xtnwidth or xtnheight subject why isn t there an xtreparentwidget call like xreparentwindow although there are various details of the current implementation of the xt internals which make reparenting difficult the major reason that no such call exists is that it remains undefined what the set of resources for the new widget should be resources are typically set based on the location in the instance hierarchy what resources should change if the instance moves what should happen to the widget s children and by the time such semantics are defined there would probably be little advantage over destroying the old widget and creating a new widget in the correct location with the desired resources as setting the resources correctly is the majority of work in creating a new widget note that reparenting is possible in the oi toolkit david b lewis faq craft uunet uu net just the faqs ma am joe friday david b lewis temporarily at but not speaking for visual inc day dbl visual com evening david craft uunet uu net
