xtartan
NAME
xtartan - draw various tartans as window backgrounds
SYNOPSIS
xtartan [-draw] [-list] [-print] [-version] [-r] [-s scale]
[-t tartanname] [-w linewidth] [-np namepattern] [-sp
setpattern]
DESCRIPTION
Xtartan generates a pixmap containing a Scottish tartan and
sets it as the background of a new window (or the root
window if -r is used). Tartan sett information and color
information are specified using X11 resources, allowing you
to easily add your own tartan if it is not already included,
or to modify the pattern or individual colors of existing
tartans.
The standard applications default file for Xtartan includes
descriptions for over 240 setts.
OPTIONS
-draw
Draw the tartan as a window background (the default
action).
-list
Print out a list of the names of all of the available
tartans.
-print
Print out the sett information for the specified
tartan.
-version
Print out the version number of the xtartan program.
-r Display on the root window instead of creating a new
window.
-s Scale up the width of the stripes in the tartan by the
specified integer (default 2).
-w Scale up with width of the lines drawn by the specified
integer.
-t Use the specified tartan. If not specified, the
MacBeth tartan is used.
-np Use the specified name pattern to filter tartans for
-list and when cycling through the tartans. Only
tartans which contain the specified string as a
substring of the name will be used.
-sp Use the specified sett pattern to filter tartans for
-list and when cycling through the tartans. Only
tartans which contain the specified string as a
substring of the sett will be used.
Xt switches
In addition to the above switches, any of the standard
top-level switches for the Xt toolkit can be specified
(such as -display).
RESOURCES
In addition to standard Xt toolkit resources, xtartan looks
for the resources described below. All resources are
application resources (xtartan.<resource>).
action
Type String, class Action. Specifies the action to
take; one of "draw", "print", "list", or "version".
Setting the action to one of these is equivalent to
specifying the command line option of the same name.
colorCode.<codename>
Type String, class ColorCode. Specifies the color name
translation for the indicated color code. Color codes
are used in the sett descriptions. For example, if the
sett used "BK4" and the resource "*.colorCode.BK:
Black" was specified, the BK4 would be drawn as a black
stripe of width four. By specifying a resource such as
"XTartan.colorCode.BK: Grey" in your personal resources
(or with the -xrm command line option), you can
override the translation of the BK color code and make
it come out as Grey instead of Black.
firstTartan
Type String, class firstTartan (sic - no
capitalization). Specifies the name of the first
tartan in the list of tartans. All tartan sett
information is specified in resources. See the
descriptions of the sett and nextTartan resources.
lineWidth
Type Int, class LineWidth. Specifies the line width
factor. Equivalent to the "-w" command line option.
<tartanname>.nextTartan
Type String, class nextTartan (sic - no
capitalization). Specifies the name of the next tartan
in the list of tartans. The chain of tartans starts
with the tartan specified with the firstTartan resource
and goes through each nextTartan resource. When
Xtartan starts up, it reads the chain into memory so
that it can go forwards or backwards in the list. You
can add your own tartan into the middle of the chain by
overriding the nextTartan resource of the tartan
preceding your tartan (to refer to your tartan) and by
specifying the nextTartan resource on your new tartan
to refer to the tartan formerly referred to by the
preceding tartan. For example, if you wanted to add
the tartan Foobar between Fletcher and Forbes, you
could do this by specifying the following resources in
your personal resources:
XTartan.Fletcher.nextTartan: Foobar
XTartan.Foobar.sett: B4 R4 (a simple sett)
XTartan.Foobar.nextTartan: Forbes
You should run xtartan with the -list option after
adding a tartan to make sure you have not broken the
chain.
scale
Type Int, class Scale. Specifies the scale factor.
Equivalent to the "-s" command line option.
<tartanname>.sett
Type String, class sett (sic - no capitalization).
Specifies the sett information for the tartan. Each
color stripe is represented by a color code immediately
followed by a thread count, e.g. BK4. The color code is
translated by the colorCode.<code> resource. The sett
string can contain comments in parentheses (one level
only), and some special codes, which are preceded by a
percent character (%). The special codes modify the
interpretation of the sett string as follows:
%a - the sett is asymmetric (no pivots)
%b - all thread counts are even; they are divided
by two when read in
%p - the last two colors are a double pivot
%v - vertical pattern (which follows) is different from
horizontal pattern (which precedes)
The sett pattern is drawn from left to right and from
bottom to top.
tartan
Type String, class Tartan. Specifies the name of the
tartan to use. Equivalent to the "-t" command line
option.
useRoot
Type Boolean, class UseRoot. If true, set the
background of the root window instead of opening a new
window. Equivalent to the "-r" command line option.
INTERACTIVE OPTIONS
While xtartan is running, you can change tartans, scale, and
linewidth by entering keyboard command characters (except
when -r is used). The actions defined in xtartan are listed
below, followed by the default translation bindings.
exit()
Causes xtartan to exit.
help()
Prints out a list of what the standard translation
binding do.
info()
Prints out the current tartan name, scale, and line
width.
lineWidth(new)
Changes the line width multiplier. The argument is a
numeric string optionally preceded by a "+" or "-"
character. If there is no sign character, then the new
number is used directly as the new line width. If
there is a leading sign, then the new number is either
added or subtracted from the current value, and the
result is used as the new line width.
name()
Prints out the name of the current tartan.
scale(new)
Changes the scale multiplier. The argument is a
numeric string and is interpreted in the same was as
for the lineWidth action.
setTartan(name)
Switches the current tartan to the specified tartan.
If the name is "+", the next tartan in the list is
selected. If the name is "-", the previous tartan in
the list is selected. If the name is "0", the first
tartan in the list is selected. For these specials,
the name and sett patterns are used to filter out
tartans which do not match those patterns.
sett()
Prints out the name and sett of the current tartan, and
translations for the color codes used in that sett.
The standard translation bindings (in the default app-
defaults file) are:
Ctrl<Key>C : exit()\n\
:<Key>? : help()\n\
:<Key>h : help()\n\
:<Key>f : setTartan(0)\n\
:<Key>n : setTartan(+)\n\
:<Key>N : name()\n\
:<Key>p : setTartan(-)\n\
:<Key>P : sett()\n\
:<Key>q : exit()\n\
:<Key>t : info()\n\
:<Key>* : scale(+1)\n\
:<Key>/ : scale(-1)\n\
:<Key>+ : lineWidth(+1)\n\
:<Key>- : lineWidth(-1)\n\
:<Key>= : scale() lineWidth()
BUGS
When using line widths greater than one, there are often
alignment problems when abutting the tartan tiles, and you
can see a line delimiting the edge of the background pixmap
where the tartan lines do not match properly.
Strange patterns can be caused by using line widths which
are large compared to the width of the color stripes in the
tartan.
Not all of the "tartans" are actual tartans; some are random
patterns to test out the various drawing capabilities of the
program.
SOURCES
The sett descriptions came from a number of different
sources. The source for each sett in the app-defaults file
is indicated in a comment. The following sources were used:
"The Tartan Weaver's Guide" by James D. Scarlett, first
published 1985 by Shepheard-Walwyn (Publishers) Ltd.,
26 Charing Cross Road, London WC2H 0DH. This book
contains color pictures of 142 tartans, and thread
counts for 228 tartans, plus a bit of history about
each tartan (but not about the people associated with
them). It contains the notice, "Copyright (c)
Illustrations Shepheard-Walwyn (Publishers) Ltd. 1977."
I presume this means that the illustrations in this
book are copyrighted, but the sett information is not.
The setts listed in this source have been taken from a
number of other sources. The source for each sett is
well documented, making this a good starting point if
you are interested in tracing the history of a
particular tartan. Setts from this source are
indicated with (W) in the app-defaults file.
"The Official Tartan map of tartans approved by clan
chiefs, the standing council of Scottish chiefs, or the
Lord Lyon King of Arms" by Dunbar and Pottinger,
published by Elm Tree Books in 1976. (Entered by J.
Dean Brock (brock@cs.unc.edu)) Setts from this source
are indicated with (D) in the app-defaults file.
"The Clans and Tartans of Scotland" by Robert Bain,
published by Collins, London and Glasgow, in 1950
(first published 1938). I find no copyright notice in
"The Clans..." nor any text restricting distribution of
information nor reserving rights in any manner. This
book does not contains thread counts; thread colors and
counts for these setts have been estimated from the
photographs, so there is a good chance that they do not
exactly match any official sett. Each tartan faces a
one page description of the history of the people
associated with the tartan. Setts from this source are
indicated with (C) in the app-defaults file.
Because of the difficulty of establishing the authenticity
of tartans, there are a great many tartans for which more
than one sett is listed. These are listed with various
suffixes which generally indicated what authority was used
for that version of the tartan (e.g. _VS for tartans which
came from the Vestiarium Scoticum).
In many cases, photographic plates show a sett which is
clearly not the same as the thread counts given. Usually
the difference is in the size (thread count) for particular
stripes, or in the color of a stripe (e.g. white vs.
yellow). When the difference was more than this, I have
included additional setts to reflect the photograph as well
as the printed sett.
Please remember that the sett information here has been
manually transcribed from printed material, and
transcription errors may have occurred. In some cases the
sources have contained errors, some in the printed thread
counts, some weaving errors in the photographic examples;
there may well be additional errors that I am not aware of.
I have done my best to ensure the correctness of the
information provided, but there are bound to be some errors
remaining.
If you are serious about getting the correct definition for
a sett, please do a little research and find some
authoritative references. The list above is a good start,
or you can go to your local library and look up "tartans" in
their subject index.
COPYRIGHT
This software is not copyrighted.
Xtartan and the sett definitions that are included with it
have not been sanctioned by any Scottish authority; no
guarantee is placed on the accuracy of the tartans it
produces.
AUTHOR
Jim McBeath
Globetrotter Software, Saratoga, California
jimmc@hisoft.uucp (Highland Software, Palo Alto)
- Contributed by
- Ronald Joe Record (rr@ronrecord.com)
- Obtained from
- Usenet news group comp.sources.x
- Restrictions
- None Mentioned
SkunkWare 5.0 1995