diff options
-rw-r--r-- | xclipboard.c | 204 | ||||
-rw-r--r-- | xclipboard.man | 11 | ||||
-rw-r--r-- | xcutsel.c | 64 | ||||
-rw-r--r-- | xcutsel.man | 7 |
4 files changed, 114 insertions, 172 deletions
diff --git a/xclipboard.c b/xclipboard.c index f9e7418..ad2b25c 100644 --- a/xclipboard.c +++ b/xclipboard.c @@ -28,6 +28,7 @@ in this Software without prior written authorization from The Open Group. * Updated for R4: Chris D. Peterson, MIT X Consortium. * Reauthored by: Keith Packard, MIT X Consortium. */ +/* $XFree86: xc/programs/xclipboard/xclipboard.c,v 1.8 2001/12/14 20:01:16 dawes Exp $ */ #include <stdio.h> #include <X11/Intrinsic.h> @@ -44,12 +45,16 @@ in this Software without prior written authorization from The Open Group. #include <X11/Xaw/AsciiText.h> #include <X11/Xaw/Dialog.h> #include <X11/Xaw/Cardinals.h> +#include <X11/IntrinsicP.h> +#include <X11/Xaw/TextP.h> #include <X11/Xfuncs.h> #ifdef XKB #include <X11/extensions/XKBbells.h> #endif +#include <stdlib.h> + #define Command commandWidgetClass #define Label labelWidgetClass #define Text asciiTextWidgetClass @@ -63,22 +68,22 @@ typedef struct _Clip { int avail; } ClipRec, *ClipPtr; -extern char *malloc (); - static Atom wm_delete_window; static Atom wm_protocols; -static long TextLength (w) - Widget w; +static void EraseTextWidget ( void ); +static void NewCurrentClipContents ( char *data, int len ); + +static long +TextLength(Widget w) { return XawTextSourceScan (XawTextGetSource (w), (XawTextPosition) 0, XawstAll, XawsdRight, 1, TRUE); } -SaveClip (w, clip) - Widget w; - ClipPtr clip; +static void +SaveClip(Widget w, ClipPtr clip) { Arg args[1]; char *data; @@ -105,9 +110,8 @@ SaveClip (w, clip) } } -RestoreClip (w, clip) - Widget w; - ClipPtr clip; +static void +RestoreClip(Widget w, ClipPtr clip) { Arg args[1]; Widget source; @@ -118,10 +122,8 @@ RestoreClip (w, clip) } /*ARGSUSED*/ -ClipPtr -NewClip (w, old) - Widget w; - ClipPtr old; +static ClipPtr +NewClip(Widget w, ClipPtr old) { ClipPtr newClip; @@ -142,9 +144,8 @@ NewClip (w, old) } /*ARGSUSED*/ -DeleteClip (w, clip) - Widget w; - ClipPtr clip; +static void +DeleteClip(Widget w, ClipPtr clip) { if (clip->prev) clip->prev->next = clip->next; @@ -162,7 +163,7 @@ static Widget fileDialog, fileDialogShell; static Widget failDialog, failDialogShell; static int -IndexCurrentClip () +IndexCurrentClip (void) { int i = 0; ClipPtr clip; @@ -173,7 +174,7 @@ IndexCurrentClip () } static void -set_button_state () +set_button_state (void) { Boolean prevvalid, nextvalid; Arg arg; @@ -192,11 +193,7 @@ set_button_state () /* ARGSUSED */ static void -NextCurrentClip (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +NextCurrentClip(Widget w, XEvent *ev, String *parms, Cardinal *np) { if (currentClip->next) { @@ -209,11 +206,7 @@ NextCurrentClip (w, ev, parms, np) /* ARGSUSED */ static void -PrevCurrentClip (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +PrevCurrentClip(Widget w, XEvent *ev, String *parms, Cardinal *np) { if (currentClip->prev) { @@ -226,11 +219,7 @@ PrevCurrentClip (w, ev, parms, np) /* ARGSUSED */ static void -DeleteCurrentClip (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +DeleteCurrentClip(Widget w, XEvent *ev, String *parms, Cardinal *np) { ClipPtr newCurrent; @@ -251,20 +240,14 @@ DeleteCurrentClip (w, ev, parms, np) /* ARGSUSED */ static void -Quit (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +Quit(Widget w, XEvent *ev, String *parms, Cardinal *np) { XtCloseDisplay (XtDisplay (text)); exit (0); } static void -CenterWidgetAtPoint (w, x, y) - Widget w; - int x, y; +CenterWidgetAtPoint(Widget w, int x, int y) { Arg args[2]; Dimension width, height; @@ -294,16 +277,13 @@ CenterWidgetAtPoint (w, x, y) } static void -CenterWidgetOnEvent (w, e) - Widget w; - XEvent *e; +CenterWidgetOnEvent(Widget w, XEvent *e) { CenterWidgetAtPoint (w, e->xbutton.x_root, e->xbutton.y_root); } static void -CenterWidgetOnWidget (w, wT) - Widget w, wT; +CenterWidgetOnWidget(Widget w, Widget wT) { Position rootX, rootY; Dimension width, height; @@ -318,11 +298,7 @@ CenterWidgetOnWidget (w, wT) /*ARGSUSED*/ static void -SaveToFile (w, e, argv, argc) - Widget w; - XEvent *e; - String *argv; - Cardinal *argc; +SaveToFile(Widget w, XEvent *e, String *argv, Cardinal *argc) { Arg args[1]; char *filename; @@ -338,11 +314,7 @@ SaveToFile (w, e, argv, argc) /*ARGSUSED*/ static void -AcceptSaveFile (w, e, argv, argc) - Widget w; - XEvent *e; - String *argv; - Cardinal *argc; +AcceptSaveFile(Widget w, XEvent *e, String *argv, Cardinal *argc) { char *filename; Boolean success; @@ -373,36 +345,25 @@ AcceptSaveFile (w, e, argv, argc) /* ARGSUSED */ static void -CancelSaveFile (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +CancelSaveFile(Widget w, XEvent *ev, String *parms, Cardinal *np) { XtPopdown (fileDialogShell); } /* ARGSUSED */ static void -FailContinue (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +FailContinue(Widget w, XEvent *ev, String *parms, Cardinal *np) { XtPopdown (failDialogShell); } /*ARGSUSED*/ -static void WMProtocols(w, ev, params, n) - Widget w; - XEvent *ev; - String *params; - Cardinal *n; +static void +WMProtocols(Widget w, XEvent *ev, String *params, Cardinal *n) { if (ev->type == ClientMessage && ev->xclient.message_type == wm_protocols && - ev->xclient.data.l[0] == wm_delete_window) { + ev->xclient.data.l[0] == (long) wm_delete_window) { while (w && !XtIsShell(w)) w = XtParent(w); if (w == top) @@ -416,18 +377,13 @@ static void WMProtocols(w, ev, params, n) /* ARGUSED */ static void -NewCurrentClip (w, ev, parms, np) - Widget w; - XEvent *ev; - String *parms; - Cardinal *np; +NewCurrentClip(Widget w, XEvent *ev, String *parms, Cardinal *np) { NewCurrentClipContents ("", 0); } -NewCurrentClipContents (data, len) - char *data; - int len; +static void +NewCurrentClipContents(char *data, int len) { XawTextBlock textBlock; @@ -454,7 +410,8 @@ NewCurrentClipContents (data, len) set_button_state (); } -EraseTextWidget () +static void +EraseTextWidget(void) { XawTextBlock block; @@ -469,16 +426,16 @@ EraseTextWidget () XtActionsRec xclipboard_actions[] = { - "NewClip", NewCurrentClip, - "NextClip", NextCurrentClip, - "PrevClip", PrevCurrentClip, - "DeleteClip", DeleteCurrentClip, - "Save", SaveToFile, - "AcceptSave", AcceptSaveFile, - "CancelSave", CancelSaveFile, - "FailContinue", FailContinue, - "Quit", Quit, - "WMProtocols", WMProtocols + { "NewClip", NewCurrentClip }, + { "NextClip", NextCurrentClip }, + { "PrevClip", PrevCurrentClip }, + { "DeleteClip", DeleteCurrentClip }, + { "Save", SaveToFile }, + { "AcceptSave", AcceptSaveFile }, + { "CancelSave", CancelSaveFile }, + { "FailContinue", FailContinue }, + { "Quit", Quit }, + { "WMProtocols", WMProtocols } }; static XrmOptionDescRec table[] = { @@ -486,20 +443,18 @@ static XrmOptionDescRec table[] = { /* {"-nw", "wrap", XrmoptionNoArg, "False"} */ }; -static void LoseSelection (); -static void InsertClipboard (); -static Boolean ConvertSelection(); +static Boolean ConvertSelection ( Widget w, Atom *selection, Atom *target, + Atom *type, XtPointer *value, + unsigned long *length, int *format ); +static void LoseSelection ( Widget w, Atom *selection ); + static Atom ManagerAtom, ClipboardAtom; /*ARGSUSED*/ static void -InsertClipboard(w, client_data, selection, type, value, length, format) -Widget w; -XtPointer client_data; -Atom *selection, *type; -XtPointer value; -unsigned long *length; -int *format; +InsertClipboard(Widget w, XtPointer client_data, Atom *selection, + Atom *type, XtPointer value, unsigned long *length, + int *format) { if (*type != XT_CONVERT_FAIL) NewCurrentClipContents ((char *) value, *length); @@ -522,13 +477,10 @@ int *format; XFree(value); } -static Boolean ConvertSelection(w, selection, target, - type, value, length, format) - Widget w; - Atom *selection, *target, *type; - XtPointer *value; - unsigned long *length; - int *format; +static Boolean +ConvertSelection(Widget w, Atom *selection, Atom *target, + Atom *type, XtPointer *value, unsigned long *length, + int *format) { Display* d = XtDisplay(w); XSelectionRequestEvent* req = @@ -539,7 +491,8 @@ static Boolean ConvertSelection(w, selection, target, Atom* std_targets; unsigned long std_length; XmuConvertStandardSelection(w, req->time, selection, target, type, - (XPointer*)&std_targets, &std_length, format); + (XPointer*)&std_targets, &std_length, + format); *value = XtMalloc(sizeof(Atom)*(std_length + 5)); targetP = *(Atom**)value; *targetP++ = XA_STRING; @@ -591,7 +544,6 @@ static Boolean ConvertSelection(w, selection, target, *target == XA_TEXT(d) || *target == XA_COMPOUND_TEXT(d)) { - extern char *_XawTextGetSTRING(); if (*target == XA_COMPOUND_TEXT(d)) *type = *target; else @@ -603,36 +555,31 @@ static Boolean ConvertSelection(w, selection, target, } if (XmuConvertStandardSelection(w, req->time, selection, target, type, - (XPointer *)value, length, format)) + (XPointer *) value, length, format)) return True; return False; } -static void LoseSelection(w, selection) - Widget w; - Atom *selection; +static void +LoseSelection(Widget w, Atom *selection) { XtGetSelectionValue(w, *selection, XA_STRING, InsertClipboard, NULL, CurrentTime); } /*ARGSUSED*/ -static Boolean RefuseSelection(w, selection, target, - type, value, length, format) - Widget w; - Atom *selection, *target, *type; - XtPointer *value; - unsigned long *length; - int *format; +static Boolean +RefuseSelection(Widget w, Atom *selection, Atom *target, + Atom *type, XtPointer *value, unsigned long *length, + int *format) { return False; } /*ARGSUSED*/ -static void LoseManager(w, selection) - Widget w; - Atom *selection; +static void +LoseManager(Widget w, Atom *selection) { XtError("another clipboard has taken over control\n"); } @@ -652,10 +599,8 @@ XtResource resources[] = { #undef Offset -void -main(argc, argv) -int argc; -char **argv; +int +main(int argc, char *argv[]) { Arg args[4]; Cardinal n; @@ -735,4 +680,5 @@ char **argv; (void) XSetWMProtocols(XtDisplay(top), XtWindow(failDialogShell), &wm_delete_window,1); XtAppMainLoop(xtcontext); + exit(0); } diff --git a/xclipboard.man b/xclipboard.man index 23f13af..933c782 100644 --- a/xclipboard.man +++ b/xclipboard.man @@ -22,7 +22,10 @@ .\" not be used in advertising or otherwise to promote the sale, use or .\" other dealings in this Software without prior written authorization .\" from The Open Group. -.TH XCLIPBOARD 1 "Release 6.4" "X Version 11" +.\" +.\" $XFree86: xc/programs/xclipboard/xclipboard.man,v 1.9 2002/10/12 16:06:46 herrb Exp $ +.\" +.TH XCLIPBOARD 1 __xorgversion__ .SH NAME xclipboard \- X clipboard client .SH SYNOPSIS @@ -127,7 +130,7 @@ file to use the clipboard are: .fi .sp .SH "SEE ALSO" -X(1), xcutsel(1), xterm(1), individual client documentation for how to make a +X(__miscmansuffix__), xcutsel(1), xterm(1), individual client documentation for how to make a selection and send it to the CLIPBOARD. .SH ENVIRONMENT .PP @@ -139,7 +142,9 @@ to get the default host and display number. to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property. .SH FILES -<XRoot>/lib/X11/app-defaults/XClipboard - specifies required resources +.TP +.I __apploaddir__/XClipboard +specifies required resources .SH AUTHOR Ralph R. Swick, DEC/MIT Project Athena .br @@ -26,8 +26,10 @@ in this Software without prior written authorization from The Open Group. * * * Author: Ralph Swick, DEC/Project Athena */ +/* $XFree86: xc/programs/xclipboard/xcutsel.c,v 1.8 2001/12/14 20:01:16 dawes Exp $ */ #include <stdio.h> +#include <stdlib.h> #include <X11/Intrinsic.h> #include <X11/StringDefs.h> #include <X11/Xatom.h> @@ -80,8 +82,8 @@ typedef struct { static ButtonState state; -Syntax(call) - char *call; +static void +Syntax(char *call) { fprintf (stderr, "usage: %s [-selection name] [-cutbuffer number]\n", call); @@ -89,13 +91,9 @@ Syntax(call) } -static void StoreBuffer(w, client_data, selection, type, value, length, format) - Widget w; - XtPointer client_data; - Atom *selection, *type; - XtPointer value; - unsigned long *length; - int *format; +static void +StoreBuffer(Widget w, XtPointer client_data, Atom *selection, Atom *type, + XtPointer value, unsigned long *length, int *format) { if (*type == 0 || *type == XT_CONVERT_FAIL || *length == 0) { @@ -114,13 +112,10 @@ static void StoreBuffer(w, client_data, selection, type, value, length, format) } -static Boolean ConvertSelection(w, selection, target, - type, value, length, format) - Widget w; - Atom *selection, *target, *type; - XtPointer *value; - unsigned long *length; - int *format; +static Boolean +ConvertSelection(Widget w, Atom *selection, Atom *target, + Atom *type, XtPointer *value, unsigned long *length, + int *format) { Display* d = XtDisplay(w); XSelectionRequestEvent* req = @@ -131,7 +126,8 @@ static Boolean ConvertSelection(w, selection, target, Atom* std_targets; unsigned long std_length; XmuConvertStandardSelection(w, req->time, selection, target, type, - (XPointer*)&std_targets, &std_length, format); + (XPointer*)&std_targets, &std_length, + format); *value = XtMalloc(sizeof(Atom)*(std_length + 4)); targetP = *(Atom**)value; *length = std_length + 4; @@ -195,9 +191,8 @@ static Boolean ConvertSelection(w, selection, target, } -static void SetButton(state, on) - ButtonState *state; - Boolean on; +static void +SetButton(ButtonState *state, Boolean on) { if (state->is_on != on) { Arg args[2]; @@ -213,9 +208,8 @@ static void SetButton(state, on) } -static void LoseSelection(w, selection) - Widget w; - Atom *selection; +static void +LoseSelection(Widget w, Atom *selection) { if (options.value) { XFree( options.value ); @@ -226,10 +220,8 @@ static void LoseSelection(w, selection) /* ARGSUSED */ -static void Quit(w, closure, callData) - Widget w; - XtPointer closure; /* unused */ - XtPointer callData; /* unused */ +static void +Quit(Widget w, XtPointer closure, XtPointer callData) { XtCloseDisplay( XtDisplay(w) ); exit(0); @@ -237,10 +229,8 @@ static void Quit(w, closure, callData) /* ARGSUSED */ -static void GetSelection(w, closure, callData) - Widget w; - XtPointer closure; /* unused */ - XtPointer callData; /* unused */ +static void +GetSelection(Widget w, XtPointer closure, XtPointer callData) { XtGetSelectionValue(w, options.selection, XA_STRING, StoreBuffer, NULL, @@ -249,10 +239,8 @@ static void GetSelection(w, closure, callData) /* ARGSUSED */ -static void GetBuffer(w, closure, callData) - Widget w; - XtPointer closure; - XtPointer callData; /* unused */ +static void +GetBuffer(Widget w, XtPointer closure, XtPointer callData) { if (options.value) XFree( options.value ); options.value = @@ -266,9 +254,8 @@ static void GetBuffer(w, closure, callData) } -void main(argc, argv) - int argc; - char *argv[]; +int +main(int argc, char *argv[]) { char label[100]; Widget box, button; @@ -322,4 +309,5 @@ void main(argc, argv) XtRealizeWidget(shell); XtAppMainLoop(appcon); + exit(0); } diff --git a/xcutsel.man b/xcutsel.man index 992a4e4..09ac0b4 100644 --- a/xcutsel.man +++ b/xcutsel.man @@ -22,7 +22,10 @@ .\" not be used in advertising or otherwise to promote the sale, use or .\" other dealings in this Software without prior written authorization .\" from The Open Group. -.TH XCUTSEL 1 "Release 6.4" "X Version 11" +.\" +.\" $XFree86: xc/programs/xclipboard/xcutsel.man,v 1.8 2001/12/14 20:01:16 dawes Exp $ +.\" +.TH XCUTSEL 1 __xorgversion__ .SH NAME xcutsel - interchange between cut buffer and selection .SH SYNOPSIS @@ -96,7 +99,7 @@ This is the ``copy BUFFER to SELECTION'' button. .B "quit (\fPclass\fB Command)" This is the ``quit'' button. .SH "SEE ALSO" -X(1), xclipboard(1), xterm(1), text widget documentation, individual client +X(__miscmansuffix__), xclipboard(1), xterm(1), text widget documentation, individual client documentation for how to make a selection. .SH BUGS There is no way to change the name of the selection or the number of the |