XWinrc configurable server (menus/icons)

Earle F. Philhower III earle@ziplabel.com
Wed Aug 6 05:00:00 GMT 2003


Howdy Harold,
At 07:31 PM 8/5/2003 -0400, you wrote:
>Can't remember if I replied to this yet.  I am in the process of getting 
>my Inspiron 8500 returned after having it replaced (bought it 3 weeks 
>ago).  Both the original and the replacement randomly freeze.  Google for 
>["Inspiron 8500" freeze] and you'll see exactly what I mean.  I have been 
>setting up computers for the past two weeks now.
>I have finally ordered a Gateway 450X notebook.  Hopefully that will work 
>better and allow me to spend a little more time looking at patches.

Good luck, on the bright side since it went south so fast you didn't
lose too much data on the drives.

>In other words, I might look at your patch tomorrow, or I might look at it 
>next week.  Can't say for sure.
>In any case, thanks for the patch, I like the idea and am looking forward 
>to seeing what it does.

No rush.  But just delete the tar file I sent yesterday, that was really just
a parser that read the config file.  It took a few hours of futzing around 
today,
but I got it nicely integrated into the server.  Now on init it parses 
~/.XWinrc
or /usr/X11R6/lib/X11/system.XWinrc and makes custom menus and submenus for
the taskbar icon and each window, and can replace icons with ones specified
in the rc file.

I'm attaching the diffs against test95 below, please use these for any testing
you do (there are several new files, so if patch asks: you do want to make new
files...).  The file _usr_X11R6_lib_X11_system.XWinrc has all the documentation
on the RC format anyone'd need.  If the file's not found, you get the exact
same behaviour as test95 as far as menus/icons/etc.

** There's also a off-by-one bugfix in winmultiwindowclass.c, so no matter
what that file's changes should go in... **

Oh yeah, a simple "if (fork()==0) { execl(); exit(0); }" seems to spawn X and
Windoze apps fine.  I know there was some discussion about this earlier...

Below's the sample config that I'm running that replaces the X.ico with one 
that's
floating in my Windows directory, and replaces Xterm's with another, and adds
custom menus to Xterm, all other windows, and the toolbar window...

---
// Below are just some silly menus to demonstrate writing your
// own configuration file.

// Make some menus...
menu importantapps {
         xsol    exec    "xsol -display 127.0.0.1:0.0"
         xv      exec    "xv -display 127.0.0.1:0.0"
}

menu root {
// Comments fit here, too...
         xterm   exec    "xterm -display 127.0.0.1:0.0"
         notepad exec    notepad
         xload   exec    "xload -display 127.0.0.1:0.0"  # Comment
         separator
         "Good Apps"     menu    importantapps
         SEParATOR
}

menu aot {
         Separator
         "Always on Top" alwaysontop
}

menu xtermspecial {
         "Emacs"         exec    "emacs" # test
         "Always on Top" alwaysontop
         SepArAtor
}

RootMenu root

DefaultSysMenu aot atend

SysMenu {
         "xterm" xtermspecial atstart
}

IconDirectory   "c:\winnt\"

DefaultIcon     "reinstall.ico"

Icons {
         "xterm" "uninstall.ico"
}

DEBUG "Done parsing the configuration file..."
---

-Earle F. Philhower, III
  earle@ziplabel.com
  cdrlabel - ZipLabel - FlpLabel
  http://www.cdrlabel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xwinrc.diffs.bz2
Type: application/octet-stream
Size: 10124 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-xfree/attachments/20030806/b11f6088/attachment.obj>


More information about the Cygwin-xfree mailing list