diff options
author | Kristian Høgsberg <krh@redhat.com> | 2004-08-16 16:36:16 +0000 |
---|---|---|
committer | Kristian Høgsberg <krh@redhat.com> | 2004-08-16 16:36:16 +0000 |
commit | 18ae14262f9859a2e1f2dd769a0c4dcf4e1bb344 (patch) | |
tree | dad3d2d44849cce06b4d60e3809bf0585f523631 /xlogo.c | |
parent | 28ffd14fbae70a5e01cdcbe2cb9342d3c8816b76 (diff) |
As discussed and agreed on on the release-wranglers meeting of August 16,XORG-6_7_99_903XORG-6_7_99_902XORG-6_7_99_901
I'm committing the patch from bug #1060 to back out unconditional
Xprint functionality.
Back out Xprint changes.
Revert xman to CVS of June 5, revert xlogo to CVS of May 8, revert xedit to
CVS of April 25, to back out unconditional Xprint support.
Fix up Xprint config logic to be like the rest of the extensions:
BuildXprint is a one-stop option for disabling everything Xprint
related. XprtServer controls building Xprt, BuildXprintLib controls
building Xprint libs and BuildXprintClients controls building clients
related to Xprint. BuiltXprint defaults to YES and the other options
respects relevant settings, i.e. BuildServer and BuildServersOnly.
Build Xaw regardless of BuildXprintLib setting.
Only build xphelloworld, xplsprinters and xprehashprinterlist when
BuildXprintClients it YES. Disable building xmore, it has always
supported XawPrintShell.
Make Xprint support depend on BuildXprintLib.
Diffstat (limited to 'xlogo.c')
-rw-r--r-- | xlogo.c | 128 |
1 files changed, 42 insertions, 86 deletions
@@ -1,5 +1,5 @@ /* - * $Xorg: xlogo.c,v 1.5 2004/05/09 02:05:54 gisburn Exp $ + * $Xorg: xlogo.c,v 1.4 2001/02/09 02:05:54 xorgcvs Exp $ * Copyright 1989, 1998 The Open Group @@ -27,22 +27,18 @@ in this Software without prior written authorization from The Open Group. /* $XFree86: xc/programs/xlogo/xlogo.c,v 3.7 2001/07/25 15:05:26 dawes Exp $ */ +#include <stdio.h> #include <X11/Intrinsic.h> #include <X11/Shell.h> -#include "xlogo.h" #include "Logo.h" -#include "print.h" +#include <X11/Xaw/Cardinals.h> #ifdef XKB #include <X11/extensions/XKBbells.h> #endif -#include <stdio.h> #include <stdlib.h> -/* Global vars*/ -const char *ProgramName; /* program name (from argv[0]) */ - -static void quit(Widget w, XEvent *event, String *params, Cardinal *num_params); -static void print(Widget w, XEvent *event, String *params, Cardinal *num_params); +static void quit(Widget w, XEvent *event, String *params, + Cardinal *num_params); static XrmOptionDescRec options[] = { { "-shape", "*shapeWindow", XrmoptionNoArg, (XPointer) "on" }, @@ -50,45 +46,25 @@ static XrmOptionDescRec options[] = { {"-render", "*render",XrmoptionNoArg, "TRUE"}, {"-sharp", "*sharp", XrmoptionNoArg, "TRUE"}, #endif -{"-v", "Verbose", XrmoptionNoArg, "TRUE"}, -{"-print", "Print", XrmoptionNoArg, "TRUE"}, -{"-printer", "printer", XrmoptionSepArg, NULL}, -{"-printfile", "printFile", XrmoptionSepArg, NULL}, }; static XtActionsRec actions[] = { - {"quit", quit }, - {"print", print} + {"quit", quit} }; static Atom wm_delete_window; -/* See xlogo.h */ -XLogoResourceData userOptions; - -#define Offset(field) XtOffsetOf(XLogoResourceData, field) - -XtResource resources[] = { - {"verbose", "Verbose", XtRBoolean, sizeof(Boolean), Offset(verbose), XtRImmediate, (XtPointer)False}, - {"print", "Print", XtRBoolean, sizeof(Boolean), Offset(printAndExit), XtRImmediate, (XtPointer)False}, - {"printer", "Printer", XtRString, sizeof(String), Offset(printername), XtRImmediate, (XtPointer)NULL}, - {"printFile", "PrintFile", XtRString, sizeof(String), Offset(printfile), XtRImmediate, (XtPointer)NULL} -}; - - String fallback_resources[] = { "*iconPixmap: xlogo32", "*iconMask: xlogo32", - "*baseTranslations: #override \\" - "\t<Key>q: quit()\\n\\" - "\t<Key>p: print()", NULL, }; static void die(Widget w, XtPointer client_data, XtPointer call_data) { - XtAppSetExitFlag(XtWidgetToApplicationContext(w)); + XCloseDisplay(XtDisplay(w)); + exit(0); } static void @@ -102,33 +78,34 @@ save(Widget w, XtPointer client_data, XtPointer call_data) */ static void -Syntax(Widget toplevel) +Syntax(Widget toplevel, char *call) { Arg arg; SmcConn connection; - String reasons[10]; - int i, n = 0; - - reasons[n++] = "Usage: "; - reasons[n++] = (String)ProgramName; - reasons[n++] = " [-fg <color>] [-bg <color>] [-rv] [-bw <pixels>] [-bd <color>]\n"; - reasons[n++] = " [-d [<host>]:[<vs>]]\n"; - reasons[n++] = " [-g [<width>][x<height>][<+-><xoff>[<+-><yoff>]]]\n"; - reasons[n++] = " [-print] [-printname <name>] [-printfile <file>]\n"; + String reasons[7]; + int i, num_reasons = 7; + + reasons[0] = "Usage: "; + reasons[1] = call; + reasons[2] = " [-fg <color>] [-bg <color>] [-rv] [-bw <pixels>] [-bd <color>]\n"; + reasons[3] = " [-d [<host>]:[<vs>]]\n"; + reasons[4] = " [-g [<width>][x<height>][<+-><xoff>[<+-><yoff>]]]\n"; #ifdef XRENDER - reasons[n++] = " [-render] [-sharp]\n"; -#endif /* XRENDER */ - reasons[n++] = " [-shape]\n\n"; + reasons[5] = " [-render] [-sharp]\n"; +#else + reasons[5] = ""; +#endif + reasons[6] = " [-shape]\n\n"; XtSetArg(arg, XtNconnection, &connection); XtGetValues(toplevel, &arg, (Cardinal)1); if (connection) - SmcCloseConnection(connection, n, reasons); + SmcCloseConnection(connection, num_reasons, reasons); else { - for (i=0; i < n; i++) + for (i=0; i < num_reasons; i++) printf(reasons[i]); } - exit(EXIT_FAILURE); + exit(1); } int @@ -137,40 +114,27 @@ main(int argc, char *argv[]) Widget toplevel; XtAppContext app_con; - ProgramName = argv[0]; - toplevel = XtOpenApplication(&app_con, "XLogo", options, XtNumber(options), &argc, argv, fallback_resources, sessionShellWidgetClass, NULL, ZERO); if (argc != 1) - Syntax(toplevel); - - XtGetApplicationResources(toplevel, (XtPointer)&userOptions, resources, - XtNumber(resources), NULL, 0); - - XtAppAddActions(app_con, actions, XtNumber(actions)); - - if (userOptions.printAndExit) { - XtCallActionProc(toplevel, "print", NULL, NULL, 0); - } - else - { - XtAddCallback(toplevel, XtNsaveCallback, save, NULL); - XtAddCallback(toplevel, XtNdieCallback, die, NULL); - XtOverrideTranslations - (toplevel, XtParseTranslationTable ("<Message>WM_PROTOCOLS: quit()")); - XtCreateManagedWidget("xlogo", logoWidgetClass, toplevel, NULL, ZERO); - XtRealizeWidget(toplevel); - wm_delete_window = XInternAtom(XtDisplay(toplevel), "WM_DELETE_WINDOW", - False); - (void) XSetWMProtocols (XtDisplay(toplevel), XtWindow(toplevel), - &wm_delete_window, 1); - } - + Syntax(toplevel, argv[0]); + + XtAddCallback(toplevel, XtNsaveCallback, save, NULL); + XtAddCallback(toplevel, XtNdieCallback, die, NULL); + XtAppAddActions + (XtWidgetToApplicationContext(toplevel), actions, XtNumber(actions)); + XtOverrideTranslations + (toplevel, XtParseTranslationTable ("<Message>WM_PROTOCOLS: quit()")); + XtCreateManagedWidget("xlogo", logoWidgetClass, toplevel, NULL, ZERO); + XtRealizeWidget(toplevel); + wm_delete_window = XInternAtom(XtDisplay(toplevel), "WM_DELETE_WINDOW", + False); + (void) XSetWMProtocols (XtDisplay(toplevel), XtWindow(toplevel), + &wm_delete_window, 1); XtAppMainLoop(app_con); - - return EXIT_SUCCESS; + exit(0); } /*ARGSUSED*/ @@ -178,9 +142,9 @@ static void quit(Widget w, XEvent *event, String *params, Cardinal *num_params) { Arg arg; - + if (event->type == ClientMessage && - (Atom)event->xclient.data.l[0] != wm_delete_window) { + event->xclient.data.l[0] != wm_delete_window) { #ifdef XKB XkbStdBell(XtDisplay(w), XtWindow(w), 0, XkbBI_BadValue); #else @@ -194,11 +158,3 @@ quit(Widget w, XEvent *event, String *params, Cardinal *num_params) } } -/*ARGSUSED*/ -static void -print(Widget w, XEvent *event, String *params, Cardinal *num_params) -{ - DoPrint(w, userOptions.printername, userOptions.printfile); -} - - |