Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
38
cde/osf/xmbind/0040.xmbind
Executable file
38
cde/osf/xmbind/0040.xmbind
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/ksh
|
||||
#####################################################################
|
||||
### File: 0040.xmbind
|
||||
###
|
||||
### Default Location: /usr/dt/config/Xsession.d/
|
||||
###
|
||||
### Purpose: Set XMBINDDIR directory to CDE
|
||||
### default /usr/dt/lib/bindings
|
||||
###
|
||||
### Description:
|
||||
### This script is invoked by means of the Xsession file
|
||||
### at user login. It sets a default value for the
|
||||
### environment variable XMBINDDIR. Motif looks in the
|
||||
### directory specified by this variable for the
|
||||
### xmbind.alias and virtual bindings files.
|
||||
###
|
||||
###
|
||||
### Invoked by: /usr/dt/bin/Xsession
|
||||
###
|
||||
### Product: @(#)Common Desktop Environment 1.0
|
||||
###
|
||||
### Note:
|
||||
###
|
||||
### The /usr/dt/config/Xsession.d/0040.dtims file is a
|
||||
### factory-default file and will be unconditionally overwritten upon
|
||||
### subsequent installation. To customize the XMBINDDIR value,
|
||||
### copy this file to the configuration directory,
|
||||
### /etc/dt/config/Xsession.d and change that version
|
||||
### of the file.
|
||||
###
|
||||
### Revision: $XConsortium: 0040.xmbind /main/3 1995/07/14 09:40:09 drk $
|
||||
#####################################################################
|
||||
|
||||
|
||||
XMBINDDIR=/usr/dt/lib/bindings
|
||||
export XMBINDDIR
|
||||
|
||||
########################## eof #####################
|
||||
36
cde/osf/xmbind/Imakefile
Normal file
36
cde/osf/xmbind/Imakefile
Normal file
@@ -0,0 +1,36 @@
|
||||
XCOMM
|
||||
XCOMM @OSF_COPYRIGHT@
|
||||
XCOMM COPYRIGHT NOTICE
|
||||
XCOMM Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
|
||||
XCOMM ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
|
||||
XCOMM the full copyright text.
|
||||
XCOMM
|
||||
XCOMM
|
||||
XCOMM HISTORY
|
||||
XCOMM
|
||||
XCOMM $XConsortium: Imakefile /main/8 1995/07/14 09:39:48 drk $
|
||||
|
||||
#ifdef CdeImake
|
||||
|
||||
# ifdef USLArchitecture
|
||||
# if HasSharedLibraries
|
||||
EXTRA_LOAD_FLAGS = -z nodefs
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif /* CdeImake */
|
||||
|
||||
INCLUDES = -I. -I$(INCLUDESRC) -I$(MINCLUDESRC)
|
||||
DEPLIBS1 = XmClientDepLibs
|
||||
LOCAL_LIBRARIES = XmClientLibs
|
||||
|
||||
SRCS1= xmbind.c
|
||||
|
||||
OBJS1= xmbind.o
|
||||
|
||||
PROGRAMS = xmbind
|
||||
|
||||
NormalLibraryObjectRule()
|
||||
|
||||
MComplexProgramTarget_1(xmbind,$(LOCAL_LIBRARIES),NullParameter)
|
||||
|
||||
11
cde/osf/xmbind/README
Normal file
11
cde/osf/xmbind/README
Normal file
@@ -0,0 +1,11 @@
|
||||
/* $XConsortium: README /main/3 1996/07/15 13:56:01 drk $ */
|
||||
This directory contains the xmbind client.
|
||||
|
||||
xmbind is used to set up the bindings between keys on the
|
||||
keyboard and Motif virtual keys.
|
||||
|
||||
Normally mwm will do this on initialization. If you are not
|
||||
running mwm, or wish to change the bindings without restarting
|
||||
mwm, use xmbind.
|
||||
|
||||
For more information see the xmbind and VirtualBindings man pages.
|
||||
77
cde/osf/xmbind/xmbind.c
Normal file
77
cde/osf/xmbind/xmbind.c
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* @OSF_COPYRIGHT@
|
||||
* COPYRIGHT NOTICE
|
||||
* Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
|
||||
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
|
||||
* the full copyright text.
|
||||
*/
|
||||
/*
|
||||
* HISTORY
|
||||
*/
|
||||
#ifdef REV_INFO
|
||||
#ifndef lint
|
||||
static char rcsid[] = "$TOG: xmbind.c /main/10 1997/06/18 17:34:48 samborn $"
|
||||
#endif
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <Xm/Xm.h>
|
||||
|
||||
/* Internal routines "borrowed" from libXm. Don't try this at home! */
|
||||
extern Boolean _XmVirtKeysLoadFileBindings(char *fileName, String *binding);
|
||||
extern int _XmVirtKeysLoadFallbackBindings(Display *display, String *binding);
|
||||
|
||||
void main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
enum { XA_MOTIF_DEFAULT_BINDINGS, XA_MOTIF_BINDINGS };
|
||||
static char *atom_names[] = {
|
||||
"_MOTIF_DEFAULT_BINDINGS", "_MOTIF_BINDINGS" };
|
||||
|
||||
Atom atoms[XtNumber(atom_names)];
|
||||
XtAppContext app_context;
|
||||
Display *display;
|
||||
String bindings = NULL;
|
||||
|
||||
XtToolkitInitialize();
|
||||
app_context = XtCreateApplicationContext();
|
||||
display = XtOpenDisplay(app_context, NULL, argv[0], "Xmbind",
|
||||
NULL, 0, &argc, argv);
|
||||
|
||||
if (display == NULL) {
|
||||
fprintf(stderr, "%s: Can't open display\n", argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
XInternAtoms(display, atom_names, XtNumber(atom_names), False, atoms);
|
||||
if (argc == 2) {
|
||||
if (_XmVirtKeysLoadFileBindings (argv[1], &bindings) == True) {
|
||||
XDeleteProperty (display, RootWindow (display, 0),
|
||||
atoms[XA_MOTIF_DEFAULT_BINDINGS]);
|
||||
XChangeProperty (display, RootWindow(display, 0),
|
||||
atoms[XA_MOTIF_BINDINGS],
|
||||
XA_STRING, 8, PropModeReplace,
|
||||
(unsigned char *)bindings, strlen(bindings));
|
||||
XFlush (display);
|
||||
XtFree (bindings);
|
||||
exit(0);
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "%s: Can't open %s\n", argv[0], argv[1]);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
XDeleteProperty (display, RootWindow (display, 0),
|
||||
atoms[XA_MOTIF_BINDINGS]);
|
||||
XDeleteProperty (display, RootWindow (display, 0),
|
||||
atoms[XA_MOTIF_DEFAULT_BINDINGS]);
|
||||
|
||||
_XmVirtKeysLoadFallbackBindings (display, &bindings);
|
||||
|
||||
XFlush (display);
|
||||
XtFree (bindings);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user