diff options
Diffstat (limited to 'app/xlockmore/etc')
66 files changed, 13346 insertions, 0 deletions
diff --git a/app/xlockmore/etc/README.etc b/app/xlockmore/etc/README.etc new file mode 100644 index 000000000..33e19ad5a --- /dev/null +++ b/app/xlockmore/etc/README.etc @@ -0,0 +1,63 @@ +These files are just examples of configuration files for xlock and +other tools which I use. They are not normally required. + +descrip.mms is no longer maintained since I can no longer check it on my + VMS system. make.com should work fine. +fortune.dat is for those who do not have fortune. +play.sh is a hack to get sound. +rplay* are ideas for setting up a more sophisticated sound package. +system.*wm*rc.xlock files are for fvwm2, fvwm, WindowMaker, openwin + (olwm & olvwm) and motif (mwm and dtwm) window managers. + By default they include all modes which may not be available depending + on your system. The openwin file can be referenced directly, the others + need to be placed in menu files. +xlock*life.pl stuff is for adding life patterns to life.c not all formats + are handled. However, the major format that is not handled here is close + to the format I use already in life.c. +glider.life and glider.hlife are simple examples of files that can be read + into the life mode like: + "-lifefile glider.life" (which works with "-neighbors 8 -rule S23/B3") + "-lifefile glider.hlife" (which works with "-callahan" or + "-neighbors 6 -rule S2b34/B2a") + There is a limit of 128 initial live cells set by NUMFILEPTS in life.c. +glider.3dlife is a simple example of a files that can be read into the + life3d mode like: + "-life3dfile glider.3dlife" (which works with "-rule3d S45/B5") + There is a limit of 84 initial live cells set by NUMFILEPTS in life3d.c. +xlockrandimage.pl picks a random image. Does not have to be used since + it is built in, one can just give a directory name. Some really old UNIX + systems might not have dirent.h. + +Contributed by Charles Vidal <cvidal@ivsweb.com> +xlock.tcl is another xlock launcher similar to xmlock but using tcl. +xlock.java and xlockFrame.java is yet another xlock launcher similar to + xmlock but this time using java. Requires at least JDK 1.1.1 to spawn + xlock. + +Contributed by Igor Markov <imarkov@math.ucla.edu> +xlocksat.pl use like "xlock -saturation `xlocksat.pl`" The idea is that + high saturation looks weird at night and low saturation looks weird + during the day. Unfortuantely, as the day progresses the saturation does + not change. +xlockranddur.pl use like "xlock random -duration `xlockranddur.pl`" + This gives a random duration of a mode (providing you have fortune!). + +Contributed by R. Cohen-Scali <remi.cohenscali@pobox.com> +vtswitch is a command line tool to disable/enable VT switching for Linux. + Do "chown root.bin vtswitch; chmod 4755 vtswitch" + +Contributed by Michael P. Duane <mduane@metapath.com> +chkmbox: for those tired of typing in password just to see if you have + email. chkmbox is a sample mailbox check program. It has only been + run on Linux (2.0.27) workstation against a Solaris server with IMAP2. + For those using standard UNIX "mail -e" should work fine (Solaris + "/usr/ucb/mail -e" and AIX & HPUX "/usr/bin/mail -e")... see + xlock/XLock.ad . + +Contributed by Nick Cleaton <nick@cleaton.net> +xlockssh*: allows xlockmore to be configured to pipe the password + into a command when the correct password is entered. + + I use it to have ssh-agent drop all my keys when I lock the screen and + re-add them when I unlock it. This works because the passphrase on my + ssh keys is the same as my password. diff --git a/app/xlockmore/etc/barrierg.3dlife b/app/xlockmore/etc/barrierg.3dlife new file mode 100644 index 000000000..1a3944f95 --- /dev/null +++ b/app/xlockmore/etc/barrierg.3dlife @@ -0,0 +1,228 @@ +#P-10 -10 -6 B6/S567 +......**..**...... +......**..**...... +..**..........**.. +..**..........**.. +.................. +.................. +**..............** +**..............** +.................. +.................. +**..............** +**..............** +.................. +.................. +..**..........**.. +..**..........**.. +......**..**...... +......**..**...... + +......**..**...... +......**..**...... +...*..........*... +..*............*.. +.................. +.................. +**..............** +**..............** +.................. +.................. +**..............** +**..............** +.................. +.................. +..*............*.. +...*..........*... +......**..**...... +......**..**...... + +.................. +.................. +...*..........*... +..*............*.. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +..*............*.. +...*..........*... +.................. +.................. + +.................. +.................. +....**********.... +...************... +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +...************... +....**********.... +.................. +.................. + +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. + +......**..**...... +......**..**...... +.................. +.................. +.................. +.................. +**..............** +**..............** +.................. +......***......... +**......*.......** +**.....*........** +.................. +.................. +.................. +.................. +......**..**...... +......**..**...... + +......**..**...... +......**..**...... +.................. +.................. +.................. +.................. +**..............** +**..............** +.................. +......***......... +**......*.......** +**.....*........** +.................. +.................. +.................. +.................. +......**..**...... +......**..**...... + +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. + +.................. +.................. +....**********.... +...************... +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +..**************.. +..**************.. +..**.**.**.**.**.. +...************... +....**********.... +.................. +.................. + +.................. +.................. +...*..........*... +..*............*.. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +.................. +..*............*.. +...*..........*... +.................. +.................. + +......**..**...... +......**..**...... +...*..........*... +..*............*.. +.................. +.................. +**..............** +**..............** +.................. +.................. +**..............** +**..............** +.................. +.................. +..*............*.. +...*..........*... +......**..**...... +......**..**...... + +......**..**...... +......**..**...... +..**..........**.. +..**..........**.. +.................. +.................. +**..............** +**..............** +.................. +.................. +**..............** +**..............** +.................. +.................. +..**..........**.. +..**..........**.. +......**..**...... +......**..**...... diff --git a/app/xlockmore/etc/cellxlock.sh b/app/xlockmore/etc/cellxlock.sh new file mode 100644 index 000000000..46b31c5f4 --- /dev/null +++ b/app/xlockmore/etc/cellxlock.sh @@ -0,0 +1,15 @@ +# converts a file from xl4d format to xlock life3d format +sed ' +s/10/-6,/g +s/11/-5,/g +s/12/-4,/g +s/13/-3,/g +s/14/-2,/g +s/15/-1,/g +s/16/0,/g +s/17/1,/g +s/18/2,/g +s/19/3,/g +s/^/ /' $1 > $1$$ +#rm -f $1$$ +mv $1$$ $1 diff --git a/app/xlockmore/etc/chkmbox/Mail.xpm b/app/xlockmore/etc/chkmbox/Mail.xpm new file mode 100644 index 000000000..b90165876 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/Mail.xpm @@ -0,0 +1,88 @@ +/* XPM */ +static char * image_name[] = { +"56 46 39 1", +" c #FFFFFBEEFFFF", +". c #B6DAAEBAB6DA", +"X c #082004100820", +"o c #9E799A699E79", +"O c #8E388A288E38", +"+ c #38E36DB6A699", +"@ c #BEFBB6DABEFB", +"# c #000000001861", +"$ c #A69979E78E38", +"% c #79E786179E79", +"& c #A699A289A699", +"* c #AEBAAEBAB6DA", +"= c #000008200820", +"- c #000000001040", +"; c #8E38861779E7", +": c #A6999E79A699", +"> c #71C679E78617", +", c #AEBA9E795965", +"< c #AEBAB2CACF3C", +"1 c #96589658AEBA", +"2 c #514471C68E38", +"3 c #FFFFF3CEFFFF", +"4 c #C71BBAEAC71B", +"5 c #CF3CC71BCF3C", +"6 c #EFBEF3CEF7DE", +"7 c #69A669A671C6", +"8 c #FFFFFFFFFFFF", +"9 c #AEBAA69971C6", +"0 c #AEBA61856185", +"q c #AEBAA699AEBA", +"w c #71C675D671C6", +"e c #5144A2894924", +"r c #861779E78617", +"t c #BEFBC30BCF3C", +"y c #69A68617BEFB", +"u c #A699A699A699", +"i c #965896589658", +"p c #F7DEB2CAAEBA", +"a c #51445555FFFF", +" .", +" ......................................................X", +" ...............oOO+O+O+O+OOoo.........................X", +" ........@....OO++++++++++X+X++o...@....@....@....@....X", +" o@..o@..o.@O++XoOo+#+#+@$%+OXXX+&...o@..o@..o..@o...o@X", +" ...@.*....O=+X+X+X.O-+=;%$OX+XXXXo*@....*...*@....*@..X", +" o.o.o@o@o+X+X+:oX+$+++$++.>,#+X+XXo.o@o@o@o@o.o@o@o.o.X", +" @*@..o.*+X+#+o.O@<*@+$*$*,1>$X+X+XXo.o*...*..o.*.*...oX", +" o.o.o@o+X+X++@2++O@.*<%@%1%-+>X+-+XXo@o@o@o@1.o@o@o@o@X", +" @..:*.+X+-+-++++$%..<..O<>,OO#+X+X+XX1.o*..o...o...o*.X", +" o.o.oOX+X+++++$%. .3..O.O.24O+XXXOX+X+o<o.1.o.o.1@1.o.X", +" .o.@.X+-+-+-++@ .......*1$O+X+OX++XXX+o.o...o.o.o...oX", +" o.o.++X++++$56@ . . ..O.O.7<X+XOXX+OXXX.:.o@1.o<o.o@1.X", +"3@1.o+#+-++O* . ......O@O%$+X+-+X+XX+.o.o.:.o.o<o.oX", +" o.1OX+o:O+$3. . . . ....O<;.O+X+X+X+-+XXo.1.o.o.o.o.o.X", +"3oo.++Xo:*5+ 8 . ......>9>$X+X+-+X+X+X+o.:o:.o:o.:ooX", +" o@%OX+O++3* .8@8. . ..O.O.%.-+-+-+-+-XXX+.o.o.o.o.:.o.X", +" o10O.X+<++ .8.8. .....@..O.O+-+X+X+X+X+XXoo:oo1oooooooX", +" o.+OOqX+q3+ .8.8.8.8.@O.O.O.X+X+-+-+XXOXX.1.o.o.1.o.1.X", +" oo%%*O.X@*@...*......*...%$O+X+X+-+XX XOXoo:oo:ooo1oooX", +" oq+;O@OO-+$%.. . .....O.O@w<O+-+X+-X XOoo.e+r<o:o4ooX", +"3oo+O1O..OX+X+=........<$eOOOOo+-+XX -%>++3#e$:ooooX", +" o:+>:.O.X+X+-+X+O.O.O.O.$<O0+2+o+X . X+4 @+*:ooo:X", +" :o+2,ooO+X+X+X+=+@..@O%$;O12o+;+X . . .. #e1:$:oX", +" O1+:O>o:X+-+X+-+X$X.O.O*>O+O+>+X . ... . t+1o1e1X", +"3oo+O$O%:+X+-+-+X+X+=+%$OO1>,1+X . .. .. #eo::oX", +" oo0+%+;$%+-+X+-+-+X+X++%+,+2+# ... .. .. @+$oeqX", +"3ooy+;1>%O++X+-+X+X+X+#>9>+$+X .. .. .. ->::oX", +" eqe$+$+%$>O+X+X+-+-+XO++++++@@..@................@.O0<X", +" ::q1=0%>,O>u+X+X+X+X+O#36 3 3 888 +>iX", +" $oOo+++O+2+OX+-+-+-++$X .. . . 888 upu X+:X", +" o%ooo#++>+O>+-+X+XoO%+X . . . ;u, -,OX", +" ,O%o%;+++$+O-+-+-o+$+>X +pp X+oX", +" :>o;:$+#++O++X+X++>+++X ppp ->OX", +" %1Oo%oO++++$#+Xu+;+$++# O%... X+:X", +" >,o$OOo$+#+++-++++++++X XOOX", +" O1Oo%o%qO+++++-++++++-X O;.O..O... X+1X", +" ;$e%;$,2$$++-+++++a+++X XOOX", +" $1$*%OO:%o1q++-+-+X+-+- $%..O.O;@8 X+oX", +" %O%O21O%%Oi2$$+-+-+-+-X 88 8 X$OX", +" ;,>o,$O1%>O:O%;&++X+X+X 88 8 X+>-", +"6%$%%>%O>,O0OO%$>O>$$OOX 88 8 X2,X", +" %o%$%OO%$:%%,>%1,1%;>OO++=X=XX=X=XX=XXXXXXXXX=XX=XXX+>-", +" i;$e%$%>O%;12OO%$;%1>92$O+O+O+O+O+O+O+O+O+O+O+O+O+O+OOX", +" $>9$>OOe$>OO01O%%$>,2>1;$>OO$>,>O$>,>O$>,2OO$>,>O$>9>1X", +".XXX--XX#--X-XXXXXXXX--XXX-X-X-X--X-X--X-X-X-X-X--X-XXXX"}; diff --git a/app/xlockmore/etc/chkmbox/Makefile b/app/xlockmore/etc/chkmbox/Makefile new file mode 100644 index 000000000..e310776d4 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/Makefile @@ -0,0 +1,21 @@ +# +# Makefile for chkmbox +# + +CC= gcc +LN= gcc + +CFLAGS= -c -O2 -Wall + +XMBOX_OBJS= chkmbox.o imapsocket.o + +all: chkmbox + +.c.o: + $(CC) $(CFLAGS) $< + +chkmbox.o: imapsocket.h + +chkmbox: $(XMBOX_OBJS) + $(LN) -o $@ $(XMBOX_OBJS) + diff --git a/app/xlockmore/etc/chkmbox/NoMail.xpm b/app/xlockmore/etc/chkmbox/NoMail.xpm new file mode 100644 index 000000000..21c69d564 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/NoMail.xpm @@ -0,0 +1,88 @@ +/* XPM */ +static char * image_name[] = { +"56 46 39 1", +" c #FFFFFBEEFFFF", +". c #B6DAAEBAB6DA", +"X c #082004100820", +"o c #9E799A699E79", +"O c #8E388A288E38", +"+ c #38E36DB6A699", +"@ c #BEFBB6DABEFB", +"# c #000000001861", +"$ c #A69979E78E38", +"% c #79E786179E79", +"& c #A699A289A699", +"* c #AEBAAEBAB6DA", +"= c #000008200820", +"- c #000000001040", +"; c #8E38861779E7", +": c #A6999E79A699", +"> c #71C679E78617", +", c #AEBA9E795965", +"< c #AEBAB2CACF3C", +"1 c #96589658AEBA", +"2 c #514471C68E38", +"3 c #FFFFF3CEFFFF", +"4 c #C71BBAEAC71B", +"5 c #CF3CC71BCF3C", +"6 c #EFBEF3CEF7DE", +"7 c #69A669A671C6", +"8 c #FFFFFFFFFFFF", +"9 c #AEBAA69971C6", +"0 c #AEBA61856185", +"q c #AEBAA699AEBA", +"w c #71C675D671C6", +"e c #5144A2894924", +"r c #861779E78617", +"t c #BEFBC30BCF3C", +"y c #69A68617BEFB", +"u c #A699A699A699", +"i c #965896589658", +"p c #F7DEB2CAAEBA", +"a c #51445555FFFF", +" .", +" ......................................................X", +" ...............oOO+O+O+O+OOoo.........................X", +" ........@....OO++++++++++X+X++o...@....@....@....@....X", +" o@..o@..o.@O++XoOo+#+#+@$%+OXXX+&...o@..o@..o..@o...o@X", +" ...@.*....O=+X+X+X.O-+=;%$OX+XXXXo*@....*...*@....*@..X", +" o.o.o@o@o+X+X+:oX+$+++$++.>,#+X+XXo.o@o@o@o@o.o@o@o.o.X", +" @*@..o.*+X+#+o.O@<*@+$*$*,1>$X+X+XXo.o*...*..o.*.*...oX", +" o.o.o@o+X+X++@2++O@.*<%@%1%-+>X+-+XXo@o@o@o@1.o@o@o@o@X", +" @..:*.+X+-+-++++$%..<..O<>,OO#+X+X+XX1.o*..o...o...o*.X", +" o.o.oOX+X+++++$%. .3..O.O.24O+XXXOX+X+o<o.1.o.o.1@1.o.X", +" .o.@.X+-+-+-++@ .......*1$O+X+OX++XXX+o.o...o.o.o...oX", +" o.o.++X++++$56@ . . ..O.O.7<X+XOXX+OXXX.:.o@1.o<o.o@1.X", +"3@1.o+#+-++O* . ......O@O%$+X+-+X+XX+.o.o.:.o.o<o.oX", +" o.1OX+o:O+$3. . . . ....O<;.O+X+X+X+-+XXo.1.o.o.o.o.o.X", +"3oo.++Xo:*5+ 8 . ......>9>$X+X+-+X+X+Xeo.:o:.o:o.:ooX", +" o@%OX+O++3* .8@8. . ..O.O.%.-+-+-+-+-XXXi.o.o.o.o.:.o.X", +" o10O.X+<++ .8.8. .....@..O.O+-+X+X+X+X+XXeo:oo1oooooooX", +" o.+OOqX+q3+ .8.8.8.8.@O.O.O.X+X+-+-+XXOX+.1.o.o.1.o.1.X", +" oo%%*O.X@*@...*......*...%$O+X+X+-+XXOX+Xiooo:2ooo:oooX", +" oq+;O@OO-+$%.. . .....O.O@w<O+-+X+-+-+XX+oo.oo:.@o@4ooX", +"3oo+O1O..OX+X+=........<$eOOOOo+-+XX-+-+X-o:io:o@::ooooX", +" o:+>:.O.X+X+-+X+O.O.O.O.$<O0+2+o+$+-XX+Xiqoo:o$q%<oi:oX", +" :o+2,ooO+X+X+X+=+@..@O%$;O12o+;+++X+X+XX-o:$o*>::oo:@oX", +" O1+:O>o:X+-+X+-+X$X.O.O*>O+O+>+%++++-X-:eoi:e::oe::oei-", +"3oo+O$O%:+X+-+-+X+X+=+%$OO1>,1++++++-++X-o:e:oreO$io:iqX", +" oo0+%+;$%+-+X+-+-+X+X++%+,+2+%++a+-a-++Xoq>>io:+>iOr>o-", +"3ooy+;1>%O++X+-+X+X+X+#>9>+$+i++++++i++->oeioqoo:eoqoioX", +" eqe$+$+%$>O+X+X+-+-+XO++++++@++++++++X.e<eoi<@oO.@.O0<X", +" ::q1=0%>,O>u+X+X+X+X+O#36 3 3 888 +>iX", +" $oOo+++O+2+OX+-+-+-++$X .. . . 888 upu X+:X", +" o%ooo#++>+O>+-+X+XoO%+X . . . ;u, -,OX", +" ,O%o%;+++$+O-+-+-o+$+>X +pp X+oX", +" :>o;:$+#++O++X+X++>+++X ppp ->OX", +" %1Oo%oO++++$#+Xu+;+$++# O%... X+:X", +" >,o$OOo$+#+++-++++++++X XOOX", +" O1Oo%o%qO+++++-++++++-X O;.O..O... X+1X", +" ;$e%;$,2$$++-+++++a+++X XOOX", +" $1$*%OO:%o1q++-+-+X+-+- $%..O.O;@8 X+oX", +" %O%O21O%%Oi2$$+-+-+-+-X 88 8 X$OX", +" ;,>o,$O1%>O:O%;&++X+X+X 88 8 X+>-", +"6%$%%>%O>,O0OO%$>O>$$OOX 88 8 X2,X", +" %o%$%OO%$:%%,>%1,1%;>OO++=X=XX=X=XX=XXXXXXXXX=XX=XXX+>-", +" i;$e%$%>O%;12OO%$;%1>92$O+O+O+O+O+O+O+O+O+O+O+O+O+O+OOX", +" $>9$>OOe$>OO01O%%$>,2>1;$>OO$>,>O$>,>O$>,2OO$>,>O$>9>1X", +".XXX--XX#--X-XXXXXXXX--XXX-X-X-X--X-X--X-X-X-X-X--X-XXXX"}; diff --git a/app/xlockmore/etc/chkmbox/chkmbox.c b/app/xlockmore/etc/chkmbox/chkmbox.c new file mode 100644 index 000000000..ea5f51957 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/chkmbox.c @@ -0,0 +1,63 @@ +/****************************************************************************/ +/* + * xmbox.c -- Module to check for mail using an IMAP socket + * + * Logon to an IMAP server and check for unread messages. Return 0 if + * no RECENT or UNSEEN mail exists in the user's INBOX or > 0 if messages + * exist. + * + * Author: Michael P. Duane mduane@seanet.com + * Date: August 12, 1997 + * + * Copyright (c) 1997-98 by Michael P. Duane + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation. + * + * This file is provided AS IS with no warranties of any kind. The author + * shall have no liability with respect to the infringement of copyrights, + * trade secrets or any patents by this file or any part thereof. In no + * event will the author be liable for any lost revenue or profits or + * other special, indirect and consequential damages. + * + * Revision History: + * + ****************************************************************************/ + +#include <stdio.h> +#include <fcntl.h> +#include <string.h> +#include <stdarg.h> +#include <stdlib.h> +#include <unistd.h> + +#include "imapsocket.h" + +char dftname [] = "chkmbox.cfg"; + +/*************************************************************************/ +int main( int argc, char **argv ) +{ +char *cfgname; +int msgnbr = -1; + + my_name = GetProgramName( *argv ); + + if ( argc >= 2 ) + cfgname = *(argv+1); + else + cfgname = dftname; + + RedirectErrLog(); + GetImapCfgInfo( cfgname ); + if ( !InitSocketAddr() ) + if ( !ServerLogin() ) /* Any errors here it will behave as "no mail" */ + msgnbr = CheckInbox(); + ServerLogout(); + + return( msgnbr ); + +} /* main */ diff --git a/app/xlockmore/etc/chkmbox/chkmbox.cfg b/app/xlockmore/etc/chkmbox/chkmbox.cfg new file mode 100644 index 000000000..439f20950 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/chkmbox.cfg @@ -0,0 +1,7 @@ +# Configuration file for chkmbox + +Hostname = <mail host name> +port = 143 +User = <mail user name> +password = <mail user password> + diff --git a/app/xlockmore/etc/chkmbox/imapsocket.c b/app/xlockmore/etc/chkmbox/imapsocket.c new file mode 100644 index 000000000..6e46077cc --- /dev/null +++ b/app/xlockmore/etc/chkmbox/imapsocket.c @@ -0,0 +1,553 @@ +/****************************************************************************/ +/* + * imapsocket.c -- Module to check for mail using an IMAP socket + * + * Functions to logon to an IMAP server and check the user's INBOX for + * RECENT or UNSEEN mail. Errors may be logged to ~/.xsession-errors if + * stderr is redirected by a call to RedirectErrLog(), otherwise they are + * written to stderr. + * + * It is intended to be used as a set of library functions by a program + * that displays and icon, lights a keyboard LED or otherwise notifies + * a user that mail is waiting to be read. + * + * Author: Michael P. Duane mduane@seanet.com + * Date: August 12, 1997 + * + * Copyright (c) 1997-98 by Michael P. Duane + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation. + * + * This file is provided AS IS with no warranties of any kind. The author + * shall have no liability with respect to the infringement of copyrights, + * trade secrets or any patents by this file or any part thereof. In no + * event will the author be liable for any lost revenue or profits or + * other special, indirect and consequential damages. + * + * Revision History: + * + ****************************************************************************/ + +#include <stdio.h> +#include <errno.h> +#include <ctype.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> +#include <fcntl.h> +#include <string.h> +#include <stdarg.h> +#include <stdlib.h> +#include <unistd.h> + +#ifndef FALSE +#define FALSE 0 +#define TRUE ~FALSE +#endif + +#define MAX_BUFFER_SIZE 8192 +#define MAX_BUFFER_LINES 32 + +#define SOCKET_ERROR (-1) + +char *my_name = ""; + +int fdImap = (-1); +struct sockaddr_in addrImap; + +int seq_num = 0; +char tag [ 8]; + +char hostname [64] = ""; +short port = 0; + +char user [64] = ""; +char passwd [64] = ""; + +char recv_buf [MAX_BUFFER_SIZE]; +char *line [MAX_BUFFER_LINES]; + +/****************************************************************************/ +/* + * GetProgramName() + * + * Extract just the basename from argv[0]. 'basename()' doesn't exist + * on all systems. + */ +char *GetProgramName( char *fullname ) +{ +char *name; + + return( name = ( (name = strrchr( fullname, '/' )) ? ++name : fullname ) ); + +} /* GetProgramName */ + +/****************************************************************************/ +/* + * RedirectErrLog() + * + * Redirect stderr to $HOME/.xsesson-errors. Create it if it doesn't + * exist, append to it if it does. + * + */ +int RedirectErrLog( void ) +{ +char *home; +char xsesserr [255]; +int mode = (O_CREAT | O_APPEND | O_WRONLY); +int fderr; + + if ( (home = getenv( "HOME" )) != NULL ) { + strcat( strcpy( xsesserr, home ), "/.xsession-errors" ); + if ( (fderr = open( xsesserr, mode, 0600 )) > 0 ) { + close( STDERR_FILENO ); + if ( dup( fderr ) == STDERR_FILENO ) + close( fderr ); + } + return( 0 ); + } + + return( -1 ); + +}/* RedirectErrLog */ + +/****************************************************************************/ +/* + * LogMessage() + * + * Prepend all error messages with my program name and log the corresponding + * errno description string where appropriate. + */ +void LogMessage( char *msg, int errval ) +{ + + if ( errval ) + fprintf( stderr, "%s: %s, %s\n", my_name, msg, strerror( errval ) ); + else + fprintf( stderr, "%s: %s\n", my_name, msg ); + +} /* LogMessage */ + +/****************************************************************************/ +/* + * ParseToken() + * + * Validate the "token = value" sequence to include a known token and + * a valid assignment operator. Store the value in a global on success. + */ +static void ParseToken( char *token, char *assign, char *value ) +{ +char errmsg [255]; +int i; + + for ( i=0; i< strlen( token ); i++ ) + *(token+i) = toupper( *(token+i) ); + + if ( strcmp( assign, "=" ) ) { + sprintf( errmsg, "\"%s\" missing assignment", token ); + LogMessage( errmsg, 0 ); + return; + } + + if ( !strcmp( token, "HOSTNAME" ) ) + strcpy( hostname, value ); + else if ( !strcmp( token, "PORT" ) ) + port = (short)strtol( value, (char **)NULL, 0 ); + else if ( !strcmp( token, "USER" ) ) + strcpy( user, value ); + else if ( !strcmp( token, "PASSWORD" ) ) + strcpy( passwd, value ); + else { + sprintf( errmsg, "Unexpected configuration token: \"%s\"", token ); + LogMessage( errmsg, 0 ); + } + +} /* ParseToken */ + +/****************************************************************************/ +static char *GetNextToken( char *str ) +{ + + return( strtok( str, " \t\n\r" ) ); + +} /* GetNextToken */ + +/****************************************************************************/ +/* + * GetImapCfgInfo() + * + * Reads the program configuration file looking for assignments of the + * form "token = value". '#' begins a comment that contiues to EOL. + */ +int GetImapCfgInfo( char *cfgfile ) +{ +FILE *cfg; +char txtbuf [512]; +char *txt; +char *tok; +char *assign; +char *val; + + if ( (cfg = fopen( cfgfile, "r" )) != NULL ) { + do { + if ( (txt = fgets( txtbuf, sizeof( txtbuf ), cfg )) != NULL) { + if ( (tok = GetNextToken( txt )) ) { + assign = val = NULL; + if ( strlen( tok ) ) { + if ( strchr( tok, '#' ) ) + continue; + assign = GetNextToken( NULL ); + val = GetNextToken( NULL ); + GetNextToken( NULL ); /* strip to eol */ + } + if ( assign && val ) + ParseToken( tok, assign, val ); + } + } + } while( !feof( cfg ) ); + fclose( cfg ); + } + else { + LogMessage( cfgfile, errno ); + return( -1 ); + } + + return( 0 ); + +} /* GetImapCfgInfo */ + +/****************************************************************************/ +/* + * InitSocketAddr() + * + * Setup and validate the host/port address for the IMAP socket + */ + +int InitSocketAddr( void ) +{ +struct hostent *host_info; +char addr_str [ 32]; + + if ( (host_info = gethostbyname( hostname )) == NULL ) { + LogMessage( "Host name error", errno ); + return( -1 ); + } + + sprintf( addr_str,"%u.%u.%u.%u", + (unsigned char)host_info->h_addr_list[0][0], + (unsigned char)host_info->h_addr_list[0][1], + (unsigned char)host_info->h_addr_list[0][2], + (unsigned char)host_info->h_addr_list[0][3] + ); + + addrImap.sin_family = PF_INET; + addrImap.sin_addr.s_addr = inet_addr( addr_str ); + addrImap.sin_port = htons( port ); + + if ( addrImap.sin_addr.s_addr == INADDR_NONE ) { + LogMessage( "Socket Address Error", errno ); + return( -1 ); + } + + return( 0 ); + +} /* InitSocketAddr */ + +/****************************************************************************/ +/* + * ConnectSocket() + * + * Open and connect to the IMAP socket + */ + +static int ConnectSocket( struct sockaddr_in *addrImap ) +{ + + if ( addrImap->sin_addr.s_addr == INADDR_NONE ) { + LogMessage( "Socket Address Error", errno ); + return( -1 ); + } + + if ( (fdImap = socket( AF_INET, SOCK_STREAM, 0 )) == SOCKET_ERROR ) { + LogMessage( "Error opening socket", errno ); + return( -1 ); + } + + if ( connect( fdImap, (struct sockaddr *)addrImap, + sizeof( struct sockaddr )) == SOCKET_ERROR ) { + close( fdImap ); + fdImap = (-1); + LogMessage( "Socket Connection error", errno ); + return( -1 ); + } + + return( 0 ); + +} /* ConnectSocket */ + +/****************************************************************************/ +/* + * OpenImapSocket() + * + * Connect to the IMAP socket and make sure the IMAP service responds. + */ + +static int OpenImapSocket( struct sockaddr_in *addrImap ) +{ +int i; + + if ( ConnectSocket( addrImap ) ) + return( -1 ); + + seq_num = 0; + memset( recv_buf, 0, sizeof( recv_buf ) ); + + for( i=0; i<MAX_BUFFER_LINES; i++ ) + line[i] = NULL; + + if ( recv( fdImap, (char *)recv_buf, + sizeof( recv_buf ), 0 ) == SOCKET_ERROR ) { + close( fdImap ); + fdImap = (-1); + LogMessage( "Socket revc error", errno ); + return( -1 ); + } + + if ( strncmp( "* OK", recv_buf, 4 ) == 0 ) { + return( 0 ); + } + else { + close( fdImap ); + LogMessage( "IMAP service timeout", 0 ); + return( -1 ); + } + +} /* OpenImapSocket */ + +/****************************************************************************/ +/* + * ImapCmd() + * + * Send an IMAP command to the socket. The "tag" is used by the IMAP + * protocol to match responses to commands. + */ + +static int ImapCmd( char *fmt, ... ) +{ +char cmd_buf [128]; +va_list argp; + + sprintf( tag, "A%3.3d", ++seq_num ); + sprintf( cmd_buf, "%s ", tag ); + + va_start( argp, fmt ); + vsprintf( &cmd_buf[ strlen( cmd_buf ) ], fmt, argp ); + va_end( argp ); + + if ( send( fdImap, cmd_buf, strlen( cmd_buf ), 0 ) == SOCKET_ERROR ) { + close( fdImap ); + fdImap = (-1); + LogMessage( "IMAP send error", errno ); + return( -1 ); + } + + return( 0 ); + +} /* ImapCmd */ + +/****************************************************************************/ +/* + * GetImapMsg() + * + * Get an IMAP response and check for the tag and for the "OK". + */ + +static int GetImapMsg( char *buf, int size ) +{ +char tmp [16]; + + memset( buf, 0, size ); + + if ( recv( fdImap, (char *)buf, size, 0 ) == SOCKET_ERROR ) { + close( fdImap ); + fdImap = (-1); + LogMessage( "IMAP read error", errno ); + return( -1 ); + } + + sprintf( tmp, "%s OK", tag ); + + if ( strstr( buf, tmp ) != NULL ) + return( 0 ); + else { + LogMessage( "IMAP command error", 0 ); + return( -1 ); + } + +} /* GetImapMsg */ + +/****************************************************************************/ +/* + * ServerLogin( void ) + * + * Start the IMAP session to check for new mail + * RETURN: 0 for success or -1 for failure + */ + +int ServerLogin( void ) +{ +int status = -1; + + if ( !OpenImapSocket( &addrImap ) ) { + if ( !ImapCmd( "LOGIN %s %s\n", user, passwd ) ) { + if ( GetImapMsg( recv_buf, sizeof( recv_buf ) ) ) + LogMessage( "IMAP LOGIN error", 0 ); + else + status = 0; + } + } + + return( status ); + +} /* ServerLogin */ + +/****************************************************************************/ +/* + * ServerLogout() + * + * Close the IMAP session + * RETURN: none + */ + +void ServerLogout( void ) +{ + + if ( !ImapCmd( "LOGOUT\n" ) ) + GetImapMsg( recv_buf, sizeof( recv_buf ) ); + + close( fdImap ); + +} /* ServerLogout */ + +/****************************************************************************/ +/* + * ParseBufLines() + * + * Parse the response into single lines. + * + * ARGS: b - raw response buffer + * l - an array char * for the individual lines + * + * RETURN: the number of lines + * + */ + +static int ParseBufLines( char *b, char *l[] ) +{ +int i; + + for ( i=0; i<MAX_BUFFER_LINES; i++ ) + l[i] = NULL; + + if ( (l[0] = strtok( b, "\n" )) == NULL ) + return( 0 ); + + for ( i=1; i<MAX_BUFFER_LINES; i++ ) { + if ( (l[i] = strtok( NULL, "\n" )) == NULL ) + return( i ); + } + + return( MAX_BUFFER_LINES ); + +} /* ParseBufLines */ + +/****************************************************************************/ +/* + * CheckRecent() + * + * This routine looks through an array of lines for the "RECENT" response + * and returns the number of "RECENT" message. If there are no "RECENT" + * messages it then checks for any "UNSEEN" messages. + * + * ARGS: b - raw response buffer + * l - an array char * for the individual lines + * + * RETURN: number. 0 is no messages. For messages found with the + * RECENT command number is the count of RECENT messages. For + * messages found with the UNSEEN command 'number' is the + * message number of an UNSEEN message. + */ + +static int CheckRecent( char *b, char *l[] ) +{ +int i; +int num_msg = -1; + +/* + * Check for new messages that have arrived since the last time we looked + */ + if ( !GetImapMsg( recv_buf, sizeof( recv_buf ) ) ) { + if ( ParseBufLines( b, l ) > 0 ) { + for( i=0; i<MAX_BUFFER_LINES; i++ ) { + if ( strstr( l[i], "RECENT" ) != NULL ) + break; + } + sscanf( l[i], "%*s %d %*s", &num_msg ); + } + } +/* + * If nothing new has arrived check for any messages that may still be + * in the mailbox but have not been read + */ + if ( num_msg <= 0 ) { + if ( !ImapCmd( "SEARCH UNSEEN\n" ) ) { + if ( !GetImapMsg( recv_buf, sizeof( recv_buf ) ) ) { + if ( ParseBufLines( b, l ) > 0 ) { + for( i=0; i<MAX_BUFFER_LINES; i++ ) { + if ( strstr( l[i], "SEARCH" ) != NULL ) + break; + } + sscanf( l[i], "%*s %*s %d", &num_msg ); + } + } + } + } +/* + * Any non-zero value means there are messages that have not been read. + * This is not a count or an index to the newest message + */ + return( num_msg ); + +} /* CheckRecent */ + +/****************************************************************************/ +/* + * CheckInbox() + * + * This is the IMAP session to check for new mail + * + * RETURN: 1 for no messages, 0 if messages exist. /* Inverted by DAB */ + */ + +int CheckInbox( void ) +{ +int status = -1; + + if ( fdImap < 0 ) { + if ( ServerLogin() ) + return( !status ); /* Inverted by DAB */ + } + + if ( !ImapCmd( "EXAMINE INBOX\n" ) ) + status = CheckRecent( recv_buf, line ); + + return( !status ); /* Inverted by DAB */ + +} /* CheckInbox */ + +/****************************************************************************/ +/* end of imapsocket.c */ diff --git a/app/xlockmore/etc/chkmbox/imapsocket.h b/app/xlockmore/etc/chkmbox/imapsocket.h new file mode 100644 index 000000000..506eb76e4 --- /dev/null +++ b/app/xlockmore/etc/chkmbox/imapsocket.h @@ -0,0 +1,48 @@ +/****************************************************************************/ +/* + * imapsocket.h -- Module to check for mail using an IMAP socket + * + * Functions to logon to an IMAP server and check the user's INBOX for + * RECENT or UNSEEN mail. Errors may be logged to ~/.xsession-errors if + * stderr is redirected by a call to RedirectErrLog(), otherwise they are + * written to stderr. + * + * It is intended to be used as a set of library functions by a program + * that displays and icon, lights a keyboard LED or otherwise notifies + * a user that mail is waiting to be read. + * + * Author: Michael P. Duane mduane@seanet.com + * Date: August 12, 1997 + * + * Copyright (c) 1997-98 by Michael P. Duane + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation. + * + * This file is provided AS IS with no warranties of any kind. The author + * shall have no liability with respect to the infringement of copyrights, + * trade secrets or any patents by this file or any part thereof. In no + * event will the author be liable for any lost revenue or profits or + * other special, indirect and consequential damages. + * + * Revision History: + * + ****************************************************************************/ + +#ifndef IMAPSOCKET_H +#define IMAPSOCKET_H + +extern char *my_name; + +int RedirectErrLog( void ); +char *GetProgramName( char *fullname ); +int GetImapCfgInfo( char *cfgfile ); +int InitSocketAddr( void ); +int ServerLogin( void ); +void ServerLogout( void ); +int CheckInbox( void ); + +#endif /* IMAPSOCKET_H */ diff --git a/app/xlockmore/etc/descrip.mms b/app/xlockmore/etc/descrip.mms new file mode 100644 index 000000000..db5951b48 --- /dev/null +++ b/app/xlockmore/etc/descrip.mms @@ -0,0 +1,334 @@ +# This is no longer maintained since I can not test it. +############################################################ +# Make file to makexlock.exe on a VMS system. +# +# Created By J.Jansen 12 February 1996 +# +# Usage : type MMS in the directory containing the source +# +# It automatically detects the existance of the XPM-library and the XVMSUTILS +# library to use the new (better) features of the program. It is assumed that +# both libraries if exist are in the directory with logical symbol X11. +# +# +############################################################ + +# default target + +C = .c +#C++ +#C = .cc + +#VMS +O = .obj +S = , +E = .exe +A = ;* + +all : macro xmlock$(E) + @ $(ECHO) "" + +macro : + @ xvms = f$search("X11:XVMSUTILS.OLB").nes."" + @ xpm = f$search("X11:LIBXPM.OLB").nes."" + @ axp = f$getsyi("HW_MODEL").ge.1024 + @ macro = "" + @ if axp.or.xvms.or.xpm then macro = "/MACRO=(" + @ if axp then macro = macro + "__ALPHA__=1," + @ if xpm then macro = macro + "__XPM__=1," + @ if xvms then macro = macro + "__XVMSUTILS__=1," + @ if macro.nes."" then macro = f$extract(0,f$length(macro)-1,macro)+ ")" + $(MMS)$(MMSQUALIFIERS)'macro' xlock$(E) + +BITMAPDIR = [.bitmaps] +PIXMAPDIR = [.pixmaps] +CONFIGDIR = [.config] +GLDIR = [.glx] +HACKERDIR = [.hackers] + +#CC = gcc -g -Wall -ansi -pedantic +#CC = gcc -g -Wall +#CC = g++ -g -Wall +CC = cc +#CC = cxx + +BITMAPTYPE = x11 +PIXMAPTYPE = x11 + +# Here is your chance to override the default icon: +TINYBITMAP = $(BITMAPTYPE) +TINYBITMAP = t-x11 +SMALLBITMAP = s-$(BITMAPTYPE) +MEDIUMBITMAP = m-$(BITMAPTYPE) +LARGEBITMAP = l-$(BITMAPTYPE) +MEDIUMPIXMAP = m-$(PIXMAPTYPE) +LARGEPIXMAP = l-$(PIXMAPTYPE) + +#EYESBITMAP = $(MEDIUMBITMAP) +EYESBITMAP = m-grelb +IMAGEBITMAP = $(MEDIUMBITMAP) +#IMAGEBITMAP = m-xlock +#LIFEBITMAP = $(SMALLBITMAP) +LIFEBITMAP = s-grelb +LIFE1DBITMAP = $(TINYBITMAP) +MAZEBITMAP = $(LARGEBITMAP) +#MAZEBITMAP = m-xlock +#PACMANBITMAP = $(MEDIUMBITMAP) +PACMANBITMAP = m-ghost +#PUZZLEBITMAP = $(LARGEBITMAP) +PUZZLEBITMAP = l-xlock +IMAGEPIXMAP = $(MEDIUMPIXMAP) +#IMAGEPIXMAP = m-xlock +#PUZZLEPIXMAP = $(LARGEPIXMAP) +PUZZLEPIXMAP = l-xlock + +RM = delete/noconfirm +RM_S = set file/remove +ECHO = write sys$output +BLN_S = set file/enter=[] + +.IFDEF __ALPHA__ +#SYSTEMDEF = /standard=vaxc +SOUNDOBJS = $(S)amd$(O) +SOUNDSRCS = amd$(C) +SOUNDDEF = ,VMS_PLAY +.ENDIF +.IFDEF __XPM__ +XPMDEF = ,HAVE_XPM +.ENDIF +.IFDEF __XVMSUTILS__ +XVMSUTILSDEF = ,HAVE_XVMSUTILS +.ENDIF + +# Add hackers modes as you like. It may make your xlock unstable. +# Please do not uncomment for precompiled distributions. +#HACKERDEF = ,USE_HACKERS +#XLOCKHACKEROBJS = + + +CFLAGS = /define = (VMS,USE_VROOT,USE_BOMB$(SOUNDDEF)$(XPMDEF)$(XVMSUTILSDEF)$(GLDEF)$(HACKERDEF))$(SYSTEMDEF) +LDFLAGS = + +VER = xlockmore +DISTVER = xlockmore-4.00 + + +#################################################################### +# List of object files + + +XLOCKCOREOBJS = +XLOCKMODEOBJS = +XLOCKGLOBJS = +XLOCKCOREMODEOBJS = blank$(O)$(S)bomb$(O)$(S)random$(O) +XLOCKOBJS = $(XLOCKCOREOBJS)$(S)$(XLOCKMODEOBJS)$(S)\ +$(XLOCKGLOBJS)$(XLOCKHACKEROBJS)$(S)$(XLOCKCOREMODEOBJS) +XMLOCKOBJS = option$(O)$(S)xmlock$(O) + +#################################################################### +# List of source files +# Used for lint, and some dependencies. + +BITMAPS = eyes.xbm ghost.xbm image.xbm life.xbm life1d.xbm \ +maze.xbm puzzle.xbm +PIXMAPS = image.xpm puzzle.xpm +XLOCKHDRS = xlock.h mode.h vroot.h ras.h version.h config.h +XLOCKCORESRCS = +XLOCKMODESRCS = +XLOCKGLSRCS = +XLOCKCOREMODESRCS = blank$(C) bomb$(C) random$(C) +XLOCKHACKERSRCS = +XLOCKSRCS = $(XLOCKCORESRCS) $(XLOCKMODESRCS) $(XLOCKCOREMODESRCS) \ +$(XLOCKGLSRCS) $(XLOCKHACKERSRCS) +XMLOCKSRCS = option$(C) xmlock$(C) + + +######################################################################### + +xlock$(E) : $(XLOCKOBJS)$(S)xlock.opt + link/map $(XLOCKOBJS)$(S)xlock.opt/opt + @ $(ECHO) "$@ BUILD COMPLETE" + @ $(ECHO) "" + +xmlock$(E) : $(XMLOCKOBJS)$(S)xmlock.opt + link/map $(XMLOCKOBJS)$(S)xmlock.opt/opt + @ $(ECHO) "$@ BUILD COMPLETE" + @ $(ECHO) "" + +xlock.opt : + @ close/nolog optf + @ open/write optf xlock.opt +# @ if .not. axp then write optf "sys$library:vaxcrtl/lib" + @ write optf "sys$library:vaxcrtl/lib" + @ if axp then write optf "sys$library:ucx$ipc_shr/share" + @ if axp then write optf "sys$share:decw$xextlibshr/share" + @ if axp then write optf "sys$share:decw$xtlibshrr5/share" + @ if .not. axp then write optf "sys$library:ucx$ipc/lib" +# @ write optf "sys$share:decw$dxmlibshr/share" + @ write optf "sys$share:decw$xmlibshr12/share" + @ write optf "sys$share:decw$xlibshr/share" + @ close optf + +xmlock.opt : + @ close/nolog optf + @ open/write optf xmlock.opt +# @ if .not. axp then write optf "sys$library:vaxcrtl/lib" + @ write optf "sys$library:vaxcrtl/lib" + @ if axp then write optf "sys$library:ucx$ipc_shr/share" + @ if axp then write optf "sys$share:decw$xextlibshr/share" + @ if axp then write optf "sys$share:decw$xtlibshrr5/share" + @ if .not. axp then write optf "sys$library:ucx$ipc/lib" +# @ write optf "sys$share:decw$dxmlibshr/share" + @ write optf "sys$share:decw$xmlibshr12/share" + @ write optf "sys$share:decw$xlibshr/share" + @ close optf + +eyes$(O) : eyes$(C) eyes.xbm +flag$(O) : flag$(C) flag.xbm +life$(O) : life$(C) life.xbm +life1d$(O) : life1d$(C) life1d.xbm +maze$(O) : maze$(C) maze.xbm +pacman$(O) : pacman$(C) ghost.xbm +# Do not need xpm files if not using them but not worth figuring out +image$(O) : image$(C) image.xbm image.xpm +puzzle$(O) : puzzle$(C) puzzle.xbm puzzle.xpm + +eyes.xbm : $(BITMAPDIR)$(EYESBITMAP).xbm + $(BLN_S)eyes.xbm $(BITMAPDIR)$(EYESBITMAP).xbm + +flag.xbm : $(BITMAPDIR)$(FLAGBITMAP).xbm + $(BLN_S)flag.xbm $(FLAGDIR)$(FLAGBITMAP).xbm + +image.xbm : $(BITMAPDIR)$(IMAGEBITMAP).xbm + $(BLN_S)image.xbm $(BITMAPDIR)$(IMAGEBITMAP).xbm + +ghost.xbm : $(BITMAPDIR)$(PACMANBITMAP).xbm + $(BLN_S)ghost.xbm $(BITMAPDIR)$(PACMANBITMAP).xbm + +life.xbm : $(BITMAPDIR)$(LIFEBITMAP).xbm + $(BLN_S)life.xbm $(BITMAPDIR)$(LIFEBITMAP).xbm + +life1d.xbm : $(BITMAPDIR)$(LIFE1DBITMAP).xbm + $(BLN_S)life1d.xbm $(BITMAPDIR)$(LIFE1DBITMAP).xbm + +maze.xbm : $(BITMAPDIR)$(MAZEBITMAP).xbm + $(BLN_S)maze.xbm $(BITMAPDIR)$(MAZEBITMAP).xbm + +puzzle.xbm : $(BITMAPDIR)$(IMAGEBITMAP).xbm + $(BLN_S)puzzle.xbm $(BITMAPDIR)$(IMAGEBITMAP).xbm + +image.xpm : $(PIXMAPDIR)$(IMAGEPIXMAP).xpm + $(BLN_S)image.xpm $(PIXMAPDIR)$(IMAGEPIXMAP).xpm + +puzzle.xpm : $(PIXMAPDIR)$(PUZZLEPIXMAP).xpm + $(BLN_S)puzzle.xpm $(PIXMAPDIR)$(PUZZLEPIXMAP).xpm + +amd$(C) : $(CONFIGDIR)amd$(C) + $(BLN_S)amd$(C) $(CONFIGDIR)amd$(C) + +amd.h : $(CONFIGDIR)amd.h + $(BLN_S)amd.h $(CONFIGDIR)amd.h + +amd$(O) : amd$(C) amd.h + +atlantis$(C) : $(GLDIR)atlantis$(C) + $(BLN_S) atlantis$(C) $(GLDIR)atlantis$(C) + +dolphin$(C) : $(GLDIR)dolphin$(C) + $(BLN_S) dolphin$(C) $(GLDIR)dolphin$(C) + +shark$(C) : $(GLDIR)shark$(C) + $(BLN_S) shark$(C) $(GLDIR)shark$(C) + +swim$(C) : $(GLDIR)swim$(C) + $(BLN_S) swim$(C) $(GLDIR)swim$(C) + +whale$(C) : $(GLDIR)whale$(C) + $(BLN_S) whale$(C) $(GLDIR)whale$(C) + +cage$(C) : $(GLDIR)cage$(C) + $(BLN_S) cage$(C) $(GLDIR)cage$(C) + +gears$(C) : $(GLDIR)gears$(C) + $(BLN_S) gears$(C) $(GLDIR)gears$(C) + +moebius$(C) : $(GLDIR)moebius$(C) + $(BLN_S) moebius$(C) $(GLDIR)moebius$(C) + +morph3d$(C) : $(GLDIR)morph3d$(C) + $(BLN_S) morph3d$(C) $(GLDIR)morph3d$(C) + +superquadrics$(C) : $(GLDIR)superquadrics$(C) + $(BLN_S) superquadrics$(C) $(GLDIR)superquadrics$(C) + +buildlwo$(C) : $(GLDIR)buildlwo$(C) + $(BLN_S) buildlwo$(C) $(GLDIR)buildlwo$(C) + +pipes$(C) : $(GLDIR)pipes$(C) + $(BLN_S) pipes$(C) $(GLDIR)pipes$(C) + +pipeobjs$(C) : $(GLDIR)pipeobjs$(C) + $(BLN_S) pipeobjs$(C) $(GLDIR)pipeobjs$(C) + +sproingies$(C) : $(GLDIR)sproingies$(C) + $(BLN_S)sproingies$(C) $(GLDIR)sproingies$(C) + +sproingiewrap$(C) : $(GLDIR)sproingiewrap$(C) + $(BLN_S)sproingiewrap$(C) $(GLDIR)sproingiewrap$(C) + +s1_b$(C) : $(GLDIR)s1_b$(C) + $(BLN_S)s1_b$(C) $(GLDIR)s1_b$(C) + +s1_1$(C) : $(GLDIR)s1_1$(C) + $(BLN_S)s1_1$(C) $(GLDIR)s1_1$(C) + +s1_2$(C) : $(GLDIR)s1_2$(C) + $(BLN_S)s1_2$(C) $(GLDIR)s1_2$(C) + +s1_3$(C) : $(GLDIR)s1_3$(C) + $(BLN_S)s1_3$(C) $(GLDIR)s1_3$(C) + +s1_4$(C) : $(GLDIR)s1_4$(C) + $(BLN_S)s1_4$(C) $(GLDIR)s1_4$(C) + +s1_5$(C) : $(GLDIR)s1_5$(C) + $(BLN_S)s1_5$(C) $(GLDIR)s1_6$(C) + +s1_6$(C) : $(GLDIR)s1_6$(C) + $(BLN_S)s1_6$(C) $(GLDIR)s1_6$(C) + +################################################################ + +install : + +uninstall : + +################################################################ +# Miscellaneous targets + +clean : + @ close/nolog optf + @ purge + @ $(RM) *.lis$(A) + @ $(RM) *.obj$(A) + @ $(RM) *.opt$(A) + @ $(RM) *.map$(A) + @ $(RM_S) eyes.xbm$(A) + @ $(RM_S) flag.xbm$(A) + @ $(RM_S) image.xbm$(A) + @ $(RM_S) ghost.xbm$(A) + @ $(RM_S) life.xbm$(A) + @ $(RM_S) life1d.xbm$(A) + @ $(RM_S) maze.xbm$(A) + @ $(RM_S) puzzle.xbm$(A) + @ $(RM_S) image.xpm$(A) + @ $(RM_S) puzzle.xpm$(A) + @ $(RM_S) amd.h$(A) + @ $(RM_S) amd.c$(A) + +distclean : clean + @ $(RM) xlock$(E)$(A) + @ $(RM) xmlock$(E)$(A) + +read : + more README diff --git a/app/xlockmore/etc/dtprofile b/app/xlockmore/etc/dtprofile new file mode 100644 index 000000000..53b484c33 --- /dev/null +++ b/app/xlockmore/etc/dtprofile @@ -0,0 +1,287 @@ +############################################################################# +### +### .dtprofile +### +### user personal environment variables +### +### Common Desktop Environment (CDE) +### +### (c) Copyright 1993, 1994 Hewlett-Packard Company +### (c) Copyright 1993, 1994 International Business Machines Corp. +### (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc. +### (c) Copyright 1993, 1994 Novell, Inc. +### +### +### $Revision: 1.1 $ +### +############################################################################# + + +############################################################################# +### +### Your $HOME/.dtprofile is read each time you login to the Common Desktop +### Environment (CDE) and is the place to set or override desktop +### environment variables for your session. Environment variables set in +### $HOME/.dtprofile are made available to all applications on the desktop. +### The desktop will accept either sh or ksh syntax for the commands in +### $HOME/.dtprofile. +### +############################################################################# + + +############################################################################# +### +### Random stdout and stderr output from apps started by Session Mgr or +### by actions via front panel or workspace menu can be directed into +### the user's $HOME/.dt/sessionlogs directory. By default this output +### is not recorded. Instead it is sent off to /dev/null (Unix's "nothing" +### device). +### +### If this random application output is wanted (usually only wanted for +### debugging purposes), commenting out following "dtstart_sessionlogfile" +### lines will send output to your $HOME/.dt/sessionlogs directory. +### +### Alternatively, can change "/dev/null" to "/dev/console" to see this +### debugging output on your console device. Can start a console via the +### Workspace programs menu or via Application Mgr's Desktop Tools +### "Terminal Console" icon. +### +############################################################################# + +export dtstart_sessionlogfile="/dev/null" + + +############################################################################# +### +### By default, the desktop does not read your standard $HOME/.profile +### or $HOME/.login files. This can be changed by uncommenting the +### DTSOURCEPROFILE variable assignment at the end of this file. The +### desktop reads .profile if your $SHELL is "sh" or "ksh", or .login +### if your $SHELL is "csh". +### +### The desktop reads the .dtprofile and .profile/.login without an +### associated terminal emulator such as xterm or dtterm. This means +### there is no available command line for interaction with the user. +### This being the case, these scripts must avoid using commands that +### depend on having an associated terminal emulator or that interact +### with the user. Any messages printed in these scripts will not be +### seen when you log in and any prompts such as by the 'read' command +### will return an empty string to the script. Commands that set a +### terminal state, such as "tset" or "stty" should be avoided. +### +### With minor editing, it is possible to adapt your .profile or .login +### for use both with and without the desktop. Group the statements not +### appropriate for your desktop session into one section and enclose them +### with an "if" statement that checks for the setting of the "DT" +### environment variable. When the desktop reads your .profile or .login +### file, it will set "DT" to a non-empty value for which your .profile or +### .login can test. +### +### example for sh/ksh +### +### if [ ! "$DT" ]; then +### # +### # commands and environment variables not appropriate for desktop +### # +### stty ... +### tset ... +### DISPLAY=mydisplay:0 +### ... +### fi +### +### # +### # environment variables common to both desktop and non-desktop +### # +### PATH=$HOME/bin:$PATH +### MYVAR=value +### export MYVAR +### ... +### +### example for csh +### +### if ( ! ${?DT} ) then +### # +### # commands and environment variables not appropriate for desktop +### # +### stty ... +### tset ... +### setenv DISPLAY mydisplay:0 +### ... +### endif +### +### # +### # environment variables common to both desktop and non-desktop +### # +### setenv PATH $HOME/bin:$PATH +### setenv MYVAR value +### ... +### +### Errors in .dtprofile or .profile (.login) may prevent a successful +### login. If after you login, your session startup terminates and you +### are presented with the login screen, this might be the cause. If this +### happens, select the Options->Sessions->Failsafe Session item on the +### login screen, login and correct the error. The $HOME/.dt/startlog and +### $HOME/.dt/errorlog files may be helpful in identifying errors. +### +############################################################################## + +# +# If $HOME/.profile (.login) has been edited as described above, uncomment +# the following line. +# +DTSOURCEPROFILE=true + +# +# Screen savers. +# +#DTSCREENSAVERLIST="\ +#StartDtscreenSwarm \ +#StartDtscreenQix \ +#StartDtscreenFlame \ +#StartDtscreenHop \ +#StartDtscreenImage \ +#StartDtscreenLife \ +#StartDtscreenRotor \ +#StartDtscreenPyro \ +#StartDtscreenWorm \ +#StartDtscreenBlank" + +#export DTSCREENSAVERLIST="\ +#$DTSCREENSAVERLIST \ + +#DTSCREEN="/usr/dt/bin/dtscreen" +DTSCREEN="/usr/local/bin/xlock -dtsaver" +export DTSCREEN + +DTSCREENSAVERLIST="\ +StartDtscreenAnemone \ +StartDtscreenAnt \ +StartDtscreenAnt3d \ +StartDtscreenApollonian \ +StartDtscreenAtlantis \ +StartDtscreenAtunnels \ +StartDtscreenBall \ +StartDtscreenBat \ +StartDtscreenBiof \ +StartDtscreenBlot \ +StartDtscreenBouboule \ +StartDtscreenBounce \ +StartDtscreenBraid \ +StartDtscreenBubble \ +StartDtscreenBubble3d \ +StartDtscreenBug \ +StartDtscreenCage \ +StartDtscreenClock \ +StartDtscreenCoral \ +StartDtscreenCrystal \ +StartDtscreenDaisy \ +StartDtscreenDclock \ +StartDtscreenDecay \ +StartDtscreenDeco \ +StartDtscreenDeluxe \ +StartDtscreenDemon \ +StartDtscreenDilemma \ +StartDtscreenDiscrete \ +StartDtscreenDragon \ +StartDtscreenDrift \ +StartDtscreenEuler2d \ +StartDtscreenEyes \ +StartDtscreenFadeplot \ +StartDtscreenFiberlamp \ +StartDtscreenFire \ +StartDtscreenFlag \ +StartDtscreenFlame \ +StartDtscreenFlow \ +StartDtscreenForest \ +StartDtscreenFzort \ +StartDtscreenGalaxy \ +StartDtscreenGears \ +StartDtscreenGlplanet \ +StartDtscreenGoop \ +StartDtscreenGrav \ +StartDtscreenHelix \ +StartDtscreenHop \ +StartDtscreenHyper \ +StartDtscreenIco \ +StartDtscreenIfs \ +StartDtscreenImage \ +StartDtscreenInvert \ +StartDtscreenJuggle \ +StartDtscreenJulia \ +StartDtscreenKaleid \ +StartDtscreenKumppa \ +StartDtscreenLament \ +StartDtscreenLaser \ +StartDtscreenLife \ +StartDtscreenLife1d \ +StartDtscreenLife3d \ +StartDtscreenLightning \ +StartDtscreenLisa \ +StartDtscreenLissie \ +StartDtscreenLoop \ +StartDtscreenLyapunov \ +StartDtscreenMandelbrot \ +StartDtscreenMarquee \ +StartDtscreenMatrix \ +StartDtscreenMaze \ +StartDtscreenMoebius \ +StartDtscreenMolecule \ +StartDtscreenMorph3d \ +StartDtscreenMountain \ +StartDtscreenMunch \ +StartDtscreenNoof \ +StartDtscreenNose \ +StartDtscreenPacman \ +StartDtscreenPenrose \ +StartDtscreenPetal \ +StartDtscreenPetri \ +StartDtscreenPipes \ +StartDtscreenPolyominoes \ +StartDtscreenPuzzle \ +StartDtscreenQix \ +StartDtscreenPyro \ +StartDtscreenRoll \ +StartDtscreenRotor \ +StartDtscreenRubik \ +StartDtscreenSballs \ +StartDtscreenScooter \ +StartDtscreenShape \ +StartDtscreenSierpinski \ +StartDtscreenSierpinski3d \ +StartDtscreenSkewb \ +StartDtscreenSlip \ +StartDtscreenSolitare \ +StartDtscreenSpace \ +StartDtscreenSphere \ +StartDtscreenSpiral \ +StartDtscreenSpline \ +StartDtscreenSproingies \ +StartDtscreenStairs \ +StartDtscreenStar \ +StartDtscreenStarfish \ +StartDtscreenStrange \ +StartDtscreenSuperquadrics \ +StartDtscreenSwarm \ +StartDtscreenSwirl \ +StartDtscreenT3d \ +StartDtscreenTetris \ +StartDtscreenText3d \ +StartDtscreenThornbird \ +StartDtscreenTik_Tak \ +StartDtscreenToneclock \ +StartDtscreenTransparent \ +StartDtscreenTriangle \ +StartDtscreenTube \ +StartDtscreenTurtle \ +StartDtscreenVines \ +StartDtscreenVoters \ +StartDtscreenWator \ +StartDtscreenWire \ +StartDtscreenWorld \ +StartDtscreenWorm \ +StartDtscreenXcl \ +StartDtscreenXjack \ +StartDtscreenBlank \ +StartDtscreenBomb \ +StartDtscreenRandom" +export DTSCREENSAVERLIST diff --git a/app/xlockmore/etc/dtscreen.dt b/app/xlockmore/etc/dtscreen.dt new file mode 100644 index 000000000..57eacb0f1 --- /dev/null +++ b/app/xlockmore/etc/dtscreen.dt @@ -0,0 +1,1222 @@ +############################################################################### +# +# dtscreen.dt +# +# Actions for defining screen savers to the Common Desktop Environment. +# +# (c) Copyright 1993, 1994, 1995 Hewlett-Packard Company +# (c) Copyright 1993, 1994, 1995 International Business Machines Corp. +# (c) Copyright 1993, 1994, 1995 Sun Microsystems, Inc. +# (c) Copyright 1993, 1994, 1995 Novell, Inc. +# +# $XConsortium: dtscreen.dt.src /main/cde1_maint/1 1995/07/15 03:07:30 drk $ +# +############################################################################### +set DtDbVersion=1.0 + +############################################################################### +# +# WARNING: This file may be overwritten in subsequent installations of +# the Common Desktop Environment (CDE). Consequently, any system wide +# changes should be made to an equivalent database file in +# /etc/dt/types and not in this file. +# +############################################################################### + +################################################################### +# +# Actions +# +# Note: the following are dtscreen's original action changed to use xlock +################################################################### +ACTION StartDtscreenHop +{ + LABEL StartDtscreenHop + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode hop + DESCRIPTION hop: Real plane iterated fractals +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode hop +# DESCRIPTION hop: Hopalong iterated fractals + +ACTION StartDtscreenQix +{ + LABEL StartDtscreenQix + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode qix + DESCRIPTION qix: Spinning lines a la Qix(tm) +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode qix +# DESCRIPTION qix: Spinning lines + +ACTION StartDtscreenImage +{ + LABEL StartDtscreenImage + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode image + DESCRIPTION image: Randomly appearing logos +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode image +# DESCRIPTION image: Random bouncing image + +ACTION StartDtscreenLife +{ + LABEL StartDtscreenLife + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode life + DESCRIPTION life: Conway's game of Life +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode life + +ACTION StartDtscreenSwarm +{ + LABEL StartDtscreenSwarm + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode swarm + DESCRIPTION swarm: A swarm of bees following a wasp +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode swarm +# DESCRIPTION swarm: Swarm of bees + +ACTION StartDtscreenRotor +{ + LABEL StartDtscreenRotor + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode rotor + DESCRIPTION rotor: Tom's Roto-Rotor +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode rotor +# DESCRIPTION rotor: Rotor + +ACTION StartDtscreenPyro +{ + LABEL StartDtscreenPyro + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode pyro + DESCRIPTION pyro: Fireworks +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode pyro + +ACTION StartDtscreenFlame +{ + LABEL StartDtscreenFlame + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode flame + DESCRIPTION flame: Cosmic flame fractals +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode flame +# DESCRIPTION flame: Cosmic Flame Fractals + +ACTION StartDtscreenWorm +{ + LABEL StartDtscreenWorm + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode worm + DESCRIPTION worm: Wiggly worms +} +# EXEC_STRING /usr/dt/bin/dtscreen -mode worm +# DESCRIPTION worm: Wiggly Worms + +ACTION StartDtscreenBlank +{ + LABEL StartDtscreenBlank + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode blank + DESCRIPTION blank: Nothing but a blank screen +} +# DESCRIPTION blank: Blank Screen + +################################################################### +# +# xlock's modes that dtscreen doesn't have. +# +################################################################### +ACTION StartDtscreenAnemone +{ + LABEL StartDtscreenAnemone + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode anemone + DESCRIPTION anemone: wiggling tentacles +} + +ACTION StartDtscreenAnt +{ + LABEL StartDtscreenAnt + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode ant + DESCRIPTION ant: Langton's and Turk's generalized ants +} + +ACTION StartDtscreenAnt3d +{ + LABEL StartDtscreenAnt3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode ant3d + DESCRIPTION ant3d: 3d ants +} + +ACTION StartDtscreenApollonian +{ + LABEL StartDtscreenApollonian + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode apollonian + DESCRIPTION apollonian: Apollonian Circles +} + +ACTION StartDtscreenAtlantis +{ + LABEL StartDtscreenAtlantis + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode atlantis + DESCRIPTION atlantis: Moving sharks/whales/dolphin +} + +ACTION StartDtscreenAtunnels +{ + LABEL StartDtscreenAtunnels + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode atunnels + DESCRIPTION atunnels: An OpenGL advanced tunnel screensaver +} + +ACTION StartDtscreenBall +{ + LABEL StartDtscreenBall + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode ball + DESCRIPTION ball: Bouncing balls +} + +ACTION StartDtscreenBat +{ + LABEL StartDtscreenBat + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bat + DESCRIPTION bat: Bouncing flying bats +} + +ACTION StartDtscreenBiof +{ + LABEL StartDtscreenBiof + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode biof + DESCRIPTION biof: 3D bioform +} + +ACTION StartDtscreenBlot +{ + LABEL StartDtscreenBlot + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode blot + DESCRIPTION blot: Rorschach's ink blot test +} + +ACTION StartDtscreenBouboule +{ + LABEL StartDtscreenBouboule + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bouboule + DESCRIPTION bouboule: Mimi's bouboule of moving stars +} + +ACTION StartDtscreenBounce +{ + LABEL StartDtscreenBounce + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bounce + DESCRIPTION bounce: Bouncing footballs +} + +ACTION StartDtscreenBraid +{ + LABEL StartDtscreenBraid + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode braid + DESCRIPTION braid: Random braids and knots +} + +ACTION StartDtscreenBubble +{ + LABEL StartDtscreenBubble + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bubble + DESCRIPTION bubble: Popping bubbles +} + +ACTION StartDtscreenBubble3d +{ + LABEL StartDtscreenBubble3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bubble3d + DESCRIPTION bubble3d: Richard Jones's GL bubbles +} +ACTION StartDtscreenBug +{ + LABEL StartDtscreenBug + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bug + DESCRIPTION bug: Palmiter's bug evolution and garden of Eden +} + +ACTION StartDtscreenCage +{ + LABEL StartDtscreenCage + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode cage + DESCRIPTION cage: The Impossible Cage, an Escher-like GL scene +} + +ACTION StartDtscreenClock +{ + LABEL StartDtscreenClock + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode clock + DESCRIPTION clock: Packard's clock +} + +ACTION StartDtscreenCoral +{ + LABEL StartDtscreenCoral + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode coral + DESCRIPTION coral: A coral reef +} + +ACTION StartDtscreenCrystal +{ + LABEL StartDtscreenCrystal + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode crystal +install + DESCRIPTION crystal: Polygons in 2D plane groups +} + +ACTION StartDtscreenDaisy +{ + LABEL StartDtscreenDaisy + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode daisy + DESCRIPTION daisy: A meadow of daisies +} + +ACTION StartDtscreenDclock +{ + LABEL StartDtscreenDclock + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode dclock + DESCRIPTION dclock: A floating digital clock or message +} + +ACTION StartDtscreenDecay +{ + LABEL StartDtscreenDecay + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode decay + DESCRIPTION decay: A decaying screen +} + +ACTION StartDtscreenDeco +{ + LABEL StartDtscreenDeco + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode deco + DESCRIPTION deco: Art as ugly as sin +} + +ACTION StartDtscreenDeluxe +{ + LABEL StartDtscreenDeluxe + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode deluxe + DESCRIPTION deluxe: Pulsing sequence of stars +} + +ACTION StartDtscreenDemon +{ + LABEL StartDtscreenDemon + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode demon + DESCRIPTION demon: Griffeath's cellular automata +} + +ACTION StartDtscreenDilemma +{ + LABEL StartDtscreenDilemma + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode dilemma + DESCRIPTION dilemma: Lloyd's Prisoner's Dilemma simulation +} + +ACTION StartDtscreenDiscrete +{ + LABEL StartDtscreenDiscrete + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode discrete + DESCRIPTION discrete: Various discrete maps +} + +ACTION StartDtscreenDragon +{ + LABEL StartDtscreenDragon + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode dragon + DESCRIPTION dragon: Deventer's Hexagonal Dragons Maze +} + +ACTION StartDtscreenDrift +{ + LABEL StartDtscreenDrift + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode drift + DESCRIPTION drift: Cosmic drifting flame fractals +} + +ACTION StartDtscreenEuler2d +{ + LABEL StartDtscreenEuler2d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode euler2d + DESCRIPTION euler2d: A simulation of 2D incompressible inviscid fluid +} + +ACTION StartDtscreenEyes +{ + LABEL StartDtscreenEyes + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode eyes + DESCRIPTION eyes: Eyes following a bouncing grelb +} + +ACTION StartDtscreenFadeplot +{ + LABEL StartDtscreenFadeplot + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode fadeplot + DESCRIPTION fadeplot: A fading plot of sine squared +} + +ACTION StartDtscreenFiberlamp +{ + LABEL StartDtscreenFiberlamp + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode fiberlamp + DESCRIPTION fiberlamp: A Fiber Optic Lamp +} + +ACTION StartDtscreenFire +{ + LABEL StartDtscreenFire + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode fire + DESCRIPTION fire: A 3D fire-like image +} + +ACTION StartDtscreenFlag +{ + LABEL StartDtscreenFlag + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode flag + DESCRIPTION flag: A waving flag image +} + +ACTION StartDtscreenFlow +{ + LABEL StartDtscreenFlow + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode flow + DESCRIPTION flow: Dynamic strange attractors +} + +ACTION StartDtscreenForest +{ + LABEL StartDtscreenForest + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode forest + DESCRIPTION forest: Binary trees of a fractal forest +} + +ACTION StartDtscreenFzort +{ + LABEL StartDtscreenFzort + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode fzort + DESCRIPTION forest: A metallic-looking fzort +} + +ACTION StartDtscreenGalaxy +{ + LABEL StartDtscreenGalaxy + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode galaxy + DESCRIPTION galaxy: Crashing spiral galaxies +} + +ACTION StartDtscreenGears +{ + LABEL StartDtscreenGears + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode gears + DESCRIPTION gears: GL's gears +} + +ACTION StartDtscreenGlplanet +{ + LABEL StartDtscreenGlplanet + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode glplanet + DESCRIPTION glplanet: GL's planet +} + +ACTION StartDtscreenGoop +{ + LABEL StartDtscreenGoop + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode goop + DESCRIPTION goop: Goop from a lava lamp +} + +ACTION StartDtscreenGrav +{ + LABEL StartDtscreenGrav + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode grav + DESCRIPTION grav: Orbiting planets +} + +ACTION StartDtscreenHelix +{ + LABEL StartDtscreenHelix + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode helix + DESCRIPTION helix: String art +} + +ACTION StartDtscreenHyper +{ + LABEL StartDtscreenHyper + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode hyper + DESCRIPTION hyper: Spinning n-dimensional hypercubes +} + +ACTION StartDtscreenIco +{ + LABEL StartDtscreenIco + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode ico + DESCRIPTION ico: A bouncing polyhedra +} + +ACTION StartDtscreenIfs +{ + LABEL StartDtscreenIfs + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode ifs + DESCRIPTION ifs: A modified iterated function system +} + +ACTION StartDtscreenInvert +{ + LABEL StartDtscreenInvert + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode invert + DESCRIPTION invert: A sphere inverted without wrinkles +} + +ACTION StartDtscreenJuggle +{ + LABEL StartDtscreenJuggle + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode juggle + DESCRIPTION juggle: A Juggler, juggling +} + +ACTION StartDtscreenJulia +{ + LABEL StartDtscreenJulia + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode julia + DESCRIPTION julia: The Julia set +} + +ACTION StartDtscreenKaleid +{ + LABEL StartDtscreenKaleid + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode kaleid + DESCRIPTION kaleid: Brewster's Kaleidoscope +} + +ACTION StartDtscreenKumppa +{ + LABEL StartDtscreenKumppa + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode kumppa +install + DESCRIPTION kumppa: Kumppa +} + +ACTION StartDtscreenLament +{ + LABEL StartDtscreenLament + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode lament + DESCRIPTION lament: Lemarchand's Box +} + +ACTION StartDtscreenLaser +{ + LABEL StartDtscreenLaser + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode laser + DESCRIPTION laser: Spinning lasers +} + +ACTION StartDtscreenLife1d +{ + LABEL StartDtscreenLife1d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode life1d + DESCRIPTION life1d: Wolfram's game of 1D Life +} + +ACTION StartDtscreenLife3d +{ + LABEL StartDtscreenLife3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode life3d + DESCRIPTION life3d: Bays' game of 3D Life +} + +ACTION StartDtscreenLightning +{ + LABEL StartDtscreenLightning + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode lightning + DESCRIPTION lightning: Keith's fractal lightning bolts +} + +ACTION StartDtscreenLisa +{ + LABEL StartDtscreenLisa + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode lisa + DESCRIPTION lisa: Animated lisajous loops +} + +ACTION StartDtscreenLissie +{ + LABEL StartDtscreenLissie + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode lissie + DESCRIPTION lissie: Lissajous worms +} + +ACTION StartDtscreenLoop +{ + LABEL StartDtscreenLoop + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode loop + DESCRIPTION loop: Langton's self-producing loops +} + +ACTION StartDtscreenLyapunov +{ + LABEL StartDtscreenLyapunov + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode lyapunov + DESCRIPTION lyapunov: lyapunov space +} + +ACTION StartDtscreenMandelbrot +{ + LABEL StartDtscreenMandelbrot + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode mandelbrot + DESCRIPTION mandelbrot: Mandelbrot sets +} + +ACTION StartDtscreenMarquee +{ + LABEL StartDtscreenMarquee + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode marquee + DESCRIPTION marquee: Messages +} + +ACTION StartDtscreenMatrix +{ + LABEL StartDtscreenMatrix + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode matrix + DESCRIPTION matrix: The matrix +} + +ACTION StartDtscreenMaze +{ + LABEL StartDtscreenMaze + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode maze + DESCRIPTION maze: A random maze and a depth first search solution +} + +ACTION StartDtscreenMoebius +{ + LABEL StartDtscreenMoebius + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode moebius + DESCRIPTION moebius: Moebius Strip II, an Escher-like GL scene with ants +} + +ACTION StartDtscreenMolecule +{ + LABEL StartDtscreenMolecule + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode molecule + DESCRIPTION molecule: Draws molecules +} + +ACTION StartDtscreenMorph3d +{ + LABEL StartDtscreenMorph3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode morph3d + DESCRIPTION morph3d: GL morphing polyhedra +} + +ACTION StartDtscreenMountain +{ + LABEL StartDtscreenMountain + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode mountain + DESCRIPTION mountain: Papo's mountain range +} + +ACTION StartDtscreenMunch +{ + LABEL StartDtscreenMunch + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode munch + DESCRIPTION munch: Munching squares +} + +ACTION StartDtscreenNoof +{ + LABEL StartDtscreenNoof + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode noof + DESCRIPTION noof: SGI Diatoms +} + +ACTION StartDtscreenNose +{ + LABEL StartDtscreenNose + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode nose + DESCRIPTION nose: A man with a big nose runs around spewing out messages +} + +ACTION StartDtscreenPacman +{ + LABEL StartDtscreenPacman + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode pacman + DESCRIPTION pacman: Pacman(tm) +} + +ACTION StartDtscreenPenrose +{ + LABEL StartDtscreenPenrose + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode penrose + DESCRIPTION penrose: Penrose's quasiperiodic tilings +} + +ACTION StartDtscreenPetal +{ + LABEL StartDtscreenPetal + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode petal + DESCRIPTION petal: Various GCD Flowers +} + +ACTION StartDtscreenPetri +{ + LABEL StartDtscreenPetri + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode petri + DESCRIPTION petri: A mold simulation in a petri dish +} + +ACTION StartDtscreenPipes +{ + LABEL StartDtscreenPipes + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode pipes + DESCRIPTION pipes: A selfbuilding pipe system +} + +ACTION StartDtscreenPolyominoes +{ + LABEL StartDtscreenPolyominoes + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode polyominoes + DESCRIPTION polyominoes: Attempts to place polyominoes into a rectangle +} + +ACTION StartDtscreenPuzzle +{ + LABEL StartDtscreenPuzzle + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode puzzle + DESCRIPTION puzzle: A puzzle being scrambled and then solved +} + +ACTION StartDtscreenRoll +{ + LABEL StartDtscreenRoll + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode roll + DESCRIPTION roll: A rolling ball +} + +ACTION StartDtscreenRubik +{ + LABEL StartDtscreenRubik + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode rubik + DESCRIPTION rubik: An auto-solving Rubik's cube +} + +ACTION StartDtscreenSballs +{ + LABEL StartDtscreenSballs + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode sballs + DESCRIPTION sballs: Balls spinning like crazy in OpenGL +} + +ACTION StartDtscreenScooter +{ + LABEL StartDtscreenScooter + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode scooter + DESCRIPTION scooter: A journey through space tunnel and stars +} + +ACTION StartDtscreenShape +{ + LABEL StartDtscreenShape + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode shape + DESCRIPTION shape: Stippled rectangles, ellipses, and triangles +} + +ACTION StartDtscreenSierpinski +{ + LABEL StartDtscreenSierpinski + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode sierpinski + DESCRIPTION sierpinski: Sierpinski's triangle +} + +ACTION StartDtscreenSierpinski3d +{ + LABEL StartDtscreenSierpinski3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode sierpinski3d + DESCRIPTION sierpinski: Sierpinski's gasket +} + +ACTION StartDtscreenSkewb +{ + LABEL StartDtscreenSkewb + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode skewb + DESCRIPTION skewb: An auto-solving Skewb +} + +ACTION StartDtscreenSlip +{ + LABEL StartDtscreenSlip + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode slip + DESCRIPTION slip: Slipping blits +} + +ACTION StartDtscreenSolitare +{ + LABEL StartDtscreenSolitare + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode solitare + DESCRIPTION solitare: Klondike's game of solitare +} + +ACTION StartDtscreenSpace +{ + LABEL StartDtscreenSpace + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode space + DESCRIPTION space: A journey into deep space +} + +ACTION StartDtscreenSphere +{ + LABEL StartDtscreenSphere + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode sphere + DESCRIPTION sphere: A bunch of shaded spheres +} + +ACTION StartDtscreenSpiral +{ + LABEL StartDtscreenSpiral + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode spiral + DESCRIPTION spiral: Helixes of dots +} + +ACTION StartDtscreenSpline +{ + LABEL StartDtscreenSpline + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode spline + DESCRIPTION spline: Colorful moving splines +} + +ACTION StartDtscreenSproingies +{ + LABEL StartDtscreenSproingies + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode sproingies + DESCRIPTION sproingies: Sproingies! Nontoxic. Safe for pets and small children +} + +ACTION StartDtscreenStairs +{ + LABEL StartDtscreenStairs + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode stairs + DESCRIPTION stairs: Infinite Stairs, an Escher-like GL scene +} + +ACTION StartDtscreenStar +{ + LABEL StartDtscreenStar + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode star + DESCRIPTION star: A star field with a twist +} + +ACTION StartDtscreenStarfish +{ + LABEL StartDtscreenStarfish + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode starfish +install + DESCRIPTION starfish: Starfish +} + +ACTION StartDtscreenStrange +{ + LABEL StartDtscreenStrange + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode strange + DESCRIPTION strange: Strange attractors +} + +ACTION StartDtscreenSuperquadrics +{ + LABEL StartDtscreenSuperquadrics + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode superquadrics + DESCRIPTION superquadrics: 3D mathematical shapes +} + +ACTION StartDtscreenSwirl +{ + LABEL StartDtscreenSwirl + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode swirl + DESCRIPTION swirl: Animated swirling patterns +} + +ACTION StartDtscreenT3d +{ + LABEL StartDtscreenT3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode t3d +install + DESCRIPTION t3d: Flying Balls Clock Demo +} + +ACTION StartDtscreenTetris +{ + LABEL StartDtscreenTetris + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode tetris +install + DESCRIPTION tetris: Tetris +} + +ACTION StartDtscreenText3d +{ + LABEL StartDtscreenText3d + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode text3d + DESCRIPTION text3d: 3D text +} + +ACTION StartDtscreenThornbird +{ + LABEL StartDtscreenThornbird + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode thornbird + DESCRIPTION thornbird: An animated Bird in a Thorn Bush fractal map +} + +ACTION StartDtscreenTik_Tak +{ + LABEL StartDtscreenTik_Tak + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode tik_tak +install + DESCRIPTION tik_tak: Rotating polygons +} + +ACTION StartDtscreenToneclock +{ + LABEL StartDtscreenToneclock + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode toneclock +install + DESCRIPTION toneclock: Peter Schat's toneclock +} + +ACTION StartDtscreenTransparent +{ + LABEL StartDtscreenTransparent + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode blank -geometry 1x1 -enablesaver + DESCRIPTION transparent: locked but work visible +} + +ACTION StartDtscreenTriangle +{ + LABEL StartDtscreenTriangle + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode triangle + DESCRIPTION triangle: A triangle mountain range +} + +ACTION StartDtscreenTube +{ + LABEL StartDtscreenTube + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode tube + DESCRIPTION tube: An animated tube +} + +ACTION StartDtscreenTurtle +{ + LABEL StartDtscreenTurtle + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode turtle + DESCRIPTION turtle: Turtle fractals +} + +ACTION StartDtscreenVines +{ + LABEL StartDtscreenVines + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode vines + DESCRIPTION vines: Fractals +} + +ACTION StartDtscreenVoters +{ + LABEL StartDtscreenVoters + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode voters + DESCRIPTION voters: Dewdney's Voters +} + +ACTION StartDtscreenWator +{ + LABEL StartDtscreenWator + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode wator + DESCRIPTION wator: Dewdney's Water-Torus planet of fish and sharks +} + +ACTION StartDtscreenWire +{ + LABEL StartDtscreenWire + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode wire + DESCRIPTION wire: A random circuit with 2 electrons +} + +ACTION StartDtscreenWorld +{ + LABEL StartDtscreenWorld + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode world + DESCRIPTION world: Spinning Earths +} + +ACTION StartDtscreenXcl +{ + LABEL StartDtscreenXcl + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode xcl + DESCRIPTION xcl: A control line combat model race +} + +ACTION StartDtscreenXjack +{ + LABEL StartDtscreenXjack + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode xjack + DESCRIPTION xjack: Jack having one of those days +} + +ACTION StartDtscreenBomb +{ + LABEL StartDtscreenBomb + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode bomb + DESCRIPTION bomb: A bomb and will autologout after a time +} + +ACTION StartDtscreenRandom +{ + LABEL StartDtscreenRandom + TYPE COMMAND + WINDOW_TYPE NO_STDIO + EXEC_STRING $DTSCREEN -mode random + DESCRIPTION random: A random mode except blank and bomb +} + diff --git a/app/xlockmore/etc/ext.life b/app/xlockmore/etc/ext.life new file mode 100644 index 000000000..1b320c78e --- /dev/null +++ b/app/xlockmore/etc/ext.life @@ -0,0 +1,24 @@ +#P 0 0 +...........* +..........** +.......... +........*** +........*** +......... +......... +.......*** +.......** +......*..***.* +......**.*...* +......**.**.** +......*** +......** +......* +......** +.......*.* +...........* +.........*..* +..........*..* +..........* +.............* +...........*** diff --git a/app/xlockmore/etc/fortune.dat b/app/xlockmore/etc/fortune.dat new file mode 100644 index 000000000..9d8b06789 --- /dev/null +++ b/app/xlockmore/etc/fortune.dat @@ -0,0 +1,4052 @@ +1420 +%% +(She is loud and stubborn; her feet abide not in her house: +Now is she without, now in the streets, and lieth in wait at every corner.) +So she caught him, and kissed him, and +with an impudent face said unto him, +I have peace offerings with me; this day have I payed my vows. +%% +* UNIX is a trademark of AT&T Bell Laboratories. +%% +1 bulls, 3 cows. +%% +10.0 times 0.1 is hardly ever 1.0. +%% +A GOOD name is rather to be chosen than great riches, and +loving favour rather than silver and gold. +%% +A Puritan is someone who is deathly afraid that someone +somewhere is having fun. +%% +A bad compromise is better than a good battle. -- Russian +proverb +%% +A bird in hand is worth two in the bush. -- Cervantes +%% +A bird in the bush can't relieve itself in your hand. +%% +A brother offended is harder to be won than a strong city: +and their contentions are like the bars of a castle. +%% +A clash of doctrine is not a disaster -- it is an +opportunity. +%% +A conservative is one who is too cowardly to fight and too +fat to run. +%% +A continual dropping in a very rainy day and a contentious +woman are alike. +%% +A divine sentence is in the lips of the king: his mouth +transgresseth not in judgment. +%% +A faithful man shall abound with blessings: but he that +maketh haste to be rich shall not be innocent. +%% +A faithful witness will not lie: but a false witness will +utter lies. +%% +A false balance is abomination to the LORD: but a just +weight is his delight. +%% +A false witness shall not be unpunished, and he that +speaketh lies shall not escape. +%% +A false witness shall not be unpunished, and he that +speaketh lies shall perish. +%% +A fanatic is one who can't change his mind and won't change +the subject. +%% +A fool despiseth his father's instruction: but he that +regardeth reproof is prudent. +%% +A fool hath no delight in understanding, but that his heart +may discover itself. +%% +A fool uttereth all his mind: but a wise man keepeth it in +till afterwards. +%% +A fool's lips enter into contention, and his mouth calleth +for strokes. +%% +A fool's mouth is his destruction, and his lips are the +snare of his soul. +%% +A fool's wrath is presently known: but a prudent man +covereth shame. +%% +A foolish consistency is the hobgoblin of little minds. +%% +A foolish son is a grief to his father, and bitterness to +her that bare him. +%% +A foolish son is the calamity of his father: and the +contentions of a wife are a continual dropping. +%% +A foolish woman is clamorous: she is simple, and knoweth +nothing. +%% +A froward man soweth strife: and a whisperer separateth +chief friends. +%% +A gift in secret pacifieth anger: and a reward in the bosom +strong wrath. +%% +A gift is as a precious stone in the eyes of him that hath +it: whithersoever it turneth, it prospereth. +%% +A gift of flowers will soon be made to you. +%% +A good man leaveth an inheritance to his children's +children: and the wealth of the sinner is laid up for the just. +%% +A good man obtaineth favour of the LORD: but a man of +wicked devices will he condemn. +%% +A good memory does not equal pale ink. +%% +A gracious woman retaineth honour: and strong men retain +riches. +%% +A great empire, like a great cake, is most easily +diminished at the edges. +%% +A hammer sometimes misses its mark -- a bouquet never. +%% +A handful of friends is worth more than a wagon of gold. +%% +A hen is only an egg's way of making another egg. +%% +A hermit is a deserter from the army of humanity. +%% +A journey of a thousand miles begins with a cash advance. +%% +A just weight and balance are the LORD's: all the weights +of the bag are his work. +%% +A king that sitteth in the throne of judgment scattereth +away all evil with his eyes. +%% +A king's castle is his home. +%% +A lack of leadership is no substitute for inaction. +%% +A liberal is someone too poor to be a capitalist and too +rich to be a communist. +%% +A lying tongue hateth those that are afflicted by it; and a +flattering mouth worketh ruin. +%% +A man forgives only when he is in the wrong. +%% +A man hath joy by the answer of his mouth: and a word +spoken in due season, how good is it! The way of life is above +to the wise, that he may depart from hell beneath. +%% +A man of genius makes no mistakes. His errors are +volitional and are the portals of discovery. +%% +A man of great wrath shall suffer punishment: for if thou +deliver him, yet thou must do it again. +%% +A man paints with his brains and not with his hands. +%% +A man shall be commended according to his wisdom: but he +that is of a perverse heart shall be despised. +%% +A man shall be satisfied with good by the fruit of his +mouth: and the recompence of a man's hands shall be rendered +unto him. +%% +A man shall eat good by the fruit of his mouth: but the +soul of the transgressors shall eat violence. +%% +A man shall not be established by wickedness: but the root +of the righteous shall not be moved. +%% +A man that beareth false witness against his neighbour is a +maul, and a sword, and a sharp arrow. +%% +A man that doeth violence to the blood of any person shall +flee to the pit; let no man stay him. +%% +A man that flattereth his neighbour spreadeth a net for his +feet. +%% +A man that hath friends must shew himself friendly: and +there is a friend that sticketh closer than a brother. +%% +A man void of understanding striketh hands, and becometh +surety in the presence of his friend. +%% +A man who fishes for marlin in ponds will put his money in +Etruscan bonds. +%% +A man who turns green has eschewed protein. +%% +A man's belly shall be satisfied with the fruit of his +mouth; and with the increase of his lips shall he be filled. +%% +A man's gift maketh room for him, and bringeth him before +great men. +%% +A man's heart deviseth his way: but the LORD directeth his +steps. +%% +A man's pride shall bring him low: but honour shall uphold +the humble in spirit. +%% +A merry heart doeth good like a medicine: but a broken +spirit drieth the bones. +%% +A merry heart maketh a cheerful countenance: but by sorrow +of the heart the spirit is broken. +%% +A naughty person, a wicked man, walketh with a froward +mouth. +%% +A plucked goose doesn't lay golden eggs. +%% +A poor man that oppresseth the poor is like a sweeping rain +which leaveth no food. +%% +A professor is one who talks in someone else's sleep. +%% +A programming language is low-level when its programs +require attention to the irrelevant. +%% +A programming language that does not affect the way you +think about programming is not worth knowing. +%% +A prudent man concealeth knowledge: but the heart of fools +proclaimeth foolishness. +%% +A prudent man foreseeth the evil, and hideth himself: but +the simple pass on, and are punished. +%% +A prudent man foreseeth the evil, and hideth himself; but +the simple pass on, and are punished. +%% +A reproof entereth more into a wise man than an hundred +stripes into a fool. +%% +A righteous man falling down before the wicked is as a +troubled fountain, and a corrupt spring. +%% +A righteous man hateth lying: but a wicked man is +loathsome, and cometh to shame. +%% +A righteous man regardeth the life of his beast: but the +tender mercies of the wicked are cruel. +%% +A scorner seeketh wisdom, and findeth it not: but knowledge +is easy unto him that understandeth. +%% +A servant will not be corrected by words: for though he +understand he will not answer. +%% +A slothful man hideth his hand in his bosom, and will not +so much as bring it to his mouth again. +%% +A soft answer turneth away wrath: but grievous words stir +up anger. +%% +A soft drink turneth away company. +%% +A sound heart is the life of the flesh: but envy the +rottenness of the bones. +%% +A stone is heavy, and the sand weighty; but a fool's wrath +is heavier than them both. +%% +A straw vote only shows which way the hot air blows. +%% +A talebearer revealeth secrets: but he that is of a +faithful spirit concealeth the matter. +%% +A thing not worth doing is worth not doing well. +%% +A thing worth doing is worth the trouble of asking somebody +else to do. +%% +A true witness delivereth souls: but a deceitful witness +speaketh lies. +%% +A truly wise man never plays leapfrog with a Unicorn. +%% +A violent man enticeth his neighbour, and leadeth him into +the way that is not good. +%% +A virtuous woman is a crown to her husband: but she that +maketh ashamed is as rottenness in his bones. +%% +A visit to a fresh place will bring strange work. +%% +A visit to a strange place will bring fresh work. +%% +A whip for the horse, a bridle for the ass, and a rod for +the fool's back. +%% +A wholesome tongue is a tree of life: but perverseness +therein is a breach in the spirit. +%% +A wicked doer giveth heed to false lips; and a liar giveth +ear to a naughty tongue. +%% +A wicked man hardeneth his face: but as for the upright, he +directeth his way. +%% +A wicked man taketh a gift out of the bosom to pervert the +ways of judgment. +%% +A wicked messenger falleth into mischief: but a faithful +ambassador is health. +%% +A wise king scattereth the wicked, and bringeth the wheel +over them. +%% +A wise man feareth, and departeth from evil: but the fool +rageth, and is confident. +%% +A wise man is strong; yea, a man of knowledge increaseth +strength. +%% +A wise man scaleth the city of the mighty, and casteth down +the strength of the confidence thereof. +%% +A wise man will hear, and will increase learning; and a man +of understanding shall attain unto wise counsels: To +understand a proverb, and the interpretation; the words of the +wise, and their dark sayings. +%% +A wise servant shall have rule over a son that causeth +shame, and shall have part of the inheritance among the +brethren. +%% +A wise son heareth his father's instruction: but a scorner +heareth not rebuke. +%% +A wise son maketh a glad father: but a foolish man +despiseth his mother. +%% +A woman without a man is like a fish without a bicycle. +%% +A word fitly spoken is like apples of gold in pictures of +silver. +%% +A wound and dishonour shall he get; and his reproach shall +not be wiped away. +%% +A wrathful man stirreth up strife: but he that is slow to +anger appeaseth strife. +%% +About all some men accomplish in life is to send a son to +Harvard. +%% +About the only thing on a farm that has an easy time is the +dog. +%% +Above all things, reverence yourself. +%% +Absence makes the heart grow fonder. -- Sextus Aurelius +%% +Absolute power corrupts absolutely. +%% +Academy: A modern school where football is taught. +%% +Accuse not a servant unto his master, lest he curse thee, +and thou be found guilty. +%% +Actors will happen in the best-regulated families. +%% +Add thou not unto his words, lest he reprove thee, and thou +be found a liar. +%% +Admiration: Our polite recognition of another's resemblance +to ourselves. +%% +After a number of decimal places, nobody gives a darn. +%% +Age and treachery will always overcome youth and skill. +%% +Alimony and bribes will engage a large share of your wealth. +%% +All great ideas are controversial, or have been at one time. +%% +All heiresses are beautiful. -- John Dryden +%% +All in all, it's just another brick in the wall ... +%% +All that glitters has a high refractive index. +%% +All that trembles doesn't fall. -- Russian proverb +%% +All the brave men are in prison. -- Russian proverb +%% +All the brethren of the poor do hate him: how much more do +his friends go far from him? he pursueth them with words, +yet they are wanting to him. +%% +All the days of the afflicted are evil: but he that is of a +merry heart hath a continual feast. +%% +All the ways of a man are clean in his own eyes; but the +LORD weigheth the spirits. +%% +All the words of my mouth are in righteousness; there is +nothing froward or perverse in them. +%% +All this wheeling and dealing around, why, it isn't for +money, it's for fun. Money's just the way we keep score. +%% +Also to punish the just is not good, nor to strike princes +for equity. +%% +Also, that the soul be without knowledge, it is not good; +and he that hasteth with his feet sinneth. +%% +Always do right. This will gratify some people, and +astonish the rest. +%% +America's best buy for a dime is a telephone call to the +right person. +%% +An angry man stirreth up strife, and a furious man +aboundeth in transgression. +%% +An evil man seeketh only rebellion: therefore a cruel +messenger shall be sent against him. +%% +An expert is a person who avoids the small errors as he +sweeps on to the grand fallacy. +%% +An eye for an eye, a tooth for a tooth. +%% +An high look, and a proud heart, and the plowing of the +wicked, is sin. +%% +An hypocrite with his mouth destroyeth his neighbour: but +through knowledge shall the just be delivered. +%% +An idle mind is worth two in the bush. +%% +An inheritance may be gotten hastily at the beginning; but +the end thereof shall not be blessed. +%% +An optimist believes this to be the best of all possible +worlds. A pessimist fears this to be true. +%% +An ungodly man diggeth up evil: and in his lips there is as +a burning fire. +%% +An ungodly witness scorneth judgment: and the mouth of the +wicked devoureth iniquity. +%% +An unjust man is an abomination to the just: and he that is +upright in the way is abomination to the wicked. +%% +And they lay wait for their own blood; they lurk privily +for their own lives. +%% +And thou shalt have goats' milk enough for thy food, for +the food of thy household, and for the maintenance for thy +maidens. +%% +And why wilt thou, my son, be ravished with a strange +woman, and embrace the bosom of a stranger? For the ways of man +are before the eyes of the LORD, and he pondereth all his goings. +%% +Answer a fool according to his folly, lest he be wise in +his own conceit. +%% +Answer not a fool according to his folly, lest thou also be +like unto him. +%% +Anticipated events never live up to expectations. +%% +Any fool can paint a picture, but it takes a wise man to be +able to sell it. +%% +Anybody can win, unless there happens to be a second entry. +%% +Apply thine heart unto instruction, and thine ears to the +words of knowledge. +%% +As a bird that wandereth from her nest, so is a man that +wandereth from his place. +%% +As a dog returneth to his vomit, so a fool returneth to his +folly. +%% +As a jewel of gold in a swine's snout, so is a fair woman +which is without discretion. +%% +As a mad man who casteth firebrands, arrows, and death, So +is the man that deceiveth his neighbour, and saith, Am not +I in sport? Where no wood is, there the fire goeth out: so +where there is no talebearer, the strife ceaseth. +%% +As a roaring lion, and a ranging bear; so is a wicked ruler +over the poor people. +%% +As a thorn goeth up into the hand of a drunkard, so is a +parable in the mouths of fools. +%% +As an earring of gold, and an ornament of fine gold, so is +a wise reprover upon an obedient ear. +%% +As coals are to burning coals, and wood to fire; so is a +contentious man to kindle strife. +%% +As cold waters to a thirsty soul, so is good news from a +far country. +%% +As goatherd learns his trade by goat, so writer learns his +trade by wrote. +%% +As he that bindeth a stone in a sling, so is he that giveth +honour to a fool. +%% +As he that taketh away a garment in cold weather, and as +vinegar upon nitre, so is he that singeth songs to an heavy +heart. +%% +As in water face answereth to face, so the heart of man to +man. +%% +As long as the answer is right, who cares if the question +is wrong? +%% +As of next week, passwords will be entered in Morse code. +%% +As righteousness tendeth to life: so he that pursueth evil +pursueth it to his own death. +%% +As snow in summer, and as rain in harvest, so honour is not +seemly for a fool. +%% +As the bird by wandering, as the swallow by flying, so the +curse causeless shall not come. +%% +As the cold of snow in the time of harvest, so is a +faithful messenger to them that send him: for he refresheth the +soul of his masters. +%% +As the door turneth upon his hinges, so doth the slothful +upon his bed. +%% +As the fining pot for silver, and the furnace for gold; so +is a man to his praise. +%% +As the whirlwind passeth, so is the wicked no more: but the +righteous is an everlasting foundation. +%% +As vinegar to the teeth, and as smoke to the eyes, so is +the sluggard to them that send him. +%% +At the last it biteth like a serpent, and stingeth like an adder. +%% +Audacity, and again audacity, and always audacity. +-- Georges Jacques Danton +%% +Avoid GOTOs completely if you can keep the program readable. +%% +Avoid it, pass not by it, turn from it, and pass away. +%% +Avoid temporary variables. +%% +Avoid the Fortran arithmetic IF. +%% +Avoid unnecessary branches. +%% +Be careful when a loop exits to the same place from side +and bottom. +%% +Be careful! Is it classified? +%% +Be friends with the wolf, but keep one hand on your ax. -- +Russian proverb +%% +Be not a witness against thy neighbour without cause; and +deceive not with thy lips. +%% +Be not afraid of sudden fear, neither of the desolation of +the wicked, when it cometh. +%% +Be not among winebibbers; among riotous eaters of flesh: +For the drunkard and the glutton shall come to poverty: and +drowsiness shall clothe a man with rags. +%% +Be not desirous of his dainties: for they are deceitful meat. +%% +Be not thou envious against evil men, neither desire to be +with them. +%% +Be not thou one of them that strike hands, or of them that +are sureties for debts. +%% +Be not wise in thine own eyes: fear the LORD, and depart +from evil. +%% +Be prepared to go mad with fixed rule and method. -- Horace +%% +Be security conscious -- National Defense is at stake. +%% +Be thou diligent to know the state of thy flocks, and look +well to thy herds. +%% +Because I have called, and ye refused; I have stretched out +my hand, and no man regarded; But ye have set at nought +all my counsel, and would none of my reproof: I also will +laugh at your calamity; I will mock when your fear cometh; +When your fear cometh as desolation, and your destruction +cometh as a whirlwind; when distress and anguish cometh upon you. +%% +Before a fight, two men are boasting; after the fight, only +one. -- Russian proverb +%% +Before destruction the heart of man is haughty, and before +honour is humility. +%% +Before the mountains were settled, before the hills was I +brought forth: While as yet he had not made the earth, nor +the fields, nor the highest part of the dust of the world. +%% +Begin in the beginning and go on till you come to the end; +then stop. -- Lewis Carroll +%% +Behold, the righteous shall be recompensed in the earth: +much more the wicked and the sinner. +%% +Better is a dinner of herbs where love is, than a stalled +ox and hatred therewith. +%% +Better is a dry morsel, and quietness therewith, than an +house full of sacrifices with strife. +%% +Better is a little with righteousness than great revenues +without right. +%% +Better is little with the fear of the LORD than great +treasure and trouble therewith. +%% +Better is the poor that walketh in his integrity, than he +that is perverse in his lips, and is a fool. +%% +Better is the poor that walketh in his uprightness, than he +that is perverse in his ways, though he be rich. +%% +Better it is to be of an humble spirit with the lowly, than +to divide the spoil with the proud. +%% +Better living a beggar than buried an emperor. +%% +Better the first quarrel than the last. -- Russian proverb +%% +Better to light one candle than to curse the darkness. +%% +Better turn back than lose your way. -- Russian proverb +%% +Beware of Greeks bearing gifts. -- Virgil +%% +Beware of a dark-haired man with a loud tie. +%% +Beware of a tall dark man with a spoon up his nose. +%% +Beware of all enterprises that require new clothes. +%% +Beware the new TTY code! +%% +Bind them upon thy fingers, write them upon the table of +thine heart. +%% +Blessed are they that run around in circles, for they shall +be known as wheels. +%% +Blessed is the man that heareth me, watching daily at my +gates, waiting at the posts of my doors. +%% +Blessings are upon the head of the just: but violence +covereth the mouth of the wicked. +%% +Boast not thyself of to morrow; for thou knowest not what a +day may bring forth. +%% +Bow down thine ear, and hear the words of the wise, and +apply thine heart unto my knowledge. +%% +Brain fried -- +core dumped +%% +Bread of deceit is sweet to a man; but afterwards his mouth +shall be filled with gravel. +%% +Bullets don't respect uniforms. +-- Russian proverb +%% +Burning lips and a wicked heart are like a potsherd covered +with silver dross. +%% +Business will be either better or worse. -- Calvin Coolidge +%% +But he knoweth not that the dead are there; and that her +guests are in the depths of hell. +%% +But he that sinneth against me wrongeth his own soul: all +they that hate me love death. +%% +But the path of the just is as the shining light, that +shineth more and more unto the perfect day. +%% +But the wicked shall be cut off from the earth, and the +transgressors shall be rooted out of it. +%% +But whoso committeth adultery with a woman lacketh +understanding: he that doeth it destroyeth his own soul. +%% +But whoso hearkeneth unto me shall dwell safely, and shall +be quiet from fear of evil. +%% +Buy the truth, and sell it not; also wisdom, and +instruction, and understanding. +%% +By failing to prepare, you are preparing to fail. +%% +By his knowledge the depths are broken up, and the clouds +drop down the dew. +%% +By humility and the fear of the LORD are riches, and +honour, and life. +%% +By long forbearing is a prince persuaded, and a soft tongue +breaketh the bone. +%% +By me kings reign, and princes decree justice. +%% +By me princes rule, and nobles, even all the judges of the +earth. +%% +By mercy and truth iniquity is purged: and by the fear of +the LORD men depart from evil. +%% +By the blessing of the upright the city is exalted: but it +is overthrown by the mouth of the wicked. +%% +Can a man take fire in his bosom, and his clothes not be +burned? Can one go upon hot coals, and his feet not be +burned? So he that goeth in to his neighbour's wife; whosoever +toucheth her shall not be innocent. +%% +Can anyone remember when the times were not hard, and money +not scarce? +%% +Can anything be sadder than work left unfinished? Yes, +work never begun. +%% +Cannot open /usr/games/lib/fortunes. +%% +Cast out the scorner, and contention shall go out; yea, +strife and reproach shall cease. +%% +Cease, my son, to hear the instruction that causeth to err +from the words of knowledge. +%% +Change your thoughts and you change your world. +%% +Charity: A thing that begins at home and usually stays +there. +%% +Chasten thy son while there is hope, and let not thy soul +spare for his crying. +%% +Children's children are the crown of old men; and the glory +of children are their fathers. +%% +Chinese saying: He who speak with forked tongue, not need +chopsticks. +%% +Choose variable names that won't be confused. +%% +Civilization is the limitless multiplication of unnecessary +necessities. +%% +Classified material requires proper storage. +%% +Colorless green ideas sleep furiously. +%% +Come, let us take our fill of love until the morning: let +us solace ourselves with loves. +%% +Commit thy works unto the LORD, and thy thoughts shall be +established. +%% +Common sense is not so common. +%% +Complaint is the largest tribute heaven receives, and the +sincerest part of our devotion. +%% +Confidence in an unfaithful man in time of trouble is like +a broken tooth, and a foot out of joint. +%% +Conscience doth make cowards of us all. -- William +Shakespeare +%% +Continental Life. Why do you ask? +%% +Correct thy son, and he shall give thee rest; yea, he shall +give delight unto thy soul. +%% +Correction is grievous unto him that forsaketh the way: and +he that hateth reproof shall die. +%% +Could John Wayne have ever taken Normandy, Iwo Jima, Korea, +the Gulf of Tonkin, and the entire Wild West on a diet of +quiche and salad? +%% +Counsel in the heart of man is like deep water; but a man +of understanding will draw it out. +%% +Counsel is mine, and sound wisdom: I am understanding; I +have strength. +%% +Courage is grace under pressure. +%% +Courage is your greatest present need. +%% +Creditors have much better memories than debtors. +%% +Culture is the habit of being pleased with the best and +knowing why. +%% +Death and life are in the power of the tongue: and they +that love it shall eat the fruit thereof. +%% +Death: To stop sinning suddenly. +%% +Debate thy cause with thy neighbour himself; and discover +not a secret to another: Lest he that heareth it put thee to +shame, and thine infamy turn not away. +%% +Deceit is in the heart of them that imagine evil: but to +the counsellors of peace is joy. +%% +Delight is not seemly for a fool; much less for a servant +to have rule over princes. +%% +Deliver thyself as a roe from the hand of the hunter, and +as a bird from the hand of the fowler. +%% +Democracy is the recurrent suspicion that more than half of +the people are right more than half of the time. +%% +Depression is merely anger without the enthusiasm. +%% +Deprive a mirror of its silver and even the Czar won't see +his face. +%% +Devise not evil against thy neighbour, seeing he dwelleth +securely by thee. +%% +Disclose classified information only when a NEED TO KNOW +exists. +%% +Discretion is the better part of valor. -- William +Shakespeare +%% +Disk crunch -- please clean up. +%% +Divers weights are an abomination unto the LORD; and a +false balance is not good. +%% +Do not clog intellect's sluices with bits of knowledge of +questionable uses. +%% +Do not merely believe in miracles, rely on them. +%% +Do not take life too seriously: you will never get out of +it alive. +%% +Do not underestimate the power of the Force. +%% +Do they not err that devise evil? but mercy and truth shall +be to them that devise good. +%% +Do this now, my son, and deliver thyself, when thou art +come into the hand of thy friend; go, humble thyself, and make +sure thy friend. +%% +Do you always believe what a computer tells you? +%% +Do you really want to know what I think of you? +%% +Dogs do not dislike poor families. +%% +Don't be humble, you're not that great. +%% +Don't comment bad code -- rewrite it. +%% +Don't compare floating point numbers solely for equality. +%% +Don't despair -- your ideal lover is waiting for you around +the corner. +%% +Don't diddle code to make it faster -- find a better +algorithm. +%% +Don't drive your horse with a whip -- use the oat bag. -- +Russian proverb +%% +Don't force it, use a bigger hammer. +%% +Don't get stuck in a closet -- wear yourself out. +%% +Don't hit the keys so hard, it hurts. +%% +Don't look now, but the man in the moon is laughing at you. +%% +Don't look now, but there is a multi-legged creature on +your shoulder. +%% +Don't patch bad code -- rewrite it. +%% +Don't quit now, we might just as well lock the door and +throw away the key. +%% +Don't stop at one bug. +%% +Don't tell me what you dreamt last night for I've been +reading Freud. +%% +Doth not wisdom cry? and understanding put forth her voice? +She standeth in the top of high places, by the way in the +places of the paths. +%% +Drawing on my fine command of language, I said nothing. +%% +Drink waters out of thine own cistern, and running waters +out of thine own well. +%% +Drugs are for people who can't handle reality. +%% +Due to lack of interest, today has been cancelled. +%% +Due to popular demand, you have been awarded the day off. +%% +Eat thou not the bread of him that hath an evil eye, +neither desire thou his dainty meats: For as he thinketh in his +heart, so is he: Eat and drink, saith he to thee; but his +heart is not with thee. +%% +Education helps earning capacity. Ask any college +professor. +%% +Enter not into the path of the wicked, and go not in the +way of evil men. +%% +Envy thou not the oppressor, and choose none of his ways. +%% +Eternal nothingness is fine if you're dressed for it. +%% +Even a cabbage may look at a king. +%% +Even a child is known by his doings, whether his work be +pure, and whether it be right. +%% +Even a fool, when he holdeth his peace, is counted wise: +and he that shutteth his lips is esteemed a man of +understanding. +%% +Even a hawk is an eagle among crows. +%% +Even in laughter the heart is sorrowful; and the end of +that mirth is heaviness. +%% +Even the boldest zebra fears the hungry lion. +%% +Even the smallest candle burns brighter in the dark. +%% +Every absurdity has a champion to defend it. +%% +Every creature has within itself the wild, uncontrollable +urge to punt. +%% +Every generation laughs at old fashions, but follows +religiously the new. +%% +Every man shall kiss his lips that giveth a right answer. +%% +Every nation has the government it deserves. +%% +Every one that is proud in heart is an abomination to the +LORD: though hand join in hand, he shall not be unpunished. +%% +Every program has (at least) two purposes: the one for +which it was built, and another for which it wasn't. +%% +Every program is a part of some other program and rarely +fits. +%% +Every prudent man dealeth with knowledge: but a fool layeth +open his folly. +%% +Every purchase has its price. +%% +Every purpose is established by counsel: and with good +advice make war. +%% +Every silver lining has a cloud inside it. +%% +Every way of a man is right in his own eyes: but the LORD +pondereth the hearts. +%% +Every wise woman buildeth her house: but the foolish +plucketh it down with her hands. +%% +Everybody needs a little love sometime; stop hacking and +fall in love! +%% +Everybody ought to have a friend. +%% +Everyone is enthusiastic about your work. +%% +Everyone needs to believe in something; I believe I'll have +another beer. +%% +Everything should be built top-down, except the first time. +%% +Everything should be made as simple as possible, but no +simpler. +%% +Everything you know is wrong! +%% +Evil men understand not judgment: but they that seek the +LORD understand all things. +%% +Evil pursueth sinners: but to the righteous good shall be +repayed. +%% +Exalt her, and she shall promote thee: she shall bring thee +to honour, when thou dost embrace her. +%% +Excellent speech becometh not a fool: much less do lying +lips a prince. +%% +Facts do not cease to exist because they are ignored. +%% +Failure is more frequently from want of energy than want of +capital. +%% +Faithful are the wounds of a friend; but the kisses of an +enemy are deceitful. +%% +Far duller than a serpent's tooth it is to spend a quiet +youth. +%% +Favour is deceitful, and beauty is vain: but a woman that +feareth the LORD, she shall be praised. +%% +Fear has big eyes. -- Russian proverb +%% +Fidelity: A virtue peculiar to those who are about to be +betrayed. +%% +Finagle's Law: The perversity of the universe tends toward +a maximum. +%% +Flee at once, all is discovered. +%% +Folly is joy to him that is destitute of wisdom: but a man +of understanding walketh uprightly. +%% +Foolishness is bound in the heart of a child; but the rod +of correction shall drive it far from him. +%% +Fools ignore complexity. Pragmatists suffer it. Geniuses +remove it. +%% +Fools make a mock at sin: but among the righteous there is +favour. +%% +Fools rush in where angels fear to tread. -- Alexander Pope +%% +Fools shoot, but God directs the bullets. -- Russian +proverb +%% +For I give you good doctrine, forsake ye not my law. +%% +For I was my father's son, tender and only beloved in the +sight of my mother. +%% +For a whore is a deep ditch; and a strange woman is a +narrow pit. +%% +For at the window of my house I looked through my casement, +And beheld among the simple ones, I discerned among the +youths, a young man void of understanding, Passing through +the street near her corner; and he went the way to her house, +In the twilight, in the evening, in the black and dark +night: And, behold, there met him a woman with the attire of +an harlot, and subtil of heart. +%% +For by me thy days shall be multiplied, and the years of +thy life shall be increased. +%% +For by means of a whorish woman a man is brought to a piece +of bread: and the adultress will hunt for the precious +life. +%% +For by wise counsel thou shalt make thy war: and in +multitude of counsellors there is safety. +%% +For her house inclineth unto death, and her paths unto the +dead. +%% +For it is a pleasant thing if thou keep them within thee; +they shall withal be fitted in thy lips. +%% +For jealousy is the rage of a man: therefore he will not +spare in the day of vengeance. +%% +For my mouth shall speak truth; and wickedness is an +abomination to my lips. +%% +For riches are not for ever: and doth the crown endure to +every generation? The hay appeareth, and the tender grass +sheweth itself, and herbs of the mountains are gathered. +%% +For she hath cast down many wounded: yea, many strong men +have been slain by her. +%% +For she sitteth at the door of her house, on a seat in the +high places of the city, To call passengers who go right on +their ways: Whoso is simple, let him turn in hither: and +as for him that wanteth understanding, she saith to him, +Stolen waters are sweet, and bread eaten in secret is pleasant. +%% +For surely there is an end; and thine expectation shall not +be cut off. +%% +For the LORD giveth wisdom: out of his mouth cometh +knowledge and understanding. +%% +For the LORD shall be thy confidence, and shall keep thy +foot from being taken. +%% +For the commandment is a lamp; and the law is light; and +reproofs of instruction are the way of life: To keep thee +from the evil woman, from the flattery of the tongue of a +strange woman. +%% +For the froward is abomination to the LORD: but his secret +is with the righteous. +%% +For the goodman is not at home, he is gone a long journey: +He hath taken a bag of money with him, and will come home +at the day appointed. +%% +For the lips of a strange woman drop as an honeycomb, and +her mouth is smoother than oil: But her end is bitter as +wormwood, sharp as a two-edged sword. +%% +For the merchandise of it is better than the merchandise of +silver, and the gain thereof than fine gold. +%% +For the transgression of a land many are the princes +thereof: but by a man of understanding and knowledge the state +thereof shall be prolonged. +%% +For the turning away of the simple shall slay them, and the +prosperity of fools shall destroy them. +%% +For the upright shall dwell in the land, and the perfect +shall remain in it. +%% +For their heart studieth destruction, and their lips talk +of mischief. +%% +For they are life unto those that find them, and health to +all their flesh. +%% +For they eat the bread of wickedness, and drink the wine of +violence. +%% +For they sleep not, except they have done mischief; and +their sleep is taken away, unless they cause some to fall. +%% +For three things the earth is disquieted, and for four +which it cannot bear: For a servant when he reigneth; and a +fool when he is filled with meat; For an odious woman when she +is married; and an handmaid that is heir to her mistress. +%% +For whoso findeth me findeth life, and shall obtain favour +of the LORD. +%% +For wisdom is better than rubies; and all the things that +may be desired are not to be compared to it. +%% +Forgive and forget. -- Cervantes +%% +Forsake her not, and she shall preserve thee: love her, and +she shall keep thee. +%% +Forsake the foolish, and live; and go in the way of +understanding. +%% +Fret not thyself because of evil men, neither be thou +envious at the wicked: For there shall be no reward to the evil +man; the candle of the wicked shall be put out. +%% +Friends: People who borrow my books and set wet glasses on +them. +%% +General notions are generally wrong. +%% +Genius is the talent of a man who is dead. +%% +Get wisdom, get understanding: forget it not; neither +decline from the words of my mouth. +%% +Give her of the fruit of her hands; and let her own works +praise her in the gates. +%% +Give instruction to a wise man, and he will be yet wiser: +teach a just man, and he will increase in learning. +%% +Give not sleep to thine eyes, nor slumber to thine eyelids. +%% +Give strong drink unto him that is ready to perish, and +wine unto those that be of heavy hearts. +%% +Go directly to jail. Do not pass Go, do not collect $200. +%% +Go from the presence of a foolish man, when thou perceivest +not in him the lips of knowledge. +%% +Go not forth hastily to strive, lest thou know not what to +do in the end thereof, when thy neighbour hath put thee to +shame. +%% +Go to the ant, thou sluggard; consider her ways, and be +wise: Which having no guide, overseer, or ruler, Provideth her +meat in the summer, and gathereth her food in the harvest. +%% +God does not play dice. +%% +God gave us two ears and one tongue so that we may listen +twice as much as we speak. +%% +God helps them that help themselves. -- Benjamin Franklin +%% +God is not dead; He is only swapped out. +%% +God made the integers; all else is the work of Man. +%% +God may be subtle, but He isn't plain mean. +%% +God must love the common man: He made so many of them. +%% +Good intentions are far more difficult to cope with than +malicious behavior. +%% +Good intentions randomize behavior. +%% +Good understanding giveth favour: but the way of +transgressors is hard. +%% +Great is Holy Russia, but the sun shines elsewhere, too. -- +Old Russian proverb +%% +Great spirits have always encountered violent opposition +from mediocre minds. +%% +Greatness is a transitory experience. It is never +consistent. +%% +Hackers of the world, unite! +%% +Happiness adds and multiplies as we divide it with others. +%% +Happy is the man that feareth alway: but he that hardeneth +his heart shall fall into mischief. +%% +Happy is the man that findeth wisdom, and the man that +getteth understanding. +%% +Hast thou found honey? eat so much as is sufficient for +thee, lest thou be filled therewith, and vomit it. +%% +Haste makes waste. +%% +Hatred stirreth up strifes: but love covereth all sins. +%% +Have not I written to thee excellent things in counsels and +knowledge, That I might make thee know the certainty of +the words of truth; that thou mightest answer the words of +truth to them that send unto thee? Rob not the poor, because +he is poor: neither oppress the afflicted in the gate: For +the LORD will plead their cause, and spoil the soul of +those that spoiled them. +%% +Have you locked your file cabinet? +%% +He also that is slothful in his work is brother to him that +is a great waster. +%% +He becometh poor that dealeth with a slack hand: but the +hand of the diligent maketh rich. +%% +He coveteth greedily all the day long: but the righteous +giveth and spareth not. +%% +He goeth after her straightway, as an ox goeth to the +slaughter, or as a fool to the correction of the stocks; Till a +dart strike through his liver; as a bird hasteth to the +snare, and knoweth not that it is for his life. +%% +He is considered the most graceful speaker who can say +nothing in most words. +%% +He is in the way of life that keepeth instruction: but he +that refuseth reproof erreth. +%% +He is truly wise who gains wisdom from another's mishap. +%% +He keepeth the paths of judgment, and preserveth the way of +his saints. +%% +He layeth up sound wisdom for the righteous: he is a +buckler to them that walk uprightly. +%% +He looked at me as if I was a side dish he hadn't ordered. +%% +He loveth transgression that loveth strife: and he that +exalteth his gate seeketh destruction. +%% +He shall die without instruction; and in the greatness of +his folly he shall go astray. +%% +He shutteth his eyes to devise froward things: moving his +lips he bringeth evil to pass. +%% +He taught me also, and said unto me, Let thine heart retain +my words: keep my commandments, and live. +%% +He that answereth a matter before he heareth it, it is +folly and shame unto him. +%% +He that begetteth a fool doeth it to his sorrow: and the +father of a fool hath no joy. +%% +He that blesseth his friend with a loud voice, rising early +in the morning, it shall be counted a curse to him. +%% +He that by usury and unjust gain increaseth his substance, +he shall gather it for him that will pity the poor. +%% +He that covereth a transgression seeketh love; but he that +repeateth a matter separateth very friends. +%% +He that covereth his sins shall not prosper: but whoso +confesseth and forsaketh them shall have mercy. +%% +He that delicately bringeth up his servant from a child +shall have him become his son at the length. +%% +He that despiseth his neighbour sinneth: but he that hath +mercy on the poor, happy is he. +%% +He that deviseth to do evil shall be called a mischievous +person. +%% +He that diligently seeketh good procureth favour: but he +that seeketh mischief, it shall come unto him. +%% +He that followeth after righteousness and mercy findeth +life, righteousness, and honour. +%% +He that gathereth in summer is a wise son: but he that +sleepeth in harvest is a son that causeth shame. +%% +He that getteth wisdom loveth his own soul: he that keepeth +understanding shall find good. +%% +He that giveth unto the poor shall not lack: but he that +hideth his eyes shall have many a curse. +%% +He that goeth about as a talebearer revealeth secrets: +therefore meddle not with him that flattereth with his lips. +%% +He that handleth a matter wisely shall find good: and whoso +trusteth in the LORD, happy is he. +%% +He that hasteth to be rich hath an evil eye, and +considereth not that poverty shall come upon him. +%% +He that hateth dissembleth with his lips, and layeth up +deceit within him; When he speaketh fair, believe him not: for +there are seven abominations in his heart. +%% +He that hath a bountiful eye shall be blessed; for he +giveth of his bread to the poor. +%% +He that hath a froward heart findeth no good: and he that +hath a perverse tongue falleth into mischief. +%% +He that hath knowledge spareth his words: and a man of +understanding is of an excellent spirit. +%% +He that hath no rule over his own spirit is like a city +that is broken down, and without walls. +%% +He that hath pity upon the poor lendeth unto the LORD; and +that which he hath given will he pay him again. +%% +He that hideth hatred with lying lips, and he that uttereth +a slander, is a fool. +%% +He that is despised, and hath a servant, is better than he +that honoureth himself, and lacketh bread. +%% +He that is first in his own cause seemeth just; but his +neighbour cometh and searcheth him. +%% +He that is greedy of gain troubleth his own house; but he +that hateth gifts shall live. +%% +He that is of a proud heart stirreth up strife: but he that +putteth his trust in the LORD shall be made fat. +%% +He that is slow to anger is better than the mighty; and he +that ruleth his spirit than he that taketh a city. +%% +He that is slow to wrath is of great understanding: but he +that is hasty of spirit exalteth folly. +%% +He that is soon angry dealeth foolishly: and a man of +wicked devices is hated. +%% +He that is surety for a stranger shall smart for it: and he +that hateth suretiship is sure. +%% +He that is void of wisdom despiseth his neighbour: but a +man of understanding holdeth his peace. +%% +He that justifieth the wicked, and he that condemneth the +just, even they both are abomination to the LORD. +%% +He that keepeth his mouth keepeth his life: but he that +openeth wide his lips shall have destruction. +%% +He that keepeth the commandment keepeth his own soul; but +he that despiseth his ways shall die. +%% +He that laboureth laboureth for himself; for his mouth +craveth it of him. +%% +He that loveth pleasure shall be a poor man: he that loveth +wine and oil shall not be rich. +%% +He that loveth pureness of heart, for the grace of his lips +the king shall be his friend. +%% +He that oppresseth the poor reproacheth his Maker: but he +that honoureth him hath mercy on the poor. +%% +He that oppresseth the poor to increase his riches, and he +that giveth to the rich, shall surely come to want. +%% +He that passeth by, and meddleth with strife belonging not +to him, is like one that taketh a dog by the ears. +%% +He that rebuketh a man afterwards shall find more favour +than he that flattereth with the tongue. +%% +He that refuseth instruction despiseth his own soul: but he +that heareth reproof getteth understanding. +%% +He that reproveth a scorner getteth to himself shame: and +he that rebuketh a wicked man getteth himself a blot. +%% +He that saith unto the wicked, Thou are righteous; him +shall the people curse, nations shall abhor him: But to them +that rebuke him shall be delight, and a good blessing shall +come upon them. +%% +He that sendeth a message by the hand of a fool cutteth off +the feet, and drinketh damage. +%% +He that soweth iniquity shall reap vanity: and the rod of +his anger shall fail. +%% +He that spareth his rod hateth his son: but he that loveth +him chasteneth him betimes. +%% +He that speaketh truth sheweth forth righteousness: but a +false witness deceit. +%% +He that tilleth his land shall be satisfied with bread: but +he that followeth vain persons is void of understanding. +%% +He that tilleth his land shall have plenty of bread: but he +that followeth after vain persons shall have poverty +enough. +%% +He that troubleth his own house shall inherit the wind: and +the fool shall be servant to the wise of heart. +%% +He that trusteth in his own heart is a fool: but whoso +walketh wisely, he shall be delivered. +%% +He that trusteth in his riches shall fall; but the +righteous shall flourish as a branch. +%% +He that turneth away his ear from hearing the law, even his +prayer shall be abomination. +%% +He that walketh in his uprightness feareth the LORD: but he +that is perverse in his ways despiseth him. +%% +He that walketh uprightly walketh surely: but he that +perverteth his ways shall be known. +%% +He that walketh with wise men shall be wise: but a +companion of fools shall be destroyed. +%% +He that wasteth his father, and chaseth away his mother, is +a son that causeth shame, and bringeth reproach. +%% +He that winketh with the eye causeth sorrow: but a prating +fool shall fall. +%% +He that withholdeth corn, the people shall curse him: but +blessing shall be upon the head of him that selleth it. +%% +He that would govern others, first should be the master of +himself. +%% +He thinks by infection, catching an opinion like a cold. +%% +He walks as if balancing the family tree on his nose. +%% +He was so narrow-minded he could see through a keyhole with +both eyes. +%% +He who has imagination without learning has wings but no +feet. +%% +He who hates vices hates mankind. +%% +He who hesitates is lost. +%% +He who hesitates is sometimes saved. +%% +He who invents adages for others to peruse takes along +rowboat when going on cruise. +%% +He who laughs, lasts. +%% +He who lives without folly is less wise than he believes. +%% +He who spends a storm beneath a tree, takes life with a +grain of TNT. +%% +He will not regard any ransom; neither will he rest +content, though thou givest many gifts. +%% +He winketh with his eyes, he speaketh with his feet, he +teacheth with his fingers; Frowardness is in his heart, he +deviseth mischief continually; he soweth discord. +%% +He, that being often reproved hardeneth his neck, shall +suddenly be destroyed, and that without remedy. +%% +Hear counsel, and receive instruction, that thou mayest be +wise in thy latter end. +%% +Hear instruction, and be wise, and refuse it not. +%% +Hear me now therefore, O ye children, and depart not from +the words of my mouth. +%% +Hear thou, my son, and be wise, and guide thine heart in +the way. +%% +Hear, O my son, and receive my sayings; and the years of +thy life shall be many. +%% +Hear, ye children, the instruction of a father, and attend +to know understanding. +%% +Hear; for I will speak of excellent things; and the opening +of my lips shall be right things. +%% +Hearken unto me now therefore, O ye children, and attend to +the words of my mouth. +%% +Hearken unto thy father that begat thee, and despise not +thy mother when she is old. +%% +Heaviness in the heart of man maketh it stoop: but a good +word maketh it glad. +%% +Hell and destruction are before the LORD: how much more +then the hearts of the children of men? A scorner loveth not +one that reproveth him: neither will he go unto the wise. +%% +Hell and destruction are never full; so the eyes of man are +never satisfied. +%% +Hell is empty and all the devils are here. [The Tempest] +%% +Her children arise up, and call her blessed; her husband +also, and he praiseth her. +%% +Her feet go down to death; her steps take hold on hell. +%% +Her house is the way to hell, going down to the chambers of +death. +%% +Her husband is known in the gates, when he sitteth among +the elders of the land. +%% +Her ways are ways of pleasantness, and all her paths are +peace. +%% +His heart was yours from the first moment that you met. +%% +His own iniquities shall take the wicked himself, and he +shall be holden with the cords of his sins. +%% +Histories are fuller of examples of the fidelity of dogs +than of friends. +%% +Honi soit la vache qui rit. +%% +Honour the LORD with thy substance, and with the +firstfruits of all thine increase: So shall thy barns be filled with +plenty, and thy presses shall burst out with new wine. +%% +Hope deferred maketh the heart sick: but when the desire +cometh, it is a tree of life. +%% +Houdini's escaping from New Jersey! +%% +House and riches are the inheritance of fathers: and a +prudent wife is from the LORD. +%% +How can you work when the system's so crowded? +%% +How long wilt thou sleep, O sluggard? when wilt thou arise +out of thy sleep? Yet a little sleep, a little slumber, a +little folding of the hands to sleep: So shall thy poverty +come as one that travelleth, and thy want as an armed man. +%% +How many weeks are there in a light year? +%% +How much better is it to get wisdom than gold! and to get +understanding rather to be chosen than silver! The highway +of the upright is to depart from evil: he that keepeth his +way preserveth his soul. +%% +How sharper than a hound's tooth it is to have a thankless +serpent. +%% +How wonderful opera would be if there were no singers. +%% +How you look depends on where you go. +%% +Humility is the first of the virtues -- for other people. +-- Oliver W. Holmes +%% +I GOTTA GET OUTTA HERE! +%% +I am not arguing with you -- I am telling you. +%% +I came to MIT to get an education for myself and a diploma +for my mother. +%% +I hate quotations. -- Ralph Waldo Emerson +%% +I have decked my bed with coverings of tapestry, with +carved works, with fine linen of Egypt. +%% +I have perfumed my bed with myrrh, aloes, and cinnamon. +%% +I have taught thee in the way of wisdom; I have led thee in +right paths. +%% +I lead in the way of righteousness, in the midst of the +paths of judgment: That I may cause those that love me to +inherit substance; and I will fill their treasures. +%% +I like work; it fascinates me; I can sit and look at it for +hours. +%% +I love them that love me; and those that seek me early +shall find me. +%% +I must have slipped a disk; my pack hurts. +%% +I neither learned wisdom, nor have the knowledge of the +holy. +%% +I think we're all Bozos on this bus. +%% +I was set up from everlasting, from the beginning, or ever +the earth was. +%% +I went by the field of the slothful, and by the vineyard of +the man void of understanding; And, lo, it was all grown +over with thorns, and nettles had covered the face thereof, +and the stone wall thereof was broken down. +%% +I will never lie to you. +%% +I wisdom dwell with prudence, and find out knowledge of +witty inventions. +%% +I wish you humans would leave me alone. +%% +I'm a Hollywood writer; so I put on a sports jacket and +take off my brain. +%% +I'm not sure how to fly this thing, but I'll give it that +old college try! +%% +I've done so much with so little for so long that I can do +anything with nothing. +%% +IKM006 4050303293 CHECK/NOCHECK PREFIX NOT PERMITTED IN +THIS CONTEXT. +%% +IOT trap -- core dumped +%% +IOT trap -- mos dumped +%% +If God had wanted you to go around nude, He would have +given you bigger hands. +%% +If a group of N persons implements a COBOL compiler, there +will be N-1 passes: Someone in the group has to be the +manager. +%% +If a listener nods his head when you are explaining your +program, wake him up. +%% +If a program manipulates large amounts of data, it does so +in a small number of ways. +%% +If a ruler hearken to lies, all his servants are wicked. +%% +If a wise man contendeth with a foolish man, whether he +rage or laugh, there is no rest. +%% +If at first you don't succeed, get new batteries. +%% +If at first you don't succeed, quit; don't be a nut about +success. +%% +If at first you don't succeed, try, try again. +%% +If it doesn't feel good, don't do it. +%% +If the auto industry had done what the computer industry +has done in the past 30 years, a Rolls Royce would cost $2.50 +and would get 2,000,000 miles per gallon. +%% +If the path be beautiful, let us not ask where it leads. -- +Anatole France +%% +If they say, Come with us, let us lay wait for blood, let +us lurk privily for the innocent without cause: Let us +swallow them up alive as the grave; and whole, as those that go +down into the pit: We shall find all precious substance, we +shall fill our houses with spoil: Cast in thy lot among +us; let us all have one purse: My son, walk not thou in the +way with them; refrain thy foot from their path: For their +feet run to evil, and make haste to shed blood. +%% +If thine enemy be hungry, give him bread to eat; and if he +be thirsty, give him water to drink: For thou shalt heap +coals of fire upon his head, and the LORD shall reward thee. +%% +If thou be wise, thou shalt be wise for thyself: but if +thou scornest, thou alone shalt bear it. +%% +If thou faint in the day of adversity, thy strength is +small. +%% +If thou forbear to deliver them that are drawn unto death, +and those that are ready to be slain; If thou sayest, +Behold, we knew it not; doth not he that pondereth the heart +consider it? and he that keepeth thy soul, doth not he know +it? and shall not he render to every man according to his +works? My son, eat thou honey, because it is good; and the +honeycomb, which is sweet to thy taste: So shall the knowledge +of wisdom be unto thy soul: when thou hast found it, then +there shall be a reward, and thy expectation shall not be cut off. +%% +If thou hast done foolishly in lifting up thyself, or if +thou hast thought evil, lay thine hand upon thy mouth. +%% +If thou hast nothing to pay, why should he take away thy +bed from under thee? Remove not the ancient landmark, which +thy fathers have set. +%% +If we knew where we were going to fall, we could have +spread a carpet there. -- Russian proverb +%% +If you are a rooster, crow; if you are a hen, shut up and +lay eggs. -- Russian proverb +%% +If you are tired of a friend, lend him money. -- Russian +proverb +%% +If you ask how much it is, you can't afford it. +%% +If you pick up a starving dog and make him prosperous, he +will not bite you. This is the principal difference between +a dog and a man. -- Mark Twain +%% +If you suspect a man, don't employ him. +%% +If you think before you speak the other guy gets his joke +in first. +%% +If you tickle yourself, you can laugh when you please. -- +Russian proverb +%% +If you want a fortune, go to a Chinese restaurant. +%% +If you want to know how old a man is, ask his +brother-in-law. +%% +Ignorance is a lack of knowledge. Stupidity is ignorance +with pride. +%% +Ignorance is bliss. -- Thomas Gray +%% +Ignorance is when you don't know anything and somebody +finds it out. +%% +Ignore previous fortune. +%% +In all labour there is profit: but the talk of the lips +tendeth only to penury. +%% +In all thy ways acknowledge him, and he shall direct thy +paths. +%% +In marriage, as in war, it is permitted to take every +advantage of the enemy. +%% +In the fear of the LORD is strong confidence: and his +children shall have a place of refuge. +%% +In the first place, God made idiots; this was for practice; +then He made school boards. -- Mark Twain +%% +In the house of the righteous is much treasure: but in the +revenues of the wicked is trouble. +%% +In the light of the king's countenance is life; and his +favour is as a cloud of the latter rain. +%% +In the lips of him that hath understanding wisdom is found: +but a rod is for the back of him that is void of +understanding. +%% +In the mouth of the foolish is a rod of pride: but the lips +of the wise shall preserve them. +%% +In the multitude of people is the king's honour: but in the +want of people is the destruction of the prince. +%% +In the multitude of words there wanteth not sin: but he +that refraineth his lips is wise. +%% +In the transgression of an evil man there is a snare: but +the righteous doth sing and rejoice. +%% +In the way of righteousness is life: and in the pathway +thereof there is no death. +%% +In this world, not everyone with a long knife is a cook. -- +Russian proverb +%% +In this world, truth can wait; she's used to it. +%% +In unanimity there is cowardice and uncritical thinking. +%% +In wickedness there is a strong strain toward rationality. +%% +Institute: An archaic school where football in not taught. +%% +Integrity has no need for rules. +%% +Iron sharpeneth iron; so a man sharpeneth the countenance +of his friend. +%% +Is this really happening? +%% +It is a bad plan that admits of no modification. -- +Publilius Syrus +%% +It is a poor judge who cannot award a prize. +%% +It is an abomination to kings to commit wickedness: for the +throne is established by righteousness. +%% +It is an honour for a man to cease from strife: but every +fool will be meddling. +%% +It is as sport to a fool to do mischief: but a man of +understanding hath wisdom. +%% +It is better to die on your feet than to live on your +knees. +%% +It is better to dwell in a corner of the housetop, than +with a brawling woman in a wide house. +%% +It is better to dwell in the corner of the housetop, than +with a brawling woman and in a wide house. +%% +It is better to dwell in the wilderness, than with a +contentious and an angry woman. +%% +It is better to have loved and lost -- much better. +%% +It is better to have loved and lost than just to have lost. +%% +It is better to wear out than to rust out. +%% +It is easier to change the specification to fit the program +than vice versa. +%% +It is easier to fight for one's principles than to live up +to them. +%% +It is easier to run down a hill than up one. +%% +It is easier to write an incorrect program than to +understand a correct one. +%% +It is joy to the just to do judgment: but destruction shall +be to the workers of iniquity. +%% +It is naught, it is naught, saith the buyer: but when he is +gone his way, then he boasteth. +%% +It is not for kings, O Lemuel, it is not for kings to drink +wine; nor for princes strong drink: Lest they drink, and +forget the law, and pervert the judgment of any of the +afflicted. +%% +It is not good to accept the person of the wicked, to +overthrow the righteous in judgment. +%% +It is not good to eat much honey: so for men to search +their own glory is not glory. +%% +It is one thing to praise discipline, and another to submit +to it. +%% +It is the glory of God to conceal a thing: but the honour +of kings is to search out a matter. +%% +It is the wise bird who builds his nest in a tree. +%% +It seems to make an auto driver mad if he misses you. +%% +It shall be health to thy navel, and marrow to thy bones. +%% +It was a book to kill time for those who liked it better +dead. +%% +It's a good thing we don't get all the government we pay +for. +%% +It's a poor workman who blames his tools. +%% +It's all in the mind, ya know. +%% +It's better to burn out than to fade away. +%% +It's later than you think. +%% +It's not reality that's important, but how you perceive +things. +%% +It's not whether you win or lose, but how you play the +game. -- Grantland Rice +%% +It's pretty hard to tell what does bring happiness; poverty +and wealth have both failed. +%% +Journalism will kill you, but it will keep you alive while +you're at it. +%% +Judgments are prepared for scorners, and stripes for the +back of fools. +%% +Just because the bells are ringing, it is not necessarily +dinner time. -- Russian proverb +%% +Keep my commandments, and live; and my law as the apple of +thine eye. +%% +Keep thy heart with all diligence; for out of it are the +issues of life. +%% +Kiss your keyboard good-bye! +%% +LISP: To call a spade a thpade. +%% +Labour not to be rich: cease from thine own wisdom. +%% +Large numbers of things are determined, and therefore not +subject to change. +%% +Last guys don't finish nice. +%% +Laugh, and the world ignores you. Crying doesn't help +either. +%% +Lay not wait, O wicked man, against the dwelling of the +righteous; spoil not his resting place: For a just man falleth +seven times, and riseth up again: but the wicked shall +fall into mischief. +%% +Learn good things -- the bad ones will teach you by +themselves. -- Russian proverb +%% +Learned men are the cisterns of knowledge, not the +fountainheads. +%% +Lend money to a bad debtor and he will hate you. +%% +Length of days is in her right hand; and in her left hand +riches and honour. +%% +Lest thou shouldest ponder the path of life, her ways are +moveable, that thou canst not know them. +%% +Let a bear robbed of her whelps meet a man, rather than a +fool in his folly. +%% +Let a fool hold his tongue and he will pass for a sage. +%% +Let another man praise thee, and not thine own mouth; a +stranger, and not thine own lips. +%% +Let her be as the loving hind and pleasant roe; let her +breasts satisfy thee at all times; and be thou ravished always +with her love. +%% +Let him drink, and forget his poverty, and remember his +misery no more. +%% +Let him who takes the Plunge remember to return it by +Tuesday. +%% +Let not mercy and truth forsake thee: bind them about thy +neck; write them upon the table of thine heart: So shalt +thou find favour and good understanding in the sight of God +and man. +%% +Let not the sands of time get in your lunch. +%% +Let not thine heart decline to her ways, go not astray in +her paths. +%% +Let not thine heart envy sinners: but be thou in the fear +of the LORD all the day long. +%% +Let sleeping dogs lie. -- Charles Dickens +%% +Let the machine do the dirty work. +%% +Let them be only thine own, and not strangers' with thee. +%% +Let them not depart from thine eyes; keep them in the midst +of thine heart. +%% +Let thine eyes look right on, and let thine eyelids look +straight before thee. +%% +Let thy fountain be blessed: and rejoice with the wife of +thy youth. +%% +Let thy fountains be dispersed abroad, and rivers of waters +in the streets. +%% +Let your conscience be your guide. -- Alexander Pope +%% +Liar: One who tells an unpleasant truth. +%% +Life as we know it doesn't exist. +%% +Life is a game of bridge -- and you've just been finessed. +%% +Life is full of little surprises, and you are one of them. +%% +Life is like a sewer, what you get out of it depends on +what you put into it. +%% +Life is like an analogy. +%% +Life is unbearable, but death is not so pleasant either. -- +Russian proverb +%% +Like punning, programming is a play on words. +%% +Like winter snow on summer lawn, time past is time gone. +%% +Live a clean, healthy life and you will soon die of +boredom. +%% +Live a hundred years, learn a hundred years, and you'll +still die a fool. -- Russian proverb +%% +Live and scratch -- when you're dead, the itching will +stop. -- Russian proverb +%% +Logic is a little bird, sitting in a tree, that smells +AWFUL. +%% +Long computations that yield zero are probably all for +naught. +%% +Long life is in store for you. +%% +Look before you leap. -- Samuel Butler +%% +Look not thou upon the wine when it is red, when it giveth +his colour in the cup, when it moveth itself aright. +%% +Losing your driver's license is just God's way of saying +"BOOGA, BOOGA!" +%% +Love and scandal are the best sweeteners of tea. +%% +Love conquers all things. -- Virgil +%% +Love is in the offing, said the homicidal maniac. +%% +Love is in the offing. Be affectionate to one who adores +you. +%% +Love is the triumph of imagination over intelligence. +%% +Love not sleep, lest thou come to poverty; open thine eyes, +and thou shalt be satisfied with bread. +%% +Love the sea? I dote upon it -- from the beach. +%% +Lust not after her beauty in thine heart; neither let her +take thee with her eyelids. +%% +Lying lips are abomination to the LORD: but they that deal +truly are his delight. +%% +Make input easy to proofread. +%% +Make it right before you make it faster. +%% +Make no friendship with an angry man; and with a furious +man thou shalt not go: Lest thou learn his ways, and get a +snare to thy soul. +%% +Make sure all variables are initialized before use. +%% +Make sure comments and code agree. +%% +Make sure your code "does nothing" gracefully. +%% +Make yourself into a sheep, and you'll meet a wolf nearby. +-- Russian proverb +%% +Man alone suffers so excruciatingly in the world that he +was compelled to invent laughter. +%% +Man who falls in blast furnace is certain to feel +overwrought. +%% +Man who falls in vat of molten optical glass makes +spectacle of self. +%% +Man's goings are of the LORD; how can a man then understand +his own way? It is a snare to the man who devoureth that +which is holy, and after vows to make enquiry. +%% +Man's horizons are bounded by his vision. +%% +Many are called, few are chosen. Fewer still get to do the +choosing. +%% +Many are called, few volunteer. +%% +Many are cold, but few are frozen. +%% +Many daughters have done virtuously, but thou excellest +them all. +%% +Many pages make a thick book. +%% +Many receive advice, few profit from it. +%% +Many seek the ruler's favour; but every man's judgment +cometh from the LORD. +%% +Many will intreat the favour of the prince: and every man +is a friend to him that giveth gifts. +%% +Marriage -- a three ring circus: engagement ring, wedding +ring, and suffering. +%% +Marriage is like sneezing: even when you feel it coming on, +you can't stop. -- Russian proverb +%% +Mathematics deals exclusively with the relations of +concepts to each other without consideration of their relation to +experience. -- Albert Einstein +%% +Memory should be the starting point of the present. +%% +Men do not despise a thief, if he steal to satisfy his soul +when he is hungry; But if he be found, he shall restore +sevenfold; he shall give all the substance of his house. +%% +Men have a much better time of it than women; for one +thing, they marry later; for another thing, they die earlier. +%% +Men love to wonder, and that is the seed of science. +%% +Men use thought only to justify their wrong doings, and +speech only to conceal their thoughts. +%% +Mercy and truth preserve the king: and his throne is +upholden by mercy. +%% +Might as well be frank, Monsieur. It would take a miracle +to get you out of Casablanca. +%% +Mind your own business, Spock. I'm sick of your half-breed +interference. +%% +Mistakes are oft the stepping stones to failure. +%% +Moderation is a fatal thing. Nothing succeeds like excess. +%% +Modesty is a vastly overrated virtue. +%% +Money may buy friendship but money can not buy love. +%% +Money will say more in one moment than the most eloquent +lover can in years. +%% +Most men will proclaim every one his own goodness: but a +faithful man who can find? The just man walketh in his +integrity: his children are blessed after him. +%% +Most people eat as though they were fattening themselves +for market. +%% +Most people find the concept of programming obvious, but +the doing impossible. +%% +Much food is in the tillage of the poor: but there is that +is destroyed for want of judgment. +%% +My fruit is better than gold, yea, than fine gold; and my +revenue than choice silver. +%% +My opponent's best move is my best move. +%% +My son, attend to my words; incline thine ear unto my +sayings. +%% +My son, attend unto my wisdom, and bow thine ear to my +understanding: That thou mayest regard discretion, and that thy +lips may keep knowledge. +%% +My son, be wise, and make my heart glad, that I may answer +him that reproacheth me. +%% +My son, despise not the chastening of the LORD; neither be +weary of his correction: For whom the LORD loveth he +correcteth; even as a father the son in whom he delighteth. +%% +My son, fear thou the LORD and the king: and meddle not +with them that are given to change: For their calamity shall +rise suddenly; and who knoweth the ruin of them both? These +things also belong to the wise. It is not good to have +respect of persons in judgment. +%% +My son, forget not my law; but let thine heart keep my +commandments: For length of days, and long life, and peace, +shall they add to thee. +%% +My son, give me thine heart, and let thine eyes observe my +ways. +%% +My son, hear the instruction of thy father, and forsake not +the law of thy mother: For they shall be an ornament of +grace unto thy head, and chains about thy neck. +%% +My son, if sinners entice thee, consent thou not. +%% +My son, if thine heart be wise, my heart shall rejoice, +even mine. +%% +My son, if thou be surety for thy friend, if thou hast +stricken thy hand with a stranger, Thou art snared with the +words of thy mouth, thou art taken with the words of thy mouth. +%% +My son, if thou wilt receive my words, and hide my +commandments with thee; So that thou incline thine ear unto wisdom, +and apply thine heart to understanding; Yea, if thou +criest after knowledge, and liftest up thy voice for +understanding; If thou seekest her as silver, and searchest for her as +for hid treasures; Then shalt thou understand the fear of +the LORD, and find the knowledge of God. +%% +My son, keep my words, and lay up my commandments with +thee. +%% +My son, keep thy father's commandment, and forsake not the +law of thy mother: Bind them continually upon thine heart, +and tie them about thy neck. +%% +My son, let not them depart from thine eyes: keep sound +wisdom and discretion: So shall they be life unto thy soul, +and grace to thy neck. +%% +National security is in your hands -- guard it well. +%% +Nature teaches beasts to know their friends. +%% +Never give an inch! +%% +Never insult an alligator until you have crossed the river. +%% +Never look a gift horse in the mouth. -- Saint Jerome +%% +Never settle with words what you can accomplish with a +flame thrower. +%% +Never try to teach a pig to sing: it wastes your time and +annoys the pig. +%% +Nice guys finish last. -- Leo Durocher +%% +No amount of genius can overcome a preoccupation with +detail. +%% +No civilized person ever goes to bed the same day he gets +up. +%% +No directory. +%% +No evil can happen to a good man. -- Plato +%% +No one can feel as helpless as the owner of a sick +goldfish. +%% +No problem is insoluble in all conceivable circumstances. +%% +No use beating a dead horse. +%% +Noblemen make promises, but peasants have to keep them. -- +Russian proverb +%% +Nobody can be as agreeable as an uninvited guest. +%% +Nobody expects the Spanish Inquisition! +%% +None that go unto her return again, neither take they hold +of the paths of life. +%% +Nothing astonishes men so much as common sense and plain +dealing. +%% +Nothing endures like change. -- Heraclitus +%% +Nothing in life is to be feared. It is only to be +understood. +%% +Nothing so needs reforming as other people's habits. +%% +Nothing ventured, nothing gained. +%% +Nothing will dispel enthusiasm like a small admission fee. +%% +Now and then an innocent man is sent to the Legislature. +%% +Now therefore hearken unto me, O ye children: for blessed +are they that keep my ways. +%% +O ye simple, understand wisdom: and, ye fools, be ye of an +understanding heart. +%% +O'Toole's dictum: "Murphy was an optimist." +%% +Observation, not old age, brings wisdom. +%% +Of all forms of caution, caution in love is the most fatal. +%% +Oh, Aunty Em, it's so good to be home! +%% +Oh, what a tangled web we weave when first we practice to +conceive. +%% +Ointment and perfume rejoice the heart: so doth the +sweetness of a man's friend by hearty counsel. +%% +Old MacDonald had an agricultural real estate tax +abatement. +%% +Old soldiers never die. Young ones do. +%% +Once the word is out of your mouth, you can't swallow it +back. -- Russian proverb +%% +Once you understand how to write a program, get someone +else to write it. +%% +One Bell System -- it sometimes works. +%% +One Bell System -- it works. +%% +One man tells a falsehood, a hundred repeat it as true. +%% +One man's constant is another man's variable. +%% +Only by pride cometh contention: but with the well advised +is wisdom. +%% +Only presidents, editors, and people with tapeworms have +the right to use the editorial "we." +%% +Only those who attempt the absurd achieve the impossible. +%% +Open thy mouth for the dumb in the cause of all such as are +appointed to destruction. +%% +Open thy mouth, judge righteously, and plead the cause of +the poor and needy. +%% +Opportunity knocks but once. +%% +Optimization hinders evolution. +%% +Out of sight is out of mind. +%% +Paranoia doesn't mean the whole world really isn't out to +get you. +%% +Password: +%% +Passwords are implemented as a result of insecurity. +%% +People have declaimed against luxury for 2,000 years ... +and people have always delighted in it. +%% +People who take cat naps don't usually sleep in a cat's +cradle. +%% +People will buy anything that's one to a customer. +%% +Philosophy: Unintelligible answers to insoluble problems. +%% +Pleasant words are as an honeycomb, sweet to the soul, and +health to the bones. +%% +Please go away. +%% +Please update your programs. +%% +Ponder the path of thy feet, and let all thy ways be +established. +%% +Poverty and shame shall be to him that refuseth +instruction: but he that regardeth reproof shall be honoured. +%% +Power is poison. +%% +Pray to God, but keep rowing to shore. -- Russian proverb +%% +Prepare thy work without, and make it fit for thyself in +the field; and afterwards build thine house. +%% +Pride goeth before destruction, and an haughty spirit +before a fall. +%% +Promptness is its own reward, if one lives by the clock +instead of the sword. +%% +Proud and haughty scorner is his name, who dealeth in proud +wrath. +%% +Put away from thee a froward mouth, and perverse lips put +far from thee. +%% +Put not forth thyself in the presence of the king, and +stand not in the place of great men: For better it is that it +be said unto thee, Come up hither; than that thou shouldest +be put lower in the presence of the prince whom thine eyes +have seen. +%% +Put not your trust in money, but put your money in trust. +%% +Quack! +%% +Quantity is no substitute for quality, but it's the only +one we've got. +%% +Quit work and play for once! +%% +Rainy days and Mondays always get me down. +%% +Reading is thinking with someone else's head instead of +one's own. +%% +Reality is for people who can't handle drugs. +%% +Receive my instruction, and not silver; and knowledge +rather than choice gold. +%% +Recursion is the root of computation since it trades +description for time. +%% +Rejoice not when thine enemy falleth, and let not thine +heart be glad when he stumbleth: Lest the LORD see it, and it +displease him, and he turn away his wrath from him. +%% +Religions revolve madly around sexual questions. +%% +Remove not the old landmark; and enter not into the fields +of the fatherless: For their redeemer is mighty; he shall +plead their cause with thee. +%% +Remove thy way far from her, and come not nigh the door of +her house: Lest thou give thine honour unto others, and thy +years unto the cruel: Lest strangers be filled with thy +wealth; and thy labours be in the house of a stranger; And +thou mourn at the last, when thy flesh and thy body are +consumed, And say, How have I hated instruction, and my heart +despised reproof; And have not obeyed the voice of my +teachers, nor inclined mine ear to them that instructed me! I was +almost in all evil in the midst of the congregation and assembly. +%% +Replace repetitive expressions by calls to a common +function. +%% +Reprove not a scorner, lest he hate thee: rebuke a wise +man, and he will love thee. +%% +Riches and honour are with me; yea, durable riches and +righteousness. +%% +Riches profit not in the day of wrath: but righteousness +delivereth from death. +%% +Righteous lips are the delight of kings; and they love him +that speaketh right. +%% +Righteousness exalteth a nation: but sin is a reproach to +any people. +%% +Righteousness keepeth him that is upright in the way: but +wickedness overthroweth the sinner. +%% +Rotten wood can not be carved. -- Confucius +%% +Satire does not look pretty upon a tombstone. +%% +Save yourself! Reboot in 5 seconds! +%% +Say not thou, I will recompense evil; but wait on the LORD, +and he shall save thee. +%% +Say not unto thy neighbour, Go, and come again, and to +morrow I will give; when thou hast it by thee. +%% +Say not, I will do so to him as he hath done to me: I will +render to the man according to his work. +%% +Say unto wisdom, Thou art my sister; and call understanding +thy kinswoman: That they may keep thee from the strange +woman, from the stranger which flattereth with her words. +%% +Scornful men bring a city into a snare: but wise men turn +away wrath. +%% +Security is the individual's responsibility. +%% +Security is your responsibility. +%% +Seest thou a man diligent in his business? he shall stand +before kings; he shall not stand before mean men. +%% +Seest thou a man that is hasty in his words? there is more +hope of a fool than of him. +%% +Seest thou a man wise in his own conceit? there is more +hope of a fool than of him. +%% +She also lieth in wait as for a prey, and increaseth the +transgressors among men. +%% +She considereth a field, and buyeth it: with the fruit of +her hands she planteth a vineyard. +%% +She crieth at the gates, at the entry of the city, at the +coming in at the doors. +%% +She girdeth her loins with strength, and strengtheneth her +arms. +%% +She hath sent forth her maidens: she crieth upon the +highest places of the city, Whoso is simple, let him turn in +hither: as for him that wanteth understanding, she saith to +him, Come, eat of my bread, and drink of the wine which I have +mingled. +%% +She is a tree of life to them that lay hold upon her: and +happy is every one that retaineth her. +%% +She is like the merchants' ships; she bringeth her food +from afar. +%% +She is more precious than rubies: and all the things thou +canst desire are not to be compared unto her. +%% +She is not afraid of the snow for her household: for all +her household are clothed with scarlet. +%% +She layeth her hands to the spindle, and her hands hold the +distaff. +%% +She looketh well to the ways of her household, and eateth +not the bread of idleness. +%% +She maketh fine linen, and selleth it; and delivereth +girdles unto the merchant. +%% +She maketh herself coverings of tapestry; her clothing is +silk and purple. +%% +She openeth her mouth with wisdom; and in her tongue is the +law of kindness. +%% +She perceiveth that her merchandise is good: her candle +goeth not out by night. +%% +She riseth also while it is yet night, and giveth meat to +her household, and a portion to her maidens. +%% +She seeketh wool, and flax, and worketh willingly with her +hands. +%% +She shall give to thine head an ornament of grace: a crown +of glory shall she deliver to thee. +%% +She stretcheth out her hand to the poor; yea, she reacheth +forth her hands to the needy. +%% +She will do him good and not evil all the days of her life. +%% +Simplicity does not precede complexity, but follows it. +%% +Sin has many tools, but a lie is the handle that fits them +all. +%% +Slang is language that takes off its coat, spits on its +hands, and goes to work. +%% +Slothfulness casteth into a deep sleep; and an idle soul +shall suffer hunger. +%% +Smile, it makes the world wonder what you are up to. +%% +Smite a scorner, and the simple will beware: and reprove +one that hath understanding, and he will understand knowledge. +%% +Snow Day -- stay home. +%% +So are the ways of every one that is greedy of gain; which +taketh away the life of the owners thereof. +%% +Soap and education are not as sudden as a massacre, but +they are more deadly in the long run. +%% +Some men are discovered; others are found out. +%% +Some programming languages manage to absorb change but +withstand progress. +%% +Someone is unenthusiastic about your work. +%% +Sooner will men hold fire in their mouths than keep a +secret. +%% +Speak not in the ears of a fool: for he will despise the +wisdom of thy words. +%% +Stability itself is nothing else than a more sluggish +motion. +%% +Standing on head makes smile of frown, but rest of face +also upside down. +%% +Stop searching forever: happiness is just next to you. +%% +Stop searching forever: happiness is unattainable. +%% +Strength and honour are her clothing; and she shall rejoice +in time to come. +%% +Strive not with a man without cause, if he have done thee +no harm. +%% +Sturgeon's Law: Ninety percent of everything is crud. +%% +Success is a journey, not a destination. +%% +Such is the way of an adulterous woman; she eateth, and +wipeth her mouth, and saith, I have done no wickedness. +%% +Surely he scorneth the scorners: but he giveth grace unto +the lowly. +%% +Surely in vain the net is spread in the sight of any bird. +%% +Surely the churning of milk bringeth forth butter, and the +wringing of the nose bringeth forth blood: so the forcing +of wrath bringeth forth strife. +%% +System going down at 1:45 this afternoon for disk crashing. +%% +System going down indefinitely, please log off! +%% +Tact is the art of making a point without making an enemy. +%% +Take away the dross from the silver, and there shall come +forth a vessel for the finer. +%% +Take away the wicked from before the king, and his throne +shall be established in righteousness. +%% +Take care of the luxuries and the necessities will take +care of themselves. +%% +Take fast hold of instruction; let her not go: keep her; +for she is thy life. +%% +Take his garment that is surety for a stranger, and take a +pledge of him for a strange woman. +%% +Take his garment that is surety for a stranger: and take a +pledge of him for a strange woman. +%% +That must be wonderful! I don't understand it at all. +%% +That thou mayest walk in the way of good men, and keep the +paths of the righteous. +%% +That thy trust may be in the LORD, I have made known to +thee this day, even to thee. +%% +That which is not good for the swarm, neither is it good +for the bee. +%% +The LORD by wisdom hath founded the earth; by understanding +hath he established the heavens. +%% +The LORD hath made all things for himself: yea, even the +wicked for the day of evil. +%% +The LORD is far from the wicked: but he heareth the prayer +of the righteous. +%% +The LORD possessed me in the beginning of his way, before +his works of old. +%% +The LORD will destroy the house of the proud: but he will +establish the border of the widow. +%% +The LORD will not suffer the soul of the righteous to +famish: but he casteth away the substance of the wicked. +%% +The Tree of Learning bears the noblest fruit, but noble +fruit tastes bad. +%% +The attacker must vanquish; the defender need only survive. +%% +The backslider in heart shall be filled with his own ways: +and a good man shall be satisfied from himself. +%% +The beginning of strife is as when one letteth out water: +therefore leave off contention, before it be meddled with. +%% +The best prophet of the future is the past. +%% +The blessing of the LORD, it maketh rich, and he addeth no +sorrow with it. +%% +The bloodthirsty hate the upright: but the just seek his +soul. +%% +The blueness of a wound cleanseth away evil: so do stripes +the inward parts of the belly. +%% +The cow may be black, but the milk comes out white. -- +Russian proverb +%% +The crown of the wise is their riches: but the foolishness +of fools is folly. +%% +The curse of the LORD is in the house of the wicked: but he +blesseth the habitation of the just. +%% +The decision doesn't have to be logical, it was unanimous. +%% +The degree of civilization in a society can be judged by +entering its prisons. +%% +The desire accomplished is sweet to the soul: but it is +abomination to fools to depart from evil. +%% +The desire of a man is his kindness: and a poor man is +better than a liar. +%% +The desire of the righteous is only good: but the +expectation of the wicked is wrath. +%% +The desire of the slothful killeth him; for his hands +refuse to labour. +%% +The discretion of a man deferreth his anger; and it is his +glory to pass over a transgression. +%% +The door is the key. +%% +The ear that heareth the reproof of life abideth among the +wise. +%% +The early worm gets the bird. +%% +The end of labor is to gain leisure. +%% +The ends justify the means. +%% +The evil bow before the good; and the wicked at the gates +of the righteous. +%% +The eye that mocketh at his father, and despiseth to obey +his mother, the ravens of the valley shall pick it out, and +the young eagles shall eat it. +%% +The eyes of the LORD are in every place, beholding the evil +and the good. +%% +The eyes of the LORD preserve knowledge, and he +overthroweth the words of the transgressor. +%% +The famous politician was trying to save both his faces. +%% +The father of the righteous shall greatly rejoice: and he +that begetteth a wise child shall have joy of him. +%% +The fear of a king is as the roaring of a lion: whoso +provoketh him to anger sinneth against his own soul. +%% +The fear of man bringeth a snare: but whoso putteth his +trust in the LORD shall be safe. +%% +The fear of the LORD is a fountain of life, to depart from +the snares of death. +%% +The fear of the LORD is the beginning of knowledge: but +fools despise wisdom and instruction. +%% +The fear of the LORD is the beginning of wisdom: and the +knowledge of the holy is understanding. +%% +The fear of the LORD is the instruction of wisdom; and +before honour is humility. +%% +The fear of the LORD is to hate evil: pride, and arrogancy, +and the evil way, and the froward mouth, do I hate. +%% +The fear of the LORD prolongeth days: but the years of the +wicked shall be shortened. +%% +The fear of the LORD tendeth to life: and he that hath it +shall abide satisfied; he shall not be visited with evil. +%% +The fear of the wicked, it shall come upon him: but the +desire of the righteous shall be granted. +%% +The finest eloquence is that which gets things done. +%% +The fining pot is for silver, and the furnace for gold: but +the LORD trieth the hearts. +%% +The following statement is not true: +%% +The foolishness of man perverteth his way: and his heart +fretteth against the LORD. +%% +The fruit of the righteous is a tree of life; and he that +winneth souls is wise. +%% +The full soul loatheth an honeycomb; but to the hungry soul +every bitter thing is sweet. +%% +The future is his who knows how to wait. -- Russian proverb +%% +The future isn't what it used to be. It never was. +%% +The gentlemen looked one another over with microscopic +carelessness. +%% +The getting of treasures by a lying tongue is a vanity +tossed to and fro of them that seek death. +%% +The glory of young men is their strength: and the beauty of +old men is the grey head. +%% +The great God that formed all things both rewardeth the +fool, and rewardeth transgressors. +%% +The greatest of faults is to be conscious of none. +%% +The hand of the diligent shall bear rule: but the slothful +shall be under tribute. +%% +The hearing ear, and the seeing eye, the LORD hath made +even both of them. +%% +The heart knoweth his own bitterness; and a stranger doth +not intermeddle with his joy. +%% +The heart of her husband doth safely trust in her, so that +he shall have no need of spoil. +%% +The heart of him that hath understanding seeketh knowledge: +but the mouth of fools feedeth on foolishness. +%% +The heart of the righteous studieth to answer: but the +mouth of the wicked poureth out evil things. +%% +The heart of the wise teacheth his mouth, and addeth +learning to his lips. +%% +The heaven for height, and the earth for depth, and the +heart of kings is unsearchable. +%% +The hoary head is a crown of glory, if it be found in the +way of righteousness. +%% +The hope of the righteous shall be gladness: but the +expectation of the wicked shall perish. +%% +The horse is prepared against the day of battle: but safety +is of the LORD. +%% +The horseleach hath two daughters, crying, Give, give. +There are three things that are never satisfied, yea, four +things say not, It is enough: The grave; and the barren womb; +the earth that is not filled with water; and the fire that +saith not, It is enough. +%% +The house of the wicked shall be overthrown: but the +tabernacle of the upright shall flourish. +%% +The important thing is not to stop questioning. +%% +The integrity of the upright shall guide them: but the +perverseness of transgressors shall destroy them. +%% +The king by judgment establisheth the land: but he that +receiveth gifts overthroweth it. +%% +The king that faithfully judgeth the poor, his throne shall +be established for ever. +%% +The king's favour is toward a wise servant: but his wrath +is against him that causeth shame. +%% +The king's heart is in the hand of the LORD, as the rivers +of water: he turneth it whithersoever he will. +%% +The king's wrath is as the roaring of a lion; but his +favour is as dew upon the grass. +%% +The labour of the righteous tendeth to life: the fruit of +the wicked to sin. +%% +The lambs are for thy clothing, and the goats are the price +of the field. +%% +The law of the wise is a fountain of life, to depart from +the snares of death. +%% +The legs of the lame are not equal: so is a parable in the +mouth of fools. +%% +The liberal soul shall be made fat: and he that watereth +shall be watered also himself. +%% +The life that is unexamined is not worth living. +%% +The light of the eyes rejoiceth the heart: and a good +report maketh the bones fat. +%% +The light of the righteous rejoiceth: but the lamp of the +wicked shall be put out. +%% +The lip of truth shall be established for ever: but a lying +tongue is but for a moment. +%% +The lips of the righteous feed many: but fools die for want +of wisdom. +%% +The lips of the righteous know what is acceptable: but the +mouth of the wicked speaketh frowardness. +%% +The lips of the wise disperse knowledge: but the heart of +the foolish doeth not so. +%% +The lot causeth contentions to cease, and parteth between +the mighty. +%% +The lot is cast into the lap; but the whole disposing +thereof is of the LORD. +%% +The man that wandereth out of the way of understanding +shall remain in the congregation of the dead. +%% +The man who makes no mistakes does not usually make +anything. +%% +The memory of the just is blessed: but the name of the +wicked shall rot. +%% +The merciful man doeth good to his own soul: but he that is +cruel troubleth his own flesh. +%% +The more things change, the more they remain the same. +%% +The morsel which thou hast eaten shalt thou vomit up, and +lose thy sweet words. +%% +The mouth of a righteous man is a well of life: but +violence covereth the mouth of the wicked. +%% +The mouth of strange women is a deep pit: he that is +abhorred of the LORD shall fall therein. +%% +The mouth of the just bringeth forth wisdom: but the +froward tongue shall be cut out. +%% +The name of the LORD is a strong tower: the righteous +runneth into it, and is safe. +%% +The north wind driveth away rain: so doth an angry +countenance a backbiting tongue. +%% +The only difference between a rut and a grave is their +size. +%% +The only thing to do with good advice is pass it on. It is +never any use to oneself. +%% +The only way to amuse some people is to slip and fall on an +icy pavement. +%% +The plural of spouse is spice. +%% +The poor and the deceitful man meet together: the LORD +lighteneth both their eyes. +%% +The poor is hated even of his own neighbour: but the rich +hath many friends. +%% +The poor useth intreaties; but the rich answereth roughly. +%% +The preparations of the heart in man, and the answer of the +tongue, is from the LORD. +%% +The price of greatness is responsibility. +%% +The prince that wanteth understanding is also a great +oppressor: but he that hateth covetousness shall prolong his +days. +%% +The program is absolutely right; therefore the computer +must be wrong. +%% +The proverbs of Solomon the son of David, king of Israel; +To know wisdom and instruction; to perceive the words of +understanding; To receive the instruction of wisdom, justice, +and judgment, and equity; To give subtilty to the simple, +to the young man knowledge and discretion. +%% +The proverbs of Solomon. A wise son maketh a glad father: +but a foolish son is the heaviness of his mother. +%% +The ransom of a man's life are his riches: but the poor +heareth not rebuke. +%% +The rich and poor meet together: the LORD is the maker of +them all. +%% +The rich man is wise in his own conceit; but the poor that +hath understanding searcheth him out. +%% +The rich man's wealth is his strong city, and as an high +wall in his own conceit. +%% +The rich man's wealth is his strong city: the destruction +of the poor is their poverty. +%% +The rich ruleth over the poor, and the borrower is servant +to the lender. +%% +The righteous considereth the cause of the poor: but the +wicked regardeth not to know it. +%% +The righteous eateth to the satisfying of his soul: but the +belly of the wicked shall want. +%% +The righteous is delivered out of trouble, and the wicked +cometh in his stead. +%% +The righteous is more excellent than his neighbour: but the +way of the wicked seduceth them. +%% +The righteous man wisely considereth the house of the +wicked: but God overthroweth the wicked for their wickedness. +%% +The righteous shall never be removed: but the wicked shall +not inhabit the earth. +%% +The righteousness of the perfect shall direct his way: but +the wicked shall fall by his own wickedness. +%% +The righteousness of the upright shall deliver them: but +transgressors shall be taken in their own naughtiness. +%% +The road to ruin is always in good repair, and the +travelers pay the expense of it. +%% +The robbery of the wicked shall destroy them; because they +refuse to do judgment. +%% +The rod and reproof give wisdom: but a child left to +himself bringeth his mother to shame. +%% +The sacrifice of the wicked is abomination: how much more, +when he bringeth it with a wicked mind? A false witness +shall perish: but the man that heareth speaketh constantly. +%% +The sacrifice of the wicked is an abomination to the LORD: +but the prayer of the upright is his delight. +%% +The shortage will be divided among the poor. -- Russian +proverb +%% +The simple believeth every word: but the prudent man +looketh well to his going. +%% +The simple inherit folly: but the prudent are crowned with +knowledge. +%% +The slothful hideth his hand in his bosom; it grieveth him +to bring it again to his mouth. +%% +The slothful man roasteth not that which he took in +hunting: but the substance of a diligent man is precious. +%% +The slothful man saith, There is a lion in the way; a lion +is in the streets. +%% +The slothful man saith, There is a lion without, I shall be +slain in the streets. +%% +The slower you drive, the farther you get. -- Russian +proverb +%% +The sluggard is wiser in his own conceit than seven men +that can render a reason. +%% +The sluggard will not plow by reason of the cold; therefore +shall he beg in harvest, and have nothing. +%% +The soul of the sluggard desireth, and hath nothing: but +the soul of the diligent shall be made fat. +%% +The soul of the wicked desireth evil: his neighbour findeth +no favour in his eyes. +%% +The soul would have no rainbow had the eyes no tears. +%% +The spirit of a man will sustain his infirmity; but a +wounded spirit who can bear? The heart of the prudent getteth +knowledge; and the ear of the wise seeketh knowledge. +%% +The spirit of man is the candle of the LORD, searching all +the inward parts of the belly. +%% +The sun never sets on the British Empire because the +British are scared of the dark. +%% +The thought of foolishness is sin: and the scorner is an +abomination to men. +%% +The thoughts of the diligent tend only to plenteousness; +but of every one that is hasty only to want. +%% +The thoughts of the righteous are right: but the counsels +of the wicked are deceit. +%% +The thoughts of the wicked are an abomination to the LORD: +but the words of the pure are pleasant words. +%% +The time is right to make new friends. +%% +The tongue of the just is as choice silver: the heart of +the wicked is little worth. +%% +The tongue of the wise useth knowledge aright: but the +mouth of fools poureth out foolishness. +%% +The universe is laughing behind your back. +%% +The way of a fool is right in his own eyes: but he that +hearkeneth unto counsel is wise. +%% +The way of man is froward and strange: but as for the pure, +his work is right. +%% +The way of the LORD is strength to the upright: but +destruction shall be to the workers of iniquity. +%% +The way of the slothful man is as an hedge of thorns: but +the way of the righteous is made plain. +%% +The way of the wicked is an abomination unto the LORD: but +he loveth him that followeth after righteousness. +%% +The way of the wicked is as darkness: they know not at what +they stumble. +%% +The wicked are overthrown, and are not: but the house of +the righteous shall stand. +%% +The wicked desireth the net of evil men: but the root of +the righteous yieldeth fruit. +%% +The wicked flee when no man pursueth: but the righteous are +bold as a lion. +%% +The wicked is driven away in his wickedness: but the +righteous hath hope in his death. +%% +The wicked is snared by the transgression of his lips: but +the just shall come out of trouble. +%% +The wicked shall be a ransom for the righteous, and the +transgressor for the upright. +%% +The wicked worketh a deceitful work: but to him that soweth +righteousness shall be a sure reward. +%% +The wisdom of the prudent is to understand his way: but the +folly of fools is deceit. +%% +The wise in heart shall be called prudent: and the +sweetness of the lips increaseth learning. +%% +The wise in heart will receive commandments: but a prating +fool shall fall. +%% +The wise shall inherit glory: but shame shall be the +promotion of fools. +%% +The wise shepherd never trusts his flock to a smiling wolf. +%% +The words of Agur the son of Jakeh, even the prophecy: the +man spake unto Ithiel, even unto Ithiel and Ucal, Surely I +am more brutish than any man, and have not the +understanding of a man. +%% +The words of a man's mouth are as deep waters, and the +wellspring of wisdom as a flowing brook. +%% +The words of a talebearer are as wounds, and they go down +into the innermost parts of the belly. +%% +The words of a talebearer are as wounds, and they go down +into the innermost parts of the belly. +%% +The words of king Lemuel, the prophecy that his mother +taught him. +%% +The words of the wicked are to lie in wait for blood: but +the mouth of the upright shall deliver them. +%% +The world is coming to an end ... SAVE YOUR BUFFERS!!! +%% +The wrath of a king is as messengers of death: but a wise +man will pacify it. +%% +Then I saw, and considered it well: I looked upon it, and +received instruction. +%% +Then shall they call upon me, but I will not answer; they +shall seek me early, but they shall not find me: For that +they hated knowledge, and did not choose the fear of the +LORD: They would none of my counsel: they despised all my reproof. +%% +Then shalt thou understand righteousness, and judgment, and +equity; yea, every good path. +%% +Then shalt thou walk in thy way safely, and thy foot shall +not stumble. +%% +There are many devices in a man's heart; nevertheless the +counsel of the LORD, that shall stand. +%% +There are more old drunkards than old doctors. +%% +There are more things in heaven and earth than are dreamt +of ... in either. +%% +There are people so addicted to exaggeration that they +can't tell the truth without lying. +%% +There be four things which are little upon the earth, but +they are exceeding wise: The ants are a people not strong, +yet they prepare their meat in the summer; The conies are +but a feeble folk, yet make they their houses in the rocks; +The locusts have no king, yet go they forth all of them by +bands; The spider taketh hold with her hands, and is in +kings' palaces. +%% +There be three things which are too wonderful for me, yea, +four which I know not: The way of an eagle in the air; the +way of a serpent upon a rock; the way of a ship in the +midst of the sea; and the way of a man with a maid. +%% +There be three things which go well, yea, four are comely +in going: A lion which is strongest among beasts, and +turneth not away for any; A greyhound; an he goat also; and a +king, against whom there is no rising up. +%% +There is a generation that are pure in their own eyes, and +yet is not washed from their filthiness. +%% +There is a generation that curseth their father, and doth +not bless their mother. +%% +There is a generation, O how lofty are their eyes! and +their eyelids are lifted up. +%% +There is a generation, whose teeth are as swords, and their +jaw teeth as knives, to devour the poor from off the +earth, and the needy from among men. +%% +There is a way that seemeth right unto a man, but the end +thereof are the ways of death. +%% +There is a way which seemeth right unto a man, but the end +thereof are the ways of death. +%% +There is gold, and a multitude of rubies: but the lips of +knowledge are a precious jewel. +%% +There is no distinctly native American criminal class +except Congress. -- Mark Twain +%% +There is no heavier burden than a great potential. +%% +There is no proverb that is not true. -- Cervantes +%% +There is no sadder sight than a young pessimist. +%% +There is no sin but ignorance. -- Christopher Marlowe +%% +There is no such thing as pure pleasure; some anxiety +always goes with it. +%% +There is no time like the pleasant. +%% +There is no wisdom nor understanding nor counsel against +the LORD. +%% +There is that maketh himself rich, yet hath nothing: there +is that maketh himself poor, yet hath great riches. +%% +There is that scattereth, and yet increaseth; and there is +that withholdeth more than is meet, but it tendeth to +poverty. +%% +There is that speaketh like the piercings of a sword: but +the tongue of the wise is health. +%% +There is treasure to be desired and oil in the dwelling of +the wise; but a foolish man spendeth it up. +%% +There never was a good war or a bad peace. +%% +There shall no evil happen to the just: but the wicked +shall be filled with mischief. +%% +There's got to be more to life than compile-and-go. +%% +There's never time to do the job right, so we must find +time to do it again. +%% +There's no room in the drug world for amateurs. +%% +There's so much to say but your eyes keep interrupting me. +%% +Therefore came I forth to meet thee, diligently to seek thy +face, and I have found thee. +%% +Therefore shall his calamity come suddenly; suddenly shall +he be broken without remedy. +%% +Therefore shall they eat of the fruit of their own way, and +be filled with their own devices. +%% +These are also proverbs of Solomon, which the men of +Hezekiah king of Judah copied out. +%% +These six things doth the LORD hate: yea, seven are an +abomination unto him: A proud look, a lying tongue, and hands +that shed innocent blood, An heart that deviseth wicked +imaginations, feet that be swift in running to mischief, A +false witness that speaketh lies, and he that soweth discord +among brethren. +%% +They are all plain to him that understandeth, and right to +them that find knowledge. +%% +They have stricken me, shalt thou say, and I was not sick; +they have beaten me, and I felt it not: when shall I awake? +I will seek it yet again. +%% +They that are of a froward heart are abomination to the +LORD: but such as are upright in their way are his delight. +%% +They that forsake the law praise the wicked: but such as +keep the law contend with them. +%% +Thine eyes shall behold strange women, and thine heart +shall utter perverse things. +%% +Thine own friend, and thy father's friend, forsake not; +neither go into thy brother's house in the day of thy +calamity: for better is a neighbour that is near than a brother far +off. +%% +This fortune is inoperative. Please try another. +%% +This is a good time to punt work. +%% +This login session: $13.99 +%% +This screen intentionally left blank. +%% +Thorns and snares are in the way of the froward: he that +doth keep his soul shall be far from them. +%% +Those of you who think you know everything are very +annoying to us who do. +%% +Those who can, do. Those who can't, program. +%% +Those who can, do. Those who can't, simulate. +%% +Those who can, do. Those who can't, teach. Those who +can't teach, HACK! +%% +Those who in quarrels interpose must often wipe a bloody +nose. +%% +Those who talk, don't know. Those who don't talk, know. +%% +Thou shalt beat him with the rod, and shalt deliver his +soul from hell. +%% +Though hand join in hand, the wicked shall not be +unpunished: but the seed of the righteous shall be delivered. +%% +Though this be madness, yet there is method in 't. -- +William Shakespeare +%% +Though thou shouldest bray a fool in a mortar among wheat +with a pestle, yet will not his foolishness depart from him. +%% +Through desire a man, having separated himself, seeketh and +intermeddleth with all wisdom. +%% +Through wisdom is an house builded; and by understanding it +is established: And by knowledge shall the chambers be +filled with all precious and pleasant riches. +%% +Thy father and thy mother shall be glad, and she that bare +thee shall rejoice. +%% +Time and tide wait for no man. +%% +Time flies when you don't know what you're doing. +%% +Time for lunch! +%% +Time is but the stream I go a-fishing in. +%% +Time is nature's way of making sure that everything doesn't +happen at once. +%% +To be great is to be misunderstood. +%% +To criticize the incompetent is easy; it is more difficult +to criticize the competent. +%% +To do justice and judgment is more acceptable to the LORD +than sacrifice. +%% +To each his own and to you so long. +%% +To have a sense of humor is to be a tragic figure. +%% +To have respect of persons is not good: for for a piece of +bread that man will transgress. +%% +To iterate is human, to recurse, divine. +%% +To know thyself is the ultimate form of aggression. +%% +To laugh at men of sense is the privilege of fools. +%% +To teach is to learn. +%% +To understand a program you must become both the machine +and the program. +%% +Today is a good day to bribe a high-ranking public +official. +%% +Today is the last day of your life so far. +%% +Too clever is dumb. -- Ogden Nash +%% +Toto, I have a feeling we're not in Kansas any more! +%% +Train up a child in the way he should go: and when he is +old, he will not depart from it. +%% +Treasures of wickedness profit nothing: but righteousness +delivereth from death. +%% +Troubles are like babies; they only grow by nursing. +%% +Trust in Allah, but tie your camel anyway. +%% +Trust in the LORD with all thine heart; and lean not unto +thine own understanding. +%% +Truthful: Dumb and illiterate. +%% +Try "stty 0" -- it works much better. +%% +Try the Moo Shu Pork. It is especially good today. +%% +Try to divide your time evenly to keep others happy. +%% +Trying to get an education here is like trying to take a +drink from a fire hose. +%% +Turn not to the right hand nor to the left: remove thy foot +from evil. +%% +Turn the other cheek. -- Jesus Christ +%% +Two men look out through the same bars; one sees mud, and +one the stars. +%% +Two things have I required of thee; deny me them not before +I die: Remove far from me vanity and lies: give me neither +poverty nor riches; feed me with food convenient for me: +Lest I be full, and deny thee, and say, Who is the LORD? or +lest I be poor, and steal, and take the name of my God in vain. +%% +Understanding is a wellspring of life unto him that hath +it: but the instruction of fools is folly. +%% +Unix soit qui mal y pense. +%% +Unquestionably, there is progress. The average American +now pays out twice as much in taxes as he formerly got in +wages. +%% +Unto you, O men, I call; and my voice is to the sons of +man. +%% +Use GOTOs only to implement a fundamental structure. +%% +Use IF...ELSE IF...ELSE IF...ELSE... to implement +multi-way branches. +%% +Use debugging compilers. +%% +Use free-form input where possible. +%% +Use library functions. +%% +Vests are to suits as seat-belts are to cars. +%% +Volcano -- a mountain with hiccups. +%% +Wag your tongue as much as you please, but don't wave your +gun. -- Russian proverb +%% +Walk softly and carry a big stick. -- Theodore Roosevelt +%% +Wash a pig as much as you like, it'll go right back into +the mud puddle. -- Russian proverb +%% +Waste not, get your budget cut next year. +%% +Watch out for off-by-one errors. +%% +We all know that no one understands anything that isn't +funny. +%% +We always might win ... because the others might lose. +%% +We are all related: the same sun dries our rags. -- Russian +proverb +%% +We are always the same age inside. +%% +We could do that, but it would be wrong, that's for sure. +%% +We give advice, but we cannot give the wisdom to profit by +it. +%% +We learn from history that we do not learn anything from +history. +%% +We must remember the First Amendment which protects any +shrill jackass no matter how self-seeking. +%% +Wealth gotten by vanity shall be diminished: but he that +gathereth by labour shall increase. +%% +Wealth maketh many friends; but the poor is separated from +his neighbour. +%% +What garlic is to salad, insanity is to art. +%% +What good is honor on an empty stomach? -- Russian proverb +%% +What is wanted is not the will-to-believe, but the +wish-to-find-out, which are exact opposites. +%% +What sin has not been committed in the name of efficiency? +%% +What this country needs is a good five cent microcomputer. +%% +What you don't know can't hurt you. +%% +What, my son? and what, the son of my womb? and what, the +son of my vows? Give not thy strength unto women, nor thy +ways to that which destroyeth kings. +%% +When a man assumes a public trust, he should consider +himself as public property. -- Thomas Jefferson +%% +When a man's ways please the LORD, he maketh even his +enemies to be at peace with him. +%% +When a wicked man dieth, his expectation shall perish: and +the hope of unjust men perisheth. +%% +When choosing between two evils, always try the one you +have never tried before. +%% +When he prepared the heavens, I was there: when he set a +compass upon the face of the depth: When he established the +clouds above: when he strengthened the fountains of the +deep: When he gave to the sea his decree, that the waters +should not pass his commandment: when he appointed the +foundations of the earth: Then I was by him, as one brought up with +him: and I was daily his delight, rejoicing always before +him; Rejoicing in the habitable part of his earth; and my +delights were with the sons of men. +%% +When in charge, ponder; when in doubt, mumble; when in +trouble, delegate. +%% +When in doubt, lead trump. +%% +When it goeth well with the righteous, the city rejoiceth: +and when the wicked perish, there is shouting. +%% +When pride cometh, then cometh shame: but with the lowly is +wisdom. +%% +When righteous men do rejoice, there is great glory: but +when the wicked rise, a man is hidden. +%% +When the righteous are in authority, the people rejoice: +but when the wicked beareth rule, the people mourn. +%% +When the scorner is punished, the simple is made wise: and +when the wise is instructed, he receiveth knowledge. +%% +When the sheath is broken, you can't hide the sword. -- +Russian proverb +%% +When the wicked are multiplied, transgression increaseth: +but the righteous shall see their fall. +%% +When the wicked cometh, then cometh also contempt, and with +ignominy reproach. +%% +When the wicked rise, men hide themselves: but when they +perish, the righteous increase. +%% +When the wind is great, bow before it; when the wind is +heavy, yield to it. +%% +When there were no depths, I was brought forth; when there +were no fountains abounding with water. +%% +When thou goest, it shall lead thee; when thou sleepest, it +shall keep thee; and when thou awakest, it shall talk with +thee. +%% +When thou goest, thy steps shall not be straitened; and +when thou runnest, thou shalt not stumble. +%% +When thou liest down, thou shalt not be afraid: yea, thou +shalt lie down, and thy sleep shall be sweet. +%% +When thou sittest to eat with a ruler, consider diligently +what is before thee: And put a knife to thy throat, if thou +be a man given to appetite. +%% +When we write programs that "learn," it turns out that we +do and they don't. +%% +When wisdom entereth into thine heart, and knowledge is +pleasant unto thy soul; Discretion shall preserve thee, +understanding shall keep thee: To deliver thee from the way of +the evil man, from the man that speaketh froward things; Who +leave the paths of uprightness, to walk in the ways of +darkness; Who rejoice to do evil, and delight in the +frowardness of the wicked; Whose ways are crooked, and they froward +in their paths: To deliver thee from the strange woman, even +from the stranger which flattereth with her words; Which +forsaketh the guide of her youth, and forgetteth the +covenant of her God. +%% +When you live close to the graveyard, you can't weep for +every funeral. -- Russian proverb +%% +When your only tool is a hammer, you tend to treat +everything you find like a nail. +%% +Where no counsel is, the people fall: but in the multitude +of counsellors there is safety. +%% +Where no oxen are, the crib is clean: but much increase is +by the strength of the ox. +%% +Where the system is concerned, you're not allowed to ask +"Why?". +%% +Where there is no vision, the people perish: but he that +keepeth the law, happy is he. +%% +Wherefore is there a price in the hand of a fool to get +wisdom, seeing he hath no heart to it? A friend loveth at all +times, and a brother is born for adversity. +%% +Who are you? +%% +Who can find a virtuous woman? for her price is far above +rubies. +%% +Who can say, I have made my heart clean, I am pure from my +sin? Divers weights, and divers measures, both of them are +alike abomination to the LORD. +%% +Who hath ascended up into heaven, or descended? who hath +gathered the wind in his fists? who hath bound the waters in +a garment? who hath established all the ends of the earth? +what is his name, and what is his son's name, if thou canst +tell? Every word of God is pure: he is a shield unto them +that put their trust in him. +%% +Who hath woe? who hath sorrow? who hath contentions? who +hath babbling? who hath wounds without cause? who hath +redness of eyes? They that tarry long at the wine; they that go +to seek mixed wine. +%% +Whose hatred is covered by deceit, his wickedness shall be +shewed before the whole congregation. +%% +Whoso boasteth himself of a false gift is like clouds and +wind without rain. +%% +Whoso causeth the righteous to go astray in an evil way, he +shall fall himself into his own pit: but the upright shall +have good things in possession. +%% +Whoso curseth his father or his mother, his lamp shall be +put out in obscure darkness. +%% +Whoso despiseth the word shall be destroyed: but he that +feareth the commandment shall be rewarded. +%% +Whoso diggeth a pit shall fall therein: and he that rolleth +a stone, it will return upon him. +%% +Whoso findeth a wife findeth a good thing, and obtaineth +favour of the LORD. +%% +Whoso is partner with a thief hateth his own soul: he +heareth cursing, and bewrayeth it not. +%% +Whoso keepeth his mouth and his tongue keepeth his soul +from troubles. +%% +Whoso keepeth the fig tree shall eat the fruit thereof: so +he that waiteth on his master shall be honoured. +%% +Whoso keepeth the law is a wise son: but he that is a +companion of riotous men shameth his father. +%% +Whoso loveth instruction loveth knowledge: but he that +hateth reproof is brutish. +%% +Whoso loveth wisdom rejoiceth his father: but he that +keepeth company with harlots spendeth his substance. +%% +Whoso mocketh the poor reproacheth his Maker: and he that +is glad at calamities shall not be unpunished. +%% +Whoso rewardeth evil for good, evil shall not depart from +his house. +%% +Whoso robbeth his father or his mother, and saith, It is no +transgression; the same is the companion of a destroyer. +%% +Whoso stoppeth his ears at the cry of the poor, he also +shall cry himself, but shall not be heard. +%% +Whoso walketh uprightly shall be saved: but he that is +perverse in his ways shall fall at once. +%% +Whosoever hideth her hideth the wind, and the ointment of +his right hand, which bewrayeth itself. +%% +Wilt thou set thine eyes upon that which is not? for riches +certainly make themselves wings; they fly away as an eagle +toward heaven. +%% +Wine is a mocker, strong drink is raging: and whosoever is +deceived thereby is not wise. +%% +Wisdom crieth without; she uttereth her voice in the +streets: She crieth in the chief place of concourse, in the +openings of the gates: in the city she uttereth her words, +saying, How long, ye simple ones, will ye love simplicity? and +the scorners delight in their scorning, and fools hate +knowledge? Turn you at my reproof: behold, I will pour out my +spirit unto you, I will make known my words unto you. +%% +Wisdom hath builded her house, she hath hewn out her seven +pillars: She hath killed her beasts; she hath mingled her +wine; she hath also furnished her table. +%% +Wisdom is before him that hath understanding; but the eyes +of a fool are in the ends of the earth. +%% +Wisdom is the principal thing; therefore get wisdom: and +with all thy getting get understanding. +%% +Wisdom is too high for a fool: he openeth not his mouth in +the gate. +%% +Wisdom resteth in the heart of him that hath understanding: +but that which is in the midst of fools is made known. +%% +Wise men lay up knowledge: but the mouth of the foolish is +near destruction. +%% +With clothes the new are best, with friends the old are +best. +%% +With her much fair speech she caused him to yield, with the +flattering of her lips she forced him. +%% +Withdraw thy foot from thy neighbour's house; lest he be +weary of thee, and so hate thee. +%% +Withhold not correction from the child: for if thou beatest +him with the rod, he shall not die. +%% +Withhold not good from them to whom it is due, when it is +in the power of thine hand to do it. +%% +Within a computer, natural language is unnatural. +%% +Without adventure, civilization is in full decay. +%% +Without counsel purposes are disappointed: but in the +multitude of counsellors they are established. +%% +Words are the voice of the heart. +%% +Words must be weighed, not counted. +%% +Work is the curse of the drinking class. +%% +Wrath is cruel, and anger is outrageous; but who is able to +stand before envy? Open rebuke is better than secret love. +%% +Writing free verse is like playing tennis with the net +down. +%% +Yea, my reins shall rejoice, when thy lips speak right +things. +%% +Yea, thou shalt be as he that lieth down in the midst of +the sea, or as he that lieth upon the top of a mast. +%% +Yet a little sleep, a little slumber, a little folding of +the hands to sleep: So shall thy poverty come as one that +travelleth; and thy want as an armed man. +%% +You are being paged. +%% +You are being swapped. +%% +You are clever, but it comes slowly -- all the way from the +back of your head. -- Russian proverb +%% +You are going to have a new love affair. +%% +You are in a maze of twisty little passages, all alike. +%% +You attempt things that you do not even plan because of +your extreme stupidity. +%% +You can do more with a kind word and a gun than you can +with only a kind word. +%% +You can't depend on the man who made the mess to clean it +up. -- Richard Nixon [1952] +%% +You can't drive straight on a twisting road. -- Russian +proverb +%% +You can't go home again, unless you set $HOME. +%% +You can't pick a mushroom without bowing. -- Russian +proverb +%% +You cannot kill time without injuring eternity. +%% +You do not have mail. +%% +You don't have to rehearse to be yourself. +%% +You don't want to know what I know. +%% +You fill a much-needed gap. +%% +You have a deep interest in all that is artistic. +%% +You have a tendency to feel you are superior to most +computers. +%% +You have an ambitious nature and may make a name for +yourself. +%% +You have been selected for a secret mission. +%% +You have been swapped out. +%% +You have mail. +%% +You look tired. +%% +You never get a hangover from other people's vodka. -- +Russian proverb +%% +You now have Asian Flu. +%% +You should go home. +%% +You will attract cultured and artistic people to your home. +%% +You will be advanced socially, without any special effort +on your part. +%% +You will be recognized and honored as a community leader. +%% +You will be surprised by a loud noise. +%% +You will feel hungry again in another hour. +%% +You will live a long, healthy, happy life and make bags of +money. +%% +You will never know hunger. +%% +You will reach the highest possible point in your business +or profession. +%% +You will step on the night soil of many countries. +%% +You'll be called to a post requiring high ability in +handling groups of people. +%% +You'll be sent to Siberia to count the birches. -- Russian +proverb +%% +Your business will go through a period of considerable +expansion. +%% +Your code should be more efficient! +%% +Your computer account is overdrawn. Please reauthorize. +%% +Your education begins where what is called your education +is over. +%% +Your empty file directory has been deleted. +%% +Your ignorance cramps my conversation. +%% +Your mind understands what you have been taught; your +heart, what is true. +%% +Your salary will be increased. +%% +Your supervisor is thinking about you. +%% +Youth is the trustee of posterity. diff --git a/app/xlockmore/etc/genlauncher/Makefile b/app/xlockmore/etc/genlauncher/Makefile new file mode 100644 index 000000000..c387dce5b --- /dev/null +++ b/app/xlockmore/etc/genlauncher/Makefile @@ -0,0 +1,34 @@ +# lex could really be flex +#LEX = lex +#LEXLIB = -ll +#CC = cc + +LEX = flex +LEXLIB = -lfl +CC = gcc + +#CC = cc -g +#CC = cc -Ac -g +#CC = cc -Xc -g +#CC = acc -g +#CC = CC -g +#CC = gcc -g -Wall -ansi -pedantic +#CC = gcc -g -Wall -W -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Waggregate-return -Wmissing-prototypes -Wstrict-prototypes +#CC = g++ -g -Wall + +RM = rm -f + +all : xlockgen + perl guibuild.pl + +lex.yy.c : xlockgen.lex + $(LEX) xlockgen.lex + +xlockgen : lex.yy.c + $(CC) lex.yy.c -o $@ $(LEXLIB) + +clean : + $(RM) core *~ *% *.bak *.orig *.rej make.log MakeOut *.patch *.exe + +distclean : clean + $(RM) xlockgen lex.yy.c xlockgen.exe diff --git a/app/xlockmore/etc/genlauncher/README.gui b/app/xlockmore/etc/genlauncher/README.gui new file mode 100644 index 000000000..9b0cac423 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/README.gui @@ -0,0 +1,18 @@ +This is a facility for the maintainer to populate +the launchers with all the modes. + +Written by Charles Vidal <cvidal@ivsweb.com> + +README This file +lmode.h The modes +genbuild.pl +xlockgen.lex + +To compile xlockgen.lex +lex xlockgen.lex +# Lex +gcc lex.yy.c -o xlockgen -ll +# Flex +gcc lex.yy.c -o xlockgen -lfl + +Then run genbuild.pl in the genlauncher directory diff --git a/app/xlockmore/etc/genlauncher/etc.xlock.java b/app/xlockmore/etc/genlauncher/etc.xlock.java new file mode 100644 index 000000000..8b37b66b3 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/etc.xlock.java @@ -0,0 +1,195 @@ +// charles vidal <cvidal@ivsweb.com> +// the GUI definition and the handler event +import java.applet.*; +import java.awt.*; +import java.lang.Runtime; + +public class xlockFrame extends Applet { + +public static final int nbcoption=9; +public static final int nbbooleanopt=14; +Button blaunch; +Button blaunchinw; +Button bquit; +Choice coptions; +TextField foroptions; + List lst ; +int currentOption=0; + +MyFrameError mfe; + +boolean isinapp=false; + +// Array of option name +String[] nomOption={"Name program", +"File", +"Message Password", +"Message Valid", +"Message Invalid", +"Prompt", +"Fonts", +"Geometry","Display"}; + +String[] valueOption={"","","","","","","","",""}; +String[] cmdlineOption={"-program","-messagefile","-password","-validate","-invalid","","-font","-geometry","-display"}; + +// Array of option boolean name +String[] booleanOption={ +"-mono ", +"-nolock ", +"-remote ", +"-allowroot ", +"-enablesaver ", +"-allowaccess ", +"-grabmouse ", +"-echokeys ", +"-usefirst ", +"-verbose ", +"-inroot ", +"-timeelapsed ", +"-install ", +"-wireframe ", +"-showfps ", +"-use3d "}; +Checkbox bopt[]=new Checkbox[15]; + public void init() + { + Frame theAppWindow = new Frame("xlockFrame"); + Panel Panel1 = new Panel(); + Panel Panel2 = new Panel(); + Panel Panel3 = new Panel(); + setLayout(new BorderLayout(10,10)); + + lst = new List(); + +coptions=new Choice(); +for (int i=0;i<nbcoption;i++) + coptions.addItem(nomOption[i]); + +Panel3.add(coptions); + +foroptions = new TextField(20); +Panel3.add(foroptions); + +add("North", Panel3); + +add("Center",lst); +$%LISTJAVAlst.addItem("bomb"); +lst.addItem("random"); +lst.select(0); + +add("East", Panel1); +Panel1.setLayout(new GridLayout(15,1)); +for (int i=0;i<nbbooleanopt;i++) + { bopt[i]=new Checkbox(booleanOption[i],null,false); + Panel1.add(bopt[i]); + } + +add("South", Panel2); +blaunch=new Button("Launch"); +blaunchinw=new Button("Launch in window"); +bquit=new Button("Quit"); +Panel2.add(blaunch); +Panel2.add(blaunchinw); +Panel2.add(bquit); +} +public String getBooleanOption() +{ +String result=""; +for (int i=0;i<nbbooleanopt;i++) + {if (bopt[i].getState()) result=result.concat(booleanOption[i]); + } + return (result); +} +public boolean action (Event evt, Object arg) +{ + +Runtime r=Runtime.getRuntime(); + + +if (isinapp) + mfe=new MyFrameError("An error occured , You can't launch xlock"); + else + mfe=new MyFrameError("An error occured , You can't launch xlock"); + //mfe=new MyFrameError("You can't launch by a Browser"); + +mfe.resize(350,150); + +if (evt.target == blaunch || evt.target == blaunchinw) + { + String label= (String) arg; + String cmdlinexlock="xlock "; + if (evt.target == blaunchinw ) cmdlinexlock=cmdlinexlock.concat("-inwindow "); + for (int i=0;i<nbcoption;i++) + { + if (!valueOption[i].equals("")) + { + cmdlinexlock=cmdlinexlock.concat(cmdlineOption[i]+" "+valueOption[i]+" "); + } + } + cmdlinexlock=cmdlinexlock.concat(getBooleanOption()); + cmdlinexlock=cmdlinexlock.concat(" -mode "); + cmdlinexlock=cmdlinexlock.concat(lst.getSelectedItem()); + try { + System.out.println(cmdlinexlock); + r.getRuntime().exec(cmdlinexlock); } + catch ( Exception e ) + {mfe.show();} + return true;} +else + if (evt.target == coptions) + { + String label= (String) arg; + valueOption[currentOption]=foroptions.getText(); + for (int i=0;i<nbcoption;i++) + { + if (nomOption[i].equals(label)) + {foroptions.setText(valueOption[i]); + currentOption=i; + } + } + } +else + if (evt.target == bquit) {System.exit(0);} + else if (evt.target instanceof Checkbox) + { + return true; + } +else + if (evt.target == foroptions) + { + String label= (String) arg; + valueOption[currentOption]=label; + return true; + } + return false; + } + +public void SetInAppl() +{ +isinapp=true; +} + +} +class MyFrameError extends Frame { +Label l; +Button b_ok; +MyFrameError (String erreur) { + + setLayout(new BorderLayout()); + l=new Label(erreur,Label.CENTER); + add("Center",l); + b_ok=new Button("Ok"); + add("South",b_ok); + setTitle(erreur); + setCursor(HAND_CURSOR); + } +public boolean action (Event evt,Object arj){ + if (evt.target instanceof Button) + { + this.hide(); + return (true); + } + return (false); +} +} diff --git a/app/xlockmore/etc/genlauncher/etc.xlock.tcl b/app/xlockmore/etc/genlauncher/etc.xlock.tcl new file mode 100644 index 000000000..59c312f36 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/etc.xlock.tcl @@ -0,0 +1,668 @@ +#!/usr/X11/bin/wish -f + +#charles vidal 1998 <vidalc@club-intenet.fr> +# update Sun Oct 18 1998 +# Add the menu file with load resources +# and the exit button +# Add the load_process procedure loading +# the ressource file ~/XLock +# + +#function find in demo: mkStyles.tcl +# The procedure below inserts text into a given text widget and +# applies one or more tags to that text. The arguments are: +# +# w Window in which to insert +# text Text to insert (it's inserted at the "insert" mark) +# args One or more tags to apply to text. If this is empty +# then all tags are removed from the text. +set bgcolor "" +set fgcolor "" +set ftname "" +set mftname "" +set usernom "" +set passmot "" +set XLock_validate "" +set XLock_invalid "" +set XLock_program "" +set geometrie "" +set icogeometrie "" +set XLock_info "" +set indxhelp "" +set messagesfile "" +set messagefile "" +set bitmap "" + +proc openfilesel { var } { +upvar $var toto +set toto [ tk_getOpenFile -parent .] +return toto +} + +proc insertWithTags {w text args} { + set start [$w index insert] + $w insert insert $text + foreach tag [$w tag names $start] { + $w tag remove $tag $start insert + } + foreach i $args { + $w tag add $i $start insert + } +} + +# Function for the help +proc mkHelpCheck { w args } { + set nbf 0 + foreach i $args { + set nbf [ expr $nbf +1 ] + $w insert insert "\n" + checkbutton $w.c$nbf -variable [lindex $i 0] -text [lindex $i 0] + $w window create {end lineend} -window $w.c$nbf + $w insert insert " [lindex $i 1] " + } +} + +proc mkHelpEntry { w args } { + set nbf 0 + foreach i $args { + set nbf [ expr $nbf +1 ] + insertWithTags $w "\n [lindex $i 0] " underline + entry $w.e$nbf -textvariable [lindex $i 1] + $w window create {end lineend} -window $w.e$nbf + $w insert insert "\n[lindex $i 2] " + } +} + +# +proc whichcolor { which } { + global fgcolor + global bgcolor + if {$which == "RESETFG"} {set fgcolor ""} + if {$which == "RESETBG"} {set bgcolor ""} + if ($tk_version>4) then { + if {$which== "FG" } {set fgcolor [tk_chooseColor -initialcolor $fgcolor -title "foreground color"]; + puts $fgcolor + } + if {$which == "BG"} {set bgcolor [tk_chooseColor -initialcolor $bgcolor -title "background color"]; + puts $bgcolor + } + } else + { + if {$which== "FG" } {set fgcolor [.color.frame.names get [.color.frame.names curselection]];} + if {$which == "BG"} {set bgcolor [.color.frame.names get [.color.frame.names curselection]];} + } +} + +proc mkColor { what } { + if ($tk_version>4) then { + whichcolor $what; destroy .color + } else + { + toplevel .color + wm title .color "Color" + frame .color.frame -borderwidth 10 + frame .color.frame2 -borderwidth 10 + set w .color.frame + label $w.msg0 -text "Color Options" + pack $w.msg0 -side top + foreach i {/usr/local/lib/X11/rgb.txt /usr/lib/X11/rgb.txt + /X11/R5/lib/X11/rgb.txt /X11/R4/lib/rgb/rgb.txt} { + if ![file readable $i] { + continue; + } + set f [open $i] + listbox .color.frame.names -yscrollcommand ".color.frame.scroll set" \ + -relief sunken -borderwidth 2 -exportselection false + bind .color.frame.names <Double-1> { + .color.test configure -bg [.color.frame.names get [.color.frame.names curselection]] + } + scrollbar .color.frame.scroll -orient vertical -command ".color.frame.names yview" \ + -relief sunken -borderwidth 2 + pack .color.frame.names -side left + pack .color.frame.scroll -side right -fill both + pack .color.frame -fill x + while {[gets $f line] >= 0} { + if {[llength $line] == 4} { + .color.frame.names insert end [lindex $line 3] + } + } + close $f + label .color.test -height 5 -width 20 + button .color.frame2.cancel -text Cancel -command "destroy .color" + button .color.frame2.ok -text OK -command "whichcolor $what; destroy .color" + button .color.frame2.reset -text Reset -command "whichcolor RESET$what; destroy .color" + pack .color.test + pack .color.frame2.ok .color.frame2.cancel .color.frame2.reset -side left -fill x + pack .color.frame2 -fill both + break; + } + } +} + +# moving in text by the list +proc moveintext { indx } { +upvar indxhelp t1 + .help.f.t yview [ lindex $t1 $indx ] + +} +#---------------------- +# Help ... +proc Helpxlock {} { + global indxhelp + toplevel .help + wm title .help "Help About Xlock" + frame .help.f + scrollbar .help.f.s -orient vertical -command {.help.f.t yview} + pack .help.f -expand yes -fill both + pack .help.f.s -side right -fill y -expand yes + text .help.f.t -yscrollcommand {.help.f.s set} -wrap word -width 60 -height 20 \ + -setgrid 1 + + listbox .help.f.names -width 20 -height 20 + + bind .help.f.names <Double-1> { + set titi [eval .help.f.names curselection] + moveintext $titi + } + + pack .help.f.names .help.f.t -expand y -fill both -side left + set w .help.f.t + $w tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* + + foreach i {{"Xlock Help" { Locks the X server still the user enters their pass\ +word at the keyboard. While xlock is running, all new\ +server connections are refused. The screen saver is dis\ +abled. The mouse cursor is turned off. The screen is\ +blanked and a changing pattern is put on the screen. If a\ +key or a mouse button is pressed then the user is prompted\ +for the password of the user who started xlock. +If the correct password is typed, then the screen is\ +unlocked and the X server is restored. When typing the\ +password Control-U and Control-H are active as kill and\ +erase respectively. To return to the locked screen, click\ +in the small icon version of the changing pattern.} 0 } + {"Options" {The option sets the X11 display to lock.\ +xlock locks all available screens on a given server,\ +and restricts you to locking only a local server such\ +as unix::00,, localhost::00,, or ::00 unless you set the\ + -remote option.} 0 }\ + {"-name" {is used instead of XLock when looking for resources to configure xlock.} 1 } + {"-mode" {As of this writing there are 100+ display modes supported (plus one more for random selection of one of the 100+).} 1 } + {"-delay" {It simply sets the number of microseconds to delay +between batches of animations. In blank mode, it is important to set this to +some small number of microseconds, because the keyboard and mouse are only checked after each delay, so you cannot set the delay too high, but a delay of +zero would needlessly consume cpu checking for mouse and keyboard input in a tight loop, since blank mode has no work to do.} 1 } + {"-saturation" {This option sets saturation of the color ramp . 0 is grayscale and 1 is very rich color. 0.4 is a nice pastel.} 1 } + {"-username" {text string to use for Name prompt} 1 }\ + {"-password" {text string to use for Password prompt} 1 }\ + {"-info" {text string to use for instructions} 1 }\ + {"-validate" {the message shown while validating the password, +defaults to \"Validating login...\"} 1 }\ + {"-invalid" {the message shown when password is invalid, defaults to \"Invalid login.\"} 1 }\ + {"-geometry" {This option sets the size and offset of the lock +window (normally the entire screen). The entire screen format is still used for entering the password. The purpose is to see the screen even though it is locked. This should be used with caution since many of the modes will fail if the windows are far from square or are too small (size must be greater +than 0x0). This should also be used with esaver to protect screen from phosphor burn.} 1 }\ + {"-icongeometry" {this option sets the size of the iconic screen (normally 64x64) seen when entering the password. This should be used with caution since many of the modes will fail if the windows are far from square +or are too small (size must be greater than 0x0). The greatest size is +256x256. There should be some limit so users could see who has locked the screen. Position information of icon is ignored.} 1 } + {"-font" { Ths option sets the font to be used on the prompt screen.} 1 } + { "-fg " { This option sets the color of the text on the password screen.} 1 } + {"-bg" { This option sets the color of the background on the password screen.} 1 } + {"-forceLogout" { This option sets the auto-logout. This might not be enforced depending how your system is configured.} 1 }} { + lappend indxhelp [$w index current] + if { [lindex $i 2] == 1 } then {.help.f.names insert end " [lindex $i 0]"} else {.help.f.names insert end " [lindex $i 0]"} + insertWithTags $w "[lindex $i 0] " big + $w insert end "\n" + $w insert end [lindex $i 1] + $w insert end "\n" + } + lappend indxhelp [$w index current] + insertWithTags $w "Options boolean" big + $w insert end "\n" + .help.f.names insert end "Options boolean" + mkHelpCheck $w {XLock_mono {turn on/off monochrome override}}\ + {nolock {trun on/off no password required mode}}\ + {remote {turn on/off remote host access}}\ + {allowroot {turn on/off allow root password mode (ignored)}}\ + {enablesaver {turn on/off enable X server screen saver}}\ + {allowaccess {turn on/off access of the terminal X}}\ + {grabmouse {turn on/off grabbing of mouse and keyboard}}\ + {echokeys {turn on/off echo \'?\' for each password key}}\ + {usefirst {turn on/off using the first char typed in password}}\ + {verbose {turn on/off verbose mode}}\ + {inwindow {turn on/off making xlock run in a window}}\ + {inroot {turn on/off making xlock run in the root window}}\ + {timeelapsed {turn on/off clock}}\ + {install {whether to use private colormap if needed (yes/no)}}\ + {sound {whether to use sound if configured for it (yes/no}}\ + {timeelapsed {turn on/off clock}}\ + {usefirst {text string to use for Name prompt}}\ + {trackmouse {turn on/off the mouse interaction}} + button .help.ok -text OK -command "destroy .help" + pack .help.ok +} + +# Create toplevel Author and Maintainer. +proc mkAuthor {} { + toplevel .author + wm title .author "Author and Maintainer of xlock" + frame .author.frame -borderwidth 10 + set w .author.frame + + label $w.msg0 -text "Author and Maintainer of xlock" + label $w.msg1 -text "Maintained by: David A. Bagley (bagleyd@tux.org)" + label $w.msg2 -text "Original Author: Patrick J. Naughton (naughton@eng.sun.com)" + label $w.msg3 -text "Mailstop 21-14 Sun Microsystems Laboratories," + label $w.msg4 -text "Inc. Mountain View, CA 94043 15//336-1080" + label $w.msg5 -text "with many additional contributors" + pack $w.msg0 $w.msg1 $w.msg2 $w.msg3 $w.msg4 $w.msg5 -side top + + label $w.msg6 -text "xlock.tcl\n created by charles VIDAL\n (author of flag mode and xmlock launcher )" + pack $w.msg6 -side top + + button .author.ok -text OK -command "destroy .author" + pack $w .author.ok +} + +proc mkFileDialog { nom titre args } { + toplevel .$nom + wm title .$nom "$titre" + frame .$nom.frame -borderwidth 10 + frame .$nom.frame2 -borderwidth 10 + frame .$nom.frame.frame4 -borderwidth 10 + set w .$nom.frame + set w2 .$nom.frame2 + set w4 .$nom.frame.frame4 + set nbf 0 + + label $w.msg0 -text "$titre" + pack $w.msg0 -side top + foreach i $args { + set nbf [ expr $nbf +1 ] + frame $w4.f$nbf + label $w4.f$nbf.l$nbf -text [lindex $i 0] + entry $w4.f$nbf.e$nbf -textvariable [lindex $i 1] + button $w4.f$nbf.b$nbf -text "..." -command "openfilesel [lindex $i 1]" + pack $w4.f$nbf.l$nbf $w4.f$nbf.e$nbf $w4.f$nbf.b$nbf -side left -expand yes + pack $w4.f$nbf -expand yes + } + button $w2.ok -text OK -command "destroy .$nom" + button $w2.cancel -text Cancel -command "destroy .$nom" + pack $w -side top -expand yes + pack $w4 -side right -expand yes + pack $w2.ok $w2.cancel -side left -fill x -expand yes + pack $w2 -side bottom -expand yes +} + +proc mkDialog { nom titre args } { + toplevel .$nom + wm title .$nom "$titre" + frame .$nom.frame -borderwidth 10 + frame .$nom.frame2 -borderwidth 10 + frame .$nom.frame.frame3 -borderwidth 10 + frame .$nom.frame.frame4 -borderwidth 10 + set w .$nom.frame + set w2 .$nom.frame2 + set w3 .$nom.frame.frame3 + set w4 .$nom.frame.frame4 + set nbf 0 + + label $w.msg0 -text "$titre" + pack $w.msg0 -side top + foreach i $args { + set nbf [ expr $nbf +1 ] + label $w3.l$nbf -text [lindex $i 0] + entry $w4.e$nbf -textvariable [lindex $i 1] + pack $w3.l$nbf + pack $w4.e$nbf + } + button $w2.ok -text OK -command "destroy .$nom" + button $w2.cancel -text Cancel -command "destroy .$nom" + pack $w -side top + pack $w3 -side left + pack $w4 -side right + pack $w2.ok $w2.cancel -side left -fill x + pack $w2 -side bottom +} + +proc mkMessage {} { + global passmot + global XLock_validate + global XLock_invalid + global XLock_info + mkDialog message {Message Options} \ + {"message password" passmot} \ + {"validate string" XLock_validate} \ + {"invalid string" XLock_invalid} \ + {"info string" XLock_info} +} + +proc mkGeometry {} { + global geometrie + global icogeometrie + mkDialog geometry {Geometry Options} \ + {"geometry" geometrie} \ + {"icon geometry" icogeometrie} +} + +proc mkFileOption {} { + global messagesfile + global messagefile + global bitmap + mkFileDialog fileoption {Files Options} \ + {"messagesfile" messagesfile} \ + {"messagefile" messagefile} \ + {"bitmap" bitmap} +} + +proc whichfont { which } { + global ftname + global mftname + if {$which== "FONT" } {set ftname [.font.frame.names get [.font.frame.names curselection]];} + if {$which == "MFONT"} {set mftname [.font.frame.names get [.font.frame.names curselection]];} + if {$which == "RESETFONT"} {set ftname ""} + if {$which == "RESETMFONT"} {set mftname ""} +} + +#this function should be erase in the newer version... +proc mkFont { What } { + toplevel .font + wm title .font "Font Options" + label .font.label -text "ABCDEFGH\nIJKabedfg\nhijkmnopq" + frame .font.frame -borderwidth 10 + frame .font.frame2 -borderwidth 10 + set w .font.frame + label $w.msg0 -text "Font Options" + pack $w.msg0 -side top + eval exec "xlsfonts \> /tmp/xlsfont.tmp" + set f [open "/tmp/xlsfont.tmp"] + listbox .font.frame.names -yscrollcommand ".font.frame.scroll set" \ + -xscrollcommand ".font.scroll2 set" -setgrid 1 \ + -exportselection false + bind .font.frame.names <Double-1> { + .font.test configure -font [.font.frame.names get [.font.frame.names curselection]] + } + scrollbar .font.frame.scroll -orient vertical -command ".font.frame.names yview" \ + -relief sunken -borderwidth 2 + scrollbar .font.scroll2 -orient horizontal -command ".font.frame.names xview" \ + -relief sunken -borderwidth 2 + while {[gets $f line] >= 0} { + .font.frame.names insert end $line + } + close $f + + eval exec "/bin/rm -f /tmp/xlsfont.tmp" + pack .font.frame.names -side left -expand y -fill both + pack .font.frame.scroll -side right -fill both + pack .font.frame -fill x + pack .font.scroll2 -fill both + label .font.test -text "ABCDEFGHIJKabedfghijkmnopq12345" + pack .font.test + + button .font.frame2.cancel -text Cancel -command "destroy .font" + button .font.frame2.reset -text Reset -command "whichfont RESET$What;destroy .font" + button .font.frame2.ok -text OK -command "whichfont $What;destroy .font" + pack .font.frame2.ok .font.frame2.cancel .font.frame2.reset -side left -fill both + pack .font.frame2 -fill both + + #frame $w.fontname + #label $w.fontname.l1 -text "font name" + #entry $w.fontname.e1 -relief sunken + #frame $w.specfont + #label $w.specfont.l2 -text "specifique font name" + #entry $w.specfont.e2 -relief sunken + #pack $w.fontname $w.specfont + #pack $w.fontname.l1 -side left + #pack $w.specfont.l2 -side left + #pack $w.fontname.e1 $w.specfont.e2 -side top -pady 5 -fill x + #button .font.frame2.ok -text OK -command "destroy .font" + #button .font.frame2.cancel -text Cancel -command "destroy .font" + #pack $w .font.frame2.ok .font.frame2.cancel -side left -fill x + #pack .font.frame2 -side bottom +} + +proc mkEntry {} { + global usernom + global XLock_program + mkDialog option {User Options} \ + {"user name" usernom} \ + {"program name" XLock_program} +} + +proc Affopts { device } { + +#options booleans + global XLock_mono + global nolock + global remote + global allowroot + global enablesaver + global allowaccess + global grabmouse + global echokeys + global usefirst + global install + global sound + global timeelapsed + global usefirst + global wireframe + global showfps + global use3d + global trackmouse + + global fgcolor + global bgcolor + global ftname + global mftname + + global usernom + global passmot + global XLock_validate + global XLock_invalid + global XLock_program + global geometrie + global icogeometrie + global XLock_info + global messagesfile + global messagefile + global bitmap + + set linecommand "xlock " + + if {$device == 1} {append linecommand "-inwindow "} elseif {$device == 2} {append linecommand "-inroot "} + if {$bgcolor!=""} {append linecommand "-bg $bgcolor "} + if {$fgcolor!=""} {append linecommand "-fg $fgcolor "} + if {$ftname!=""} {append linecommand "-font $ftname "} + if {$mftname!=""} {append linecommand "-messagefont $mftname "} +#entry action + if {$usernom!=""} {append linecommand "-username $usernom "} + if {$passmot!=""} {append linecommand "-password $passmot "} + if {$XLock_validate!=""} {append linecommand "-validate $XLock_validate "} + if {$XLock_invalid!=""} {append linecommand "-invalid $XLock_invalid "} + if {$XLock_program!=""} {append linecommand "-program $XLock_program "} + if {$geometrie!=""} {append linecommand "-geometry $geometrie "} + if {$icogeometrie!=""} {append linecommand "-icongeometry $icogeometrie "} + if {$messagesfile!=""} {append linecommand "-messagesfile $messagesfile "} + if {$bitmap!=""} {append linecommand "-bitmap $bitmap "} + if {$icogeometrie!=""} {append linecommand "-icongeometry $icogeometrie "} + if {$XLock_info!=""} {append linecommand "-info $XLock_info "} +#check actions + if { $XLock_mono == 1 } {append linecommand "-mono "} + if { $install == 1 } {append linecommand "-install "} + if { $sound == 1 } {append linecommand "-sound "} + if { $timeelapsed == 1 } {append linecommand "-timeelapsed "} + if { $usefirst == 1 } {append linecommand "-usefirst "} + if { $wireframe == 1 } {append linecommand "-wireframe "} + if { $showfps == 1 } {append linecommand "-showfps "} + if { $use3d == 1 } {append linecommand "-use3d "} + if { $trackmouse == 1 } {append linecommand "-trackmouse "} + if { $nolock == 1 } {append linecommand "-nolock "} + if { $remote == 1 } {append linecommand "-remote "} + if { $allowroot == 1 } {append linecommand "-allowroot "} + if { $enablesaver == 1 } {append linecommand "-enablesaver "} + if { $allowaccess == 1 } {append linecommand "-allowaccess "} + if { $grabmouse == 1 } {append linecommand "-grabmouse "} + if { $echokeys == 1 } {append linecommand "-echokeys "} + if { $usefirst == 1 } {append linecommand "-usefirst "} + append linecommand "-mode " + append linecommand [.listscrol.list get [eval .listscrol.list curselection]] + puts $linecommand + eval exec $linecommand +} + +proc load_ressource { } { + global XLock_invalid + global XLock_validate + global XLock_info + global XLock_program + +set filename "" + +openfilesel filename + +set f [ open $filename r ] +while { ! [eof $f ] } { + gets $f line + switch -regexp $line { + {^XLock\.[a-zA-Z]+:} { + if { [ regexp -nocase {\: $} tyty ]} { + } + regsub {^} $line "set " line2 + regsub {XLock\.} $line2 "XLock_" line3 + regsub {: } $line3 " \"" line4 + regsub {on$} $line4 "1" line5 + regsub {off$} $line4 "0" line5 + eval "$line5\"" + } + {^XLock\.[a-zA-Z]+\.[a-zA-Z]+:[ \t]*[a-zA-Z0-9]+$} { + regsub {^} $line "set " line2 + regsub {XLock\.} $line2 "XLock_" line3 + regsub {\.} $line3 "(" line4 + regsub {: } $line4 ") \"" line5 + eval "$line5\"" + } +} +} +} + +# Creation of GUI + +wm title . "xlock launcher" +. configure -cursor top_left_arrow +frame .menu -relief raised -borderwidth 1 +menubutton .menu.button -text "switches" -menu .menu.button.check +pack .menu -side top -fill x + +global XLock_mono +global sound +global install +global nolock +global remote +global allowroot +global enablesaver +global allowaccess +global grabmouse +global echokeys +global usefirst + +global usernom +global passmot +global geometrie +global icogeometrie +global XLock_info + +# Creation of GUI + +#Creation of menu +set fileressource "" + +menubutton .menu.buttonf -text "file" -menu .menu.buttonf.file +menu .menu.buttonf.file +set FILE .menu.buttonf.file +$FILE add command -label "Load ressource" -command "load_ressource" +$FILE add command -label "exit" -command "exit" + +menu .menu.button.check +set CHECK .menu.button.check + +#menu with les check buttons +$CHECK add check -label "mono" -variable XLock_mono +$CHECK add check -label "nolock" -variable nolock +$CHECK add check -label "remote" -variable remote +$CHECK add check -label "allowroot" -variable allowroot +$CHECK add check -label "enablesaver" -variable enablesaver +$CHECK add check -label "allowaccess" -variable allowaccess +$CHECK add check -label "grabmouse" -variable grabmouse +$CHECK add check -label "echokeys" -variable echokeys +$CHECK add check -label "usefirst" -variable usefirst +$CHECK add check -label "install" -variable install +$CHECK add check -label "sound" -variable sound +$CHECK add check -label "timeelapsed" -variable timeelapsed +$CHECK add check -label "usefirst" -variable usefirst +$CHECK add check -label "wireframe" -variable wireframe +$CHECK add check -label "showfps" -variable showfps +$CHECK add check -label "use3d" -variable use3d +$CHECK add check -label "trackmouse" -variable trackmouse + +menubutton .menu.button2 -text "options" -menu .menu.button2.options +menu .menu.button2.options +set OPTIONS .menu.button2.options +#les options +$OPTIONS add command -label "generals options" -command "mkEntry" +$OPTIONS add command -label "font to use for password prompt" -command "mkFont FONT" +$OPTIONS add command -label "font for a specific mode" -command "mkFont MFONT" + + +$OPTIONS add command -label "geometry options" -command "mkGeometry" +$OPTIONS add command -label "file options" -command "mkFileOption" +$OPTIONS add command -label "message options" -command "mkMessage" + +#Color +menubutton .menu.button4 -text "color" -menu .menu.button4.color +menu .menu.button4.color +set COLOR .menu.button4.color +#if {$tk_version < 4} then { +#$COLOR add command -label "foreground options for password" -command "mkColor FG" +#$COLOR add command -label "background options for password" -command "mkColor BG" +#} +#else { +$COLOR add command -label "foreground options for password" -command "tk_chooseColor" +$COLOR add command -label "background options for password" -command "tk_chooseColor" +#} +menubutton .menu.button3 -text "help" -menu .menu.button3.help +menu .menu.button3.help +set HELP .menu.button3.help +$HELP add command -label "about xlock" -command "Helpxlock" +$HELP add command -label "about author" -command "mkAuthor" + +pack .menu.buttonf .menu.button .menu.button2 .menu.button4 -side left +pack .menu.button3 -side right + +#--------------------------- +#creation de la liste +#--------------------------- +frame .listscrol -borderwidth 4 -relief ridge +set LISTSCROL .listscrol +scrollbar $LISTSCROL.scroll -relief sunken -command "$LISTSCROL.list yview" +listbox $LISTSCROL.list -yscroll "$LISTSCROL.scroll set" + +#--------------------------- +#insert all modes in list +#--------------------------- +$LISTSCROL.list insert 0 \ +$%LISTTCLbomb\ +random + +pack $LISTSCROL.scroll -side right -fill y +pack $LISTSCROL.list -side left -expand yes -fill both +pack $LISTSCROL -fill both -expand yes + +frame .buttons -borderwidth 4 -relief ridge +set BUTTON .buttons +button $BUTTON.launch -text "Launch" -command "Affopts 0" +button $BUTTON.launchinW -text "Launch in Window" -command "Affopts 1" +button $BUTTON.launchinR -text "Launch in Root" -command "Affopts 2" +button $BUTTON.quit -text Quit -command "exit" +pack $BUTTON.launch $BUTTON.launchinW $BUTTON.launchinR -side left +pack $BUTTON.quit -side right +pack $BUTTON -fill x -side bottom diff --git a/app/xlockmore/etc/genlauncher/guibuild.pl b/app/xlockmore/etc/genlauncher/guibuild.pl new file mode 100644 index 000000000..042770784 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/guibuild.pl @@ -0,0 +1,296 @@ +#!/usr/bin/perl + +#------------------------------------------------------------------------------ +# @(#)genbuild.pl 4.0 2000/01/21 xlockmore +# +# mode management include file generator for xlock +# +# Originally written in korn shell and lex and yacc by +# Charles Vidal (make.launcher) +# Copyright (c) by Charles Vidal +# +# See xlock.c for copying information. +# +# Revision History: +# +# 21-Jan-2000: converted to perl by David Bagley, for ease adding to list +# 10-Oct-1999: xglock generation by Eric Lassauge <lassauge AT users.sourceforge.net> +# ??-???-??: Written by Charles Vidal <cvidal@ivsweb.com> +# +#------------------------------------------------------------------------------ + +my(@GUI_LIST) = ( + "MOTIF,xmlock.modes.tpl,../../xmlock/modes.h,1", + "GTK,xglock.modes.tpl,../../xglock/modes.h,1", + "TCL,etc.xlock.tcl,../xlock.tcl,0", + "JAVA,etc.xlock.java,../xlockFrame.java,0"); +my($GUI_NAME, $GUI_TPL, $GUI_FILE, $GUI_BUILD); +my($GUI, $PROG, $CMD, $LIB); + +$datafile = "lmode.h"; + +$PROG=xlockgen; +if (-x "$PROG") { + foreach $GUI (@GUI_LIST) { + ($GUI_NAME, $GUI_TPL, $GUI_FILE, $GUI_BUILD) = split (/,/, $GUI); +# print("$GUI_NAME, $GUI_TPL, $GUI_FILE, $GUI_BUILD\n"); +# print "make $GUI_NAME in 2 passes:\n"; + print "generating $GUI_NAME\n"; + if (-w "$GUI_FILE") { + if (-r "$GUI_TPL") { + $CMD="cat $GUI_TPL | ./xlockgen > $GUI_FILE"; + print "$CMD\n"; + `$CMD`; + if ($GUI_BUILD) { + print "Can now build $GUI_NAME.\n"; + } else { + print "$GUI_NAME program now configured.\n"; + } + } else { + print "Could not open $GUI_TPL for reading\n"; + } + } else { + print "Could not open $GUI_FILE for writing\n"; + } + } +} else { + print "Could not execute $PROG, maybe it needs to be compiled?\n"; + print " using lex: gcc lex.yy.c -o $PROG -ll\n"; + print " using flex: gcc lex.yy.c -o $PROG -lfl\n"; +} + + + +exit; + +# this other code does the same thing without lex +foreach $GUI (@GUI_LIST) { + ($GUI_NAME, $GUI_TPL, $GUI_FILE, $GUI_BUILD) = split (/,/, $GUI); + print "generating $GUI_NAME\n"; + if (-w "$GUI_FILE") { + if (-r "$GUI_TPL") { + if ($GUI_NAME eq "MOTIF") { + &buildmotif ($GUI_NAME, $GUI_TPL, $datafile, $GUI_FILE,); + } elsif ($GUI_NAME eq "GTK") { + &buildgtk ($GUI_NAME, $GUI_TPL, $datafile, $GUI_FILE,); + } elsif ($GUI_NAME eq "TCL") { + &buildtcl ($GUI_NAME, $GUI_TPL, $datafile, $GUI_FILE); + } elsif ($GUI_NAME eq "JAVA") { + &buildjava ($GUI_NAME, $GUI_TPL, $datafile, $GUI_FILE); + } + print "can now build $GUI_NAME\n"; + } else { + print "Could not open $GUI_TPL for reading\n"; + } + } else { + print "Could not open $GUI_FILE for writing\n"; + } +} + +# to help adminitration and utils for launcher(s) +# this file replace token by all modes token : +# LISTMOTIF, LISTTCL, LISTGTK +# utils : + +@Gui_Types=( + "\$\%LISTMOTIF", "\$\%LISTGTK", + "\$\%LISTTCL", "\$\%LISTJAVA"); + + +sub buildmotif +{ + $name = $_[0]; + $templatefile = $_[1]; + $datafile = $_[2]; + $outfile = $_[3]; + + open(TEMPLATE, "<$templatefile") || die("Could not open $templatefile for reading"); + open(OUTFILE, ">$outfile") || die("Could not open $outfile for writing"); + while (<TEMPLATE>) { + if (/^.*LISTMOTIF(.*)/) { + $restOfLine = "$1\n"; + $_ = "$1\n"; + open(DATA, "<$datafile") || die("Could not open $datafile for reading"); + $instruct = 0; + while(<DATA>) { + chop(); + if ($instruct) { + if (/^.*};/) { + $instruct = 0; + } else { + if ($mode == 0) { + if (/^\s*{\"(.*)\",/) { + $name = $1; + $mode++; + } + } elsif ($mode == 1) { + $mode++; + } else { + if (/^\s*\"(.*)\",.*,\s*"(.*)"}/) { + print OUTFILE "\(char \*\) $2\n{\"$name\", \(char \*\) \"$1\"},\n#endif\n"; + } elsif (/^\s*\"(.*)\",.*,\s*(.*)}/) { #NULL + print OUTFILE "{\(char \*\) \"$name\", \(char \*\) \"$1\"},\n"; + } else { + print OUTFILE "#$_#\n"; + } + $mode = 0; + } + } + } else { + if (/^.*LockProcs\[\]\s*=/) { + $instruct = 1; + $mode = 0; + } + } + } + close(DATA); + $_ = $restOfLine; + } + print OUTFILE "$_"; + } + close(TEMPLATE); + close(OUTFILE); +} + +sub buildgtk +{ + $name = $_[0]; + $templatefile = $_[1]; + $datafile = $_[2]; + $outfile = $_[3]; + + open(TEMPLATE, "<$templatefile") || die("Could not open $templatefile for reading"); + open(OUTFILE, ">$outfile") || die("Could not open $outfile for writing"); + while (<TEMPLATE>) { + if (/^.*LISTGTK(.*)/) { + $restOfLine = "$1\n"; + $_ = "$1\n"; + open(DATA, "<$datafile") || die("Could not open $datafile for reading"); + $instruct = 0; + while(<DATA>) { + chop(); + if ($instruct) { + if (/^.*};/) { + $instruct = 0; + } else { + if ($mode == 0) { + if (/^\s*{\"(.*)\",/) { + $name = $1; + $mode++; + } + } elsif ($mode == 1) { + if (/^\s*(.*),\s*(.*),\s(.*),\s*(.*),\s(.*),\s(.*),/) { + $delay = $1; + $count = $2; + $cycles = $3; + $saturation = $5; + } + $mode++; + } else { + if (/^\s*\"(.*)\",.*,\s*"(.*)"}/) { + print OUTFILE "$2\n {\"$name\",\n"; + print OUTFILE " $delay, $count, $cycles, $saturation,\n"; + print OUTFILE " \"$1\", (void *) NULL},\n#endif\n"; + } elsif (/^\s*\"(.*)\",.*,\s*(.*)}/) { #NULL + print OUTFILE " {\"$name\",\n"; + print OUTFILE " $delay, $count, $cycles, $saturation,\n"; + print OUTFILE " \"$1\", (void *) NULL},\n"; + } else { + print OUTFILE "#$_#\n"; + } + $mode = 0; + } + } + } else { + if (/^.*LockProcs\[\]\s*=/) { + $instruct = 1; + $mode = 0; + } + } + } + close(DATA); + $_ = $restOfLine; + } + print OUTFILE "$_"; + } + close(TEMPLATE); + close(OUTFILE); +} + +sub buildtcl +{ + $name = $_[0]; + $templatefile = $_[1]; + $datafile = $_[2]; + $outfile = $_[3]; + + open(TEMPLATE, "<$templatefile") || die("Could not open $templatefile for reading"); + open(OUTFILE, ">$outfile") || die("Could not open $outfile for writing"); + while (<TEMPLATE>) { + if (/^.*LISTTCL(.*)/) { + $restOfLine = "$1\n"; + $_ = "$1\n"; + open(DATA, "<$datafile") || die("Could not open $datafile for reading"); + $instruct = 0; + while(<DATA>) { + if ($instruct) { + if (/^.*};/) { + $instruct = 0; + } else { + if (/^\s*{\"(.*)\",/) { + print OUTFILE "$1\\\n"; + } + } + } else { + if (/^.*LockProcs\[\]\s*=/) { + $instruct = 1; + } + } + } + close(DATA); + $_ = $restOfLine; + } + print OUTFILE "$_"; + } + close(TEMPLATE); + close(OUTFILE); +} + +sub buildjava +{ + $name = $_[0]; + $templatefile = $_[1]; + $datafile = $_[2]; + $outfile = $_[3]; + + open(TEMPLATE, "<$templatefile") || die("Could not open $templatefile for reading"); + open(OUTFILE, ">$outfile") || die("Could not open $outfile for writing"); + while (<TEMPLATE>) { + if (/^.*LISTJAVA(.*)/) { + $restOfLine = "$1\n"; + $_ = "$1\n"; + open(DATA, "<$datafile") || die("Could not open $datafile for reading"); + $instruct = 0; + while(<DATA>) { + if ($instruct) { + if (/^.*};/) { + $instruct = 0; + } else { + if (/^\s*{\"(.*)\",/) { + print OUTFILE "lst.addItem(\"$1\");\n"; + } + } + } else { + if (/^.*LockProcs\[\]\s*=/) { + $instruct = 1; + } + } + } + close(DATA); + $_ = $restOfLine; + } + print OUTFILE "$_"; + } + close(TEMPLATE); + close(OUTFILE); +} diff --git a/app/xlockmore/etc/genlauncher/lmode.h b/app/xlockmore/etc/genlauncher/lmode.h new file mode 100644 index 000000000..99cce95e4 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/lmode.h @@ -0,0 +1,497 @@ +/*- + * @(#)mode.h 4.00 97/01/01 xlockmore + * + * mode.h - mode management for xlock, the X Window System lockscreen. + * + * Copyright (c) 1991 by Patrick J. Naughton. + * + * See xlock.c for copying information. + * + * Revision History: + * + * Changes maintained by David Bagley <bagleyd@tux.org> + * 18-Mar-96: Ron Hitchens <ron@idiom.com> + * Extensive revision to define new data types for + * the new mode calling scheme. + * 02-Jun-95: Extracted out of resource.c. + * + */ + +/*- + * Declare external interface routines for supported screen savers. + */ + +/* -------------------------------------------------------------------- */ + +/* Force inclusion of all modes ! */ +#define HAVE_CXX +#define HAVE_XPM +#define USE_GL +#define USE_UNSTABLE +#define USE_BOMB +#define HAVE_TTF +#define HAVE_GLTT +#define HAVE_FREETYPE +#define HAVE_FTGL + +typedef struct { + int dummy; +} ModeSpecOpt; + +struct LockStruct_s; +struct ModeInfo_s; + +typedef void (ModeHook) (struct ModeInfo_s *); +typedef void (HookProc) (struct LockStruct_s *, struct ModeInfo_s *); + +typedef struct LockStruct_s { + char *cmdline_arg; /* mode name */ +#if 0 + char *init_hook; /* func to init a mode */ + char *callback_hook; /* func to run (tick) a mode */ + char *release_hook; /* func to shutdown a mode */ + char *refresh_hook; /* tells mode to repaint */ + char *change_hook; /* user wants mode to change */ + char *unused_hook; /* for future expansion */ + ModeSpecOpt *msopt; /* this mode's def resources */ +#endif + int def_delay; /* default delay for mode */ + int def_count; + int def_cycles; + int def_size; + int def_ncolors; + float def_saturation; + char *def_bitmap; + char *desc; /* text description of mode */ + unsigned int flags; /* state flags for this mode */ + void *userdata; /* for use by the mode */ + char *define; +} LockStruct; + +LockStruct LockProcs[] = +{ + {"anemone", + 50000, 1, 1, 1, 64, 1.0, "", + "Shows wiggling tentacles", 0, NULL, NULL}, + {"ant", + 1000, -3, 40000, -7, 64, 1.0, "", + "Shows Langton's and Turk's generalized ants", 0, NULL, NULL}, + {"ant3d", + 5000, -3, 100000, 1, 64, 1.0, "", + "Shows 3D ants", 0, NULL, NULL}, + {"apollonian", + 1000000, 64, 20, 1, 64, 1.0, "", + "Shows Apollonian Circles", 0, NULL, NULL}, +#ifdef USE_GL + {"atlantis", + 25000, 4, 100, 6000, 64, 1.0, "", + "Shows moving sharks/whales/dolphin", 0, NULL, "#ifdef USE_GL"}, + {"atunnels", + 25000, 1, 1, 0, 64, 1.0, "", + "Shows an OpenGL advanced tunnel screensaver", 0, NULL, "#ifdef USE_GL"}, +#endif + {"ball", + 10000, 10, 20, -100, 64, 1.0, "", + "Shows bouncing balls", 0, NULL, NULL}, + {"bat", + 100000, -8, 1, 0, 64, 1.0, "", + "Shows bouncing flying bats", 0, NULL, NULL}, +#ifdef USE_GL + {"biof", + 10000, 800, 1, 0, 64, 1.0, "", + "Shows 3D bioform", 0, NULL, "#ifdef USE_GL"}, +#endif + {"blot", + 200000, 6, 30, 1, 64, 0.3, "", + "Shows Rorschach's ink blot test", 0, NULL, NULL}, + {"bouboule", + 10000, 100, 1, 15, 64, 1.0, "", + "Shows Mimi's bouboule of moving stars", 0, NULL, NULL}, + {"bounce", + 5000, -10, 1, 0, 64, 1.0, "", + "Shows bouncing footballs", 0, NULL, NULL}, + {"braid", + 1000, 15, 100, -7, 64, 1.0, "", + "Shows random braids and knots", 0, NULL, NULL}, + {"bubble", + 100000, 25, 1, 100, 64, 0.6, "", + "Shows popping bubbles", 0, NULL, NULL}, +#if defined( USE_GL ) && defined( HAVE_CXX ) + {"bubble3d", + 20000, 1, 2, 1, 64, 1.0, "", + "Richard Jones's GL bubbles", 0, NULL, "#if defined( USE_GL ) && defined( HAVE_CXX )"}, +#endif + {"bug", + 75000, 10, 32767, -4, 64, 1.0, "", + "Shows Palmiter's bug evolution and garden of Eden", 0, NULL, NULL}, +#ifdef USE_GL + {"cage", + 80000, 1, 1, 1, 64, 1.0, "", + "Shows the Impossible Cage, an Escher-like GL scene", 0, NULL, "#ifdef USE_GL"}, +#endif + {"clock", + 100000, -16, 200, -200, 64, 1.0, "", + "Shows Packard's clock", 0, NULL, NULL}, + {"coral", + 60000, -3, 1, 35, 64, 0.6, "", + "Shows a coral reef", 0, NULL, NULL}, + {"crystal", + 60000, -500, 200, -15, 64, 1.0, "", + "Shows polygons in 2D plane groups", 0, NULL, NULL}, + {"daisy", + 100000, 300, 350, 1, 64, 1.0, "", + "Shows a meadow of daisies", 0, NULL, NULL}, + {"dclock", + 10000, 1, 10000, 1, 64, 0.3, "", + "Shows a floating digital clock or message", 0, NULL, NULL}, + {"decay", + 200000, 6, 30, 1, 64, 0.3, "", + "Shows a decaying screen", 0, NULL, NULL}, + {"deco", + 1000000, -30, 2, -10, 64, 0.6, "", + "Shows art as ugly as sin", 0, NULL, NULL}, + {"demon", + 50000, 0, 1000, -7, 64, 1.0, "", + "Shows Griffeath's cellular automata", 0, NULL, NULL}, + {"dilemma", + 200000, -2, 1000, 0, 64, 1.0, "", + "Shows Lloyd's Prisoner's Dilemma simulation", 0, NULL, NULL}, + {"discrete", + 1000, 4096, 2500, 1, 64, 1.0, "", + "Shows various discrete maps", 0, NULL, NULL}, + {"dragon", + 2000000, 1, 16, -24, 64, 1.0, "", + "Shows Deventer's Hexagonal Dragons Maze", 0, NULL, NULL}, + {"drift", + 10000, 30, 1, 1, 64, 1.0, "", + "Shows cosmic drifting flame fractals", 0, NULL, NULL}, + {"euler2d", + 1000, 1024, 3000, 1, 64, 1.0, "", + "Shows a simulation of 2D incompressible inviscid fluid", 0, NULL, NULL}, + {"eyes", + 20000, -8, 5, 1, 64, 1.0, "", + "Shows eyes following a bouncing grelb", 0, NULL, NULL}, + {"fadeplot", + 30000, 10, 1500, 1, 64, 0.6, "", + "Shows a fading plot of sine squared", 0, NULL, NULL}, + {"fiberlamp", + 10000, 500, 10000, 0, 64, 1.0, "", + "Shows a Fiber Optic Lamp", 0, NULL, NULL}, +#ifdef USE_GL + {"fire", + 10000, 800, 1, 0, 64, 1.0, "", + "Shows a 3D fire-like image", 0, NULL, "#ifdef USE_GL"}, +#endif + {"flag", + 50000, 1, 1000, -7, 64, 1.0, "", + "Shows a waving flag image", 0, NULL, NULL}, + {"flame", + 750000, 20, 10000, 1, 64, 1.0, "", + "Shows cosmic flame fractals", 0, NULL, NULL}, + {"flow", + 1000, 1024, 3000, -10, 64, 1.0, "", + "Shows dynamic strange attractors", 0, NULL, NULL}, + {"forest", + 400000, 100, 200, 1, 64, 1.0, "", + "Shows binary trees of a fractal forest", 0, NULL, NULL}, + {"fzort", + 10000, 1, 1, 1, 64, 1.0, "", + "Shows a metalic-looking fzort", 0, NULL, NULL}, + {"galaxy", + 100, -5, 250, -3, 64, 1.0, "", + "Shows crashing spiral galaxies", 0, NULL, NULL}, +#ifdef USE_GL + {"gears", + 50000, 1, 2, 1, 64, 1.0, "", + "Shows GL's gears", 0, NULL, "#ifdef USE_GL"}, + {"glplanet", + 15000, 1, 2, 1, 64, 1.0, "", + "Animates texture mapped sphere (planet)", 0, NULL, "#ifdef USE_GL"}, +#endif + {"goop", + 10000, -12, 1, 1, 64, 1.0, "", + "Shows goop from a lava lamp", 0, NULL, NULL}, + {"grav", + 10000, -12, 1, 1, 64, 1.0, "", + "Shows orbiting planets", 0, NULL, NULL}, + {"helix", + 25000, 1, 100, 1, 64, 1.0, "", + "Shows string art", 0, NULL, NULL}, + {"hop", + 10000, 1000, 2500, 1, 64, 1.0, "", + "Shows real plane iterated fractals", 0, NULL, NULL}, + {"hyper", + 100000, -6, 300, 1, 64, 1.0, "", + "Shows spinning n-dimensional hypercubes", 0, NULL, NULL}, + {"ico", + 100000, 0, 400, 0, 64, 1.0, "", + "Shows a bouncing polyhedron", 0, NULL, NULL}, + {"ifs", + 1000, 1, 1, 1, 64, 1.0, "", + "Shows a modified iterated function system", 0, NULL, NULL}, + {"image", + 3000000, -20, 1, 1, 64, 1.0, "", + "Shows randomly appearing logos", 0, NULL, NULL}, +#if defined( USE_GL ) && defined( HAVE_CXX ) + {"invert", + 80000, 1, 1, 1, 64, 1.0, "", + "Shows a sphere inverted without wrinkles", 0, NULL, "#if defined( USE_GL ) && defined( HAVE_CXX )"}, +#endif + {"juggle", + 10000, 200, 1000, 1, 64, 1.0, "", + "Shows a Juggler, juggling", 0, NULL, NULL}, + {"julia", + 10000, 1000, 20, 1, 64, 1.0, "", + "Shows the Julia set", 0, NULL, NULL}, + {"kaleid", + 80000, 4, 40, -9, 64, 0.6, "", + "Shows a kaleidoscope", 0, NULL, NULL}, + {"kumppa", + 10000, 1, 1, 1, 64, 1.0, "", + "Shows kumppa", 0, NULL, NULL}, +#ifdef USE_GL + {"lament", + 10000, 1, 1, 1, 64, 1.0, "", + "Shows Lemarchand's Box", 0, NULL, "#ifdef USE_GL"}, +#endif + {"laser", + 20000, -10, 200, 1, 64, 1.0, "", + "Shows spinning lasers", 0, NULL, NULL}, + {"life", + 750000, 40, 140, 0, 64, 1.0, "", + "Shows Conway's game of Life", 0, NULL, NULL}, + {"life1d", + 10000, 1, 10, 0, 64, 1.0, "", + "Shows Wolfram's game of 1D Life", 0, NULL, NULL}, + {"life3d", + 1000000, 35, 85, 1, 64, 1.0, "", + "Shows Bays' game of 3D Life", 0, NULL, NULL}, + {"lightning", + 10000, 1, 1, 1, 64, 0.6, "", + "Shows Keith's fractal lightning bolts", 0, NULL, NULL}, + {"lisa", + 25000, 1, 256, -1, 64, 1.0, "", + "Shows animated lisajous loops", 0, NULL, NULL}, + {"lissie", + 10000, 1, 2000, -200, 64, 0.6, "", + "Shows lissajous worms", 0, NULL, NULL}, + {"loop", + 100000, -5, 1600, -12, 64, 1.0, "", + "Shows Langton's self-producing loops", 0, NULL, NULL}, + {"lyapunov", + 25000, 600, 1, 1, 64, 1.0, "", + "Shows lyapunov space", 0, NULL, NULL}, + {"mandelbrot", + 25000, -8, 20000, 1, 64, 1.0, "", + "Shows mandelbrot sets", 0, NULL, NULL}, + {"marquee", + 100000, 1, 1, 1, 64, 1.0, "", + "Shows messages", 0, NULL, NULL}, + {"matrix", + 100, 1, 1, 1, 64, 1.0, "", + "Shows the matrix", 0, NULL, NULL}, + {"maze", + 1000, 1, 3000, -40, 64, 1.0, "", + "Shows a random maze and a depth first search solution", 0, NULL, NULL}, +#ifdef USE_GL + {"moebius", + 30000, 1, 1, 1, 64, 1.0, "", + "Shows Moebius Strip II, an Escher-like GL scene with ants", 0, NULL, "#ifdef USE_GL"}, + {(char *) "molecule", + 50000, 1, 20, 1, 64, 1.0, "", + "Draws molecules", 0, NULL, "#ifdef USE_GL"}, + {"morph3d", + 40000, 0, 1, 1, 64, 1.0, "", + "Shows GL morphing polyhedra", 0, NULL, "#ifdef USE_GL"}, +#endif + {"mountain", + 1000, 30, 4000, 1, 64, 1.0, "", + "Shows Papo's mountain range", 0, NULL, NULL}, + {"munch", + 5000, 1, 7, 1, 64, 1.0, "", + "Shows munching squares", 0, NULL, NULL}, +#ifdef USE_GL + {"noof", + 1000, 1, 1, 1, 64, 1.0, "", + "Shows SGI Diatoms", 0, NULL, "#ifdef USE_GL"}, +#endif + {"nose", + 100000, 1, 1, 1, 64, 1.0, "", + "Shows a man with a big nose runs around spewing out messages", 0, NULL, NULL}, + {"pacman", + 10000, 10, 1, 0, 64, 1.0, "", + "Shows Pacman(tm)", 0, NULL, NULL}, + {"penrose", + 10000, 1, 1, -40, 64, 1.0, "", + "Shows Penrose's quasiperiodic tilings", 0, NULL, NULL}, + {"petal", + 10000, -500, 400, 1, 64, 1.0, "", + "Shows various GCD Flowers", 0, NULL, NULL}, + {"petri", + 10000, 1, 1, 4, 8, 1.0, "", + "Shows a mold simulation in a petri dish", 0, NULL, NULL}, +#ifdef USE_GL + {"pipes", + 1000, 2, 5, 500, 64, 1.0, "", + "Shows a selfbuilding pipe system", 0, NULL, "#ifdef USE_GL"}, +#endif + {"polyominoes", + 6000, 1, 8192, 1, 64, 1.0, "", + "Shows attempts to place polyominoes into a rectangle", 0, NULL, NULL}, + {"puzzle", + 10000, 250, 1, 1, 64, 1.0, "", + "Shows a puzzle being scrambled and then solved", 0, NULL, NULL}, + {"pyro", + 15000, 100, 1, -3, 64, 1.0, "", + "Shows fireworks", 0, NULL, NULL}, + {"qix", + 30000, -5, 32, 1, 64, 1.0, "", + "Shows spinning lines a la Qix(tm)", 0, NULL, NULL}, + {"roll", + 100000, 25, 1, -64, 64, 0.6, "", + "Shows a rolling ball", 0, NULL, NULL}, + {"rotor", + 100, 4, 100, -6, 64, 0.3, "", + "Shows Tom's Roto-Rooter", 0, NULL, NULL}, +#ifdef USE_GL + {"rubik", + 100000, -30, 5, -6, 64, 1.0, "", + "Shows an auto-solving Rubik's Cube", 0, NULL, "#ifdef USE_GL"}, +#endif +#ifdef USE_GL + {"sballs", + 40000, 0, 10, 0, 64, 1.0, "", + "Balls spinning like crazy in GL", 0, NULL, "#ifdef USE_GL"}, +#endif + {"scooter", + 20000, 24, 3, 100, 64, 1.0, "", + "Shows a journey through space tunnel and stars", 0, NULL, NULL}, + {"shape", + 10000, 100, 256, 1, 64, 1.0, "", + "Shows stippled rectangles, ellipses, and triangles", 0, NULL, NULL}, + {"sierpinski", + 400000, 2000, 100, 1, 64, 1.0, "", + "Shows Sierpinski's triangle", 0, NULL, NULL}, +#ifdef USE_GL + {"sierpinski3d", + 15000, 1, 2, 1, 64, 1.0, "", + "Shows GL's Sierpinski gasket", 0, NULL, "#ifdef USE_GL"}, +#endif +#if defined(USE_GL) && defined( USE_UNSTABLE ) + {"skewb", + 100000, -30, 5, 1, 64, 1.0, "", + "Shows an auto-solving Skewb", 0, NULL, "#if defined(USE_GL) && defined( USE_UNSTABLE )"}, +#endif + {"slip", + 50000, 35, 50, 1, 64, 1.0, "", + "Shows slipping blits", 0, NULL, NULL}, +#ifdef HAVE_CXX + {"solitare", + 2000000, 1, 1, 1, 64, 1.0, "", + "Shows Klondike's game of solitare", 0, NULL, "#ifdef HAVE_CXX"}, +#endif + {"space", + 10000, 100, 1, 15, 64, 1.0, "", + "Shows a journey into deep space", 0, NULL, "#ifdef USE_UNSTABLE"}, + {"sphere", + 5000, 1, 20, 0, 64, 1.0, "", + "Shows a bunch of shaded spheres", 0, NULL, NULL}, + {"spiral", + 5000, -40, 350, 1, 64, 1.0, "", + "Shows a helical locus of points", 0, NULL, NULL}, + {"spline", + 30000, -6, 2048, 1, 64, 0.3, "", + "Shows colorful moving splines", 0, NULL, NULL}, +#ifdef USE_GL + {"sproingies", + 80000, 5, 0, 0, 64, 1.0, "", + "Shows Sproingies! Nontoxic. Safe for pets and small children", 0, NULL, "#ifdef USE_GL"}, + {"stairs", + 200000, 0, 1, 1, 64, 1.0, "", +"Shows some Infinite Stairs, an Escher-like scene", 0, NULL, "#ifdef USE_GL"}, +#endif + {"star", + 75000, 100, 1, 100, 64, 0.3, "", + "Shows a star field with a twist", 0, NULL, NULL}, + {"starfish", + 10000, 1, 1, 1, 64, 1.0, "", + "Shows starfish", 0, NULL, NULL}, + {"strange", + 1000, 1, 1, 1, 64, 1.0, "", + "Shows strange attractors", 0, NULL, NULL}, +#ifdef USE_GL + {"superquadrics", + 40000, 25, 40, 1, 64, 1.0, "", + "Shows 3D mathematical shapes", 0, NULL, "#ifdef USE_GL"}, +#endif + {"swarm", + 15000, -100, 1, -10, 64, 1.0, "", + "Shows a swarm of bees following a wasp", 0, NULL, NULL}, + {"swirl", + 5000, 5, 1, 1, 64, 1.0, "", + "Shows animated swirling patterns", 0, NULL, NULL}, + {"t3d", + 250000, 1000, 60000, 0, 64, 1.0, "", + "Shows a Flying Balls Clock Demo", 0, NULL, NULL}, + {"tetris", + 50000, 1, 1, -100, 64, 1.0, "", + "Shows an autoplaying tetris game", 0, NULL, NULL}, +#if defined(USE_GL) && defined(HAVE_CXX) && defined( HAVE_TTF ) && defined( HAVE_GLTT ) + {"text3d", + 100000, 1, 10, 1, 64, 1.0, "", + "Shows 3D text", 0, NULL, "#if defined(USE_GL) && defined(HAVE_CXX) && defined( HAVE_TTF ) && defined( HAVE_GLTT )"}, +#endif +#if defined(USE_GL) && defined(HAVE_CXX) && defined( HAVE_FREETYPE ) && defined( HAVE_FTGL ) + {"text3d2", + 100000, 1, 10, 1, 64, 1.0, "", + "Shows 3D text", 0, NULL, "#if defined(USE_GL) && defined(HAVE_CXX) && defined( HAVE_FREETYPE ) && defined( HAVE_FTGL )"}, +#endif + {"thornbird", + 1000, 800, 16, 1, 64, 1.0, "", + "Shows an animated bird in a thorn bush fractal map", 0, NULL, NULL}, + {"tik_tak", + 60000, -20, 200, -1000, 64, 1.0, "", + "Shows rotating polygons", 0, NULL, NULL}, + {"toneclock", + 60000, -20, 200, -1000, 64, 1.0, "", + "Shows Peter Schat's toneclock", 0, NULL, NULL}, + {"triangle", + 10000, 1, 1, 1, 64, 1.0, "", + "Shows a triangle mountain range", 0, NULL, NULL}, + {"tube", + 25000, -9, 20000, -200, 64, 1.0, "", + "Shows an animated tube", 0, NULL, NULL}, + {"turtle", + 1000000, 1, 20, 1, 64, 1.0, "", + "Shows turtle fractals", 0, NULL, NULL}, + {"vines", + 200000, 0, 1, 1, 64, 1.0, "", + "Shows fractals", 0, NULL, NULL}, + {"voters", + 1000, 0, 327670, 0, 64, 1.0, "", + "Shows Dewdney's Voters", 0, NULL, NULL}, + {"wator", + 750000, 1, 32767, 0, 64, 1.0, "", + "Shows Dewdney's Water-Torus planet of fish and sharks", 0, NULL, NULL}, + {"wire", + 500000, 1000, 150, -8, 64, 1.0, "", + "Shows a random circuit with 2 electrons", 0, NULL, NULL}, + {"world", + 100000, -16, 1, 1, 64, 0.3, "", + "Shows spinning Earths", 0, NULL, NULL}, + {"worm", + 17000, -20, 10, -3, 64, 1.0, "", + "Shows wiggly worms", 0, NULL, NULL}, + {"xcl", + 20000, -3, 1, 1, 64, 1.0, "", + "Shows a control line combat model race", 0, NULL, NULL}, + {"xjack", + 50000, 1, 1, 1, 64, 1.0, "", + "Shows Jack having one of those days", 0, NULL, NULL}, + +/* SPECIAL MODES */ + {"blank", + 3000000, 1, 1, 1, 64, 1.0, "", + "Shows nothing but a black screen", 0, NULL, NULL} + +}; diff --git a/app/xlockmore/etc/genlauncher/xglock.modes.tpl b/app/xlockmore/etc/genlauncher/xglock.modes.tpl new file mode 100644 index 000000000..56b9c3727 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/xglock.modes.tpl @@ -0,0 +1,277 @@ +/*- + * @(#)modes.h 4.01 2000/01/28 xlockmore + * + * modes.h - mode management for xlock, the X Window System lockscreen. + * + * Copyright (c) 1991 by Patrick J. Naughton. + * + * See xlock.c for copying information. + * + * Revision History: + * 10-Oct-1999: Generated by genlauncher. + * Adapted by Eric Lassauge <lassauge AT users.sourceforge.net> + * 08-Jul-1998: Adapted to xglock from mode.h by Remi Cohen-Scali + * <remi.cohenscali@pobox.com> + * + */ + +/*- + * Declare external interface routines for supported screen savers. + */ + +#ifndef _LMODE_H_ +#define _LMODE_H_ + +/* -------------------------------------------------------------------- */ + +typedef struct LockStruct_s { + gchar *cmdline_arg; /* mode name */ + gint def_delay; /* default delay for mode */ + gint def_batchcount; + gint def_cycles; + gint def_size; + gfloat def_saturation; + gchar *desc; /* text description of mode */ + void *userdata; /* for use by the mode */ +} LockStruct; + +LockStruct LockProcs[] = +{ +$%LISTGTK#ifdef USE_BOMB + {"bomb", + 100000, 10, 20, 1, 1.0, + "Shows a bomb and will autologout after a time", (void *) NULL}, + {"random", + 1, 1, 1, 1, 1.0, + "Shows a random mode from above except blank and bomb", (void *) NULL}, +#else + {"random", + 1, 1, 1, 1, 1.0, + "Shows a random mode from above except blank", (void *) NULL}, +#endif +}; + +/* Number of modes (set in main) */ +guint nb_mode = 0; + +/* Defaults values available */ +#define DEF_DELAY 0 +#define DEF_BATCHCOUNT 1 +#define DEF_CYCLES 2 +#define DEF_SIZE 3 +#define DEF_SATURATION 4 +#define NB_DEFAULTED_OPTIONS 5 + +/* Default values options names */ +static gchar *defaulted_options[NB_DEFAULTED_OPTIONS] = { + "delay", + "batchcount", + "cycles", + "size", + "saturation"}; + +/* Number of default values options */ +static guint nb_defaultedOptions = NB_DEFAULTED_OPTIONS; + +/*------------------------------------*/ +/* Boolean xlock options */ +/*------------------------------------*/ + +/* boolean option entry */ +typedef struct struct_option_bool_s { + gchar *cmdarg; + gchar *label; + gchar *desc; + gchar defval; + gchar value; +} struct_option_bool; + +/* Description of the boolean options */ +struct_option_bool BoolOpt[] = +{ + {"mono", "mono", "The mono option causes xlock to display monochrome", '\000', '\000'}, + {"nolock", "nolock", "The nolock option causes xlock to only draw the patterns and not lock the display", '\000', '\000'}, + {"remote", "remote", "The remote option causes xlock to not stop you from locking remote X11 server", '\000', '\000'}, + {"allowroot", "allowroot", "The allowroot option allow the root password to unlock the server", '\000', '\000'}, + {"enablesaver", "enablesaver", "This option enables the use of the normal Xserver screen saver", '\000', '\000'}, + {"resetsaver", "resetsaver", "This option enables the call of XResetScreenSaver", '\000', '\000'}, + {"allowaccess", "allowaccess", "For servers not allowing clients to modify host access, left the X11 server open", '\000', '\000'}, +#ifdef USE_VTLOCK + {"lockvt", "lockvt", "This option control the VT switch locking", '\000', '\000'}, +#endif + {"mousemotion", "mousemotion", "Allows to turn on/off the mouse sensitivity to bring up pass window", '\001', '\000'}, + {"grabmouse", "grabmouse", "This option causes xlock to grab mouse and keyboard", '\001', '\000'}, + {"grabserver", "grabserver", "The grabserver option causes xlock to grab the server", '\001', '\000'}, + {"echokeys", "echokeys", "This option causes xlock to echo a question mark for each typed character", '\000', '\000'}, + {"usefirst", "usefirst", "This option enables xlock to use the first keystroke in the password", '\000', '\000'}, + {"verbose", "verbose", "verbose launch", '\000', '\000'}, + {"debug", "debug", "This option allows xlock to be locked in a window", '\000', '\000'}, + {"wireframe", "wireframe", "This option turns on wireframe rendering mode mainly for GL", '\000', '\000'}, +#ifdef USE_GL + {"showfps", "showfps", "This option turns on frame per sec display for GL", '\000', '\000'}, + {"fpstop", "fpstop", "This option turns on top fps display for GL", '\000', '\000'}, +#endif + {"install", "install", "Allows xlock to install its own colormap if xlock runs out of colors", '\000', '\000'}, + {"sound", "sound", "Allows you to turn on and off sound if installed with the capability", '\000', '\000'}, + {"timeelapsed", "timeelapsed", "Allows you to find out how long a machine is locked", '\000', '\000'}, + {"fullrandom", "fullrandom", "Turn on/off randomness options within modes", '\000', '\000'}, + {"use3d", "use3d", "Turn on/off 3d view, available on bouboule, pyro, star, and worm", '\000', '\000'}, + {"trackmouse", "trackmouse", "Turn on and off mouse interaction in eyes, julia, and swarm", '\000', '\000'}, +#if 0 + {"dtsaver", "dtsaver", "Turn on/off CDE Saver Mode. Only available if CDE support was compiled in", '\000', '\000'}, +#endif +}; + +/* Number of boolean options (set in main) */ +guint nb_boolOpt = 0; + +/* Boolean option dialog callback struct */ +typedef struct struct_option_bool_callback_s { + GtkWidget *boolopt_dialog; +} struct_option_bool_callback; + +/*------------------------------------*/ +/* General options */ +/*------------------------------------*/ + +/* Gen option entry struct */ +typedef struct struct_option_gen_s { + gchar *cmdarg; + gchar *label; + gchar *desc; + gchar *help_anchor; + GtkWidget *text_widget; +} struct_option_gen; + +/* Description of the general option */ +struct_option_gen generalOpt[] = +{ + {"username", "username", "text string to use for Name prompt", "opt_gen_", (GtkWidget *)NULL}, + {"password", "password", "text string to use for Password prompt", "gen_opt_", (GtkWidget *)NULL}, + {"info", "info", "text string to use for instruction", "gen_opt_", (GtkWidget *)NULL}, + {"validate", "validate", "text string to use for validating password message", "gen_opt_", (GtkWidget *)NULL}, + {"invalid", "invalidate", "text string to use for invalid password message", "gen_opt_", (GtkWidget *)NULL}, + {"message", "message", "message to say", "gen_opt_", (GtkWidget *)NULL}, + {"delay", "delay", "The delay option sets the speed at which a mode will operate", "gen_opt_", (GtkWidget *)NULL}, + {"batchcount", "batchcount", "This option sets number of things to do per batch to num", "gen_opt_", (GtkWidget *)NULL}, + {"cycles", "cycles", "This option delay is used for some mode as parameter", "gen_opt_", (GtkWidget *)NULL}, + {"ncolors", "ncolors", "This option delay is used for some mode as parameter", "gen_opt_", (GtkWidget *)NULL}, + {"size", "size", "This option delay is used for some mode as parameter", "gen_opt_", (GtkWidget *)NULL}, + {"saturation", "saturation", "This option delay is used for some GL mode as parameter", "gen_opt_", (GtkWidget *)NULL}, + {"nice", "nice", "This option sets system nicelevel of the xlock process", "gen_opt_", (GtkWidget *)NULL}, + {"lockdelay", "lockdelay", "This option set the delay between launch and lock", "gen_opt_", (GtkWidget *)NULL}, + {"timeout", "timeout", "The timeout option sets the password screen timeout", "gen_opt_", (GtkWidget *)NULL}, + {"geometry", "geometry", "geometry of mode window", "gen_opt_", (GtkWidget *)NULL}, + {"icongeometry", "icongeometry", "geometry of mode icon window", "gen_opt_", (GtkWidget *)NULL}, + {"glgeometry", "geometry", "geometry of GL mode window", "gen_opt_", (GtkWidget *)NULL}, + {"delta3d", "delta3d", "Turn on/off 3d view, available on bouboule, pyro, star, and worm", "gen_opt_", (GtkWidget *)NULL}, + {"neighbors", "neighbors", "Sets number of neighbors of cell (3, 4, 6, 9, 12) for automata modes", "gen_opt_", (GtkWidget *)NULL}, + {"cpasswd", "cpasswd", "Sets the key to be this text string to unlock", "gen_opt_", (GtkWidget *)NULL}, + {"program", "program", "program used as a fortune generator", "gen_opt_", (GtkWidget *)NULL}, +#ifdef USE_AUTO_LOGOUT + {"forceLogout", "forceLogout", "This option sets minutes to auto-logout", "gen_opt_", (GtkWidget *)NULL}, +#endif +#ifdef USE_BUTTON_LOGOUT + {"logoutButtonHelp", "logoutButtonHelp", "Text string is a message shown outside logout", "gen_opt_", (GtkWidget *)NULL}, + {"logoutButtonLabel", "logoutButtonLabel", "Text string is a message shown inside logout button", "gen_opt_", (GtkWidget *)NULL}, +#endif +#if defined( USE_AUTO_LOGOUT ) || defined( USE_BUTTON_LOGOUT ) + {"logoutFailedString", "logoutFailedString", "Text string is shown when a logout is attempted and fails", "gen_opt_", (GtkWidget *)NULL}, +#endif + {"startCmd", "startCmd", "Command to execute when the screen is locked", "gen_opt_", (GtkWidget *)NULL}, + {"endCmd", "endCmd", "Command to execute when the screen is unlocked", "gen_opt_", (GtkWidget *)NULL}, + {"pipepassCmd", "pipepassCmd", "Command into which to pipe the password when the screen is unlocked", "gen_opt_", (GtkWidget *)NULL}, +#if defined( USE_AUTO_LOGOUT ) || defined( USE_BUTTON_LOGOUT ) + {"logoutCmd", "logoutCmd", "Command to execute when the user is logged out", "gen_opt_", (GtkWidget *)NULL}, +#endif + {"mailCmd", "mailCmd", "Command to execute when mails are checked", "gen_opt_", (GtkWidget *)NULL}, +#ifdef USE_DPMS + {"dpmsstandby", "dpmsstandby", "Allows one to set DPMS Standby for monitor (0 is infinite)", "gen_opt_", (GtkWidget *)NULL}, + {"dpmssuspend", "dpmssuspend", "Allows one to set DPMS Suspend for monitor (0 is infinite)", "gen_opt_", (GtkWidget *)NULL}, + {"dpmsoff", "dpmsoff", "Allows one to set DPMS Power Off for monitor (0 is infinite)", "gen_opt_", (GtkWidget *)NULL}, +#endif +}; + +/* Number of general options (set in main) */ +guint nb_genOpt = 0; + +/* General option dialog callback struct */ +typedef struct struct_option_gen_callback_s { + GtkWidget *gen_dialog; + GtkWidget *text_widget; +} struct_option_gen_callback; + +/*------------------------------------*/ +/* Font/File/Color options */ +/*------------------------------------*/ + +/* Option type (font/color/file) */ +typedef enum enum_type_option_fntcol_e { + TFNTCOL_FONT = 0, + TFNTCOL_COLOR, + TFNTCOL_FILE +} enum_type_option_fntcol; + +/* Font/Color/File option entry struct */ +typedef struct struct_option_fntcol_s { + enum_type_option_fntcol type; + gchar *cmdarg; + gchar *label; + gchar *desc; + gchar *help_anchor; + GtkWidget *entry; + GtkWidget *drawing_area; +} struct_option_fntcol; + +/* Description of the font and color option */ +struct_option_fntcol fntcolorOpt[] = +{ + {TFNTCOL_COLOR, "bg", "background", "background color to use for password prompt", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_COLOR, "fg", "foreground", "foreground color to use for password prompt", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_COLOR, "none3d", "none3d", "color used for empty size in 3d mode", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_COLOR, "right3d", "right3d", "color used for right eye in 3d mode", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_COLOR, "left3d", "left3d", "color used for left eye in 3d mode", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_COLOR, "both3d", "both3d", "color used for overlapping images for left and right eye in 3d mode", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FONT, "font", "font", "font to use for password prompt", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FONT, "messagefont", "msgfont", "font to use for message", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FONT, "planfont", "planfont", "font to use for lower part of password screen", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, +#ifdef USE_GL + {TFNTCOL_FONT, "fpsfont", "fpsfont", "font to use for FPS display in GL mode", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, +#endif + {TFNTCOL_FILE, "messagesfile", "messagesfile", "file to be used as the fortune generator", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FILE, "messagefile", "messagefile", "file whose contents are displayed", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FILE, "bitmap", "bitmap", "sets the xbm, xpm, or ras file to be displayed with some modes", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FILE, "lifefile", "lifefile", "sets the lifeform (only one format: #P xlife format)", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, + {TFNTCOL_FILE, "life3dfile", "life3dfile", "sets the lifeform (only one format similar to #P xlife format)", "opt_fntcol_", + (GtkWidget *)NULL, (GtkWidget *)NULL}, +}; + +/* Number of font/color/file options (set in main) */ +guint nb_fntColorOpt = 0; + +/* Font/Color/File option dialog callback struct */ +typedef struct struct_option_fntcol_callback_s { + GtkWidget *fntcol_dialog; + GtkWidget *entry; + GtkWidget *drawing_area; +} struct_option_fntcol_callback; + +/* Colors handling */ +GdkVisual *gdkvisual; +GdkColormap *gdkcolormap; + +#endif /* !_LMODE_H_ */ diff --git a/app/xlockmore/etc/genlauncher/xlockgen.lex b/app/xlockmore/etc/genlauncher/xlockgen.lex new file mode 100644 index 000000000..1ef0a1d9a --- /dev/null +++ b/app/xlockmore/etc/genlauncher/xlockgen.lex @@ -0,0 +1,121 @@ +/* xlockgen --- generates launcher include file */ +/* @(#)xlockgen.lex 5.0 2000/11/01 xlockmore" +/* +/* Copyright (c) Charles Vidal */ + +/* + * to help adminitration and utils for launcher(s) + * this file replace token by all modes token : + * LISTMOTIF, LISTTCL, LISTGTK + * utils : + * If you want all modes of xlock: + * xlockgen -allmodes + * to see all mode : in bash + * for i in `./xlockgen -allmodes` + * do + * xlock -mode $i + * done + * + * REVISION HISTORY: + * 99/10/10: fixes from Eric Lassauge <lassauge AT users.sourceforge.net> : + * - include "config.h" + * - new lmode.h + * - new token LISTGTK + * - header + * + */ + +%{ +#include <stdio.h> +#include <string.h> + +/* #include "../../config.h" */ +#include "lmode.h" + +char *Begin="\""; +char *Sep="\","; +char *End="\""; +%} + +%% +"$%LISTMOTIF" { + int i; + int numprocs = sizeof (LockProcs) / sizeof (LockProcs[0]); + + for (i = 0; i < numprocs; i++) { + if (LockProcs[i].define != NULL) + printf("%s\n", LockProcs[i].define); + if (i != numprocs - 1) { + printf("{(char *) \"%s\", ", LockProcs[i].cmdline_arg); + printf("(char *) \"%s\"},\n", LockProcs[i].desc); + } else { + printf("{(char *) \"%s\", ", LockProcs[i].cmdline_arg); + printf("(char *) \"%s\"},\n", LockProcs[i].desc); + } + if (LockProcs[i].define != NULL) + printf("#endif\n"); + } +} +"$%LISTGTK" { + int i; + int numprocs = sizeof (LockProcs) / sizeof (LockProcs[0]); + + for (i = 0; i < numprocs; i++) { + if (LockProcs[i].define != NULL) + printf("%s\n", LockProcs[i].define); + printf("\t{\"%s\",\n", LockProcs[i].cmdline_arg); + printf("\t %d, %d, %d, %d, %2.2f,\n", + LockProcs[i].def_delay, + LockProcs[i].def_count, + LockProcs[i].def_cycles, + LockProcs[i].def_size, + LockProcs[i].def_saturation); + printf("\t \"%s\", (void *) NULL},\n", LockProcs[i].desc); + if (LockProcs[i].define != NULL) + printf("#endif\n"); + } +} +"$%LISTTCL" { + int i; + int numprocs = sizeof (LockProcs) / sizeof (LockProcs[0]); + + for (i = 0; i < numprocs; i++) { + printf("%s\\\n", LockProcs[i].cmdline_arg); + } +} +"$%LISTJAVA" { + int i; + int numprocs = sizeof (LockProcs) / sizeof (LockProcs[0]); + + for (i = 0; i < numprocs; i++) { + printf("lst.addItem(\"%s\");\n", LockProcs[i].cmdline_arg); + } +} +%% +void usage() { + printf("xlockgen :\n"); + printf("\t-allmodes\n"); + printf("or to be used in \n"); +} + +int main(int argc, char *argv[]) +{ + if (argc>1) { + if (!strcmp("-allmodes", argv[1])) { + int i; + int numprocs = sizeof (LockProcs) / sizeof (LockProcs[0]); + + for (i = 0; i < numprocs; i++) + printf("%s\n", LockProcs[i].cmdline_arg); + exit(0); + } + if (!strcmp("--help", argv[1]) || + !strcmp("-help", argv[1]) || + !strcmp("-?", argv[1]) || + !strcmp("-h", argv[1])) { + usage(); + exit(0); + } + } + yylex(); +} diff --git a/app/xlockmore/etc/genlauncher/xmlock.modes.tpl b/app/xlockmore/etc/genlauncher/xmlock.modes.tpl new file mode 100644 index 000000000..0591b98b1 --- /dev/null +++ b/app/xlockmore/etc/genlauncher/xmlock.modes.tpl @@ -0,0 +1,19 @@ +typedef struct LockStruct_s +{ + char *cmdline_arg; /* mode name */ + /* Maybe other things should be added here from xlock? */ + /* Should read in XLock as well to set defaults */ + char *desc; /* text description of mode */ +} LockStruct; + +static LockStruct LockProcs[] = +{ +$%LISTMOTIF#ifdef USE_BOMB +{(char *) "bomb", (char *) "Shows a bomb and will autologout after a time"}, +{(char *) "random", (char *) "Shows a random mode (except blank and bomb)"} +#else +{(char *) "random", (char *) "Shows a random mode (except blank)"} +#endif +}; + +#define numprocs (sizeof(LockProcs) /sizeof(LockProcs[0])) diff --git a/app/xlockmore/etc/gif/README b/app/xlockmore/etc/gif/README new file mode 100644 index 000000000..7b1ada284 --- /dev/null +++ b/app/xlockmore/etc/gif/README @@ -0,0 +1,2 @@ +This directory is only for configure.tcl +The gif format currently does not work with xlock. diff --git a/app/xlockmore/etc/gif/deflag.gif b/app/xlockmore/etc/gif/deflag.gif Binary files differnew file mode 100644 index 000000000..66086bdbe --- /dev/null +++ b/app/xlockmore/etc/gif/deflag.gif diff --git a/app/xlockmore/etc/gif/frflag.gif b/app/xlockmore/etc/gif/frflag.gif Binary files differnew file mode 100644 index 000000000..8b60407d4 --- /dev/null +++ b/app/xlockmore/etc/gif/frflag.gif diff --git a/app/xlockmore/etc/gif/jpflag.gif b/app/xlockmore/etc/gif/jpflag.gif Binary files differnew file mode 100644 index 000000000..03f8ac958 --- /dev/null +++ b/app/xlockmore/etc/gif/jpflag.gif diff --git a/app/xlockmore/etc/gif/nlflag.gif b/app/xlockmore/etc/gif/nlflag.gif Binary files differnew file mode 100644 index 000000000..8997e637b --- /dev/null +++ b/app/xlockmore/etc/gif/nlflag.gif diff --git a/app/xlockmore/etc/gif/ukflag.gif b/app/xlockmore/etc/gif/ukflag.gif Binary files differnew file mode 100644 index 000000000..2c74822cf --- /dev/null +++ b/app/xlockmore/etc/gif/ukflag.gif diff --git a/app/xlockmore/etc/glider.3dlife b/app/xlockmore/etc/glider.3dlife new file mode 100644 index 000000000..bf7f2d7a6 --- /dev/null +++ b/app/xlockmore/etc/glider.3dlife @@ -0,0 +1,8 @@ +#P -2 -2 -1 PB5/S45 +.**. +*..* +*..* + +.... +.**. +.**. diff --git a/app/xlockmore/etc/glider.hlife b/app/xlockmore/etc/glider.hlife new file mode 100644 index 000000000..debccb260 --- /dev/null +++ b/app/xlockmore/etc/glider.hlife @@ -0,0 +1,7 @@ +#P -2 -2 + . . O . + . . . O + O . . O + . . . O +. . . O + diff --git a/app/xlockmore/etc/glider.life b/app/xlockmore/etc/glider.life new file mode 100644 index 000000000..03c4c8a89 --- /dev/null +++ b/app/xlockmore/etc/glider.life @@ -0,0 +1,4 @@ +#P -1 -1 +*** +..* +.*. diff --git a/app/xlockmore/etc/lifexlock.pl b/app/xlockmore/etc/lifexlock.pl new file mode 100644 index 000000000..a3f29e3ae --- /dev/null +++ b/app/xlockmore/etc/lifexlock.pl @@ -0,0 +1,69 @@ +#!/usr/bin/perl -T -w +# This is used to reverse xlock format back to life + +&search; + +sub search { + local ($row, $col, $NOTUSED, $x, $y); + local (@array); + + $HALFMAX = 64; # really 32 but being safe + $MAXCOL = $MINCOL = $MAXROW = $MINROW = $HALFMAX; + $NOTUSED = -127; + $row = $col = $NOTUSED; + $number = 0; + while (<>) { + if (!($_ =~ /^#/)) { + @chars = split(//); + $number = 0; + $col = $NOTUSED; + $negative = 1; + foreach $c (@chars) { + if ($c =~ /[-]/) { + $negative = -1; + } elsif ($c =~ /[0123456789]/) { + $number = $number * 10 + ($c - '0'); + } elsif ($c =~ /[,]/) { # Last number does not have a "," + if ($col > $NOTUSED) { + $row = $number * $negative; + $col = $col + $HALFMAX; + $row = $row + $HALFMAX; + $array{$col, $row} = 1; + if ($col > $MAXCOL) { + $MAXCOL = $col; + } elsif ($col < $MINCOL) { + $MINCOL = $col; + } + if ($row > $MAXROW) { + $MAXROW = $row; + } elsif ($row < $MINROW) { + $MINROW = $row; + } + $col = $NOTUSED; + } else { + $col = $number * $negative; + } + $number = 0; + $negative = 1; + } elsif ($c =~ /[{}\/]/) { # Last number does not have a "," + $col = $NOTUSED; + $number = 0; + $negative = 1; + } + } + } + } + $x=$MAXCOL - $MINCOL + 1; + $y=$MAXROW - $MINROW + 1; + print "#x=$x, y=$y\n"; + for ($j = $MINROW; $j <= $MAXROW; $j++) { + for ($i = $MINCOL; $i <= $MAXCOL; $i++) { + if ($array{$i, $j}) { + print "*"; + } else { + print "."; + } + } + print "\n"; + } +} diff --git a/app/xlockmore/etc/play.sh b/app/xlockmore/etc/play.sh new file mode 100644 index 000000000..f055b16cc --- /dev/null +++ b/app/xlockmore/etc/play.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +[ -c /dev/audio ] && cat $1 > /dev/audio diff --git a/app/xlockmore/etc/rplay.conf b/app/xlockmore/etc/rplay.conf new file mode 100644 index 000000000..859b8eba6 --- /dev/null +++ b/app/xlockmore/etc/rplay.conf @@ -0,0 +1,4 @@ +/usr/local/sounds/complete.au +/usr/local/sounds/identify-please.au +/usr/local/sounds/not-programmed.au +/usr/local/sounds/thank-you.au diff --git a/app/xlockmore/etc/rplay.hosts b/app/xlockmore/etc/rplay.hosts new file mode 100644 index 000000000..72e8ffc0d --- /dev/null +++ b/app/xlockmore/etc/rplay.hosts @@ -0,0 +1 @@ +* diff --git a/app/xlockmore/etc/rplay.servers b/app/xlockmore/etc/rplay.servers new file mode 100644 index 000000000..060fcae47 --- /dev/null +++ b/app/xlockmore/etc/rplay.servers @@ -0,0 +1 @@ +*:rwx diff --git a/app/xlockmore/etc/showmodes.sh b/app/xlockmore/etc/showmodes.sh new file mode 100644 index 000000000..7bfc0f929 --- /dev/null +++ b/app/xlockmore/etc/showmodes.sh @@ -0,0 +1,46 @@ +#!/bin/ksh + +# or /bin/bash + +# Simple script to look all xlock modes supported. +# +# Permission to use, copy, modify, and distribute this software and its +# documentation for any purpose and without fee is hereby granted, +# provided that the above copyright notice appear in all copies and that +# both that copyright notice and this permission notice appear in +# supporting documentation. +# +# This file is provided AS IS with no warranties of any kind. The author +# shall have no liability with respect to the infringement of copyrights, +# trade secrets or any patents by this file or any part thereof. In no +# event will the author be liable for any lost revenue or profits or +# other special, indirect and consequential damages. +# +# xlock-show-modes Copyright (C) 1998 Andrea Arcangeli +# by Andrea Arcangeli <arcangeli@mbox.queen.it> +# +# Revision History: +# 00-Jan-23 erase-modename threw it off, an extra space did the trick +# Also works on Sun now. David Bagley + +# awk fails on Solaris but nawk is OK +if [ `uname` == "SunOS" ] ; then + AWK="nawk" +else + AWK="awk" +fi +# gsub(/.*\] \[-mode/, ""); gsub(/\| /, ""); gsub("^ +", ""); \ +# --help is a deliberate mistype... +function listmodes +{ + xlock --help 2>&1 | $AWK '{ \ + if (!true && match ($0,"-mode ")) { \ + gsub(/.*-mode /, ""); gsub(/\| /, ""); gsub("^ +", ""); \ + printf("%s ", $0); true = 1 \ + } else { if (true && /\|/) { \ + gsub(/\| /, ""); gsub("^ +", ""); gsub("\]$", ""); \ + printf("%s ", $0) } \ + } \ + }' +} +for i in `listmodes`; do echo Trying mode $i; xlock -nolock -mode $i; done diff --git a/app/xlockmore/etc/system.fvwm2rc.xlock b/app/xlockmore/etc/system.fvwm2rc.xlock new file mode 100644 index 000000000..6f8ec636a --- /dev/null +++ b/app/xlockmore/etc/system.fvwm2rc.xlock @@ -0,0 +1,460 @@ +# Add this to your system or personal menu file +# System: /usr/lib/X11/fvwm2/system.fvwm2rc +# Personal $HOME/.fvwm2rc +# Put this in your "Utilities" uncommented. +# + "Lock_Saver" Menu Lock_Saver Close + +AddToMenu "Automata-Lock" ++ "Automata-Lock" Title ++ "Ant" Exec xlock -mode ant -neighbors 4 +truchet ++ "Ant Truchet" Exec xlock -mode ant -neighbors 4 -truchet ++ "Ant3d" Exec xlock -mode ant3d ++ "Bee" Exec xlock -mode ant -neighbors 6 +truchet ++ "Bee Truchet" Exec xlock -mode ant -neighbors 6 -truchet ++ "Bug" Exec xlock -mode bug ++ "Demon" Exec xlock -mode demon ++ "Dilemma" Exec xlock -mode dilemma ++ "Life" Exec xlock -mode life ++ "Life Callahan" Exec xlock -mode life -callahan -size 7 ++ "Life1d" Exec xlock -mode life1d ++ "Life3d" Exec xlock -mode life3d ++ "Loop" Exec xlock -mode loop ++ "Petri" Exec xlock -mode petri ++ "Voters" Exec xlock -mode voters ++ "Wator" Exec xlock -mode wator ++ "Wire" Exec xlock -mode wire ++ "Random" Exec xlock -mode random -modelist allautomata -fullrandom -neighbors 0 + +AddToMenu "Fractal-Lock" ++ "Fractal-Lock" Title ++ "Coral" Exec xlock -mode coral ++ "Discrete" Exec xlock -mode discrete ++ "Dragon" Exec xlock -mode dragon ++ "Drift" Exec xlock -mode drift -fullrandom ++ "Euler2d" Exec xlock -mode euler2d ++ "Flame" Exec xlock -mode flame ++ "Flow" Exec xlock -mode flow ++ "Forest" Exec xlock -mode forest ++ "Hop" Exec xlock -mode hop -fullrandom ++ "IFS" Exec xlock -mode ifs ++ "Julia" Exec xlock -mode julia +trackmouse ++ "Juliaptr" Exec xlock -mode julia -trackmouse ++ "Kumppa" Exec xlock -mode kumppa ++ "Lightning" Exec xlock -mode lightning ++ "Lyapunov" Exec xlock -mode lyapunov -install ++ "Mandelbrot" Exec xlock -mode mandelbrot -install ++ "Mountain" Exec xlock -mode mountain ++ "Sierpinski" Exec xlock -mode sierpinski ++ "Strange" Exec xlock -mode strange ++ "Thornbird" Exec xlock -mode thornbird ++ "Triangle" Exec xlock -mode triangle ++ "Turtle" Exec xlock -mode turtle ++ "Vines" Exec xlock -mode vines ++ "Random" Exec xlock -mode random -modelist allfractal -fullrandom + +AddToMenu "Geometry-Lock" ++ "Geometry-Lock" Title ++ "Apollonian" Exec xlock -mode apollonian ++ "Braid" Exec xlock -mode braid ++ "Fadeplot" Exec xlock -mode fadeplot ++ "Helix" Exec xlock -mode helix -fullrandom ++ "Hyper" Exec xlock -mode hyper ++ "Ico" Exec xlock -mode ico ++ "Kaleid" Exec xlock -mode kaleid ++ "Laser" Exec xlock -mode laser ++ "Lisa" Exec xlock -mode lisa ++ "Lissie" Exec xlock -mode lissie ++ "Penrose" Exec xlock -mode penrose +ammann ++ "Penrose Ammann" Exec xlock -mode penrose -ammann ++ "Petal" Exec xlock -mode petal ++ "Polyominoes" Exec xlock -mode polyominoes ++ "Qix" Exec xlock -mode qix +complete ++ "Qix complete" Exec xlock -mode qix -complete ++ "Rotor" Exec xlock -mode rotor ++ "Shape" Exec xlock -mode shape ++ "Sphere" Exec xlock -mode sphere ++ "Spiral" Exec xlock -mode spiral ++ "Spline" Exec xlock -mode spline ++ "Tik_Tak" Exec xlock -mode tik_tak ++ "Toneclock" Exec xlock -mode toneclock ++ "Random" Exec xlock -mode random -modelist allgeometry -fullrandom + +AddToMenu "Space-Lock" ++ "Space-Lock" Title ++ "Bouboule" Exec xlock -mode bouboule +use3d ++ "Bouboule3d" Exec xlock -mode bouboule -use3d ++ "Galaxy" Exec xlock -mode galaxy ++ "Grav" Exec xlock -mode grav +trail +decay ++ "Grav Trail" Exec xlock -mode grav -trail ++ "Grav Decay" Exec xlock -mode grav -decay ++ "Rock" Exec xlock -mode star -rock ++ "Scooter Exec xlock -mode scooter ++ "Space" Exec xlock -mode space ++ "Star" Exec xlock -mode star +rock +use3d +trek 0 ++ "Star3d" Exec xlock -mode star -use3d ++ "Star Trek" Exec xlock -mode star -trek 100 ++ "World" Exec xlock -mode world ++ "Random Space" Exec xlock -mode random -modelist allspace + +AddToMenu "Assorted-Lock" ++ "Assorted-Lock" Title ++ "Anemone" Exec xlock -mode anemone ++ "Ball" Exec xlock -mode ball ++ "Blot" Exec xlock -mode blot ++ "Bounce" Exec xlock -mode bounce ++ "Bubble" Exec xlock -mode bubble ++ "Clock" Exec xlock -mode clock ++ "Crystal" Exec xlock -mode crystal ++ "Daisy" Exec xlock -mode daisy ++ "Dclock" Exec xlock -mode dclock ++ "Decay" Exec xlock -mode decay ++ "Deco" Exec xlock -mode deco ++ "Deluxe" Exec xlock -mode deluxe ++ "Eyes" Exec xlock -mode eyes +trackmouse ++ "Eyesptr" Exec xlock -mode eyes -trackmouse ++ "Fiberlamp" Exec xlock -mode fiberlamp ++ "Fzort" Exec xlock -mode fzort ++ "Goop" Exec xlock -mode goop ++ "Juggle" Exec xlock -mode juggle ++ "Marquee" Exec xlock -mode marquee ++ "Matrix" Exec xlock -mode matrix ++ "Munch" Exec xlock -mode munch ++ "Nose" Exec xlock -mode nose ++ "Pacman" Exec xlock -mode pacman ++ "Pyro" Exec xlock -mode pyro +use3d ++ "Pyro3d" Exec xlock -mode pyro -use3d ++ "Roll" Exec xlock -mode roll ++ "Slip" Exec xlock -mode slip ++ "Solitare" Exec xlock -mode solitare +trackmouse ++ "Solitareptr" Exec xlock -mode solitare -trackmouse ++ "Starfish" Exec xlock -mode starfish -install ++ "Swarm" Exec xlock -mode swarm +trackmouse ++ "Swarmptr" Exec xlock -mode swarm -trackmouse ++ "Swirl" Exec xlock -mode swirl -install ++ "T3d" Exec xlock -mode t3d ++ "Tetris" Exec xlock -mode tetris ++ "Tube" Exec xlock -mode tube -install ++ "Worm" Exec xlock -mode worm +use3d ++ "Worm3d" Exec xlock -mode worm -use3d ++ "Xcl" Exec xlock -mode xcl ++ "Xjack" Exec xlock -mode xjack + +AddToMenu "XPM-Lock" ++ "XPM-Lock" Title ++ "Bat" Exec xlock -mode bat ++ "Image" Exec xlock -mode image ++ "Flag" Exec xlock -mode flag ++ "Life" Exec xlock -mode life ++ "Life1d" Exec xlock -mode life1d ++ "Maze" Exec xlock -mode maze ++ "Puzzle" Exec xlock -mode puzzle ++ "Random" Exec xlock -mode random -modelist allxpm -fullrandom + +AddToMenu "GL-Lock" ++ "GL-Lock" Title ++ "Atlantis" Exec xlock -mode atlantis ++ "Atunnels" Exec xlock -mode atunnels ++ "Bubble3d" Exec xlock -mode bubble3d ++ "Biof" Exec xlock -mode biof ++ "Cage" Exec xlock -mode cage ++ "Fire" Exec xlock -mode fire ++ "Gears" Exec xlock -mode gears ++ "GL-Planet" Exec xlock -mode glplanet ++ "Invert" Exec xlock -mode invert ++ "Lament" Exec xlock -mode lament ++ "Moebius" Exec xlock -mode moebius ++ "Molecule" Exec xlock -mode molecule ++ "Morph3d" Exec xlock -mode morph3d ++ "Noof" Exec xlock -mode noof ++ "Pipes" Exec xlock -mode pipes ++ "Rubik" Exec xlock -mode rubik ++ "Sballs" Exec xlock -mode sballs ++ "Sierpinski3d" Exec xlock -mode sierpinski3d ++ "Sproingies" Exec xlock -mode sproingies ++ "Stairs" Exec xlock -mode stairs ++ "Superquadrics" Exec xlock -mode superquadrics ++ "Text3d" Exec xlock -mode text3d -message "$LOGNAME" ++ "Random" Exec xlock -mode random -modelist allgl -fullrandom + +AddToMenu "Marquee-Message-Lock" ++ "Message-Lock" Title ++ "Back Soon" Exec xlock -mode marquee -message "$LOGNAME will be back soon." ++ "Overnight" Exec xlock -mode marquee -message "$LOGNAME will be back in the morning." ++ "Rude" Exec xlock -mode marquee -message "$LOGNAME not here, please go away!" + +AddToMenu "Nose-Message-Lock" ++ "Message-Lock" Title ++ "Back Soon" Exec xlock -mode nose -message "$LOGNAME will be back soon." ++ "Overnight" Exec xlock -mode nose -message "$LOGNAME will be back in the morning." ++ "Rude" Exec xlock -mode nose -message "$LOGNAME not here, please go away!" + +AddToMenu "Xjack-Message-Lock" ++ "Xjack-Lock" Title ++ "Crazy Boy" Exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." ++ "Crazy Girl" Exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." + +AddToMenu "Special-Lock" ++ "Special-Lock" Title ++ "Blank" Exec xlock -mode blank ++ "Transparent" Exec xlock -mode blank -geometry 1x1 -enablesaver ++ "Bomb" Exec xlock -mode bomb ++ "Random nice" Exec xlock -mode random -modelist allnice -fullrandom -neighbors 0 ++ "Random standard" Exec xlock -mode random -modelist all-allgl -fullrandom -neighbors 0 ++ "Random all" Exec xlock -mode random -modelist all -fullrandom -neighbors 0 ++ "Random 3d" Exec xlock -mode random -modelist all3d -use3d -fullrandom ++ "Random ptr" Exec xlock -mode random -modelist allmouse -trackmouse -fullrandom ++ "Random write" Exec xlock -mode random -modelist allwrite -install -fullrandom + +AddToMenu "Automata-Saver" ++ "Automata-Saver" Title ++ "Ant" Exec xlock -nolock -mode ant -neighbors 4 +truchet ++ "Ant Truchet" Exec xlock -nolock -mode ant -neighbors 4 -truchet ++ "Ant3d" Exec xlock -nolock -mode ant3d ++ "Bee" Exec xlock -nolock -mode ant -neighbors 6 +truchet ++ "Bee Truchet" Exec xlock -nolock -mode ant -neighbors 6 -truchet ++ "Bug" Exec xlock -nolock -mode bug ++ "Demon" Exec xlock -nolock -mode demon ++ "Dilemma" Exec xlock -nolock -mode dilemma ++ "Life" Exec xlock -nolock -mode life ++ "Life Callahan" Exec xlock -nolock -mode life -callahan -size 7 ++ "Life1d" Exec xlock -nolock -mode life1d ++ "Life3d" Exec xlock -nolock -mode life3d ++ "Loop" Exec xlock -nolock -mode loop ++ "Petri" Exec xlock -nolock -mode petri ++ "Voters" Exec xlock -nolock -mode voters ++ "Wator" Exec xlock -nolock -mode wator ++ "Wire" Exec xlock -nolock -mode wire ++ "Random" Exec xlock -nolock -mode random -modelist allautomata -fullrandom -neighbors 0 + +AddToMenu "Fractal-Saver" ++ "Fractal-Saver" Title ++ "Coral" Exec xlock -nolock -mode coral ++ "Discrete" Exec xlock -nolock -mode discrete ++ "Dragon" Exec xlock -nolock -mode dragon ++ "Drift" Exec xlock -nolock -mode drift -fullrandom ++ "Euler2d" Exec xlock -nolock -mode euler2d ++ "Flame" Exec xlock -nolock -mode flame ++ "Flow" Exec xlock -nolock -mode flow ++ "Forest" Exec xlock -nolock -mode forest ++ "Hop" Exec xlock -nolock -mode hop -fullrandom ++ "IFS" Exec xlock -nolock -mode ifs ++ "Julia" Exec xlock -nolock -mode julia +trackmouse ++ "Juliaptr" Exec xlock -nolock -mode julia -trackmouse ++ "Kumppa" Exec xlock -nolock -mode kumppa ++ "Lightning" Exec xlock -nolock -mode lightning ++ "Lyapunov" Exec xlock -nolock -mode lyapunov -install ++ "Mandelbrot" Exec xlock -nolock -mode mandelbrot -install ++ "Mountain" Exec xlock -nolock -mode mountain ++ "Sierpinski" Exec xlock -nolock -mode sierpinski ++ "Strange" Exec xlock -nolock -mode strange ++ "Thornbird" Exec xlock -nolock -mode thornbird ++ "Triangle" Exec xlock -nolock -mode triangle ++ "Turtle" Exec xlock -nolock -mode turtle ++ "Vines" Exec xlock -nolock -mode vines ++ "Random" Exec xlock -nolock -mode random -modelist allfractal -fullrandom + +AddToMenu "Geometry-Saver" ++ "Geometry-Saver" Title ++ "Apollonian" Exec xlock -nolock -mode apollonian ++ "Braid" Exec xlock -nolock -mode braid ++ "Fadeplot" Exec xlock -nolock -mode fadeplot ++ "Helix" Exec xlock -nolock -mode helix -fullrandom ++ "Hyper" Exec xlock -nolock -mode hyper ++ "Ico" Exec xlock -nolock -mode ico ++ "Kaleid" Exec xlock -nolock -mode kaleid ++ "Laser" Exec xlock -nolock -mode laser ++ "Lisa" Exec xlock -nolock -mode lisa ++ "Lissie" Exec xlock -nolock -mode lissie ++ "Penrose" Exec xlock -nolock -mode penrose +ammann ++ "Penrose Ammann" Exec xlock -nolock -mode penrose -ammann ++ "Petal" Exec xlock -nolock -mode petal ++ "Polyominoes" Exec xlock -nolock -mode polyominoes ++ "Qix" Exec xlock -nolock -mode qix +complete ++ "Qix complete" Exec xlock -nolock -mode qix -complete ++ "Rotor" Exec xlock -nolock -mode rotor ++ "Shape" Exec xlock -nolock -mode shape ++ "Sphere" Exec xlock -nolock -mode sphere ++ "Spiral" Exec xlock -nolock -mode spiral ++ "Spline" Exec xlock -nolock -mode spline ++ "Tik_Tak" Exec xlock -nolock -mode tik_tak ++ "Toneclock" Exec xlock -nolock -mode toneclock ++ "Random" Exec xlock -nolock -mode random -modelist allgeometry + +AddToMenu "Space-Saver" ++ "Space-Saver" Title ++ "Bouboule" Exec xlock -nolock -mode bouboule +use3d ++ "Bouboule3d" Exec xlock -nolock -mode bouboule -use3d ++ "Galaxy" Exec xlock -nolock -mode galaxy ++ "Grav" Exec xlock -nolock -mode grav +trail +decay ++ "Grav Trail" Exec xlock -nolock -mode grav -trail ++ "Grav Decay" Exec xlock -nolock -mode grav -decay ++ "Rock" Exec xlock -nolock -mode star -rock ++ "Scooter" Exec xlock -nolock -mode scooter ++ "Space" Exec xlock -nolock -mode space ++ "Star" Exec xlock -nolock -mode star +rock +use3d +trek 0 ++ "Star3d" Exec xlock -nolock -mode star -use3d ++ "Star Trek" Exec xlock -nolock -mode star -trek 100 ++ "World" Exec xlock -nolock -mode world ++ "Random Space" Exec xlock -nolock -mode random -modelist allspace + +AddToMenu "Assorted-Saver" ++ "Assorted-Saver" Title ++ "Anemone" Exec xlock -nolock -mode anemone ++ "Ball" Exec xlock -nolock -mode ball ++ "Blot" Exec xlock -nolock -mode blot ++ "Bounce" Exec xlock -nolock -mode bounce ++ "Bubble" Exec xlock -nolock -mode bubble ++ "Clock" Exec xlock -nolock -mode clock ++ "Crystal" Exec xlock -nolock -mode crystal ++ "Daisy" Exec xlock -nolock -mode daisy ++ "Dclock" Exec xlock -nolock -mode dclock ++ "Decay" Exec xlock -nolock -mode decay ++ "Deco" Exec xlock -nolock -mode deco ++ "Deluxe" Exec xlock -nolock -mode deluxe ++ "Eyes" Exec xlock -nolock -mode eyes +trackmouse ++ "Eyesptr" Exec xlock -nolock -mode eyes -trackmouse ++ "Fiberlamp" Exec xlock -nolock -mode fiberlamp ++ "Fzort" Exec xlock -nolock -mode fzort ++ "Goop" Exec xlock -nolock -mode goop ++ "Juggle" Exec xlock -nolock -mode juggle ++ "Marquee" Exec xlock -nolock -mode marquee ++ "Matrix" Exec xlock -nolock -mode matrix ++ "Munch" Exec xlock -nolock -mode munch ++ "Nose" Exec xlock -nolock -mode nose ++ "Pacman" Exec xlock -nolock -mode pacman ++ "Pyro" Exec xlock -nolock -mode pyro +use3d ++ "Pyro3d" Exec xlock -nolock -mode pyro -use3d ++ "Roll" Exec xlock -nolock -mode roll ++ "Slip" Exec xlock -nolock -mode slip ++ "Solitare" Exec xlock -nolock -mode solitare +trackmouse ++ "Solitareptr" Exec xlock -nolock -mode solitare -trackmouse ++ "Starfish" Exec xlock -nolock -mode starfish -install ++ "Swarm" Exec xlock -nolock -mode swarm +trackmouse ++ "Swarmptr" Exec xlock -nolock -mode swarm -trackmouse ++ "Swirl" Exec xlock -nolock -mode swirl -install ++ "T3d" Exec xlock -nolock -mode t3d ++ "Tetris" Exec xlock -nolock -mode tetris ++ "Tube" Exec xlock -nolock -mode tube -install ++ "Worm" Exec xlock -nolock -mode worm +use3d ++ "Worm3d" Exec xlock -nolock -mode worm -use3d ++ "Xcl" Exec xlock -nolock -mode xcl ++ "Xjack" Exec xlock -nolock -mode xjack + +AddToMenu "XPM-Saver" ++ "XPM-Saver" Title ++ "Bat" Exec xlock -nolock -mode bat ++ "Image" Exec xlock -nolock -mode image ++ "Flag" Exec xlock -nolock -mode flag ++ "Life" Exec xlock -nolock -mode life ++ "Life1d" Exec xlock -nolock -mode life1d ++ "Maze" Exec xlock -nolock -mode maze ++ "Puzzle" Exec xlock -nolock -mode puzzle ++ "Random" Exec xlock -nolock -mode random -modelist allxpm -fullrandom + +AddToMenu "GL-Saver" ++ "GL-Saver" Title ++ "Atlantis" Exec xlock -nolock -mode atlantis ++ "Atunnels" Exec xlock -nolock -mode atunnels ++ "Bubble3d" Exec xlock -nolock -mode bubble3d ++ "Biof" Exec xlock -nolock -mode biof ++ "Cage" Exec xlock -nolock -mode cage ++ "Fire" Exec xlock -nolock -mode fire ++ "Gears" Exec xlock -nolock -mode gears ++ "GL-Planet" Exec xlock -nolock -mode glplanet ++ "Lament" Exec xlock -nolock -mode lament ++ "Moebius" Exec xlock -nolock -mode moebius ++ "Molecule" Exec xlock -nolock -mode molecule ++ "Morph3d" Exec xlock -nolock -mode morph3d ++ "Noof" Exec xlock -nolock -mode noof ++ "Pipes" Exec xlock -nolock -mode pipes ++ "Rubik" Exec xlock -nolock -mode rubik ++ "Sballs" Exec xlock -nolock -mode sballs ++ "Sierpinski3d" Exec xlock -nolock -mode sierpinski3d ++ "Sproingies" Exec xlock -nolock -mode sproingies ++ "Stairs" Exec xlock -nolock -mode stairs ++ "Superquadrics" Exec xlock -nolock -mode superquadrics ++ "Text3d" Exec xlock -nolock -mode text3d -message "$LOGNAME" ++ "Random" Exec xlock -nolock -mode random -modelist allgl -fullrandom + +AddToMenu "Marquee-Message-Saver" ++ "Marquee-Message" Title ++ "Brilliant!" Exec xlock -nolock -mode marquee -message "WOW! $LOGNAME, You're Brilliant!" ++ "Love You" Exec xlock -nolock -mode marquee -message "You know, I Love You $LOGNAME." ++ "Available" Exec xlock -nolock -mode marquee -message "Hey, I'm available now!" + +AddToMenu "Nose-Message-Saver" ++ "Nose-Message" Title ++ "Brilliant!" Exec xlock -nolock -mode nose -message "WOW! $LOGNAME, You're Brilliant!" ++ "Love You" Exec xlock -nolock -mode nose -message "You know, I Love You $LOGNAME." ++ "Available" Exec xlock -nolock -mode nose -message "Hey, I'm available now!" + +AddToMenu "Xjack-Message-Lock" ++ "Xjack-Lock" Title ++ "Crazy Boy" Exec xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." ++ "Crazy Girl" Exec xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." + +AddToMenu "Special-Saver" ++ "Special-Saver" Title ++ "Blank" Exec xlock -nolock -mode blank ++ "Bomb" Exec xlock -nolock -mode bomb ++ "Random nice" Exec xlock -nolock -mode random -modelist allnice -fullrandom -neighbors 0 ++ "Random standard" Exec xlock -nolock -mode random -modelist all-allgl -fullrandom -neighbors 0 ++ "Random all" Exec xlock -nolock -mode random -modelist all -fullrandom -neighbors 0 ++ "Random 3d" Exec xlock -nolock -mode random -modelist all3d -use3d -fullrandom ++ "Random ptr" Exec xlock -nolock -mode random -modelist allmouse -trackmouse -fullrandom ++ "Random write" Exec xlock -nolock -mode random -modelist allwrite -fullrandom + +AddToMenu Screenlock ++ "Screenlock" Title ++ "Cellular Automata" Menu Automata-Lock Close ++ "" Nop ++ "Fractal" Menu Fractal-Lock Close ++ "" Nop ++ "Geometry" Menu Geometry-Lock Close ++ "" Nop ++ "Space" Menu Space-Lock Close ++ "" Nop ++ "Assorted" Menu Assorted-Lock Close ++ "" Nop ++ "XPM" Menu XPM-Lock Close ++ "" Nop ++ "GL" Menu GL-Lock Close ++ "" Nop ++ "Marquee Message" Menu Marquee-Message-Lock Close ++ "" Nop ++ "Nose Message" Menu Nose-Message-Lock Close ++ "" Nop ++ "Xjack Message" Menu Xjack-Message-Lock Close ++ "" Nop ++ "Special" Menu Special-Lock Close + +AddToMenu Screensaver ++ "Screensaver" Title ++ "Cellular Automata" Menu Automata-Saver Close ++ "" Nop ++ "Fractal" Menu Fractal-Saver Close ++ "" Nop ++ "Geometry" Menu Geometry-Saver Close ++ "" Nop ++ "Space" Menu Space-Saver Close ++ "" Nop ++ "Assorted" Menu Assorted-Saver Close ++ "" Nop ++ "XPM" Menu XPM-Saver Close ++ "" Nop ++ "GL" Menu GL-Saver Close ++ "" Nop ++ "Marquee Message" Menu Marquee-Message-Saver Close ++ "" Nop ++ "Nose Message" Menu Nose-Message-Saver Close ++ "" Nop ++ "Xjack Message" Menu Xjack-Message-Saver Close ++ "" Nop ++ "Special" Menu Special-Saver Close + +AddToMenu "Lock_Saver" ++ "Lock_Saver" Title ++ "Screenlock" Menu Screenlock Close ++ "" Nop ++ "Screensaver" Menu Screensaver Close + diff --git a/app/xlockmore/etc/system.fvwmrc.xlock b/app/xlockmore/etc/system.fvwmrc.xlock new file mode 100644 index 000000000..b4b816b0b --- /dev/null +++ b/app/xlockmore/etc/system.fvwmrc.xlock @@ -0,0 +1,485 @@ +# Add this to your system or personal menu file +# System: /usr/lib/X11/fvwm/system.fvwmrc +# Personal $HOME/.fvwmrc +# Put this in your "Utilities" uncommented. +# Popup "Lock_Saver" Lock_Saver +# This is for fvwm <=1.24r +# For -install to work right you must disable it before fvwm is compiled +# see README + +Popup "Automata-Lock" + Title "Automata-Lock" + Exec "Ant" exec xlock -mode ant -neighbors 4 +truchet & + Exec "Ant Truchet" exec xlock -mode ant -neighbors 4 -truchet & + Exec "Ant3d" exec xlock -mode ant3d & + Exec "Bee" exec xlock -mode ant -neighbors 6 +truchet & + Exec "Bee Truchet" exec xlock -mode ant -neighbors 6 -truchet & + Exec "Bug" exec xlock -mode bug & + Exec "Demon" exec xlock -mode demon & + Exec "Dilemma" exec xlock -mode dilemma & + Exec "Life" exec xlock -mode life & + Exec "Life Callahan" exec xlock -mode life -callahan -size 7 & + Exec "Life1d" exec xlock -mode life1d & + Exec "Life3d" exec xlock -mode life3d & + Exec "Loop" exec xlock -mode loop & + Exec "Petri" exec xlock -mode petri & + Exec "Voters" exec xlock -mode voters & + Exec "Wator" exec xlock -mode wator & + Exec "Wire" exec xlock -mode wire & + Exec "Random Automata" exec xlock -mode random -modelist allautomata -fullrandom -neighbors 0 & +EndPopup + +Popup "Fractal-Lock" + Title "Fractal-Lock" + Exec "Coral" exec xlock -mode coral & + Exec "Discrete" exec xlock -mode discrete & + Exec "Dragon" exec xlock -mode dragon & + Exec "Drift" exec xlock -mode drift -fullrandom & + Exec "Euler2d" exec xlock -mode euler2d & + Exec "Flame" exec xlock -mode flame & + Exec "Flow" exec xlock -mode flow & + Exec "Forest" exec xlock -mode forest & + Exec "Hop"i exec xlock -mode hop -fullrandom & + Exec "IFS" exec xlock -mode ifs & + Exec "Julia" exec xlock -mode julia +trackmouse & + Exec "Juliaptr" exec xlock -mode julia -trackmouse & + Exec "Kumppa" exec xlock -mode kumppa & + Exec "Lightning" exec xlock -mode lightning & + Exec "Lyapanuv" exec xlock -mode lyapunov -install & + Exec "Mandelbrot" exec xlock -mode mandelbrot -install & + Exec "Mountain" exec xlock -mode mountain & + Exec "Sierpinski" exec xlock -mode sierpinski & + Exec "Strange" exec xlock -mode strange & + Exec "Thornbird" exec xlock -mode thornbird & + Exec "Triangle" exec xlock -mode triangle & + Exec "Turtle" exec xlock -mode turtle & + Exec "Vines" exec xlock -mode vines & + Exec "Random Fractal" exec xlock -mode random -modelist allfractal -fullrandom & +EndPopup + +Popup "Geometry-Lock" + Title "Geometry-Lock" + Exec "Apollonian" exec xlock -mode apollonian & + Exec "Braid" exec xlock -mode braid & + Exec "Fadeplot" exec xlock -mode fadeplot & + Exec "Helix" exec xlock -mode helix -fullrandom & + Exec "Hyper" exec xlock -mode hyper & + Exec "Ico" exec xlock -mode ico & + Exec "Kaleid" exec xlock -mode kaleid & + Exec "Laser" exec xlock -mode laser & + Exec "Lisa" exec xlock -mode lisa & + Exec "Lissie" exec xlock -mode lissie & + Exec "Penrose" exec xlock -mode penrose +ammann & + Exec "Penrose Ammann" exec xlock -mode penrose -ammann & + Exec "Petal" exec xlock -mode petal & + Exec "Polyominoes" exec xlock -mode polyominoes & + Exec "Qix" exec xlock -mode qix +complete & + Exec "Qix complete" exec xlock -mode qix -complete & + Exec "Rotor" exec xlock -mode rotor & + Exec "Shape" exec xlock -mode shape & + Exec "Sphere" exec xlock -mode sphere & + Exec "Spiral" exec xlock -mode spiral & + Exec "Spline" exec xlock -mode spline & + Exec "Tik_Tak" exec xlock -mode tik_tak & + Exec "Toneclock" exec xlock -mode toneclock & + Exec "Random Geometry" exec xlock -mode random -modelist allgeometry -fullrandom & +EndPopup + +Popup "Space-Lock" + Title "Space-Lock" + Exec "Bouboule" exec xlock -mode bouboule +use3d & + Exec "Bouboule3d" exec xlock -mode bouboule -use3d & + Exec "Galaxy" exec xlock -mode galaxy & + Exec "Grav" exec xlock -mode grav +trail +decay & + Exec "Grav Trail" exec xlock -mode grav -trail & + Exec "Grav Decay" exec xlock -mode grav -decay & + Exec "Rock"i exec xlock -mode star -rock & + Exec "Scooter" exec xlock -mode scooter & + Exec "Space" exec xlock -mode space & + Exec "Star" exec xlock -mode star +rock +use3d -trek 0 & + Exec "Star3dk" exec xlock -mode star -use3d & + Exec "Star Trek" exec xlock -mode star -trek 100 & + Exec "World" exec xlock -mode world & + Exec "Random Space" exec xlock -mode random -modelist allspace -fullrandom & +EndPopup + +Popup "Assorted-Lock" + Title "Assorted-Lock" + Exec "Anemone" exec xlock -mode anemone & + Exec "Ball" exec xlock -mode ball & + Exec "Blot" exec xlock -mode blot & + Exec "Bounce" exec xlock -mode bounce & + Exec "Bubble" exec xlock -mode bubble & + Exec "Clock" exec xlock -mode clock & + Exec "Crystal" exec xlock -mode crystal & + Exec "Daisy" exec xlock -mode daisy & + Exec "Dclock" exec xlock -mode dclock & + Exec "Decay" exec xlock -mode decay & + Exec "Deco" exec xlock -mode deco & + Exec "Deluxe" exec xlock -mode deluxe & + Exec "Eyes" exec xlock -mode eyes +trackmouse & + Exec "Eyesptr" exec xlock -mode eyes -trackmouse & + Exec "Fiberlamp" exec xlock -mode fiberlamp & + Exec "Fzort" exec xlock -mode fzort & + Exec "Goop" exec xlock -mode goop & + Exec "Juggle" exec xlock -mode juggle & + Exec "Marquee" exec xlock -mode marquee & + Exec "Matrix" exec xlock -mode matrix & + Exec "Munch" exec xlock -mode munch & + Exec "Nose" exec xlock -mode nose & + Exec "Pacman" exec xlock -mode pacman & + Exec "Pyro" exec xlock -mode pyro +use3d & + Exec "Pyro3d" exec xlock -mode pyro -use3d & + Exec "Roll" exec xlock -mode roll & + Exec "Slip" exec xlock -mode slip & + Exec "Solitare" exec xlock -mode solitare +trackmouse & + Exec "Solitareptr" exec xlock -mode solitare -trackmouse & + Exec "Starfish" exec xlock -mode starfish -install & + Exec "Swarm" exec xlock -mode swarm +trackmouse & + Exec "Swarmptr" exec xlock -mode swarm -trackmouse & + Exec "Swirl" exec xlock -mode swirl -install & + Exec "Tetris" exec xlock -mode t3d & + Exec "Tetris" exec xlock -mode tetris & + Exec "Tube" exec xlock -mode tube -install & + Exec "Worm" exec xlock -mode worm +use3d & + Exec "Worm3d" exec xlock -mode worm -use3d & + Exec "Xcl" exec xlock -mode xcl & + Exec "Xjack" exec xlock -mode xjack & +EndPopup + +Popup "XPM-Lock" + Exec "Bat" exec xlock -mode bat & + Exec "Image" exec xlock -mode image & + Exec "Flag" exec xlock -mode flag & + Exec "Life" exec xlock -mode life & + Exec "Life1d" exec xlock -mode life1d & + Exec "Maze" exec xlock -mode maze & + Exec "Puzzle" exec xlock -mode puzzle & + Exec "Random XPM" exec xlock -mode random -modelist allxpm -fullrandom & +EndPopup + +Popup "GL-Lock" + Exec "Atlantis" exec xlock -mode atlantis & + Exec "Atunnels" exec xlock -mode atunnels & + Exec "Bubble3d" exec xlock -mode bubble3d & + Exec "Biof" exec xlock -mode biof & + Exec "Cage" exec xlock -mode cage & + Exec "Fire" exec xlock -mode fire & + Exec "Gears" exec xlock -mode gears & + Exec "GL-Planet" exec xlock -mode glplanet & + Exec "Invert" exec xlock -mode invert & + Exec "Lament" exec xlock -mode lament & + Exec "Moebius" exec xlock -mode moebius & + Exec "Molecule" exec xlock -mode molecule & + Exec "Morph3d" exec xlock -mode morph3d & + Exec "Noof" exec xlock -mode noof & + Exec "Pipes" exec xlock -mode pipes & + Exec "Rubik" exec xlock -mode rubik & + Exec "Sballs" exec xlock -mode sballs & + Exec "Sierpinski3d" exec xlock -mode sierpinski3d & + Exec "Sproingies" exec xlock -mode sproingies & + Exec "Stairs" exec xlock -mode stairs & + Exec "Superquadrics" exec xlock -mode superquadrics & + Exec "Text3d" exec xlock -mode text3d -message "$LOGNAME" & + Exec "Random GL" exec xlock -mode random -modelist allgl -fullrandom & +EndPopup + +Popup "Marquee-Message-Lock" + Title "Marquee-Message-Lock" + Exec "Back Soon" exec xlock -mode marquee -message "$LOGNAME will be back soon." & + Exec "Overnight" exec xlock -mode marquee -message "$LOGNAME will be back in the morning." & + Exec "Rude" exec xlock -mode marquee -message "$LOGNAME not here, please go away! " & +EndPopup + +Popup "Nose-Message-Lock" + Title "Nose-Message-Lock" + Exec "Back Soon" exec xlock -mode nose -message "$LOGNAME will be back soon." + Exec "Overnight" exec xlock -mode nose -message "$LOGNAME will be back in the morning." & + Exec "Rude" exec xlock -mode nose -message "$LOGNAME not here, please go away! " & +EndPopup + +Popup "Xjack-Message-Lock" + Title "Xjack-Message-Lock" + Exec "Crazy Boy" exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + Exec "Crazy Girl" exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." & +EndPopup + +Popup "Special-Lock" + Title "Special-Lock" + Exec "Blank" exec xlock -mode blank & + Exec "Transparent" exec xlock -mode blank -geometry 1x1 -enablesaver & + Exec "Bomb" exec xlock -mode bomb & + Exec "Random nice" exec xlock -mode random -modelist allnice -fullrandom -neighbors 0 & + Exec "Random standard" exec xlock -mode random -modelist all-allgl -fullrandom -neighbors 0 & + Exec "Random all" exec xlock -mode random -modelist all -fullrandom -neighbors 0 & + Exec "Random 3d" exec xlock -mode random -modelist all3d -use3d -fullrandom & + Exec "Random ptr" exec xlock -mode random -modelist allmouse -trackmouse -fullrandom & + Exec "Random write" exec xlock -mode random -modelist allwrite -fullrandom & +EndPopup + +Popup "Screenlock" + Title "Screenlock" + Popup "Cellular Automata" Automata-Lock + Nop "" + Popup "Fractal" Fractal-Lock + Nop "" + Popup "Geometry" Geometry-Lock + Nop "" + Popup "Space" Space-Lock + Nop "" + Popup "Assorted" Assorted-Lock + Nop "" + Popup "XPM" XPM-Lock + Nop "" + Popup "GL" GL-Lock + Nop "" + Popup "Marquee Message" Marquee-Message-Lock + Nop "" + Popup "Nose Message" Nose-Message-Lock + Nop "" + Popup "Xjack Message" Xjack-Message-Lock + Nop "" + Popup "Special" Special-Lock +EndPopup + +Popup "Automata-Saver" + Title "Automata-Saver" + Exec "Ant" exec xlock -nolock -mode ant -neighbors 4 +truchet & + Exec "Ant Truchet" exec xlock -nolock -mode ant -neighbors 4 -truchet & + Exec "Ant3d" exec xlock -nolock -mode ant3d& + Exec "Bee" exec xlock -nolock -mode ant -neighbors 6 +truchet & + Exec "Bee Truchet" exec xlock -nolock -mode ant -neighbors 6 -truchet & + Exec "Bug" exec xlock -nolock -mode bug & + Exec "Demon" exec xlock -nolock -mode demon & + Exec "Dilemma" exec xlock -nolock -mode dilemma & + Exec "Life" exec xlock -nolock -mode life & + Exec "Life Callahan" exec xlock -nolock -mode life -callahan -size 7 & + Exec "Life1d" exec xlock -nolock -mode life1d & + Exec "Life3d" exec xlock -nolock -mode life3d & + Exec "Loop" exec xlock -nolock -mode loop & + Exec "Petri" exec xlock -nolock -mode petri & + Exec "Voters" exec xlock -nolock -mode voters & + Exec "Wator" exec xlock -nolock -mode wator & + Exec "Wire" exec xlock -nolock -mode wire & + Exec "Random Automata" exec xlock -nolock -mode random -modelist allautomata -fullrandom -neighbors 0 & + +EndPopup + +Popup "Fractal-Saver" + Title "Fractal-Saver" + Exec "Coral" exec xlock -nolock -mode coral & + Exec "Discrete" exec xlock -nolock -mode discrete & + Exec "Dragon" exec xlock -nolock -mode dragon & + Exec "Drift" exec xlock -nolock -mode drift -fullrandom & + Exec "Euler2d" exec xlock -nolock -mode euler2d & + Exec "Flame" exec xlock -nolock -mode flame & + Exec "Flow" exec xlock -nolock -mode flow & + Exec "Forest" exec xlock -nolock -mode forest & + Exec "Hop" exec xlock -nolock -mode hop -fullrandom & + Exec "IFS" exec xlock -nolock -mode ifs & + Exec "Julia" exec xlock -nolock -mode julia +trackmouse & + Exec "Juliaptr" exec xlock -nolock -mode julia -trackmouse & + Exec "Kumppa" exec xlock -nolock -mode kumppa & + Exec "Lightning" exec xlock -nolock -mode lightning & + Exec "Lyapunov" exec xlock -nolock -mode lyapunov -install & + Exec "Mandelbrot" exec xlock -nolock -mode mandelbrot -install & + Exec "Mountain" exec xlock -nolock -mode mountain & + Exec "Sierpinski" exec xlock -nolock -mode sierpinski & + Exec "Strange" exec xlock -nolock -mode strange & + Exec "Thornbird" exec xlock -nolock -mode thornbird & + Exec "Triangle" exec xlock -nolock -mode triangle & + Exec "Turtle" exec xlock -nolock -mode turtle & + Exec "Vines" exec xlock -nolock -mode vines & + Exec "Random Fractal" exec xlock -nolock -mode random -modelist allfractal -fullrandom & +EndPopup + +Popup "Geometry-Saver" + Title "Geometry-Saver" + Exec "Apollonian" exec xlock -nolock -mode apollonian & + Exec "Braid" exec xlock -nolock -mode braid & + Exec "Fadeplot" exec xlock -nolock -mode fadeplot & + Exec "Helix" exec xlock -nolock -mode helix -fullrandom & + Exec "Hyper" exec xlock -nolock -mode hyper & + Exec "Ico" exec xlock -nolock -mode ico & + Exec "Kaleid" exec xlock -nolock -mode kaleid & + Exec "Laser" exec xlock -nolock -mode laser & + Exec "Lisa" exec xlock -nolock -mode lisa & + Exec "Lissiekk" exec xlock -nolock -mode lissie & + Exec "Penrose" exec xlock -nolock -mode penrose +ammann & + Exec "Penrose Ammann" exec xlock -nolock -mode penrose -ammann & + Exec "Petal" exec xlock -nolock -mode petal & + Exec "Polyominoes" exec xlock -nolock -mode polyominoes & + Exec "Qix" exec xlock -nolock -mode qix +complete & + Exec "Qix complete" exec xlock -nolock -mode qix -complete & + Exec "Rotor" exec xlock -nolock -mode rotor & + Exec "Shape" exec xlock -nolock -mode shape & + Exec "Sphere" exec xlock -nolock -mode sphere & + Exec "Spiral" exec xlock -nolock -mode spiral & + Exec "Spline" exec xlock -nolock -mode spline & + Exec "Tik_Tak" exec xlock -nolock -mode tik_tak & + Exec "Toneclock" exec xlock -nolock -mode toneclock & + Exec "Random Geometry" exec xlock -nolock -mode random -modelist allgeometry -fullrandom & +EndPopup + +Popup "Space-Saver" + Title "Space-Saver" + Exec "Bouboule" exec xlock -nolock -mode bouboule +use3d & + Exec "Bouboule3d" exec xlock -nolock -mode bouboule -use3d & + Exec "Galaxy" exec xlock -nolock -mode galaxy & + Exec "Grav" exec xlock -nolock -mode grav +trail +decay & + Exec "Grav Trail" exec xlock -nolock -mode grav -trail & + Exec "Grav Decay" exec xlock -nolock -mode grav -decay & + Exec "Rock" exec xlock -nolock -mode star -rock & + Exec "Scooter" exec xlock -nolock -mode scooter & + Exec "Space" exec xlock -nolock -mode space & + Exec "Star" exec xlock -nolock -mode star +rock +use3d +trek 0 & + Exec "Star3d" exec xlock -nolock -mode star -use3d & + Exec "Star Trek" exec xlock -nolock -mode star -trek 100 & + Exec "World" exec xlock -nolock -mode world & + Exec "Random Space" exec xlock -nolock -mode random -modelist allspace -fullrandom & +EndPopup + +Popup "Assorted-Saver" + Title "Assorted-Saver" + Exec "Anemone" exec xlock -nolock -mode anemone & + Exec "Ball" exec xlock -nolock -mode ball & + Exec "Blot" exec xlock -nolock -mode blot & + Exec "Bounce" exec xlock -nolock -mode bounce & + Exec "Bubble" exec xlock -nolock -mode bubble & + Exec "Clock" exec xlock -nolock -mode clock & + Exec "Crystal" exec xlock -nolock -mode crystal & + Exec "Daisy" exec xlock -nolock -mode daisy & + Exec "Dclock" exec xlock -nolock -mode dclock & + Exec "Decay" exec xlock -nolock -mode decay & + Exec "Deco" exec xlock -nolock -mode deco & + Exec "Deluxe" exec xlock -nolock -mode deluxe & + Exec "Eyes" exec xlock -nolock -mode eyes +trackmouse & + Exec "Eyesptr" exec xlock -nolock -mode eyes -trackmouse & + Exec "Fiberlamp" exec xlock -nolock -mode fiberlamp & + Exec "Fzort" exec xlock -nolock -mode fzort & + Exec "Goop" exec xlock -nolock -mode goop & + Exec "Juggle" exec xlock -nolock -mode juggle & + Exec "Marquee" exec xlock -nolock -mode marquee & + Exec "Matrix" exec xlock -nolock -mode matrix & + Exec "Munch" exec xlock -nolock -mode munch & + Exec "Nose" exec xlock -nolock -mode nose & + Exec "Pacman" exec xlock -nolock -mode pacman & + Exec "Pyro" exec xlock -nolock -mode pyro +use3d & + Exec "Pyro3d" exec xlock -nolock -mode pyro -use3d & + Exec "Roll" exec xlock -nolock -mode roll & + Exec "Slip" exec xlock -nolock -mode slip & + Exec "Solitare" exec xlock -nolock -mode solitare +trackmouse & + Exec "Solitareptr" exec xlock -nolock -mode solitare -trackmouse & + Exec "Starfish" exec xlock -nolock -mode starfish -install & + Exec "Swarm" exec xlock -nolock -mode swarm +trackmouse & + Exec "Swarmptr" exec xlock -nolock -mode swarm -trackmouse & + Exec "Swirl" exec xlock -nolock -mode swirl -install & + Exec "T3d" exec xlock -nolock -mode t3d & + Exec "Tetris" exec xlock -nolock -mode tetris & + Exec "Tube" exec xlock -nolock -mode tube -install & + Exec "Worm" exec xlock -nolock -mode worm +use3d & + Exec "Worm3d" exec xlock -nolock -mode worm -use3d & + Exec "Xcl" exec xlock -nolock -mode xcl & + Exec "Xjack" exec xlock -nolock -mode xjack & +EndPopup + +Popup "XPM-Saver" + Exec "Bat" exec xlock -nolock -mode bat & + Exec "Image" exec xlock -nolock -mode image & + Exec "Flag" exec xlock -nolock -mode flag & + Exec "Life" exec xlock -nolock -mode life & + Exec "Life1d" exec xlock -nolock -mode life1d & + Exec "Maze" exec xlock -nolock -mode maze & + Exec "Puzzle" exec xlock -nolock -mode puzzle & + Exec "Random XPM" exec xlock -nolock -mode random -modelist allxpm -fullrandom & +EndPopup + +Popup "GL-Saver" + Exec "Atlantis" exec xlock -nolock -mode atlantis & + Exec "Atunnels" exec xlock -nolock -mode atunnels & + Exec "Bubble3d" exec xlock -nolock -mode bubble3d & + Exec "Biof" exec xlock -nolock -mode biof & + Exec "Cage" exec xlock -nolock -mode cage & + Exec "Fire" exec xlock -nolock -mode fire & + Exec "Gears" exec xlock -nolock -mode gears & + Exec "GL-Planet" exec xlock -nolock -mode glplanet & + Exec "Invert" exec xlock -nolock -mode invert & + Exec "Lament" exec xlock -nolock -mode lament & + Exec "Moebius" exec xlock -nolock -mode moebius & + Exec "Molecule" exec xlock -nolock -mode molecule & + Exec "Morph3d" exec xlock -nolock -mode morph3d & + Exec "Noof" exec xlock -nolock -mode noof & + Exec "Pipes" exec xlock -nolock -mode pipes & + Exec "Rubik" exec xlock -nolock -mode rubik & + Exec "Sballs" exec xlock -nolock -mode sballs & + Exec "Sierpinski3d" exec xlock -nolock -mode sierpinski3d & + Exec "Sproingies" exec xlock -nolock -mode sproingies & + Exec "Stairs" exec xlock -nolock -mode stairs & + Exec "Superquadrics" exec xlock -nolock -mode superquadrics & + Exec "Text3d" exec xlock -nolock -mode text3d -message "$LOGNAME" & + Exec "Random GL" exec xlock -nolock -mode random -modelist allgl -fullrandom & +EndPopup + +Popup "Marquee-Message-Saver" + Title "Marquee-Message-Saver" + Exec "Brilliant" exec xlock -nolock -mode marquee -message "WOW! $LOGNAME, You are Brilliant! " & + Exec "Love You" exec xlock -mode marquee -message "You know, I Love You $LOGNAME." & + Exec "Available" exec xlock -mode marquee -message "Hey, I am available now! " & +EndPopup + +Popup "Nose-Message-Saver" + Title "Nose-Message-Saver" + Exec "Brilliant!" exec xlock -mode nose -message "WOW! $LOGNAME, You are Briilliant! " + Exec "Love You" exec xlock -mode nose -message "You know, I Love You $LOGNAME." & + Exec "Available" exec xlock -mode nose -message "Hey, I am available now! " & +EndPopup + +Popup "Xjack-Message-Saver" + Title "Xjack-Message-Saver" + Exec "Crazy Boy" exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + Exec "Crazy Girl" exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." & +EndPopup + +Popup "Special-Saver" + Title "Special-Saver" + Exec "Blank" exec xlock -nolock -mode blank & + Exec "Bomb" exec xlock -nolock -mode bomb & + Exec "Random nice" exec xlock -nolock -mode random -modelist allnice -fullrandom -neighbors 0 & + Exec "Random standard" exec xlock -nolock -mode random -modelist all-allgl -fullrandom -neighbors 0 & + Exec "Random all" exec xlock -nolock -mode random -modelist all -fullrandom -neighbors 0 & + Exec "Random 3d" exec xlock -nolock -mode random -modelist all3d -use3d -fullrandom & + Exec "Random ptr" exec xlock -nolock -mode random -modelist allmouse -trackmouse -fullrandom & + Exec "Random write" exec xlock -nolock -mode random -modelist allwrite -fullrandom & +EndPopup + +Popup "Screensaver" + Title "Screensaver" + Popup "Cellular Automata" Automata-Saver + Nop "" + Popup "Fractal" Fractal-Saver + Nop "" + Popup "Geometry" Geometry-Saver + Nop "" + Popup "Space" Space-Saver + Nop "" + Popup "Assorted" Assorted-Saver + Nop "" + Popup "XPM" XPM-Saver + Nop "" + Popup "GL" GL-Saver + Nop "" + Popup "Marquee Message" Marquee-Message-Saver + Nop "" + Popup "Nose Message" Nose-Message-Saver + Nop "" + Popup "Xjack Message" Xjack-Message-Saver + Nop "" + Popup "Special" Special-Saver +EndPopup + +Popup "Lock_Saver" + Title "Lock_Saver" + Popup "Screenlock" Screenlock + Nop "" + Popup "Screensaver" Screensaver +EndPopup diff --git a/app/xlockmore/etc/system.mwmrc.xlock b/app/xlockmore/etc/system.mwmrc.xlock new file mode 100644 index 000000000..7ea2079ce --- /dev/null +++ b/app/xlockmore/etc/system.mwmrc.xlock @@ -0,0 +1,517 @@ +# Add this to your system or personal menu file contents +# System +# Motif file: /usr/lib/X11/system.mwmrc +# Desktop file: /usr/dt/config/C/sys.dtwmrc +# Personal +# Motif file: $HOME/.mwmrc +# Desktop file: $HOME/.dt/dtwmrc +# Put this in your RootMenu (mwm) or ProgramsMenu (dtwm) uncommented. +# "Lock_Saver" f.menu Lock_Saver +# For dt you may have to add the full path of xlock to "xlock" depending +# whether the location xlock is installed is in a path of DT. +# See /usr/dt/bin/Xsession look for instances of $PATH for system setup. +# See supplied dtprofile for personal setup...i.e. DTSOURCEPROFILE=true + +Menu Automata-Lock +{ + "Automata-Lock" f.title + "Ant" f.exec "xlock -mode ant -neighbors 4 +truchet &" + "Ant Truchet" f.exec "xlock -mode ant -neighbors 4 -truchet &" + "Ant3d" f.exec "xlock -mode ant3d &" + "Bee" f.exec "xlock -mode ant -neighbors 6 +truchet &" + "Bee Truchet" f.exec "xlock -mode ant -neighbors 6 -truchet &" + "Bug" f.exec "xlock -mode bug &" + "Demon" f.exec "xlock -mode demon &" + "Dilemma" f.exec "xlock -mode dilemma &" + "Life" f.exec "xlock -mode life &" + "Life Callahan" f.exec "xlock -mode life -callahan -size 7 &" + "Life1d" f.exec "xlock -mode life1d &" + "Life3d" f.exec "xlock -mode life3d &" + "Loop" f.exec "xlock -mode loop &" + "Petri" f.exec "xlock -mode petri &" + "Voters" f.exec "xlock -mode voters &" + "Wator" f.exec "xlock -mode wator &" + "Wire" f.exec "xlock -mode wire &" + "Random Automata" f.exec "xlock -mode random -modelist allautomata -fullrandom -neighbors 0 &" +} + +Menu Fractal-Lock +{ + "Fractal-Lock" f.title + "Coral" f.exec "xlock -mode coral &" + "Discrete" f.exec "xlock -mode discrete &" + "Dragon" f.exec "xlock -mode dragon &" + "Drift" f.exec "xlock -mode drift -fullrandom &" + "Euler2d" f.exec "xlock -mode euler2d &" + "Flame" f.exec "xlock -mode flame &" + "Flow" f.exec "xlock -mode flow &" + "Forest" f.exec "xlock -mode forest &" + "Hop" f.exec "xlock -mode hop -fullrandom &" + "IFS" f.exec "xlock -mode ifs &" + "Julia" f.exec "xlock -mode julia +trackmouse &" + "Juliaptr" f.exec "xlock -mode julia -trackmouse &" + "Kumppa" f.exec "xlock -mode kumppa &" + "Lightning" f.exec "xlock -mode lightning &" + "Lyapunov" f.exec "xlock -mode lyapunov -install &" + "Mandelbrot" f.exec "xlock -mode mandelbrot -install &" + "Mountain" f.exec "xlock -mode mountain &" + "Sierpinski" f.exec "xlock -mode sierpinski &" + "Strange" f.exec "xlock -mode strange &" + "Thornbird" f.exec "xlock -mode thornbird &" + "Triangle" f.exec "xlock -mode triangle &" + "Turtle" f.exec "xlock -mode turtle &" + "Vines" f.exec "xlock -mode vines &" + "Random Fractal" f.exec "xlock -mode random -modelist allfractal -fullrandom &" +} + +Menu Geometry-Lock +{ + "Geometry-Lock" f.title + "Apollonian" f.exec "xlock -mode apollonian &" + "Braid" f.exec "xlock -mode braid &" + "Fadeplot" f.exec "xlock -mode fadeplot &" + "Helix" f.exec "xlock -mode helix -fullrandom &" + "Hyper" f.exec "xlock -mode hyper &" + "Ico" f.exec "xlock -mode ico &" + "Kaleid" f.exec "xlock -mode kaleid &" + "Laser" f.exec "xlock -mode laser &" + "Lisa" f.exec "xlock -mode lisa &" + "Lissie" f.exec "xlock -mode lissie &" + "Penrose" f.exec "xlock -mode penrose +ammann &" + "Penrose Ammann" f.exec "xlock -mode penrose -ammann &" + "Petal" f.exec "xlock -mode petal &" + "Polyominoes" f.exec "xlock -mode polyominoes &" + "Qix" f.exec "xlock -mode qix +complete &" + "Qix complete" f.exec "xlock -mode qix -complete &" + "Rotor" f.exec "xlock -mode rotor &" + "Shape" f.exec "xlock -mode shape &" + "Sphere" f.exec "xlock -mode sphere &" + "Spiral" f.exec "xlock -mode spiral &" + "Spline" f.exec "xlock -mode spline &" + "Tik_Tak" f.exec "xlock -mode tik_tak &" + "Toneclock" f.exec "xlock -mode toneclock &" + "Random Geometry" f.exec "xlock -mode random -modelist allgeometry -fullrandom &" +} + +Menu Space-Lock +{ + "Space-Lock" f.title + "Bouboule" f.exec "xlock -mode bouboule +use3d &" + "Bouboule3d" f.exec "xlock -mode bouboule -use3d &" + "Galaxy" f.exec "xlock -mode galaxy &" + "Grav" f.exec "xlock -mode grav +trail +decay &" + "Grav Trail" f.exec "xlock -mode grav -trail &" + "Grav Decay" f.exec "xlock -mode grav -decay &" + "Rock" f.exec "xlock -mode star -rock &" + "Scooter" f.exec "xlock -mode scooter &" + "Space" f.exec "xlock -mode space &" + "Star" f.exec "xlock -mode star +rock +use3d -trek 0 &" + "Star3d" f.exec "xlock -mode star -use3d &" + "Star Trek" f.exec "xlock -mode star -trek 100 &" + "World" f.exec "xlock -mode world &" + "Random Space" f.exec "xlock -mode random -modelist allspace -fullrandom &" +} + +Menu Assorted-Lock +{ + "Assorted-Lock" f.title + "Anemone" f.exec "xlock -mode anemone &" + "Ball" f.exec "xlock -mode ball &" + "Blot" f.exec "xlock -mode blot &" + "Bounce" f.exec "xlock -mode bounce &" + "Bubble" f.exec "xlock -mode bubble &" + "Clock" f.exec "xlock -mode clock &" + "Crystal" f.exec "xlock -mode crystal &" + "Daisy" f.exec "xlock -mode daisy &" + "Dclock" f.exec "xlock -mode dclock &" + "Decay" f.exec "xlock -mode decay &" + "Deco" f.exec "xlock -mode deco &" + "Deluxe" f.exec "xlock -mode deluxe &" + "Eyes" f.exec "xlock -mode eyes +trackmouse &" + "Eyesptr" f.exec "xlock -mode eyes -trackmouse &" + "Fiberlamp" f.exec "xlock -mode fiberlamp &" + "Fzort" f.exec "xlock -mode fzort &" + "Goop" f.exec "xlock -mode goop &" + "Juggle" f.exec "xlock -mode juggle &" + "Marquee" f.exec "xlock -mode marquee &" + "Matrix" f.exec "xlock -mode matrix &" + "Munch" f.exec "xlock -mode munch &" + "Nose" f.exec "xlock -mode nose &" + "Pacman" f.exec "xlock -mode pacman &" + "Pyro" f.exec "xlock -mode pyro +use3d &" + "Pyro3d" f.exec "xlock -mode pyro -use3d &" + "Roll" f.exec "xlock -mode roll &" + "Slip" f.exec "xlock -mode slip &" + "Solitare" f.exec "xlock -mode solitare +trackmouse &" + "Solitareptr" f.exec "xlock -mode solitare -trackmouse &" + "Starfish" f.exec "xlock -mode starfish -install &" + "Swarm" f.exec "xlock -mode swarm +trackmouse &" + "Swarmptr" f.exec "xlock -mode swarm -trackmouse &" + "Swirl" f.exec "xlock -mode swirl -install &" + "T3d" f.exec "xlock -mode t3d &" + "Tetris" f.exec "xlock -mode tetris &" + "Tube" f.exec "xlock -mode tube -install &" + "Worm" f.exec "xlock -mode worm +use3d &" + "Worm3d" f.exec "xlock -mode worm -use3d &" + "Xcl" f.exec "xlock -mode xcl &" + "Xjack" f.exec "xlock -mode xjack &" +} + +Menu XPM-Lock +{ + "XPM-Lock" f.title + "Bat" f.exec "xlock -mode bat &" + "Image" f.exec "xlock -mode image &" + "Flag" f.exec "xlock -mode flag &" + "Life" f.exec "xlock -mode life &" + "Life1d" f.exec "xlock -mode life1d &" + "Maze" f.exec "xlock -mode maze &" + "Puzzle" f.exec "xlock -mode puzzle &" + "Random XPM" f.exec "xlock -mode random -modelist allxpm -fullrandom &" +} + +Menu GL-Lock +{ + "GL-Lock" f.title + "Atlantis" f.exec "xlock -mode atlantis &" + "Atunnels" f.exec "xlock -mode atunnels &" + "Bubble3d" f.exec "xlock -mode bubble3d &" + "Biof" f.exec "xlock -mode biof &" + "Cage" f.exec "xlock -mode cage &" + "Fire" f.exec "xlock -mode fire &" + "Gears" f.exec "xlock -mode gears &" + "GL-Planet" f.exec "xlock -mode glplanet &" + "Invert" f.exec "xlock -mode invert &" + "Lament" f.exec "xlock -mode lament &" + "Moebius" f.exec "xlock -mode moebius &" + "Molecule" f.exec "xlock -mode molecule &" + "Morph3d" f.exec "xlock -mode morph3d &" + "Noof" f.exec "xlock -mode noof &" + "Pipes" f.exec "xlock -mode pipes &" + "Rubik" f.exec "xlock -mode rubik &" + "Sballs" f.exec "xlock -mode sballs &" + "Sierpinski3d" f.exec "xlock -mode sierpinski3d &" + "Sproingies" f.exec "xlock -mode sproingies &" + "Stairs" f.exec "xlock -mode stairs &" + "Superquadrics" f.exec "xlock -mode superquadrics &" + "Text3d" f.exec "xlock -mode text3d -message "$LOGNAME" &" + "Random GL" f.exec "xlock -mode random -modelist allgl -fullrandom &" +} + +Menu Marquee-Message-Lock +{ + "Marquee-Message-Lock" f.title + "Back Soon" f.exec "xlock -mode marquee -message "$LOGNAME will be back soon." &" + "Overnight" f.exec "xlock -mode marquee -message "$LOGNAME will be back in the morning." &" + "Rude" f.exec "xlock -mode marquee -message "$LOGNAME not here, please go away! " &" +} + +Menu Nose-Message-Lock +{ + "Nose-Message-Lock" f.title + "Back Soon" f.exec "xlock -mode nose -message "$LOGNAME will be back soon." + "Overnight" f.exec "xlock -mode nose -message "$LOGNAME will be back in the morning." &" + "Rude" f.exec "xlock -mode nose -message "$LOGNAME not here, please go away! " &" +} + +Menu Xjack-Message-Lock +{ + "Xjack-Message-Lock" f.title + "Crazy Boy" f.exec "xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" f.exec "xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." &" +} + +Menu Special-Lock +{ + "Special-Lock" f.title + "Blank" f.exec "xlock -mode blank &" + "Transparent" f.exec "xlock -mode blank -geometry 1x1 -enablesaver &" + "Bomb" f.exec "xlock -mode bomb &" + "Random nice" f.exec "xlock -mode random -modelist allnice -fullrandom -neighbors 0 &" + "Random standard" f.exec "xlock -mode random -modelist all-allgl -fullrandom -neighbors 0 &" + "Random all" f.exec "xlock -mode random -modelist all -fullrandom -neighbors 0 &" + "Random 3d" f.exec "xlock -mode random -modelist all3d -use3d -fullrandom &" + "Random ptr" f.exec "xlock -mode random -modelist allmouse -trackmouse -fullrandom &" + "Random write" f.exec "xlock -mode random -modelist allwrite -fullrandom &" +} + +Menu Screenlock +{ + "Screenlock" f.title + "Cellular Automata" f.menu Automata-Lock + no-label f.separator + "Fractal" f.menu Fractal-Lock + no-label f.separator + "Geometry" f.menu Geometry-Lock + no-label f.separator + "Space" f.menu Space-Lock + no-label f.separator + "Assorted" f.menu Assorted-Lock + no-label f.separator + "XPM" f.menu XPM-Lock + no-label f.separator + "GL" f.menu GL-Lock + no-label f.separator + "Marquee Message" f.menu Marquee-Message-Lock + no-label f.separator + "Nose Message" f.menu Nose-Message-Lock + no-label f.separator + "Xjack Message" f.menu Xjack-Message-Lock + no-label f.separator + "Special" f.menu Special-Lock +} + +Menu Automata-Saver +{ + "Automata-Saver" f.title + "Ant" f.exec "xlock -nolock -mode ant -neighbors 4 +truchet &" + "Ant Truchet" f.exec "xlock -nolock -mode ant -neighbors 4 -truchet &" + "Ant3d" f.exec "xlock -nolock -mode ant3d &" + "Bee" f.exec "xlock -nolock -mode ant -neighbors 6 +truchet &" + "Bee Truchet" f.exec "xlock -nolock -mode ant -neighbors 6 -truchet &" + "Bug" f.exec "xlock -nolock -mode bug &" + "Demon" f.exec "xlock -nolock -mode demon &" + "Dilemma" f.exec "xlock -nolock -mode dilemma &" + "Life" f.exec "xlock -nolock -mode life &" + "Life Callahan" f.exec "xlock -nolock -mode life -callahan -size 7 &" + "Life1d" f.exec "xlock -nolock -mode life1d &" + "Life3d" f.exec "xlock -nolock -mode life3d &" + "Loop" f.exec "xlock -nolock -mode loop &" + "Petri" f.exec "xlock -nolock -mode petri &" + "Voters" f.exec "xlock -nolock -mode voters &" + "Wator" f.exec "xlock -nolock -mode wator &" + "Wire" f.exec "xlock -nolock -mode wire &" + "Random Automata" f.exec "xlock -nolock -mode random -modelist allautomata -fullrandom -neighbors 0 &" +} + +Menu Fractal-Saver +{ + "Fractal-Saver" f.title + "Coral" f.exec "xlock -nolock -mode coral &" + "Discrete" f.exec "xlock -nolock -mode discrete &" + "Dragon" f.exec "xlock -nolock -mode dragon &" + "Drift" f.exec "xlock -nolock -mode drift -fullrandom &" + "Euler2d" f.exec "xlock -nolock -mode euler2d &" + "Flame" f.exec "xlock -nolock -mode flame &" + "Flow" f.exec "xlock -nolock -mode flow &" + "Forest" f.exec "xlock -nolock -mode forest &" + "Hop" f.exec "xlock -nolock -mode hop -fullrandom &" + "IFS" f.exec "xlock -nolock -mode ifs &" + "Julia" f.exec "xlock -nolock -mode julia +trackmouse &" + "Juliaptr" f.exec "xlock -nolock -mode julia -trackmouse &" + "Kumppa" f.exec "xlock -nolock -mode kumppa &" + "Lightning" f.exec "xlock -nolock -mode lightning &" + "Lyapunov" f.exec "xlock -nolock -mode lyapunov -install &" + "Mandelbrot" f.exec "xlock -nolock -mode mandelbrot -install &" + "Mountain" f.exec "xlock -nolock -mode mountain &" + "Sierpinski" f.exec "xlock -nolock -mode sierpinski &" + "Strange" f.exec "xlock -nolock -mode strange &" + "Thornbird" f.exec "xlock -nolock -mode thornbird &" + "Triangle" f.exec "xlock -nolock -mode triangle &" + "Turtle" f.exec "xlock -nolock -mode turtle &" + "Vines" f.exec "xlock -nolock -mode vines &" + "Random Fractal" f.exec "xlock -nolock -mode random -modelist allfractal -fullrandom &" +} + +Menu Geometry-Saver +{ + "Geometry-Saver" f.title + "Apollonian" f.exec "xlock -nolock -mode apollonian &" + "Braid" f.exec "xlock -nolock -mode braid &" + "Fadeplot" f.exec "xlock -nolock -mode fadeplot &" + "Helix" f.exec "xlock -nolock -mode helix -fullrandom &" + "Hyper" f.exec "xlock -nolock -mode hyper &" + "Ico" f.exec "xlock -nolock -mode ico &" + "Kaleid" f.exec "xlock -nolock -mode kaleid &" + "Laser" f.exec "xlock -nolock -mode laser &" + "Lisa" f.exec "xlock -nolock -mode lisa &" + "Lissie" f.exec "xlock -nolock -mode lissie &" + "Penrose" f.exec "xlock -nolock -mode penrose +ammann &" + "Penrose Ammann" f.exec "xlock -nolock -mode penrose -ammann &" + "Petal" f.exec "xlock -nolock -mode petal &" + "Polyominoes" f.exec "xlock -nolock -mode polyominoes &" + "Qix" f.exec "xlock -nolock -mode qix +complete &" + "Qix complete" f.exec "xlock -nolock -mode qix -complete &" + "Rotor" f.exec "xlock -nolock -mode rotor &" + "Shape" f.exec "xlock -nolock -mode shape &" + "Sphere" f.exec "xlock -nolock -mode sphere &" + "Spiral" f.exec "xlock -nolock -mode spiral &" + "Spline" f.exec "xlock -nolock -mode spline &" + "Tik_Tak" f.exec "xlock -nolock -mode tik_tak &" + "Toneclock" f.exec "xlock -nolock -mode toneclock &" + "Random Geometry" f.exec "xlock -nolock -mode random -modelist allgeometry -fullrandom &" +} + +Menu Space-Saver +{ + "Space-Saver" f.title + "Bouboule" f.exec "xlock -nolock -mode bouboule +use3d &" + "Bouboule3d" f.exec "xlock -nolock -mode bouboule -use3d &" + "Galaxy" f.exec "xlock -nolock -mode galaxy &" + "Grav" f.exec "xlock -nolock -mode grav +trail +decay &" + "Grav Trail" f.exec "xlock -nolock -mode grav -trail &" + "Grav Decay" f.exec "xlock -nolock -mode grav -decay &" + "Rock" f.exec "xlock -nolock -mode star -rock &" + "Scooter" f.exec "xlock -nolock -mode scooter &" + "Space" f.exec "xlock -nolock -mode space &" + "Star" f.exec "xlock -nolock -mode star +rock +use3d +trek 0 &" + "Star3d" f.exec "xlock -nolock -mode star -use3d &" + "Star Trek" f.exec "xlock -nolock -mode star -trek 100 &" + "World" f.exec "xlock -nolock -mode world &" + "Random Space" f.exec "xlock -nolock -mode random -modelist allspace -fullrandom &" +} + +Menu Assorted-Saver +{ + "Assorted-Saver" f.title + "Anemone" f.exec "xlock -nolock -mode anemone &" + "Ball" f.exec "xlock -nolock -mode ball &" + "Blot" f.exec "xlock -nolock -mode blot &" + "Bounce" f.exec "xlock -nolock -mode bounce &" + "Bubble" f.exec "xlock -nolock -mode bubble &" + "Clock" f.exec "xlock -nolock -mode clock &" + "Crystal" f.exec "xlock -nolock -mode crystal &" + "Daisy" f.exec "xlock -nolock -mode daisy &" + "Dclock" f.exec "xlock -nolock -mode dclock &" + "Decay" f.exec "xlock -nolock -mode decay &" + "Deco" f.exec "xlock -nolock -mode deco &" + "Deluxe" f.exec "xlock -nolock -mode deluxe &" + "Eyes" f.exec "xlock -nolock -mode eyes +trackmouse &" + "Eyesptr" f.exec "xlock -nolock -mode eyes -trackmouse &" + "Fiberlamp" f.exec "xlock -nolock -mode fiberlamp &" + "Fzort" f.exec "xlock -nolock -mode fzort &" + "Goop" f.exec "xlock -nolock -mode goop &" + "Juggle" f.exec "xlock -nolock -mode juggle &" + "Marquee" f.exec "xlock -nolock -mode marquee &" + "Matrix" f.exec "xlock -nolock -mode matrix &" + "Munch" f.exec "xlock -nolock -mode munch &" + "Nose" f.exec "xlock -nolock -mode nose &" + "Pacman" f.exec "xlock -nolock -mode pacman &" + "Pyro" f.exec "xlock -nolock -mode pyro +use3d &" + "Pyro3d" f.exec "xlock -nolock -mode pyro -use3d &" + "Roll" f.exec "xlock -nolock -mode roll &" + "Slip" f.exec "xlock -nolock -mode slip &" + "Solitare" f.exec "xlock -nolock -mode solitare +trackmouse &" + "Solitareptr" f.exec "xlock -nolock -mode solitare -trackmouse &" + "Starfish" f.exec "xlock -nolock -mode starfish -install &" + "Swarm" f.exec "xlock -nolock -mode swarm +trackmouse &" + "Swarmptr" f.exec "xlock -nolock -mode swarm -trackmouse &" + "Swirl" f.exec "xlock -nolock -mode swirl -install &" + "T3d" f.exec "xlock -nolock -mode t3d &" + "Tetris" f.exec "xlock -nolock -mode tetris &" + "Tube" f.exec "xlock -nolock -mode tube -install &" + "Worm" f.exec "xlock -nolock -mode worm +use3d &" + "Worm3d" f.exec "xlock -nolock -mode worm -use3d &" + "Xcl" f.exec "xlock -nolock -mode xcl &" + "Xjack" f.exec "xlock -nolock -mode xjack &" +} + +Menu XPM-Saver +{ + "XPM-Saver" f.title + "Bat" f.exec "xlock -nolock -mode bat &" + "Image" f.exec "xlock -nolock -mode image &" + "Flag" f.exec "xlock -nolock -mode flag &" + "Life" f.exec "xlock -nolock -mode life &" + "Life1d" f.exec "xlock -nolock -mode life1d &" + "Maze" f.exec "xlock -nolock -mode maze &" + "Puzzle" f.exec "xlock -nolock -mode puzzle &" + "Random XPM" f.exec "xlock -nolock -mode random -modelist allxpm -fullrandom &" +} + +Menu GL-Saver +{ + "GL-Saver" f.title + "Atlantis" f.exec "xlock -nolock -mode atlantis &" + "Atunnels" f.exec "xlock -nolock -mode atunnels &" + "Bubble3d" f.exec "xlock -nolock -mode bubble3d &" + "Biof" f.exec "xlock -nolock -mode biof &" + "Cage" f.exec "xlock -nolock -mode cage &" + "Fire" f.exec "xlock -nolock -mode fire &" + "Gears" f.exec "xlock -nolock -mode gears &" + "GL-Planet" f.exec "xlock -nolock -mode glplanet &" + "Invert" f.exec "xlock -nolock -mode invert &" + "Lament" f.exec "xlock -nolock -mode lament &" + "Moebius" f.exec "xlock -nolock -mode moebius &" + "Molecule" f.exec "xlock -nolock -mode molecule &" + "Morph3d" f.exec "xlock -nolock -mode morph3d &" + "Noof" f.exec "xlock -nolock -mode noof &" + "Pipes" f.exec "xlock -nolock -mode pipes &" + "Rubik" f.exec "xlock -nolock -mode rubik &" + "Sballs" f.exec "xlock -nolock -mode sballs &" + "Sierpinski3d" f.exec "xlock -nolock -mode sierpinski3d &" + "Sproingies" f.exec "xlock -nolock -mode sproingies &" + "Stairs" f.exec "xlock -nolock -mode stairs &" + "Superquadrics" f.exec "xlock -nolock -mode superquadrics &" + "Text3d" f.exec "xlock -nolock -mode text3d -message "$LOGNAME" &" + "Random GL" f.exec "xlock -nolock -mode random -modelist allgl -fullrandom &" +} + +Menu Marquee-Message-Saver +{ + "Marquee-Message-Saver" f.title + "Brilliant" f.exec "xlock -nolock -mode marquee -message "WOW! $LOGNAME, You are Brilliant! " &" + "Love You" f.exec "xlock -mode marquee -message "You know, I Love You $LOGNAME." &" + "Available" f.exec "xlock -mode marquee -message "Hey, I am available now! " &" +} + +Menu Nose-Message-Saver +{ + "Nose-Message-Saver" f.title + "Brilliant!" f.exec "xlock -mode nose -message "WOW! $LOGNAME, You are Briilliant! " + "Love You" f.exec "xlock -mode nose -message "You know, I Love You $LOGNAME." &" + "Available" f.exec "xlock -mode nose -message "Hey, I am available now! " &" +} + +Menu Xjack-Message-Saver +{ + "Xjack-Message-Saver" f.title + "Crazy Boy" f.exec "xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" f.exec "xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." &" +} + +Menu Special-Saver +{ + "Special-Saver" f.title + "Blank" f.exec "xlock -nolock -mode blank &" + "Bomb" f.exec "xlock -nolock -mode bomb &" + "Random nice" f.exec "xlock -nolock -mode random -modelist allnice -fullrandom -neighbors 0 &" + "Random standard" f.exec "xlock -nolock -mode random -modelist all-allgl -fullrandom -neighbors 0 &" + "Random all" f.exec "xlock -nolock -mode random -modelist all -fullrandom -neighbors 0 &" + "Random 3d" f.exec "xlock -nolock -mode random -modelist all3d -use3d -fullranodm &" + "Random ptr" f.exec "xlock -nolock -mode random -modelist allmouse -trackmouse -fullrandom &" + "Random write" f.exec "xlock -nolock -mode random -modelist allwrite -fullrandom &" +} + +Menu Screensaver +{ + "Screensaver" f.title + "Cellular Automata" f.menu Automata-Saver + no-label f.separator + "Fractal" f.menu Fractal-Saver + no-label f.separator + "Geometry" f.menu Geometry-Saver + no-label f.separator + "Space" f.menu Space-Saver + no-label f.separator + "Assorted" f.menu Assorted-Saver + no-label f.separator + "XPM" f.menu XPM-Saver + no-label f.separator + "GL" f.menu GL-Saver + no-label f.separator + "Marquee Message" f.menu Marquee-Message-Saver + no-label f.separator + "Nose Message" f.menu Nose-Message-Saver + no-label f.separator + "Xjack Message" f.menu Xjack-Message-Saver + no-label f.separator + "Special" f.menu Special-Saver +} + +Menu "Lock_Saver" +{ + "Lock_Saver" f.title + "Screenlock" f.menu Screenlock + "Screensaver" f.menu Screensaver +} diff --git a/app/xlockmore/etc/system.olwmrc.xlock b/app/xlockmore/etc/system.olwmrc.xlock new file mode 100644 index 000000000..bf8bf8ce2 --- /dev/null +++ b/app/xlockmore/etc/system.olwmrc.xlock @@ -0,0 +1,412 @@ +# Add this to your system or personal menu file +# System: /usr/openwin/lib/openwin-menu +# Personal $HOME/.openwin-menu +# Put this in your menu uncommented. +# "Lock_Saver" MENU $THISFILEPATH/system.olwmrc.xlock + +# put this in your $OPENWINHOME/lib, usually $OPENWINHOME is /usr/openwin + +"Screenlock" MENU + "Screenlock" TITLE PIN + "Cellular Automata" MENU + "Automata" TITLE + "Ant" exec xlock -mode ant -neighbors 4 +truchet + "Ant Truchet" exec xlock -mode ant -neighbors 4 -truchet + "Ant3d" exec xlock -mode ant3d + "Bee" exec xlock -mode ant -neighbors 6 +truchet + "Bee Truchet" exec xlock -mode ant -neighbors 6 -truchet + "Bug" exec xlock -mode bug + "Demon" exec xlock -mode demon + "Dilemma" exec xlock -mode dilemma + "Life" exec xlock -mode life + "Life Callahan" exec xlock -mode life -callahan -size 7 + "Life1d" exec xlock -mode life1d + "Life3d" exec xlock -mode life3d + "Loop" exec xlock -mode loop + "Petri" exec xlock -mode petri + "Voters" exec xlock -mode voters + "Wator" exec xlock -mode wator + "Wire" exec xlock -mode wire + "Random Automata" DEFAULT exec xlock -mode random -modelist allautomata -fullrandom -neighbors 0 + "Cellular Automata" END + "Fractal" MENU + "Fractal" TITLE + "Coral" exec xlock -mode coral + "Discrete" exec xlock -mode discrete + "Dragon" exec xlock -mode dragon + "Drift" exec xlock -mode drift -fullrandom + "Euler2d" exec xlock -mode euler2d + "Flame" exec xlock -mode flame + "Flow" exec xlock -mode flow + "Forest" exec xlock -mode forest + "Hop" exec xlock -mode hop -fullrandom + "IFS" exec xlock -mode ifs + "Julia" exec xlock -mode julia +trackmouse + "Juliaptr" exec xlock -mode julia -trackmouse + "Kumppa" exec xlock -mode kumppa + "Lightning" exec xlock -mode lightning + "Lyapunov" exec xlock -mode lyaponov -install + "Mandelbrot" exec xlock -mode mandelbrot -install + "Mountain" exec xlock -mode mountain + "Sierpinski" exec xlock -mode sierpinski + "Strange" exec xlock -mode strange + "Thornbird" exec xlock -mode thornbird + "Triangle" exec xlock -mode triangle + "Turtle" exec xlock -mode turtle + "Vines" exec xlock -mode vines + "Random Fractal" DEFAULT exec xlock -mode random -modelist allfractal -fullrandom + "Fractal" END + "Geometry" MENU + "Geometry" TITLE + "Apollonian" exec xlock -mode apollonian + "Braid" exec xlock -mode braid + "Fadeplot" exec xlock -mode fadeplot + "Helix" exec xlock -mode helix -fullrandom + "Hyper" exec xlock -mode hyper + "Ico" exec xlock -mode ico + "Kaleid" exec xlock -mode kaleid + "Laser" exec xlock -mode laser + "Lisa" exec xlock -mode lisa + "Lissie" exec xlock -mode lissie + "Penrose" exec xlock -mode penrose +ammann + "Penrose Ammann" exec xlock -mode penrose -ammann + "Petal" exec xlock -mode petal + "Polyominoes" exec xlock -mode polyominoes + "Qix" exec xlock -mode qix +complete + "Qix complete" exec xlock -mode qix -complete + "Shape" exec xlock -mode shape + "Sphere" exec xlock -mode sphere + "Spiral" exec xlock -mode spiral + "Spline" exec xlock -mode spline + "Tik_Tak" exec xlock -mode tik_tak + "Toneclock" exec xlock -mode toneclock + "Random Geometry" DEFAULT exec xlock -mode random -modelist allgeometry -fullrandom + "Geometry" END + "Space" MENU + "Space" TITLE + "Bouboule" exec xlock -mode bouboule +use3d + "Bouboule3d" exec xlock -mode bouboule -use3d + "Galaxy" exec xlock -mode galaxy + "Grav" exec xlock -mode grav +trail +grav + "Grav Trail" exec xlock -mode grav -trail + "Grav Decay" exec xlock -mode grav -grav + "Rock" exec xlock -mode star -rock + "Scooter" exec xlock -mode scooter + "Space" exec xlock -mode space + "Star" exec xlock -mode star +rock +use3d -trek 0 + "Star3d" exec xlock -mode star -use3d + "Star Trek" exec xlock -mode star -trek 100 + "World" exec xlock -mode world + "Random Space" DEFAULT exec xlock -mode random -modelist allspace -fullrandom + "Space" END + "Assorted" MENU + "Assorted" TITLE + "Anemone" exec xlock -mode anemone + "Ball" exec xlock -mode ball + "Blot" exec xlock -mode blot + "Bounce" exec xlock -mode bounce + "Bubble" exec xlock -mode bubble + "Clock" exec xlock -mode clock + "Crystal" DEFAULT exec xlock -mode crystal + "Daisy" exec xlock -mode daisy + "Dclock" exec xlock -mode dclock + "Decay" exec xlock -mode decay + "Deco" exec xlock -mode deco + "Deluxe" exec xlock -mode deluxe + "Eyes" exec xlock -mode eyes +trackmouse + "Eyesptr" exec xlock -mode eyes -trackmouse + "Fiberlamp" exec xlock -mode fiberlamp + "Fzort" exec xlock -mode fzort + "Goop" exec xlock -mode goop + "Juggle" exec xlock -mode juggle + "Marquee" exec xlock -mode marquee + "Matrix" exec xlock -mode matrix + "Munch" exec xlock -mode munch + "Nose" exec xlock -mode nose + "Pacman" exec xlock -mode pacman + "Pyro" exec xlock -mode pyro +use3d + "Pyro3d" exec xlock -mode pyro -use3d + "Roll" exec xlock -mode roll + "Rotor" exec xlock -mode rotor + "Slip" exec xlock -mode slip + "Solitare" exec xlock -mode solitare +trackmouse + "Solitareptr" exec xlock -mode solitare -trackmouse + "Starfish" exec xlock -mode starfish -install + "Swarm" exec xlock -mode swarm +trackmouse + "Swarmptr" exec xlock -mode swarm -trackmouse + "Swirl" exec xlock -mode swirl -install + "T3d" exec xlock -mode t3d + "Tetris" exec xlock -mode tetris + "Tube" exec xlock -mode tube -install + "Worm" exec xlock -mode worm +use3d + "Worm3d" exec xlock -mode worm -use3d + "Xcl" exec xlock -mode xcl + "Xjack" exec xlock -mode xjack + "Assorted" END + "XPM" MENU + "Bat" exec xlock -mode bat + "Image" exec xlock -mode image + "Flag" exec xlock -mode flag + "Life" exec xlock -mode life + "Life1d" exec xlock -mode life1d + "Maze" exec xlock -mode maze + "Puzzle" exec xlock -mode puzzle + "Random XPM" DEFAULT exec xlock -mode random -modelist allxpm -fullrandom + "XPM" END + "GL" MENU + "GL" TITLE + "Atlantis" exec xlock -mode atlantis + "Atunnels" exec xlock -mode atunnels + "Bubble3d" exec xlock -mode bubble3d + "Biof" exec xlock -mode biof + "Cage" exec xlock -mode cage + "Fire" exec xlock -mode fire + "Gears" exec xlock -mode gears + "GL-Planet" exec xlock -mode glplanet + "Invert" exec xlock -mode invert + "Lament" exec xlock -mode lament + "Moebius" exec xlock -mode moebius + "Molecule" exec xlock -mode molecule + "Morph3d" exec xlock -mode morph3d + "Noof" exec xlock -mode noof + "Pipes" exec xlock -mode pipes + "Rubik" exec xlock -mode rubik + "Sballs" exec xlock -mode sballs + "Sierpinski3d" exec xlock -mode sierpinski3d + "Sproingies" exec xlock -mode sproingies + "Stairs" exec xlock -mode stairs + "Superquadrics" exec xlock -mode superquadrics + "Text3d" exec xlock -mode text3d -message "$LOGNAME" + "Random GL" DEFAULT exec xlock -mode random -modelist allgl -fullrandom + "GL" END + "Marquee Messages" MENU + "Marquee Messages" TITLE + "Back Soon" DEFAULT exec xlock -mode marquee -message "$LOGNAME will be back soon." + "Overnight" exec xlock -mode marquee -message "$LOGNAME will be back in the morning." + "Rude" exec xlock -mode marquee -message "$LOGNAME not here, please go away! " + "Marquee Messages" END + "Nose Messages" MENU + "Nose Messages" TITLE + "Back Soon" DEFAULT exec xlock -mode nose -message "$LOGNAME will be back soon." + "Overnight" exec xlock -mode nose -message "$LOGNAME will be back in the morning." + "Rude" exec xlock -mode nose -message "$LOGNAME not here, please go away! " + "Nose Messages" END + "Xjack Messages" MENU + "Nose Messages" TITLE + "Crazy Boy" DEFAULT exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" exec xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." + "Xjack Messages" END + "Special" DEFAULT MENU + "Special" TITLE + "Blank" exec xlock -mode blank + "Transparent" exec xlock -mode blank -geometry 1x1 -enablesaver + "Bomb" exec xlock -mode bomb + "Random nice" exec xlock -mode random -modelist allnice -fullrandom -neighbors 0 + "Random standard" exec xlock -mode random -modelist all-allgl -fullrandom -neighbors 0 + "Random all" DEFAULT exec xlock -mode random -modelist all -fullrandom -neighbors 0 + "Random 3d" exec xlock -modelist all3d -use3d -fullrandom + "Random ptr" exec xlock -modelist allmouse -trackmouse -fullrandom + "Random write" exec xlock -modelist allwrite -fullrandom + "Special" END +"Screenlock" END +"Screensaver" MENU + "Screensaver" TITLE PIN + "Cellular-Automata" MENU + "Automata" TITLE + "Ant" exec xlock -nolock -mode ant -neighbors 4 +truchet + "Ant Truchet" exec xlock -nolock -mode ant -neighbors 4 -truchet + "Ant3d" exec xlock -nolock -mode ant3d + "Bee" exec xlock -nolock -mode ant -neighbors 6 +truchet + "Bee Truchet" exec xlock -nolock -mode ant -neighbors 6 -truchet + "Bug" exec xlock -nolock -mode bug + "Demon" exec xlock -nolock -mode demon + "Dilemma" exec xlock -nolock -mode dilemma + "Life" exec xlock -nolock -mode life + "Life Callahan" exec xlock -nolock -mode life -callahan -size 7 + "Life1d" exec xlock -nolock -mode life1d + "Life3d" exec xlock -nolock -mode life3d + "Loop" exec xlock -nolock -mode loop + "Petri" exec xlock -nolock -mode petri + "Voters" exec xlock -nolock -mode voters + "Wator" exec xlock -nolock -mode wator + "Wire" exec xlock -nolock -mode wire + "Random Automata" DEFAULT exec xlock -nolock -mode random -modelist allautomata -fullrandom -neighbors 0 + "Cellular-Automata" END + "Fractal" MENU + "Fractal" TITLE + "Coral" exec xlock -nolock -mode coral + "Discrete" exec xlock -nolock -mode discrete + "Dragon" exec xlock -nolock -mode dragon + "Drift" exec xlock -nolock -mode drift -fullrandom + "Euler2d" exec xlock -nolock -mode euler2d + "Flame" exec xlock -nolock -mode flame + "Flow" exec xlock -nolock -mode flow + "Forest" exec xlock -nolock -mode forest + "Hop" exec xlock -nolock -mode hop -fullrandom + "IFS" exec xlock -nolock -mode ifs + "Julia" exec xlock -nolock -mode julia +trackmouse + "Juliaptr" exec xlock -nolock -mode julia -trackmouse + "Kumppa" exec xlock -nolock -mode kumppa + "Lightning" exec xlock -nolock -mode lightning + "Lyapunov" exec xlock -nolock -mode lyapunov -install + "Mandelbrot" exec xlock -nolock -mode mandelbrot -install + "Mountain" exec xlock -nolock -mode mountain + "Sierpinski" exec xlock -nolock -mode sierpinski + "Strange" exec xlock -nolock -mode strange + "Thornbird" exec xlock -nolock -mode thornbird + "Triangle" exec xlock -nolock -mode triangle + "Turtle" exec xlock -nolock -mode turtle + "Vines" exec xlock -nolock -mode vines + "Random Fractal" DEFAULT exec xlock -nolock -mode random -modelist allfractal -fullrandom + "Fractal" END + "Geometry" MENU + "Geometry" TITLE + "Apollonian" exec xlock -nolock -mode apollonian + "Braid" exec xlock -nolock -mode braid + "Fadeplot" exec xlock -nolock -mode fadeplot + "Helix" exec xlock -nolock -mode helix -fullrandom + "Hyper" exec xlock -nolock -mode hyper + "Ico" exec xlock -nolock -mode ico + "Kaleid" exec xlock -nolock -mode kaleid + "Laser" exec xlock -nolock -mode laser + "Lisa" exec xlock -nolock -mode lisa + "Lissie" exec xlock -nolock -mode lissie + "Penrose" exec xlock -nolock -mode penrose +ammann + "Penrose Ammann" exec xlock -nolock -mode penrose -ammann + "Petal" exec xlock -nolock -mode petal + "Polyominoes" exec xlock -nolock -mode polyominoes + "Qix" exec xlock -nolock -mode qix +complete + "Qix complete" exec xlock -nolock -mode qix -complete + "Shape" exec xlock -nolock -mode shape + "Sphere" exec xlock -nolock -mode sphere + "Spiral" exec xlock -nolock -mode spiral + "Spline" exec xlock -nolock -mode spline + "Tik_Tak" exec xlock -nolock -mode tik_tak + "Toneclock" exec xlock -nolock -mode toneclock + "Random Geometry" DEFAULT exec xlock -nolock -mode random -modelist allgeometry -fullrandom + "Geometry" END + "Space" MENU + "Space" TITLE + "Bouboule" exec xlock -nolock -mode bouboule +use3d + "Bouboule3d" exec xlock -nolock -mode bouboule -use3d + "Galaxy" exec xlock -nolock -mode galaxy + "Grav" exec xlock -nolock -mode grav +trail +decay + "Grav Trail" exec xlock -nolock -mode grav -trail + "Grav Decay" exec xlock -nolock -mode grav -decay + "Rock" exec xlock -nolock -mode star -rock +use3d -trek 0 + "Scooter" exec xlock -nolock -mode scooter + "Space" exec xlock -nolock -mode space + "Star" exec xlock -nolock -mode star +rock +use3d -trek 0 + "Star3d" exec xlock -nolock -mode star -use3d + "Star Trek" exec xlock -nolock -mode star -trek 100 + "World" exec xlock -nolock -mode world + "Random Space" DEFAULT exec xlock -nolock -mode random -modelist allspace -fullrandom + "Space" END + "Assorted" MENU + "Assorted" TITLE + "Anemone" exec xlock -nolock -mode anemone + "Ball" exec xlock -nolock -mode ball + "Blot" exec xlock -nolock -mode blot + "Bounce" exec xlock -nolock -mode bounce + "Bubble" exec xlock -nolock -mode bubble + "Clock" exec xlock -nolock -mode clock + "Crystal" DEFAULT exec xlock -nolock -mode crystal + "Daisy" exec xlock -nolock -mode daisy + "Dclock" exec xlock -nolock -mode dclock + "Decay" exec xlock -nolock -mode decay + "Deco" exec xlock -nolock -mode deco + "Deluxe" exec xlock -nolock -mode deluxe + "Eyes" exec xlock -nolock -mode eyes +trackmouse + "Eyesptr" exec xlock -nolock -mode eyes -trackmouse + "Fiberlamp" exec xlock -nolock -mode fiberlamp + "Fzort" exec xlock -nolock -mode fzort + "Goop" exec xlock -nolock -mode goop + "Juggle" exec xlock -nolock -mode juggle + "Marquee" exec xlock -nolock -mode marquee + "Matrix" exec xlock -nolock -mode matrix + "Munch" exec xlock -nolock -mode munch + "Nose" exec xlock -nolock -mode nose + "Pacman" exec xlock -nolock -mode pacman + "Pyro" exec xlock -nolock -mode pyro +use3d + "Pyro3d" exec xlock -nolock -mode pyro -use3d + "Roll" exec xlock -nolock -mode roll + "Rotor" exec xlock -nolock -mode rotor + "Slip" exec xlock -nolock -mode slip + "Solitare" exec xlock -nolock -mode solitare +trackmouse + "Solitareptr" exec xlock -nolock -mode solitare -trackmouse + "Starfish" exec xlock -nolock -mode starfish -install + "Swarm" exec xlock -nolock -mode swarm +trackmouse + "Swarmptr" exec xlock -nolock -mode swarm -trackmouse + "Swirl" exec xlock -nolock -mode swirl -install + "T3d" exec xlock -nolock -mode t3d + "Tetris" exec xlock -nolock -mode tetris + "Tube" exec xlock -nolock -mode tube -install + "Worm" exec xlock -nolock -mode worm +use3d + "Worm3d" exec xlock -nolock -mode worm -use3d + "Xcl" exec xlock -nolock -mode xcl + "Xjack" exec xlock -nolock -mode xjack + "Assorted" END + "XPM" MENU + "Bat" exec xlock -nolock -mode bat + "Image" exec xlock -nolock -mode image + "Flag" exec xlock -nolock -mode flag + "Life" exec xlock -nolock -mode life + "Life1d" exec xlock -nolock -mode life1d + "Maze" exec xlock -nolock -mode maze + "Puzzle" exec xlock -nolock -mode puzzle + "Random XPM" DEFAULT exec xlock -nolock -mode random -modelist allxpm -fullrandom + "XPM" END + "GL" MENU + "Atlantis" exec xlock -nolock -mode atlantis + "Atunnels" exec xlock -nolock -mode atunnels + "Bubble3d" exec xlock -nolock -mode bubble3d + "Biof" exec xlock -nolock -mode biof + "Cage" exec xlock -nolock -mode cage + "Fire" exec xlock -nolock -mode fire + "Gears" exec xlock -nolock -mode gears + "GL-Planet" exec xlock -nolock -mode glplanet + "Invert" exec xlock -nolock -mode invert + "Lament" exec xlock -nolock -mode lament + "Moebius" exec xlock -nolock -mode moebius + "Molecule" exec xlock -nolock -mode molecule + "Morph3d" exec xlock -nolock -mode morph3d + "Noof" exec xlock -nolock -mode noof + "Pipes" exec xlock -nolock -mode pipes + "Rubik" exec xlock -nolock -mode rubik + "Sballs" exec xlock -nolock -mode sballs + "Sierpinski3d" exec xlock -nolock -mode sierpinski3d + "Sproingies" exec xlock -nolock -mode sproingies + "Stairs" exec xlock -nolock -mode stairs + "Superquadrics" exec xlock -nolock -mode superquadrics + "Text3d" exec xlock -nolock -mode text3d -message "$LOGNAME" + "Random GL" DEFAULT exec xlock -nolock -mode random -modelist allgl -fullrandom + "GL" END + "Marquee Messages" MENU + "Marquee Messages" TITLE + "Brilliant" exec xlock -nolock -mode marquee -message "WOW! $LOGNAME, You are Brilliant! " + "Love You" exec xlock -nolock -mode marquee -message "You know, I Love You $LOGNAME." + "Available" exec xlock -nolock -mode marquee -message "Hey, I am available now! " + "Marquee Messages" END + "Nose Messages" MENU + "Nose Messages" TITLE + "Brilliant" exec xlock -nolock -mode nose -message "WOW! $LOGNAME, You are Brilliant! " + "Love You" exec xlock -nolock -mode nose -message "You know, I Love You $LOGNAME." + "Available" exec xlock -nolock -mode nose -message "Hey, I am available now! " + "Nose Messages" END + "Xjack Messages" MENU + "Xjack Messages" TITLE + "Crazy Boy" exec xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" exec xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." + "Xjack Messages" END + "Special" DEFAULT MENU + "Special" TITLE + "Blank" exec xlock -nolock -mode blank + "Bomb" exec xlock -nolock -mode bomb + "Random nice" exec xlock -nolock -mode random -modelist allnice -fullrandom -neighbors 0 + "Random standard" exec xlock -nolock -mode random -modelist all-allgl -fullrandom -neighbors 0 + "Random all" DEFAULT exec xlock -nolock -mode random -modelist all -fullrandom -neighbors 0 + "Random 3d" exec xlock -nolock -modelist all3d -use3d -fullrandom + "Random ptr" exec xlock -nolock -modelist allmouse -trackmouse -fullrandom + "Random write" exec xlock -nolock -modelist allwrite -fullrandom + "Special" END +"Screensaver" END diff --git a/app/xlockmore/etc/system.wmrc.xlock b/app/xlockmore/etc/system.wmrc.xlock new file mode 100644 index 000000000..fbafe48d1 --- /dev/null +++ b/app/xlockmore/etc/system.wmrc.xlock @@ -0,0 +1,413 @@ +# Copy this to your personal Library directory for WindowMaker: +# $HOME/GNUstep/Library/WindowMaker/ +# And add this to $HOME/GNUstep/Library/WindowMaker/menu (or menu.xx) +# Put this in your "Workspace" menu +# "Lock_Saver" OPEN_MENU system.wmrc.xlock + +"Lock_Saver" MENU +"ScreenLock" MENU +"Automata" MENU + "Ant" EXEC xlock -mode ant -neighbors 4 +truchet + "Ant Truchet" EXEC xlock -mode ant -neighbors 4 -truchet + "Ant3d" EXEC xlock -mode ant3d + "Bee" EXEC xlock -mode ant -neighbors 6 +truchet + "Bee Truchet" EXEC xlock -mode ant -neighbors 6 -truchet + "Bug" EXEC xlock -mode bug + "Demon" EXEC xlock -mode demon + "Dilemma" EXEC xlock -mode dilemma + "Life" EXEC xlock -mode life + "Life Callahan" EXEC xlock -mode life -callahan -size 7 + "Life1d" EXEC xlock -mode life1d + "Life3d" EXEC xlock -mode life3d + "Loop" EXEC xlock -mode loop + "Petri" EXEC xlock -mode petri + "Voters" EXEC xlock -mode voters + "Wator" EXEC xlock -mode wator + "Wire" EXEC xlock -mode wire + "Random" EXEC xlock -mode random -modelist allautomata -fullrandom -neighbors 0 +"Automata" END + +"Fractal" MENU + "Coral" EXEC xlock -mode coral + "Discrete" EXEC xlock -mode discrete + "Dragon" EXEC xlock -mode dragon + "Drift" EXEC xlock -mode drift -fullrandom + "Euler2d" EXEC xlock -mode euler2d + "Flame" EXEC xlock -mode flame + "Flow" EXEC xlock -mode flow + "Forest" EXEC xlock -mode forest + "Hop" EXEC xlock -mode hop -fullrandom + "IFS" EXEC xlock -mode ifs + "Julia" EXEC xlock -mode julia +trackmouse + "Juliaptr" EXEC xlock -mode julia -trackmouse + "Kumppa" EXEC xlock -mode kumppa + "Lightning" EXEC xlock -mode lightning + "Lyapunov" EXEC xlock -mode lyapunov -install + "Mandelbrot" EXEC xlock -mode mandelbrot -install + "Mountain" EXEC xlock -mode mountain + "Sierpinski" EXEC xlock -mode sierpinski + "Strange" EXEC xlock -mode strange + "Thornbird" EXEC xlock -mode thornbird + "Triangle" EXEC xlock -mode triangle + "Turtle" EXEC xlock -mode turtle + "Vines" EXEC xlock -mode vines + "Random" EXEC xlock -mode random -modelist allfractal -fullrandom +"Fractal" END + +"Geometry" MENU + "Apollonian" EXEC xlock -mode apollonian + "Braid" EXEC xlock -mode braid + "Fadeplot" EXEC xlock -mode fadeplot + "Helix" EXEC xlock -mode helix -fullrandom + "Hyper" EXEC xlock -mode hyper + "Ico" EXEC xlock -mode ico + "Kaleid" EXEC xlock -mode kaleid + "Laser" EXEC xlock -mode laser + "Lisa" EXEC xlock -mode lisa + "Lissie" EXEC xlock -mode lissie + "Penrose" EXEC xlock -mode penrose +ammann + "Penrose Ammann" EXEC xlock -mode penrose -ammann + "Petal" EXEC xlock -mode petal + "Polyominoes" EXEC xlock -mode polyominoes + "Qix" EXEC xlock -mode qix +complete + "Qix complete" EXEC xlock -mode qix -complete + "Rotor" EXEC xlock -mode rotor + "Shape" EXEC xlock -mode shape + "Sphere" EXEC xlock -mode sphere + "Spiral" EXEC xlock -mode spiral + "Spline" EXEC xlock -mode spline + "Tik_Tak" EXEC xlock -mode tik_tak + "Toneclock" EXEC xlock -mode toneclock + "Random" EXEC xlock -mode random -modelist allgeometry -fullrandom +"Geometry" END + +"Space" MENU + "Bouboule" EXEC xlock -mode bouboule +use3d + "Bouboule3d" EXEC xlock -mode bouboule -use3d + "Galaxy" EXEC xlock -mode galaxy + "Grav" EXEC xlock -mode grav +trail +decay + "Grav Trail" EXEC xlock -mode grav -trail + "Grav Decay" EXEC xlock -mode grav -decay + "Rock" EXEC xlock -mode star -rock + "Scooter" EXEC xlock -mode scooter + "Space" EXEC xlock -mode space + "Star" EXEC xlock -mode star +rock +use3d +trek 0 + "Star3d" EXEC xlock -mode star -use3d + "Star Trek" EXEC xlock -mode star -trek 100 + "World" EXEC xlock -mode world + "Random Space" EXEC xlock -mode random -modelist allspace +"Space" END + +"Assorted" MENU + "Anemone" EXEC xlock -mode anemone + "Ball" EXEC xlock -mode ball + "Blot" EXEC xlock -mode blot + "Bounce" EXEC xlock -mode bounce + "Bubble" EXEC xlock -mode bubble + "Clock" EXEC xlock -mode clock + "Crystal" EXEC xlock -mode crystal + "Daisy" EXEC xlock -mode daisy + "Dclock" EXEC xlock -mode dclock + "Decay" EXEC xlock -mode decay + "Deco" EXEC xlock -mode deco + "Deluxe" EXEC xlock -mode deluxe + "Eyes" EXEC xlock -mode eyes +trackmouse + "Eyesptr" EXEC xlock -mode eyes -trackmouse + "Fiberlamp" EXEC xlock -mode fiberlamp + "Fzort" EXEC xlock -mode fzort + "Goop" EXEC xlock -mode goop + "Juggle" EXEC xlock -mode juggle + "Marquee" EXEC xlock -mode marquee + "Matrix" EXEC xlock -mode matrix + "Munch" EXEC xlock -mode munch + "Nose" EXEC xlock -mode nose + "Pacman" EXEC xlock -mode pacman + "Pyro" EXEC xlock -mode pyro +use3d + "Pyro3d" EXEC xlock -mode pyro -use3d + "Roll" EXEC xlock -mode roll + "Slip" EXEC xlock -mode slip + "Solitare" EXEC xlock -mode solitare +trackmouse + "Solitareptr" EXEC xlock -mode solitare -trackmouse + "Starfish" EXEC xlock -mode starfish -install + "Swarm" EXEC xlock -mode swarm +trackmouse + "Swarmptr" EXEC xlock -mode swarm -trackmouse + "Swirl" EXEC xlock -mode swirl -install + "T3d" EXEC xlock -mode t3d + "Tetris" EXEC xlock -mode tetris + "Tube" EXEC xlock -mode tube -install + "Worm" EXEC xlock -mode worm +use3d + "Worm3d" EXEC xlock -mode worm -use3d + "Xcl" EXEC xlock -mode xcl + "Xjack" EXEC xlock -mode xjack +"Assorted" END + +"XPM" MENU + "Bat" EXEC xlock -mode bat + "Image" EXEC xlock -mode image + "Flag" EXEC xlock -mode flag + "Life" EXEC xlock -mode life + "Life1d" EXEC xlock -mode life1d + "Maze" EXEC xlock -mode maze + "Puzzle" EXEC xlock -mode puzzle + "Random" EXEC xlock -mode random -modelist allxpm -fullrandom +"XPM" END + +"GL" MENU + "Atlantis" EXEC xlock -mode atlantis + "Atunnels" EXEC xlock -mode atunnels + "Bubble3d" EXEC xlock -mode bubble3d + "Biof" EXEC xlock -mode biof + "Cage" EXEC xlock -mode cage + "Fire" EXEC xlock -mode fire + "Gears" EXEC xlock -mode gears + "GL-Planet" EXEC xlock -mode glplanet + "Invert" EXEC xlock -mode invert + "Lament" EXEC xlock -mode lament + "Moebius" EXEC xlock -mode moebius + "Molecule" EXEC xlock -mode molecule + "Morph3d" EXEC xlock -mode morph3d + "Noof" EXEC xlock -mode noof + "Pipes" EXEC xlock -mode pipes + "Rubik" EXEC xlock -mode rubik + "Sballs" EXEC xlock -mode sballs + "Sierpinski3d" EXEC xlock -mode sierpinski3d + "Sproingies" EXEC xlock -mode sproingies + "Stairs" EXEC xlock -mode stairs + "Superquadrics" EXEC xlock -mode superquadrics + "Text3d" EXEC xlock -mode text3d -message "$LOGNAME" + "Random" EXEC xlock -mode random -modelist allgl -fullrandom +"GL" END + +"Marquee-Message" MENU + "Back Soon" EXEC xlock -mode marquee -message "$LOGNAME will be back soon." + "Overnight" EXEC xlock -mode marquee -message "$LOGNAME will be back in the morning." + "Rude" EXEC xlock -mode marquee -message "$LOGNAME not here, please go away!" +"Marquee-Message" END + +"Nose-Message" MENU + "Back Soon" EXEC xlock -mode nose -message "$LOGNAME will be back soon." + "Overnight" EXEC xlock -mode nose -message "$LOGNAME will be back in the morning." + "Rude" EXEC xlock -mode nose -message "$LOGNAME not here, please go away!" +"Nose-Message" END + +"Xjack-Message" MENU + "Crazy Boy" EXEC xlock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" EXEC xlock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." +"Xjack-Message" END + +"Special" MENU + "Blank" EXEC xlock -mode blank + "Transparent" EXEC xlock -mode blank -geometry 1x1 -enablesaver + "Bomb" EXEC xlock -mode bomb + "Random nice" EXEC xlock -mode random -modelist allnice -fullrandom -neighbors 0 + "Random standard" EXEC xlock -mode random -modelist all-allgl -fullrandom -neighbors 0 + "Random all" EXEC xlock -mode random -modelist all -fullrandom -neighbors 0 + "Random 3d" EXEC xlock -mode random -modelist all3d -use3d -fullrandom + "Random ptr" EXEC xlock -mode random -modelist allmouse -trackmouse -fullrandom + "Random write" EXEC xlock -mode random -modelist allwrite -install -fullrandom +"Special" END +"ScreenLock" END + +"ScreenSaver" MENU +"Automata" MENU + "Ant" EXEC xlock -nolock -mode ant -neighbors 4 +truchet + "Ant Truchet" EXEC xlock -nolock -mode ant -neighbors 4 -truchet + "Ant3d" EXEC xlock -nolock -mode ant3d + "Bee" EXEC xlock -nolock -mode ant -neighbors 6 +truchet + "Bee Truchet" EXEC xlock -nolock -mode ant -neighbors 6 -truchet + "Bug" EXEC xlock -nolock -mode bug + "Demon" EXEC xlock -nolock -mode demon + "Dilemma" EXEC xlock -nolock -mode dilemma + "Life" EXEC xlock -nolock -mode life + "Life Callahan" EXEC xlock -nolock -mode life -callahan -size 7 + "Life1d" EXEC xlock -nolock -mode life1d + "Life3d" EXEC xlock -nolock -mode life3d + "Loop" EXEC xlock -nolock -mode loop + "Petri" EXEC xlock -nolock -mode petri + "Voters" EXEC xlock -nolock -mode voters + "Wator" EXEC xlock -nolock -mode wator + "Wire" EXEC xlock -nolock -mode wire + "Random" EXEC xlock -nolock -mode random -modelist allautomata -fullrandom -neighbors 0 +"Automata" END + +"Fractal" MENU + "Coral" EXEC xlock -nolock -mode coral + "Discrete" EXEC xlock -nolock -mode discrete + "Dragon" EXEC xlock -nolock -mode dragon + "Drift" EXEC xlock -nolock -mode drift -fullrandom + "Euler2d" EXEC xlock -nolock -mode euler2d + "Flame" EXEC xlock -nolock -mode flame + "Flow" EXEC xlock -nolock -mode flow + "Forest" EXEC xlock -nolock -mode forest + "Hop" EXEC xlock -nolock -mode hop -fullrandom + "IFS" EXEC xlock -nolock -mode ifs + "Julia" EXEC xlock -nolock -mode julia +trackmouse + "Juliaptr" EXEC xlock -nolock -mode julia -trackmouse + "Kumppa" EXEC xlock -nolock -mode kumppa + "Lightning" EXEC xlock -nolock -mode lightning + "Lyapunov" EXEC xlock -nolock -mode lyapunov -install + "Mandelbrot" EXEC xlock -nolock -mode mandelbrot -install + "Mountain" EXEC xlock -nolock -mode mountain + "Sierpinski" EXEC xlock -nolock -mode sierpinski + "Strange" EXEC xlock -nolock -mode strange + "Thornbird" EXEC xlock -nolock -mode thornbird + "Triangle" EXEC xlock -nolock -mode triangle + "Turtle" EXEC xlock -nolock -mode turtle + "Vines" EXEC xlock -nolock -mode vines + "Random" EXEC xlock -nolock -mode random -modelist allfractal -fullrandom +"Fractal" END + +"Geometry" MENU + "Apollonian" EXEC xlock -nolock -mode apollonian + "Braid" EXEC xlock -nolock -mode braid + "Fadeplot" EXEC xlock -nolock -mode fadeplot + "Helix" EXEC xlock -nolock -mode helix -fullrandom + "Hyper" EXEC xlock -nolock -mode hyper + "Ico" EXEC xlock -nolock -mode ico + "Kaleid" EXEC xlock -nolock -mode kaleid + "Laser" EXEC xlock -nolock -mode laser + "Lisa" EXEC xlock -nolock -mode lisa + "Lissie" EXEC xlock -nolock -mode lissie + "Penrose" EXEC xlock -nolock -mode penrose +ammann + "Penrose Ammann" EXEC xlock -nolock -mode penrose -ammann + "Petal" EXEC xlock -nolock -mode petal + "Polyominoes" EXEC xlock -nolock -mode polyominoes + "Qix" EXEC xlock -nolock -mode qix +complete + "Qix complete" EXEC xlock -nolock -mode qix -complete + "Rotor" EXEC xlock -nolock -mode rotor + "Shape" EXEC xlock -nolock -mode shape + "Sphere" EXEC xlock -nolock -mode sphere + "Spiral" EXEC xlock -nolock -mode spiral + "Spline" EXEC xlock -nolock -mode spline + "Tik_Tak" EXEC xlock -nolock -mode tik_tak + "Toneclock" EXEC xlock -nolock -mode toneclock + "Random" EXEC xlock -nolock -mode random -modelist allgeometry +"Geometry" END + +"Space" MENU + "Bouboule" EXEC xlock -nolock -mode bouboule +use3d + "Bouboule3d" EXEC xlock -nolock -mode bouboule -use3d + "Galaxy" EXEC xlock -nolock -mode galaxy + "Grav" EXEC xlock -nolock -mode grav +trail +decay + "Grav Trail" EXEC xlock -nolock -mode grav -trail + "Grav Decay" EXEC xlock -nolock -mode grav -decay + "Rock" EXEC xlock -nolock -mode star -rock + "Scooter" EXEC xlock -nolock -mode scooter + "Space" EXEC xlock -nolock -mode space + "Star" EXEC xlock -nolock -mode star +rock +use3d +trek 0 + "Star3d" EXEC xlock -nolock -mode star -use3d + "Star Trek" EXEC xlock -nolock -mode star -trek 100 + "World" EXEC xlock -nolock -mode world + "Random Space" EXEC xlock -nolock -mode random -modelist allspace +"Space" END + +"Assorted" MENU + "Anemone" EXEC xlock -nolock -mode anemone + "Ball" EXEC xlock -nolock -mode ball + "Blot" EXEC xlock -nolock -mode blot + "Bounce" EXEC xlock -nolock -mode bounce + "Bubble" EXEC xlock -nolock -mode bubble + "Clock" EXEC xlock -nolock -mode clock + "Crystal" EXEC xlock -nolock -mode crystal + "Daisy" EXEC xlock -nolock -mode daisy + "Dclock" EXEC xlock -nolock -mode dclock + "Decay" EXEC xlock -nolock -mode decay + "Deco" EXEC xlock -nolock -mode deco + "Deluxe" EXEC xlock -nolock -mode deluxe + "Eyes" EXEC xlock -nolock -mode eyes +trackmouse + "Eyesptr" EXEC xlock -nolock -mode eyes -trackmouse + "Fiberlamp" EXEC xlock -nolock -mode fiberlamp + "Fzort" EXEC xlock -nolock -mode fzort + "Goop" EXEC xlock -nolock -mode goop + "Juggle" EXEC xlock -nolock -mode juggle + "Marquee" EXEC xlock -nolock -mode marquee + "Matrix" EXEC xlock -nolock -mode matrix + "Munch" EXEC xlock -nolock -mode munch + "Nose" EXEC xlock -nolock -mode nose + "Pacman" EXEC xlock -nolock -mode pacman + "Pyro" EXEC xlock -nolock -mode pyro +use3d + "Pyro3d" EXEC xlock -nolock -mode pyro -use3d + "Roll" EXEC xlock -nolock -mode roll + "Slip" EXEC xlock -nolock -mode slip + "Solitare" EXEC xlock -nolock -mode solitare +trackmouse + "Solitareptr" EXEC xlock -nolock -mode solitare -trackmouse + "Starfish" EXEC xlock -nolock -mode starfish -install + "Swarm" EXEC xlock -nolock -mode swarm +trackmouse + "Swarmptr" EXEC xlock -nolock -mode swarm -trackmouse + "Swirl" EXEC xlock -nolock -mode swirl -install + "T3d" EXEC xlock -nolock -mode t3d + "Tetris" EXEC xlock -nolock -mode tetris + "Tube" EXEC xlock -nolock -mode tube -install + "Worm" EXEC xlock -nolock -mode worm +use3d + "Worm3d" EXEC xlock -nolock -mode worm -use3d + "Xcl" EXEC xlock -nolock -mode xcl + "Xjack" EXEC xlock -nolock -mode xjack +"Assorted" END + +"XPM" MENU + "Bat" EXEC xlock -nolock -mode bat + "Image" EXEC xlock -nolock -mode image + "Flag" EXEC xlock -nolock -mode flag + "Life" EXEC xlock -nolock -mode life + "Life1d" EXEC xlock -nolock -mode life1d + "Maze" EXEC xlock -nolock -mode maze + "Puzzle" EXEC xlock -nolock -mode puzzle + "Random" EXEC xlock -nolock -mode random -modelist allxpm -fullrandom +"XPM" END + +"GL" MENU + "Atlantis" EXEC xlock -nolock -mode atlantis + "Atunnels" EXEC xlock -nolock -mode atunnels + "Bubble3d" EXEC xlock -nolock -mode bubble3d + "Biof" EXEC xlock -nolock -mode biof + "Cage" EXEC xlock -nolock -mode cage + "Fire" EXEC xlock -nolock -mode fire + "Gears" EXEC xlock -nolock -mode gears + "GL-Planet" EXEC xlock -nolock -mode glplanet + "Invert" EXEC xlock -nolock -mode invert + "Lament" EXEC xlock -nolock -mode lament + "Moebius" EXEC xlock -nolock -mode moebius + "Molecule" EXEC xlock -nolock -mode molecule + "Morph3d" EXEC xlock -nolock -mode morph3d + "Noof" EXEC xlock -nolock -mode noof + "Pipes" EXEC xlock -nolock -mode pipes + "Rubik" EXEC xlock -nolock -mode rubik + "Sballs" EXEC xlock -nolock -mode sballs + "Sierpinski3d" EXEC xlock -nolock -mode sierpinski3d + "Sproingies" EXEC xlock -nolock -mode sproingies + "Stairs" EXEC xlock -nolock -mode stairs + "Superquadrics" EXEC xlock -nolock -mode superquadrics + "Text3d" EXEC xlock -nolock -mode text3d -message "$LOGNAME" + "Random" EXEC xlock -nolock -mode random -modelist allgl -fullrandom +"GL" END + +"Marquee-Message" MENU + "Brilliant!" EXEC xlock -nolock -mode marquee -message "WOW! $LOGNAME, You're Brilliant!" + "Love You" EXEC xlock -nolock -mode marquee -message "You know, I Love You $LOGNAME." + "Available" EXEC xlock -nolock -mode marquee -message "Hey, I'm available now!" +"Marquee-Message" END + +"Nose-Message" MENU + "Brilliant!" EXEC xlock -nolock -mode nose -message "WOW! $LOGNAME, You're Brilliant!" + "Love You" EXEC xlock -nolock -mode nose -message "You know, I Love You $LOGNAME." + "Available" EXEC xlock -nolock -mode nose -message "Hey, I'm available now!" +"Nose-Message" END + +"Xjack-Message" MENU + "Crazy Boy" EXEC xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull boy." + "Crazy Girl" EXEC xlock -nolock -mode xjack -message "All work and no play makes $LOGNAME a dull girl." +"Xjack-Message" END + +"Special" MENU + "Blank" EXEC xlock -nolock -mode blank + "Bomb" EXEC xlock -nolock -mode bomb + "Random nice" EXEC xlock -nolock -mode random -modelist allnice -fullrandom -neighbors 0 + "Random standard" EXEC xlock -nolock -mode random -modelist all-allgl -fullrandom -neighbors 0 + "Random all" EXEC xlock -nolock -mode random -modelist all -fullrandom -neighbors 0 + "Random 3d" EXEC xlock -nolock -mode random -modelist all3d -use3d -fullrandom + "Random ptr" EXEC xlock -nolock -mode random -modelist allmouse -trackmouse -fullrandom + "Random write" EXEC xlock -nolock -mode random -modelist allwrite -fullrandom +"Special" END + +"ScreenSaver" END +"Lock_Saver" END diff --git a/app/xlockmore/etc/vtswitch.c b/app/xlockmore/etc/vtswitch.c new file mode 100644 index 000000000..9fcd44b44 --- /dev/null +++ b/app/xlockmore/etc/vtswitch.c @@ -0,0 +1,122 @@ +/* Copyright (c) R. Cohen-Scali, 1998. */ + +/* + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, + * provided that the above copyright notice appear in all copies and that + * both that copyright notice and this permission notice appear in + * supporting documentation. + * + * This file is provided AS IS with no warranties of any kind. The author + * shall have no liability with respect to the infringement of copyrights, + * trade secrets or any patents by this file or any part thereof. In no + * event will the author be liable for any lost revenue or profits or + * other special, indirect and consequential damages. + * + * <remi.cohenscali@pobox.com> + */ + + +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <sys/ioctl.h> +#include <linux/vt.h> + +#define CONSOLE "/dev/console" + +static char *progname = NULL; +static char errmsg[1024]; + +static void usage( int verb ) +{ + fprintf( stderr, "%s: usage: %s [-h] <on/off>\n", progname, progname ); + if ( verb ) + { + fprintf( stderr, " Allows to enable/disable to VT switching ability\n" ); + fprintf( stderr, " -- %s on -- enable VT switching\n", progname ); + fprintf( stderr, " -- %s off -- disable VT switching\n", progname ); + fprintf( stderr, " Option -h display this message\n" ); + } + fprintf( stderr, "\n", progname, progname ); +} + +main( int argc, char **argv ) +{ + char *cmd = argv[1]; + int allow = 0, consfd = -1; + uid_t uid = -1; + struct stat consstat; + + /* Program name */ + progname =( progname = strrchr( argv[0], '/' ) ) ? progname +1 : argv[0]; + + /* Check args */ + if ( argc != 2 && argc != 3 ) + { + usage( 0 ); + exit( 1 ); + } + + /* Process -h */ + if ( !strcmp( cmd, "-h" ) || !strcmp( cmd, "--help" ) ) + { + usage( 1 ); + cmd = argv[2]; + if ( argc == 2 ) exit( 0 ); + } + + /* Process on/off (case insensitive) */ + if ( strcasecmp( cmd, "on" ) && strcasecmp( cmd, "off" ) ) + { + usage( 0 ); + exit( 1 ); + } + allow = !strcasecmp( cmd, "on" ); + + /* Check user is allowed to do it */ + uid = getuid(); + if ( stat( CONSOLE, &consstat ) == -1 ) + { + sprintf( errmsg, "%s: Cannot stat " CONSOLE, progname ); + perror( errmsg ); + exit( 1 ); + } + if ( uid != consstat.st_uid ) + { + fprintf(stderr, + "%s: Sorry, you are not allowed to %slock" + " VT switching: Operation not permitted\n", + progname, + allow ? "un" : "" ); + exit( 1 ); + } + seteuid( 0 ); + + /* Open console */ + if ( ( consfd = open( CONSOLE, O_RDWR ) ) == -1 ) + { + sprintf( errmsg, "%s: Cannot open " CONSOLE, progname ); + perror( errmsg ); + seteuid( uid ); + exit( 1 ); + } + + /* Do it */ + if ( ioctl( consfd, allow?VT_UNLOCKSWITCH:VT_LOCKSWITCH ) == -1 ) + { + sprintf( errmsg, "%s: Cannot %slock VT switching for " CONSOLE, progname, allow ? "un" : "" ); + perror( errmsg ); + seteuid( uid ); + exit( 1 ); + } + + /* Terminate */ + close( consfd ); + fprintf( stdout, "VT switching %s\n", allow ? "enabled" : "disabled" ); + seteuid( uid ); + exit( 0 ); +} diff --git a/app/xlockmore/etc/xlock.java b/app/xlockmore/etc/xlock.java new file mode 100644 index 000000000..7602ba30f --- /dev/null +++ b/app/xlockmore/etc/xlock.java @@ -0,0 +1,28 @@ +// charles vidal 28.08.97 <cvidal@ivsweb.com> +// the main file , with the main class +// to compile javac xlock.java +// to launch java xlock +// in a browser you could show the GUI but , not launch the program + +import java.awt.*; +import xlockFrame; + +class xlock extends java.applet.Applet +{ +int isapp=0; +public void init(){ +Frame theAppWindow = new Frame("FrameTest"); +xlockFrame theApplet = new xlockFrame(); +theApplet.init(); +theApplet.start(); +theAppWindow.add("Center",theApplet); +theAppWindow.resize(350,400); +theAppWindow.show(); +} +public static void main(String args[]) { +xlock xpj = new xlock(); +xpj.init(); +xpj.start(); +} + +} diff --git a/app/xlockmore/etc/xlock.pamd b/app/xlockmore/etc/xlock.pamd new file mode 100644 index 000000000..81eb2f325 --- /dev/null +++ b/app/xlockmore/etc/xlock.pamd @@ -0,0 +1,2 @@ +#%PAM-1.0 +auth required /lib/security/pam_stack.so service=system-auth diff --git a/app/xlockmore/etc/xlock.sh b/app/xlockmore/etc/xlock.sh new file mode 100644 index 000000000..422b25212 --- /dev/null +++ b/app/xlockmore/etc/xlock.sh @@ -0,0 +1,10 @@ +#!/bin/sh - +# Wrapper script to get better performance +# by Tim Auckland <tda10.geo@yahoo.com> +# It simply suspends all netscape and JAVA applications and resumes them +# once xlock exits. These applications poll when idle and that is quite +# inconsiderate when you need all the cycles you can get for a good +# screensaver. +jobs=`ps -u $USER| awk '/jre/||/netscape/{print $1}'` +[ -n "$jobs" ] && trap 'kill -CONT $jobs' 0 1 2 14 15 && kill -STOP $jobs +/usr/local/bin/xlock "$@" diff --git a/app/xlockmore/etc/xlock.staff b/app/xlockmore/etc/xlock.staff new file mode 100644 index 000000000..ec59a91a8 --- /dev/null +++ b/app/xlockmore/etc/xlock.staff @@ -0,0 +1,4 @@ +root +wheel +bagleyd +david diff --git a/app/xlockmore/etc/xlock.tcl b/app/xlockmore/etc/xlock.tcl new file mode 100644 index 000000000..ddfbe6377 --- /dev/null +++ b/app/xlockmore/etc/xlock.tcl @@ -0,0 +1,795 @@ +#!/usr/X11/bin/wish -f + +#charles vidal 1998 <vidalc@club-intenet.fr> +# update Sun Oct 18 1998 +# Add the menu file with load resources +# and the exit button +# Add the load_process procedure loading +# the ressource file ~/XLock +# + +#function find in demo: mkStyles.tcl +# The procedure below inserts text into a given text widget and +# applies one or more tags to that text. The arguments are: +# +# w Window in which to insert +# text Text to insert (it's inserted at the "insert" mark) +# args One or more tags to apply to text. If this is empty +# then all tags are removed from the text. +set bgcolor "" +set fgcolor "" +set ftname "" +set mftname "" +set usernom "" +set passmot "" +set XLock_validate "" +set XLock_invalid "" +set XLock_program "" +set geometrie "" +set icogeometrie "" +set XLock_info "" +set indxhelp "" +set messagesfile "" +set messagefile "" +set bitmap "" + +proc openfilesel { var } { +upvar $var toto +set toto [ tk_getOpenFile -parent .] +return toto +} + +proc insertWithTags {w text args} { + set start [$w index insert] + $w insert insert $text + foreach tag [$w tag names $start] { + $w tag remove $tag $start insert + } + foreach i $args { + $w tag add $i $start insert + } +} + +# Function for the help +proc mkHelpCheck { w args } { + set nbf 0 + foreach i $args { + set nbf [ expr $nbf +1 ] + $w insert insert "\n" + checkbutton $w.c$nbf -variable [lindex $i 0] -text [lindex $i 0] + $w window create {end lineend} -window $w.c$nbf + $w insert insert " [lindex $i 1] " + } +} + +proc mkHelpEntry { w args } { + set nbf 0 + foreach i $args { + set nbf [ expr $nbf +1 ] + insertWithTags $w "\n [lindex $i 0] " underline + entry $w.e$nbf -textvariable [lindex $i 1] + $w window create {end lineend} -window $w.e$nbf + $w insert insert "\n[lindex $i 2] " + } +} + +# +proc whichcolor { which } { + global fgcolor + global bgcolor + if {$which == "RESETFG"} {set fgcolor ""} + if {$which == "RESETBG"} {set bgcolor ""} + if ($tk_version>4) then { + if {$which== "FG" } {set fgcolor [tk_chooseColor -initialcolor $fgcolor -title "foreground color"]; + puts $fgcolor + } + if {$which == "BG"} {set bgcolor [tk_chooseColor -initialcolor $bgcolor -title "background color"]; + puts $bgcolor + } + } else + { + if {$which== "FG" } {set fgcolor [.color.frame.names get [.color.frame.names curselection]];} + if {$which == "BG"} {set bgcolor [.color.frame.names get [.color.frame.names curselection]];} + } +} + +proc mkColor { what } { + if ($tk_version>4) then { + whichcolor $what; destroy .color + } else + { + toplevel .color + wm title .color "Color" + frame .color.frame -borderwidth 10 + frame .color.frame2 -borderwidth 10 + set w .color.frame + label $w.msg0 -text "Color Options" + pack $w.msg0 -side top + foreach i {/usr/local/lib/X11/rgb.txt /usr/lib/X11/rgb.txt + /X11/R5/lib/X11/rgb.txt /X11/R4/lib/rgb/rgb.txt} { + if ![file readable $i] { + continue; + } + set f [open $i] + listbox .color.frame.names -yscrollcommand ".color.frame.scroll set" \ + -relief sunken -borderwidth 2 -exportselection false + bind .color.frame.names <Double-1> { + .color.test configure -bg [.color.frame.names get [.color.frame.names curselection]] + } + scrollbar .color.frame.scroll -orient vertical -command ".color.frame.names yview" \ + -relief sunken -borderwidth 2 + pack .color.frame.names -side left + pack .color.frame.scroll -side right -fill both + pack .color.frame -fill x + while {[gets $f line] >= 0} { + if {[llength $line] == 4} { + .color.frame.names insert end [lindex $line 3] + } + } + close $f + label .color.test -height 5 -width 20 + button .color.frame2.cancel -text Cancel -command "destroy .color" + button .color.frame2.ok -text OK -command "whichcolor $what; destroy .color" + button .color.frame2.reset -text Reset -command "whichcolor RESET$what; destroy .color" + pack .color.test + pack .color.frame2.ok .color.frame2.cancel .color.frame2.reset -side left -fill x + pack .color.frame2 -fill both + break; + } + } +} + +# moving in text by the list +proc moveintext { indx } { +upvar indxhelp t1 + .help.f.t yview [ lindex $t1 $indx ] + +} +#---------------------- +# Help ... +proc Helpxlock {} { + global indxhelp + toplevel .help + wm title .help "Help About Xlock" + frame .help.f + scrollbar .help.f.s -orient vertical -command {.help.f.t yview} + pack .help.f -expand yes -fill both + pack .help.f.s -side right -fill y -expand yes + text .help.f.t -yscrollcommand {.help.f.s set} -wrap word -width 60 -height 20 \ + -setgrid 1 + + listbox .help.f.names -width 20 -height 20 + + bind .help.f.names <Double-1> { + set titi [eval .help.f.names curselection] + moveintext $titi + } + + pack .help.f.names .help.f.t -expand y -fill both -side left + set w .help.f.t + $w tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* + + foreach i {{"Xlock Help" { Locks the X server still the user enters their pass\ +word at the keyboard. While xlock is running, all new\ +server connections are refused. The screen saver is dis\ +abled. The mouse cursor is turned off. The screen is\ +blanked and a changing pattern is put on the screen. If a\ +key or a mouse button is pressed then the user is prompted\ +for the password of the user who started xlock. +If the correct password is typed, then the screen is\ +unlocked and the X server is restored. When typing the\ +password Control-U and Control-H are active as kill and\ +erase respectively. To return to the locked screen, click\ +in the small icon version of the changing pattern.} 0 } + {"Options" {The option sets the X11 display to lock.\ +xlock locks all available screens on a given server,\ +and restricts you to locking only a local server such\ +as unix::00,, localhost::00,, or ::00 unless you set the\ + -remote option.} 0 }\ + {"-name" {is used instead of XLock when looking for resources to configure xlock.} 1 } + {"-mode" {As of this writing there are 100+ display modes supported (plus one more for random selection of one of the 100+).} 1 } + {"-delay" {It simply sets the number of microseconds to delay +between batches of animations. In blank mode, it is important to set this to +some small number of microseconds, because the keyboard and mouse are only checked after each delay, so you cannot set the delay too high, but a delay of +zero would needlessly consume cpu checking for mouse and keyboard input in a tight loop, since blank mode has no work to do.} 1 } + {"-saturation" {This option sets saturation of the color ramp . 0 is grayscale and 1 is very rich color. 0.4 is a nice pastel.} 1 } + {"-username" {text string to use for Name prompt} 1 }\ + {"-password" {text string to use for Password prompt} 1 }\ + {"-info" {text string to use for instructions} 1 }\ + {"-validate" {the message shown while validating the password, +defaults to \"Validating login...\"} 1 }\ + {"-invalid" {the message shown when password is invalid, defaults to \"Invalid login.\"} 1 }\ + {"-geometry" {This option sets the size and offset of the lock +window (normally the entire screen). The entire screen format is still used for entering the password. The purpose is to see the screen even though it is locked. This should be used with caution since many of the modes will fail if the windows are far from square or are too small (size must be greater +than 0x0). This should also be used with esaver to protect screen from phosphor burn.} 1 }\ + {"-icongeometry" {this option sets the size of the iconic screen (normally 64x64) seen when entering the password. This should be used with caution since many of the modes will fail if the windows are far from square +or are too small (size must be greater than 0x0). The greatest size is +256x256. There should be some limit so users could see who has locked the screen. Position information of icon is ignored.} 1 } + {"-font" { Ths option sets the font to be used on the prompt screen.} 1 } + { "-fg " { This option sets the color of the text on the password screen.} 1 } + {"-bg" { This option sets the color of the background on the password screen.} 1 } + {"-forceLogout" { This option sets the auto-logout. This might not be enforced depending how your system is configured.} 1 }} { + lappend indxhelp [$w index current] + if { [lindex $i 2] == 1 } then {.help.f.names insert end " [lindex $i 0]"} else {.help.f.names insert end " [lindex $i 0]"} + insertWithTags $w "[lindex $i 0] " big + $w insert end "\n" + $w insert end [lindex $i 1] + $w insert end "\n" + } + lappend indxhelp [$w index current] + insertWithTags $w "Options boolean" big + $w insert end "\n" + .help.f.names insert end "Options boolean" + mkHelpCheck $w {XLock_mono {turn on/off monochrome override}}\ + {nolock {trun on/off no password required mode}}\ + {remote {turn on/off remote host access}}\ + {allowroot {turn on/off allow root password mode (ignored)}}\ + {enablesaver {turn on/off enable X server screen saver}}\ + {allowaccess {turn on/off access of the terminal X}}\ + {grabmouse {turn on/off grabbing of mouse and keyboard}}\ + {echokeys {turn on/off echo \'?\' for each password key}}\ + {usefirst {turn on/off using the first char typed in password}}\ + {verbose {turn on/off verbose mode}}\ + {inwindow {turn on/off making xlock run in a window}}\ + {inroot {turn on/off making xlock run in the root window}}\ + {timeelapsed {turn on/off clock}}\ + {install {whether to use private colormap if needed (yes/no)}}\ + {sound {whether to use sound if configured for it (yes/no}}\ + {timeelapsed {turn on/off clock}}\ + {usefirst {text string to use for Name prompt}}\ + {trackmouse {turn on/off the mouse interaction}} + button .help.ok -text OK -command "destroy .help" + pack .help.ok +} + +# Create toplevel Author and Maintainer. +proc mkAuthor {} { + toplevel .author + wm title .author "Author and Maintainer of xlock" + frame .author.frame -borderwidth 10 + set w .author.frame + + label $w.msg0 -text "Author and Maintainer of xlock" + label $w.msg1 -text "Maintained by: David A. Bagley (bagleyd@tux.org)" + label $w.msg2 -text "Original Author: Patrick J. Naughton (naughton@eng.sun.com)" + label $w.msg3 -text "Mailstop 21-14 Sun Microsystems Laboratories," + label $w.msg4 -text "Inc. Mountain View, CA 94043 15//336-1080" + label $w.msg5 -text "with many additional contributors" + pack $w.msg0 $w.msg1 $w.msg2 $w.msg3 $w.msg4 $w.msg5 -side top + + label $w.msg6 -text "xlock.tcl\n created by charles VIDAL\n (author of flag mode and xmlock launcher )" + pack $w.msg6 -side top + + button .author.ok -text OK -command "destroy .author" + pack $w .author.ok +} + +proc mkFileDialog { nom titre args } { + toplevel .$nom + wm title .$nom "$titre" + frame .$nom.frame -borderwidth 10 + frame .$nom.frame2 -borderwidth 10 + frame .$nom.frame.frame4 -borderwidth 10 + set w .$nom.frame + set w2 .$nom.frame2 + set w4 .$nom.frame.frame4 + set nbf 0 + + label $w.msg0 -text "$titre" + pack $w.msg0 -side top + foreach i $args { + set nbf [ expr $nbf +1 ] + frame $w4.f$nbf + label $w4.f$nbf.l$nbf -text [lindex $i 0] + entry $w4.f$nbf.e$nbf -textvariable [lindex $i 1] + button $w4.f$nbf.b$nbf -text "..." -command "openfilesel [lindex $i 1]" + pack $w4.f$nbf.l$nbf $w4.f$nbf.e$nbf $w4.f$nbf.b$nbf -side left -expand yes + pack $w4.f$nbf -expand yes + } + button $w2.ok -text OK -command "destroy .$nom" + button $w2.cancel -text Cancel -command "destroy .$nom" + pack $w -side top -expand yes + pack $w4 -side right -expand yes + pack $w2.ok $w2.cancel -side left -fill x -expand yes + pack $w2 -side bottom -expand yes +} + +proc mkDialog { nom titre args } { + toplevel .$nom + wm title .$nom "$titre" + frame .$nom.frame -borderwidth 10 + frame .$nom.frame2 -borderwidth 10 + frame .$nom.frame.frame3 -borderwidth 10 + frame .$nom.frame.frame4 -borderwidth 10 + set w .$nom.frame + set w2 .$nom.frame2 + set w3 .$nom.frame.frame3 + set w4 .$nom.frame.frame4 + set nbf 0 + + label $w.msg0 -text "$titre" + pack $w.msg0 -side top + foreach i $args { + set nbf [ expr $nbf +1 ] + label $w3.l$nbf -text [lindex $i 0] + entry $w4.e$nbf -textvariable [lindex $i 1] + pack $w3.l$nbf + pack $w4.e$nbf + } + button $w2.ok -text OK -command "destroy .$nom" + button $w2.cancel -text Cancel -command "destroy .$nom" + pack $w -side top + pack $w3 -side left + pack $w4 -side right + pack $w2.ok $w2.cancel -side left -fill x + pack $w2 -side bottom +} + +proc mkMessage {} { + global passmot + global XLock_validate + global XLock_invalid + global XLock_info + mkDialog message {Message Options} \ + {"message password" passmot} \ + {"validate string" XLock_validate} \ + {"invalid string" XLock_invalid} \ + {"info string" XLock_info} +} + +proc mkGeometry {} { + global geometrie + global icogeometrie + mkDialog geometry {Geometry Options} \ + {"geometry" geometrie} \ + {"icon geometry" icogeometrie} +} + +proc mkFileOption {} { + global messagesfile + global messagefile + global bitmap + mkFileDialog fileoption {Files Options} \ + {"messagesfile" messagesfile} \ + {"messagefile" messagefile} \ + {"bitmap" bitmap} +} + +proc whichfont { which } { + global ftname + global mftname + if {$which== "FONT" } {set ftname [.font.frame.names get [.font.frame.names curselection]];} + if {$which == "MFONT"} {set mftname [.font.frame.names get [.font.frame.names curselection]];} + if {$which == "RESETFONT"} {set ftname ""} + if {$which == "RESETMFONT"} {set mftname ""} +} + +#this function should be erase in the newer version... +proc mkFont { What } { + toplevel .font + wm title .font "Font Options" + label .font.label -text "ABCDEFGH\nIJKabedfg\nhijkmnopq" + frame .font.frame -borderwidth 10 + frame .font.frame2 -borderwidth 10 + set w .font.frame + label $w.msg0 -text "Font Options" + pack $w.msg0 -side top + eval exec "xlsfonts \> /tmp/xlsfont.tmp" + set f [open "/tmp/xlsfont.tmp"] + listbox .font.frame.names -yscrollcommand ".font.frame.scroll set" \ + -xscrollcommand ".font.scroll2 set" -setgrid 1 \ + -exportselection false + bind .font.frame.names <Double-1> { + .font.test configure -font [.font.frame.names get [.font.frame.names curselection]] + } + scrollbar .font.frame.scroll -orient vertical -command ".font.frame.names yview" \ + -relief sunken -borderwidth 2 + scrollbar .font.scroll2 -orient horizontal -command ".font.frame.names xview" \ + -relief sunken -borderwidth 2 + while {[gets $f line] >= 0} { + .font.frame.names insert end $line + } + close $f + + eval exec "/bin/rm -f /tmp/xlsfont.tmp" + pack .font.frame.names -side left -expand y -fill both + pack .font.frame.scroll -side right -fill both + pack .font.frame -fill x + pack .font.scroll2 -fill both + label .font.test -text "ABCDEFGHIJKabedfghijkmnopq12345" + pack .font.test + + button .font.frame2.cancel -text Cancel -command "destroy .font" + button .font.frame2.reset -text Reset -command "whichfont RESET$What;destroy .font" + button .font.frame2.ok -text OK -command "whichfont $What;destroy .font" + pack .font.frame2.ok .font.frame2.cancel .font.frame2.reset -side left -fill both + pack .font.frame2 -fill both + + #frame $w.fontname + #label $w.fontname.l1 -text "font name" + #entry $w.fontname.e1 -relief sunken + #frame $w.specfont + #label $w.specfont.l2 -text "specifique font name" + #entry $w.specfont.e2 -relief sunken + #pack $w.fontname $w.specfont + #pack $w.fontname.l1 -side left + #pack $w.specfont.l2 -side left + #pack $w.fontname.e1 $w.specfont.e2 -side top -pady 5 -fill x + #button .font.frame2.ok -text OK -command "destroy .font" + #button .font.frame2.cancel -text Cancel -command "destroy .font" + #pack $w .font.frame2.ok .font.frame2.cancel -side left -fill x + #pack .font.frame2 -side bottom +} + +proc mkEntry {} { + global usernom + global XLock_program + mkDialog option {User Options} \ + {"user name" usernom} \ + {"program name" XLock_program} +} + +proc Affopts { device } { + +#options booleans + global XLock_mono + global nolock + global remote + global allowroot + global enablesaver + global allowaccess + global grabmouse + global echokeys + global usefirst + global install + global sound + global timeelapsed + global usefirst + global wireframe + global showfps + global use3d + global trackmouse + + global fgcolor + global bgcolor + global ftname + global mftname + + global usernom + global passmot + global XLock_validate + global XLock_invalid + global XLock_program + global geometrie + global icogeometrie + global XLock_info + global messagesfile + global messagefile + global bitmap + + set linecommand "xlock " + + if {$device == 1} {append linecommand "-inwindow "} elseif {$device == 2} {append linecommand "-inroot "} + if {$bgcolor!=""} {append linecommand "-bg $bgcolor "} + if {$fgcolor!=""} {append linecommand "-fg $fgcolor "} + if {$ftname!=""} {append linecommand "-font $ftname "} + if {$mftname!=""} {append linecommand "-messagefont $mftname "} +#entry action + if {$usernom!=""} {append linecommand "-username $usernom "} + if {$passmot!=""} {append linecommand "-password $passmot "} + if {$XLock_validate!=""} {append linecommand "-validate $XLock_validate "} + if {$XLock_invalid!=""} {append linecommand "-invalid $XLock_invalid "} + if {$XLock_program!=""} {append linecommand "-program $XLock_program "} + if {$geometrie!=""} {append linecommand "-geometry $geometrie "} + if {$icogeometrie!=""} {append linecommand "-icongeometry $icogeometrie "} + if {$messagesfile!=""} {append linecommand "-messagesfile $messagesfile "} + if {$bitmap!=""} {append linecommand "-bitmap $bitmap "} + if {$icogeometrie!=""} {append linecommand "-icongeometry $icogeometrie "} + if {$XLock_info!=""} {append linecommand "-info $XLock_info "} +#check actions + if { $XLock_mono == 1 } {append linecommand "-mono "} + if { $install == 1 } {append linecommand "-install "} + if { $sound == 1 } {append linecommand "-sound "} + if { $timeelapsed == 1 } {append linecommand "-timeelapsed "} + if { $usefirst == 1 } {append linecommand "-usefirst "} + if { $wireframe == 1 } {append linecommand "-wireframe "} + if { $showfps == 1 } {append linecommand "-showfps "} + if { $use3d == 1 } {append linecommand "-use3d "} + if { $trackmouse == 1 } {append linecommand "-trackmouse "} + if { $nolock == 1 } {append linecommand "-nolock "} + if { $remote == 1 } {append linecommand "-remote "} + if { $allowroot == 1 } {append linecommand "-allowroot "} + if { $enablesaver == 1 } {append linecommand "-enablesaver "} + if { $allowaccess == 1 } {append linecommand "-allowaccess "} + if { $grabmouse == 1 } {append linecommand "-grabmouse "} + if { $echokeys == 1 } {append linecommand "-echokeys "} + if { $usefirst == 1 } {append linecommand "-usefirst "} + append linecommand "-mode " + append linecommand [.listscrol.list get [eval .listscrol.list curselection]] + puts $linecommand + eval exec $linecommand +} + +proc load_ressource { } { + global XLock_invalid + global XLock_validate + global XLock_info + global XLock_program + +set filename "" + +openfilesel filename + +set f [ open $filename r ] +while { ! [eof $f ] } { + gets $f line + switch -regexp $line { + {^XLock\.[a-zA-Z]+:} { + if { [ regexp -nocase {\: $} tyty ]} { + } + regsub {^} $line "set " line2 + regsub {XLock\.} $line2 "XLock_" line3 + regsub {: } $line3 " \"" line4 + regsub {on$} $line4 "1" line5 + regsub {off$} $line4 "0" line5 + eval "$line5\"" + } + {^XLock\.[a-zA-Z]+\.[a-zA-Z]+:[ \t]*[a-zA-Z0-9]+$} { + regsub {^} $line "set " line2 + regsub {XLock\.} $line2 "XLock_" line3 + regsub {\.} $line3 "(" line4 + regsub {: } $line4 ") \"" line5 + eval "$line5\"" + } +} +} +} + +# Creation of GUI + +wm title . "xlock launcher" +. configure -cursor top_left_arrow +frame .menu -relief raised -borderwidth 1 +menubutton .menu.button -text "switches" -menu .menu.button.check +pack .menu -side top -fill x + +global XLock_mono +global sound +global install +global nolock +global remote +global allowroot +global enablesaver +global allowaccess +global grabmouse +global echokeys +global usefirst + +global usernom +global passmot +global geometrie +global icogeometrie +global XLock_info + +# Creation of GUI + +#Creation of menu +set fileressource "" + +menubutton .menu.buttonf -text "file" -menu .menu.buttonf.file +menu .menu.buttonf.file +set FILE .menu.buttonf.file +$FILE add command -label "Load ressource" -command "load_ressource" +$FILE add command -label "exit" -command "exit" + +menu .menu.button.check +set CHECK .menu.button.check + +#menu with les check buttons +$CHECK add check -label "mono" -variable XLock_mono +$CHECK add check -label "nolock" -variable nolock +$CHECK add check -label "remote" -variable remote +$CHECK add check -label "allowroot" -variable allowroot +$CHECK add check -label "enablesaver" -variable enablesaver +$CHECK add check -label "allowaccess" -variable allowaccess +$CHECK add check -label "grabmouse" -variable grabmouse +$CHECK add check -label "echokeys" -variable echokeys +$CHECK add check -label "usefirst" -variable usefirst +$CHECK add check -label "install" -variable install +$CHECK add check -label "sound" -variable sound +$CHECK add check -label "timeelapsed" -variable timeelapsed +$CHECK add check -label "usefirst" -variable usefirst +$CHECK add check -label "wireframe" -variable wireframe +$CHECK add check -label "showfps" -variable showfps +$CHECK add check -label "use3d" -variable use3d +$CHECK add check -label "trackmouse" -variable trackmouse + +menubutton .menu.button2 -text "options" -menu .menu.button2.options +menu .menu.button2.options +set OPTIONS .menu.button2.options +#les options +$OPTIONS add command -label "generals options" -command "mkEntry" +$OPTIONS add command -label "font to use for password prompt" -command "mkFont FONT" +$OPTIONS add command -label "font for a specific mode" -command "mkFont MFONT" + + +$OPTIONS add command -label "geometry options" -command "mkGeometry" +$OPTIONS add command -label "file options" -command "mkFileOption" +$OPTIONS add command -label "message options" -command "mkMessage" + +#Color +menubutton .menu.button4 -text "color" -menu .menu.button4.color +menu .menu.button4.color +set COLOR .menu.button4.color +#if {$tk_version < 4} then { +#$COLOR add command -label "foreground options for password" -command "mkColor FG" +#$COLOR add command -label "background options for password" -command "mkColor BG" +#} +#else { +$COLOR add command -label "foreground options for password" -command "tk_chooseColor" +$COLOR add command -label "background options for password" -command "tk_chooseColor" +#} +menubutton .menu.button3 -text "help" -menu .menu.button3.help +menu .menu.button3.help +set HELP .menu.button3.help +$HELP add command -label "about xlock" -command "Helpxlock" +$HELP add command -label "about author" -command "mkAuthor" + +pack .menu.buttonf .menu.button .menu.button2 .menu.button4 -side left +pack .menu.button3 -side right + +#--------------------------- +#creation de la liste +#--------------------------- +frame .listscrol -borderwidth 4 -relief ridge +set LISTSCROL .listscrol +scrollbar $LISTSCROL.scroll -relief sunken -command "$LISTSCROL.list yview" +listbox $LISTSCROL.list -yscroll "$LISTSCROL.scroll set" + +#--------------------------- +#insert all modes in list +#--------------------------- +$LISTSCROL.list insert 0 \ +anemone\ +ant\ +ant3d\ +apollonian\ +atlantis\ +atunnels\ +ball\ +bat\ +biof\ +blot\ +bouboule\ +bounce\ +braid\ +bubble\ +bubble3d\ +bug\ +cage\ +clock\ +coral\ +crystal\ +daisy\ +dclock\ +decay\ +deco\ +demon\ +dilemma\ +discrete\ +dragon\ +drift\ +euler2d\ +eyes\ +fadeplot\ +fiberlamp\ +fire\ +flag\ +flame\ +flow\ +forest\ +fzort\ +galaxy\ +gears\ +glplanet\ +goop\ +grav\ +helix\ +hop\ +hyper\ +ico\ +ifs\ +image\ +invert\ +juggle\ +julia\ +kaleid\ +kumppa\ +lament\ +laser\ +life\ +life1d\ +life3d\ +lightning\ +lisa\ +lissie\ +loop\ +lyapunov\ +mandelbrot\ +marquee\ +matrix\ +maze\ +moebius\ +molecule\ +morph3d\ +mountain\ +munch\ +noof\ +nose\ +pacman\ +penrose\ +petal\ +petri\ +pipes\ +polyominoes\ +puzzle\ +pyro\ +qix\ +roll\ +rotor\ +rubik\ +sballs\ +scooter\ +shape\ +sierpinski\ +sierpinski3d\ +skewb\ +slip\ +solitare\ +space\ +sphere\ +spiral\ +spline\ +sproingies\ +stairs\ +star\ +starfish\ +strange\ +superquadrics\ +swarm\ +swirl\ +t3d\ +tetris\ +text3d\ +text3d2\ +thornbird\ +tik_tak\ +toneclock\ +triangle\ +tube\ +turtle\ +vines\ +voters\ +wator\ +wire\ +world\ +worm\ +xcl\ +xjack\ +blank\ +bomb\ +random + +pack $LISTSCROL.scroll -side right -fill y +pack $LISTSCROL.list -side left -expand yes -fill both +pack $LISTSCROL -fill both -expand yes + +frame .buttons -borderwidth 4 -relief ridge +set BUTTON .buttons +button $BUTTON.launch -text "Launch" -command "Affopts 0" +button $BUTTON.launchinW -text "Launch in Window" -command "Affopts 1" +button $BUTTON.launchinR -text "Launch in Root" -command "Affopts 2" +button $BUTTON.quit -text Quit -command "exit" +pack $BUTTON.launch $BUTTON.launchinW $BUTTON.launchinR -side left +pack $BUTTON.quit -side right +pack $BUTTON -fill x -side bottom diff --git a/app/xlockmore/etc/xlock1.sh b/app/xlockmore/etc/xlock1.sh new file mode 100644 index 000000000..c7b07c9b3 --- /dev/null +++ b/app/xlockmore/etc/xlock1.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# +# My lil' wrapper routine to execute a program, but only if it's +# not already running +# Sometimes xlock crashes when xautlock calls xlock when already running. +# +PROG=xlock + +TST=`ps aux | grep $PROG | grep -v grep` +if [ -z "$TST" ]; then + $PROG +fi diff --git a/app/xlockmore/etc/xlockFrame.java b/app/xlockmore/etc/xlockFrame.java new file mode 100644 index 000000000..b774fc4d1 --- /dev/null +++ b/app/xlockmore/etc/xlockFrame.java @@ -0,0 +1,322 @@ +// charles vidal <cvidal@ivsweb.com> +// the GUI definition and the handler event +import java.applet.*; +import java.awt.*; +import java.lang.Runtime; + +public class xlockFrame extends Applet { + +public static final int nbcoption=9; +public static final int nbbooleanopt=14; +Button blaunch; +Button blaunchinw; +Button bquit; +Choice coptions; +TextField foroptions; + List lst ; +int currentOption=0; + +MyFrameError mfe; + +boolean isinapp=false; + +// Array of option name +String[] nomOption={"Name program", +"File", +"Message Password", +"Message Valid", +"Message Invalid", +"Prompt", +"Fonts", +"Geometry","Display"}; + +String[] valueOption={"","","","","","","","",""}; +String[] cmdlineOption={"-program","-messagefile","-password","-validate","-invalid","","-font","-geometry","-display"}; + +// Array of option boolean name +String[] booleanOption={ +"-mono ", +"-nolock ", +"-remote ", +"-allowroot ", +"-enablesaver ", +"-allowaccess ", +"-grabmouse ", +"-echokeys ", +"-usefirst ", +"-verbose ", +"-inroot ", +"-timeelapsed ", +"-install ", +"-wireframe ", +"-showfps ", +"-use3d "}; +Checkbox bopt[]=new Checkbox[15]; + public void init() + { + Frame theAppWindow = new Frame("xlockFrame"); + Panel Panel1 = new Panel(); + Panel Panel2 = new Panel(); + Panel Panel3 = new Panel(); + setLayout(new BorderLayout(10,10)); + + lst = new List(); + +coptions=new Choice(); +for (int i=0;i<nbcoption;i++) + coptions.addItem(nomOption[i]); + +Panel3.add(coptions); + +foroptions = new TextField(20); +Panel3.add(foroptions); + +add("North", Panel3); + +add("Center",lst); +lst.addItem("anemone"); +lst.addItem("ant"); +lst.addItem("ant3d"); +lst.addItem("apollonian"); +lst.addItem("atlantis"); +lst.addItem("atunnels"); +lst.addItem("ball"); +lst.addItem("bat"); +lst.addItem("biof"); +lst.addItem("blot"); +lst.addItem("bouboule"); +lst.addItem("bounce"); +lst.addItem("braid"); +lst.addItem("bubble"); +lst.addItem("bubble3d"); +lst.addItem("bug"); +lst.addItem("cage"); +lst.addItem("clock"); +lst.addItem("coral"); +lst.addItem("crystal"); +lst.addItem("daisy"); +lst.addItem("dclock"); +lst.addItem("decay"); +lst.addItem("deco"); +lst.addItem("demon"); +lst.addItem("dilemma"); +lst.addItem("discrete"); +lst.addItem("dragon"); +lst.addItem("drift"); +lst.addItem("euler2d"); +lst.addItem("eyes"); +lst.addItem("fadeplot"); +lst.addItem("fiberlamp"); +lst.addItem("fire"); +lst.addItem("flag"); +lst.addItem("flame"); +lst.addItem("flow"); +lst.addItem("forest"); +lst.addItem("fzort"); +lst.addItem("galaxy"); +lst.addItem("gears"); +lst.addItem("glplanet"); +lst.addItem("goop"); +lst.addItem("grav"); +lst.addItem("helix"); +lst.addItem("hop"); +lst.addItem("hyper"); +lst.addItem("ico"); +lst.addItem("ifs"); +lst.addItem("image"); +lst.addItem("invert"); +lst.addItem("juggle"); +lst.addItem("julia"); +lst.addItem("kaleid"); +lst.addItem("kumppa"); +lst.addItem("lament"); +lst.addItem("laser"); +lst.addItem("life"); +lst.addItem("life1d"); +lst.addItem("life3d"); +lst.addItem("lightning"); +lst.addItem("lisa"); +lst.addItem("lissie"); +lst.addItem("loop"); +lst.addItem("lyapunov"); +lst.addItem("mandelbrot"); +lst.addItem("marquee"); +lst.addItem("matrix"); +lst.addItem("maze"); +lst.addItem("moebius"); +lst.addItem("molecule"); +lst.addItem("morph3d"); +lst.addItem("mountain"); +lst.addItem("munch"); +lst.addItem("noof"); +lst.addItem("nose"); +lst.addItem("pacman"); +lst.addItem("penrose"); +lst.addItem("petal"); +lst.addItem("petri"); +lst.addItem("pipes"); +lst.addItem("polyominoes"); +lst.addItem("puzzle"); +lst.addItem("pyro"); +lst.addItem("qix"); +lst.addItem("roll"); +lst.addItem("rotor"); +lst.addItem("rubik"); +lst.addItem("sballs"); +lst.addItem("scooter"); +lst.addItem("shape"); +lst.addItem("sierpinski"); +lst.addItem("sierpinski3d"); +lst.addItem("skewb"); +lst.addItem("slip"); +lst.addItem("solitare"); +lst.addItem("space"); +lst.addItem("sphere"); +lst.addItem("spiral"); +lst.addItem("spline"); +lst.addItem("sproingies"); +lst.addItem("stairs"); +lst.addItem("star"); +lst.addItem("starfish"); +lst.addItem("strange"); +lst.addItem("superquadrics"); +lst.addItem("swarm"); +lst.addItem("swirl"); +lst.addItem("t3d"); +lst.addItem("tetris"); +lst.addItem("text3d"); +lst.addItem("text3d2"); +lst.addItem("thornbird"); +lst.addItem("tik_tak"); +lst.addItem("toneclock"); +lst.addItem("triangle"); +lst.addItem("tube"); +lst.addItem("turtle"); +lst.addItem("vines"); +lst.addItem("voters"); +lst.addItem("wator"); +lst.addItem("wire"); +lst.addItem("world"); +lst.addItem("worm"); +lst.addItem("xcl"); +lst.addItem("xjack"); +lst.addItem("blank"); +lst.addItem("bomb"); +lst.addItem("random"); +lst.select(0); + +add("East", Panel1); +Panel1.setLayout(new GridLayout(15,1)); +for (int i=0;i<nbbooleanopt;i++) + { bopt[i]=new Checkbox(booleanOption[i],null,false); + Panel1.add(bopt[i]); + } + +add("South", Panel2); +blaunch=new Button("Launch"); +blaunchinw=new Button("Launch in window"); +bquit=new Button("Quit"); +Panel2.add(blaunch); +Panel2.add(blaunchinw); +Panel2.add(bquit); +} +public String getBooleanOption() +{ +String result=""; +for (int i=0;i<nbbooleanopt;i++) + {if (bopt[i].getState()) result=result.concat(booleanOption[i]); + } + return (result); +} +public boolean action (Event evt, Object arg) +{ + +Runtime r=Runtime.getRuntime(); + + +if (isinapp) + mfe=new MyFrameError("An error occured , You can't launch xlock"); + else + mfe=new MyFrameError("An error occured , You can't launch xlock"); + //mfe=new MyFrameError("You can't launch by a Browser"); + +mfe.resize(350,150); + +if (evt.target == blaunch || evt.target == blaunchinw) + { + String label= (String) arg; + String cmdlinexlock="xlock "; + if (evt.target == blaunchinw ) cmdlinexlock=cmdlinexlock.concat("-inwindow "); + for (int i=0;i<nbcoption;i++) + { + if (!valueOption[i].equals("")) + { + cmdlinexlock=cmdlinexlock.concat(cmdlineOption[i]+" "+valueOption[i]+" "); + } + } + cmdlinexlock=cmdlinexlock.concat(getBooleanOption()); + cmdlinexlock=cmdlinexlock.concat(" -mode "); + cmdlinexlock=cmdlinexlock.concat(lst.getSelectedItem()); + try { + System.out.println(cmdlinexlock); + r.getRuntime().exec(cmdlinexlock); } + catch ( Exception e ) + {mfe.show();} + return true;} +else + if (evt.target == coptions) + { + String label= (String) arg; + valueOption[currentOption]=foroptions.getText(); + for (int i=0;i<nbcoption;i++) + { + if (nomOption[i].equals(label)) + {foroptions.setText(valueOption[i]); + currentOption=i; + } + } + } +else + if (evt.target == bquit) {System.exit(0);} + else if (evt.target instanceof Checkbox) + { + return true; + } +else + if (evt.target == foroptions) + { + String label= (String) arg; + valueOption[currentOption]=label; + return true; + } + return false; + } + +public void SetInAppl() +{ +isinapp=true; +} + +} +class MyFrameError extends Frame { +Label l; +Button b_ok; +MyFrameError (String erreur) { + + setLayout(new BorderLayout()); + l=new Label(erreur,Label.CENTER); + add("Center",l); + b_ok=new Button("Ok"); + add("South",b_ok); + setTitle(erreur); + setCursor(HAND_CURSOR); + } +public boolean action (Event evt,Object arj){ + if (evt.target instanceof Button) + { + this.hide(); + return (true); + } + return (false); +} +} diff --git a/app/xlockmore/etc/xlockcell.sh b/app/xlockmore/etc/xlockcell.sh new file mode 100644 index 000000000..6f715e602 --- /dev/null +++ b/app/xlockmore/etc/xlockcell.sh @@ -0,0 +1,25 @@ +# converts a file from xlock life3d format to xl4d +sed ' +s/-8,/ 8/g +s/-7,/ 9/g +s/-6,/10/g +s/-5,/11/g +s/-4,/12/g +s/-3,/13/g +s/-2,/14/g +s/-1,/15/g +s/-0,/16/g +s/0,/16/g +s/1,/17/g +s/2,/18/g +s/3,/19/g +s/4,/20/g +s/5,/21/g +s/6,/22/g +s/ //g +/^$/d +s/ //g' $1 > $1$$ +fold -w 9 $1$$ > $1 +sed "1,\$s/ $//g" $1 > $1$$ +#rm -f $1$$ +mv $1$$ $1 diff --git a/app/xlockmore/etc/xlockhexlife.pl b/app/xlockmore/etc/xlockhexlife.pl new file mode 100644 index 000000000..96924ec9f --- /dev/null +++ b/app/xlockmore/etc/xlockhexlife.pl @@ -0,0 +1,82 @@ +#!/usr/bin/perl -T -w +# This is used to add life to life +# This is a QUICK hack to convert life files to xlock's life format. +# Patterns MUST have <= 64 pts at start for life.c to use the data generated +# Below is an example of a life file without the first initial #'s +# Call the file glider.hlife and run it like xlockhexlife.pl < glider.hlife +#glider.hlife +##P -2 -2 Treated as a comment, program finds own center +# . . O . +# . . . O +# O . . O +# . . . O +# . . . O + +local($PTS, $X, $Y); + +print " +Drop these points in life.c, within the 'patterns' array. +Note if the number of points > 64, one must increase points NUMPTS; +also to fit most screens and especially the iconified window, +one should have the size < 32x32.\n\n"; +&search; +print "\npoints = $PTS; size = ${X}x$Y\n"; + +sub search { + local ($row, $col, $firstrow, $firstcol); + local ($i, $j, $found, $c, $tempx, $tempy); + local (@array); + + $row = $col = 0; + $firstrow = -1; + $firstcol = 80; + $PTS = $X = $Y = 0; + while (<>) { + if (!($_ =~ /^#/)) + { + @chars = split(//); + $col = 0; + foreach $c (@chars) { + if ($c =~ /[\*0O]/) { + $col++; + if ($firstrow < 0) { + $row = $firstrow = 1; + } + if ($col < $firstcol) { + $firstcol = $col; + } + if ($row > $Y) { + $Y = $row; + } + if ($col > $X) { + $X = $col; + } + $array{$col, $row} = 1; + $PTS++; + } elsif ($c =~ /[\.]/) { + $col++; + } + } + $row++; + } + } + $col = $X - $firstcol + 1; + $row = $Y; + print " {\n "; + for ($j = 0; $j <= $Y; $j++) { + $found = 0; + for ($i = 0; $i <= $X; $i++) { + if ($array{$i, $j}) { + $found = 1; + $tempx = $i - int(($col + 2) / 2) - $firstcol + 1; + $tempy = $j - int(($row + 2) / 2); + printf "$tempx, $tempy, "; + } + } + if ($found) { + print "\n "; + } + } + print "127\n },\n"; + $X = $col; +} diff --git a/app/xlockmore/etc/xlocklife.pl b/app/xlockmore/etc/xlocklife.pl new file mode 100644 index 000000000..07e56c6b2 --- /dev/null +++ b/app/xlockmore/etc/xlocklife.pl @@ -0,0 +1,86 @@ +#!/usr/bin/perl -T -w +# This is used to add life to life +# This is a QUICK hack to convert life files to xlock's life format. +# Patterns MUST have <= 64 pts at start for life.c to use the data generated +# Below is an example of a life file without the first initial #'s +# Call the file piston.life and run it like xlocklife.pl < piston.life +#piston.life +##P -10 -3 Treated as a comment, program finds own center +#..........*........... +#..........****........ +#**.........****....... +#**.........*..*.....** +#...........****.....** +#..........****........ +#..........*........... + +local($PTS, $X, $Y); + +print " +Drop these points in life.c, within the 'patterns' array. +Note if the number of points > 64, one must increase points NUMPTS; +also to fit most screens and especially the iconified window, +one should have the size < 32x32.\n\n"; +&search; +print "\npoints = $PTS; size = ${X}x$Y\n"; + +sub search { + local ($row, $col, $firstrow, $firstcol); + local ($i, $j, $found, $c, $tempx, $tempy); + local (@array); + + + $row = $col = 0; + $firstrow = -1; + $firstcol = 80; + $PTS = $X = $Y = 0; + while (<>) { + if (!($_ =~ /^#/)) + { + @chars = split(//); + $col = 0; + foreach $c (@chars) { + $col++; + if ($c =~ /[\*0Oo]/) { + if ($firstrow < 0) { + $row = $firstrow = 1; + } + if ($col < $firstcol) { + $firstcol = $col; + } + if ($row > $Y) { + $Y = $row; + } + if ($col > $X) { + $X = $col; + } + $array{$col, $row} = 1; + $PTS++; + } + } + $row++; + } + } + $col = $X - $firstcol + 1; + $row = $Y; + print "\t{\t\t/* */\n\t\t"; + for ($j = 0; $j <= $Y; $j++) { + $found = 0; + for ($i = 0; $i <= $X; $i++) { + if ($array{$i, $j}) { + if ($found) { + printf " "; + } + $found = 1; + $tempx = $i - int(($col + 2) / 2) - $firstcol + 1; + $tempy = $j - int(($row + 2) / 2); + printf "$tempx, $tempy,"; + } + } + if ($found) { + print "\n\t\t"; + } + } + print "127\n\t},\n"; + $X = $col; +} diff --git a/app/xlockmore/etc/xlockmore.desktop b/app/xlockmore/etc/xlockmore.desktop new file mode 100644 index 000000000..286d492fd --- /dev/null +++ b/app/xlockmore/etc/xlockmore.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Xlock +Comment=Screen Saver +Comment[fr]=Economiseur d'écran +Exec=/usr/local/bin/xlock -mode random +Icon=gnome-lockscreen.png +Terminal=0 +Type=Application diff --git a/app/xlockmore/etc/xlockranddur.pl b/app/xlockmore/etc/xlockranddur.pl new file mode 100644 index 000000000..c9fd5fe15 --- /dev/null +++ b/app/xlockmore/etc/xlockranddur.pl @@ -0,0 +1,6 @@ +#!/usr/bin/perl -w +# xarand +open(S,"/usr/games/fortune|wc|"); +local(@numbers) = split(" ",<S>); +print int $numbers[2]/3; +close(S); diff --git a/app/xlockmore/etc/xlockrandimage.pl b/app/xlockmore/etc/xlockrandimage.pl new file mode 100644 index 000000000..e9db2e696 --- /dev/null +++ b/app/xlockmore/etc/xlockrandimage.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl +# This is used if the RANDIMAGEFILE switch does not work so instead of: +# xlock -imagefile [ DIRECTORY | FILE ] [other xlock options] +# try +# randimagefile.pl [DIRECTORY | FILE] [other xlock options] +# By the way the typical other xlock options that would be used here are +# -mode [image | puzzle] -install + +local($file) = shift(@ARGV); +if ($file eq "") { + print "\nUsage: $0 [DIRECTORY | FILE] [other xlock options]\n"; + print "\tother xlock options typically are: -mode [image | puzzle] -install\n"; + exit 1; +} + +getrandfile(); +#printf "xlock -imagefile $file @ARGV\n"; +system "xlock -imagefile $file @ARGV"; + +sub getrandfile { + if (-d $file) { # OK so its not really a file :) + opendir(DIR, $file) || die "Can not open $file"; + local(@filenames) = grep(!/^\.\.?$/, readdir(DIR)); # ls but avoid . && .. + closedir(DIR); + srand(time); # use time|$$ if security involved + $file = splice(@filenames, rand @filenames, 1); # pick one + } +} diff --git a/app/xlockmore/etc/xlockrle.pl b/app/xlockmore/etc/xlockrle.pl new file mode 100644 index 000000000..d4e6ed674 --- /dev/null +++ b/app/xlockmore/etc/xlockrle.pl @@ -0,0 +1,84 @@ +#!/usr/bin/perl -T -w +# This is used to add life to life +# This is a QUICK hack to convert life files to xlock's life format. +# Patterns MUST have <= 64 pts at start for life.c to use the data generated +# Below is an example of a life file without the first initial #'s +# Call the file piston.life and run it like xlocklife.pl < piston.life +#piston.life +##P -10 -3 Treated as a comment, program finds own center +#..........*........... +#..........****........ +#**.........****....... +#**.........*..*.....** +#...........****.....** +#..........****........ +#..........*........... + +local($PTS, $X, $Y); + +print " +Drop these points in life.c, within the 'patterns' array. +Note if the number of points > 64, one must increase points NUMPTS; +also to fit most screens and especially the iconified window, +one should have the size < 32x32.\n\n"; +&search; +print "\npoints = $PTS; size = ${X}x$Y\n"; + +sub search { + local ($row, $col, $firstrow, $firstcol); + local ($i, $j, $found, $c, $tempx, $tempy); + local (@array); + + + $row = $col = 0; + $firstrow = -1; + $firstcol = 80; + $PTS = $X = $Y = 0; + while (<>) { + if ((!($_ =~ /^#/)) && (!($_ =~ /^x/))) { + @chars = split(//); + $col = 0; + $number = 0; + foreach $c (@chars) { + $col++; + if ($c =~ /[1234567890]/) { + $number = $number * 10 + ($c - '0'); + } elsif ($c =~ /[b]/) { + if ($number == 0) { + printf "."; + } else { + for ($j = 0; $j < $number; $j++) { + printf "."; + } + $number = 0; + } + } elsif ($c =~ /[o]/) { + if ($number == 0) { + printf "o"; + } else { + for ($j = 0; $j < $number; $j++) { + printf "o"; + } + $number = 0; + } + } elsif ($c =~ /[\$]/) { + if ($number == 0) { + printf "\n"; + } else { + for ($j = 0; $j < $number; $j++) { + printf "\n"; + } + $number = 0; + } + } elsif ($c =~ /[\!]/) { + printf "\n"; + return; + + } + $row++; + } + } + } + print "127\n },\n"; + $X = $col; +} diff --git a/app/xlockmore/etc/xlocksat.pl b/app/xlockmore/etc/xlocksat.pl new file mode 100644 index 000000000..5460b22da --- /dev/null +++ b/app/xlockmore/etc/xlocksat.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl -T -w +# xlocksat +require "ctime.pl"; + +#local($hour) = `/bin/date "+%H:"`; +local($hour) = (localtime)[2]; +local($saturation) = (12 - abs($hour - 12)) / 12 ; +printf("%.2f\n", $saturation); diff --git a/app/xlockmore/etc/xlockssh-add-keys.pl b/app/xlockmore/etc/xlockssh-add-keys.pl new file mode 100644 index 000000000..3d382cea1 --- /dev/null +++ b/app/xlockmore/etc/xlockssh-add-keys.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl -w +# +# This script is intended to be invoked via the -pipepassCmd option +# of xlock(1), to add private ssh(1) keys to a running ssh-agent(1) +# when the screen is unlocked without the user having to enter the +# passphrase. +# +# Only keys who's passphrase is the same as the user's password can +# be automatically re-added in this way. +# +use strict; + +use Expect; + +my $pass = <STDIN>; +my $exp = Expect->spawn('/usr/local/bin/xlockssh-add.sh'); +$exp->expect(10, ':'); +$exp->send("$pass\r\n"); +$exp->expect(10, ':'); +$exp->hard_close; diff --git a/app/xlockmore/etc/xlockssh-add.sh b/app/xlockmore/etc/xlockssh-add.sh new file mode 100644 index 000000000..88589814e --- /dev/null +++ b/app/xlockmore/etc/xlockssh-add.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# +# This is an example of a script to prompt for a passphrase and add +# several ssh(1) keys to a running ssh-agent(1). +# +ssh-add $HOME/.ssh/identity $HOME/.ssh/other_identity diff --git a/app/xlockmore/etc/xlockssh.fvwm2rc b/app/xlockmore/etc/xlockssh.fvwm2rc new file mode 100644 index 000000000..17a00d85e --- /dev/null +++ b/app/xlockmore/etc/xlockssh.fvwm2rc @@ -0,0 +1,8 @@ +# +# This is an example of what a fvwm2(1) user might add to ~/.fvwm2rc +# so that xlock(1) will delete their keys from ssh-agent(1) when they +# lock the screen and re-add them when the unlock it. +# + +Key z A CM Exec xlock -nice 0 -mode life -startCmd "ssh-add -D" \ + -pipepassCmd /usr/local/bin/xlockssh-add-keys.pl & diff --git a/app/xlockmore/etc/xlocksshprofile.sh b/app/xlockmore/etc/xlocksshprofile.sh new file mode 100644 index 000000000..5f0eec257 --- /dev/null +++ b/app/xlockmore/etc/xlocksshprofile.sh @@ -0,0 +1,10 @@ +# +# This is an example of what an ssh-agent(1) user might add to their +# .profile to get a single ssh-agent process +SSH_AUTH_SOCK=$HOME/.ssh/agentsocket +export SSH_AUTH_SOCK +if [ \! -r "$SSH_AUTH_SOCK" ] +then + ssh-agent -a $SSH_AUTH_SOCK + /usr/local/bin/xlockssh-add.sh +fi diff --git a/app/xlockmore/etc/xtermlock.sh b/app/xlockmore/etc/xtermlock.sh new file mode 100644 index 000000000..93cc1c16b --- /dev/null +++ b/app/xlockmore/etc/xtermlock.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# Runs xlock displaying to the current X terminal emulator window +# Works well in xterm, but not so well in terminal emulators like +# dtterm that have menu bars and other junk. +# +# All arguments are passed to xlock. + +g=`stty -a | + sed -ne's/.* ypixels = \([^;]*\); xpixels = \([^;]*\).*/\2x\1/p'` +exec xlock -inwindow -parent $WINDOWID +install -geometry $g "$@" diff --git a/app/xlockmore/etc/xwinlock.sh b/app/xlockmore/etc/xwinlock.sh new file mode 100644 index 000000000..aee774404 --- /dev/null +++ b/app/xlockmore/etc/xwinlock.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# Runs xlock displaying in another X client's window. +# use -me to use current terminal emulator window (works in ddterm). +# use -id <windowid> to display to a specific window. +# Otherwise select the target window with the cross-hair cursor. +# +# All other arguments are passed to xlock. + +case $1 in +-me)if [ "$WINDOWID" ]; then id="-id $WINDOWID"; shift + else echo >&2 "WINDOWID not set"; exit 1; fi;; +-id)if [ $# -gt 1 ]; then id="-id $2"; shift; shift + else echo >&2 "ID not specified"; exit 1; fi;; +esac +exec xlock +install -inwindow -parent `xwininfo $id -int | + awk '/Window id/{printf "%d", $4}; + /Width/{printf " -geometry %d", $2}; + /Height/{printf "x%d", $2}'` "$@" |