summaryrefslogtreecommitdiff
path: root/app/xlockmore/etc/genlauncher/xlockgen.lex
diff options
context:
space:
mode:
Diffstat (limited to 'app/xlockmore/etc/genlauncher/xlockgen.lex')
-rw-r--r--app/xlockmore/etc/genlauncher/xlockgen.lex121
1 files changed, 121 insertions, 0 deletions
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();
+}