From 18ae14262f9859a2e1f2dd769a0c4dcf4e1bb344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 16 Aug 2004 16:36:16 +0000 Subject: As discussed and agreed on on the release-wranglers meeting of August 16, 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. --- xlogo.c | 128 +++++++++++++++++++++------------------------------------------- 1 file changed, 42 insertions(+), 86 deletions(-) (limited to 'xlogo.c') diff --git a/xlogo.c b/xlogo.c index e48afef..49cf369 100644 --- a/xlogo.c +++ b/xlogo.c @@ -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 #include #include -#include "xlogo.h" #include "Logo.h" -#include "print.h" +#include #ifdef XKB #include #endif -#include #include -/* 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 \\" - "\tq: quit()\\n\\" - "\tp: 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 ] [-bg ] [-rv] [-bw ] [-bd ]\n"; - reasons[n++] = " [-d []:[]]\n"; - reasons[n++] = " [-g [][x][<+->[<+->]]]\n"; - reasons[n++] = " [-print] [-printname ] [-printfile ]\n"; + String reasons[7]; + int i, num_reasons = 7; + + reasons[0] = "Usage: "; + reasons[1] = call; + reasons[2] = " [-fg ] [-bg ] [-rv] [-bw ] [-bd ]\n"; + reasons[3] = " [-d []:[]]\n"; + reasons[4] = " [-g [][x][<+->[<+->]]]\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 ("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 ("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); -} - - -- cgit v1.2.3