NAME
xpostit - X window system Post-it(R) notes

SYNOPSIS
xpostit [ -toolkitoptions ... ] [ -options ... ]

DESCRIPTION
Xpostit provides a mechanism for manipulating on-screen
Post-it(R) notes. All six sizes of Post-it notes may be
displayed, edited, and saved to disk files. In addition,
any on-screen note may be resized to any arbitrary size
either when it is created or at a later time.

When xpostit is first invoked, it creates a small window
with a plaid background. This is the control window for
xpostit. Additionally, if any notes were stored in the save
directory (see below), these will be placed on the screen at
their last locations and in their last respective states
(normal, iconic, or hidden). Each Post-it note, when
created, makes another window on the screen. Xpostit is
controlled using the mouse buttons and a menu. The Post-it
notes are controlled using buttons (Command widgets).

OPTIONS
Xpostit accepts all of the standard X Toolkit command line
options along with the additional options listed below.

-bs number
Specifies the size of the character buffer in which
to save each Post-it note. A note may not contain
more than this number of characters, including new-
lines. The default is 1024.

-dir path
Specifies the path name of the directory in which to
store saved Post-it notes. If path begins with a
‘/’ it is taken as-is; if it does not begin with a
‘/’, the path is taken relative to the home direc-
tory. The named directory must already exist if
notes are to be saved in it. The default is .pos-
titnotes.

-sb Enables scroll-bars. If specified, a scroll bar
will be attached to each Post-it note.

-sv Enables save-on-exit. When specified, this option
tells xpostit to save all Post-it notes to disk
files when exiting. If not specified, notes will
only be saved to disk files when saved manually by
the user.

WIDGET USAGE
Xpostit uses several widget types to construct the objects
it uses.

The control window is a Plaid widget called "Plaid".

The menu is a pop-up shell called "Menu" containing a Sim-
pleMenu widget.

Each Post-it note is a pop-up shell called "PostItNote",
containing a Form widget called "Note" which contains a
Text widget called "NoteText", and four Command widgets
called "Save", "Erase", "Destroy", and "Title".

The confirmation box is a pop-up shell called "Confirm",
containing a Form widget called "Buttons" which contains
two Command widgets called "Confirm" and "Cancel". The
title-change box is a pop-up shell called "Title", con-
taining a Dialog widget called "Dialog".

RESOURCES
Xpostit understands all of the core X Toolkit resource names
and classes as well as those listed below, which are all of
class XPostit.

.bufSize
Specifies the size of the character buffer used to
store a Post-it note. The default is 1024.

.noteDir
Specifies the path name of the directory in which to
store saved notes. The default is .postitnotes.

.saveNotes
Controls the state of the save-on-exit option. The
default is false.

.scrollBar
Controls placing scroll bars on Post-it notes. The
default is false.

ACTIONS
It is possible to rebind the mouse buttons in the Plaid
widget to perform different functions by changing the
widget’s translations. The raise() action, normally bound
to the left mouse button, raises all notes. The lower()
action, normally bound to the middle mouse button, lowers
all notes. The show() action, normally bound to the middle
mouse button with the CTRL key, maps all unmapped notes.
The hide() action, normally bound to the left mouse button
with the CTRL key, unmaps all visible, non-iconic notes on
the screen. The tearoff() action, normally invoked by drag-
ging the left button off the Plaid widget, creates a new
note. The tearoff action has an optional paramter indicat-
ing the size of the note to be created, e.g., tearoff(3x5)
to create a 3-inch by 5-inch note. If no paramter is given,
a 1.5-inch by 2-inch note will be created. The menu raising
function, normally bound to the right mouse button, is per-
formed by calling the actions XawPositionSimpleMenu(Menu)
and MenuPopup(Menu). The quit() action, bound to the "q"
and "Q" keys, is equivalent to selecting "Exit" from the
menu.

THE CONTROL WINDOW
Xpostit allows several operations to be performed from its
control window. Clicking the left mouse button in the con-
trol window will cause all Post-it notes on the screen to be
raised to the top. Clicking the middle mouse button in the
control window will cause all Post-it notes on the screen to
be lowered to the bottom. Clicking the left mouse button in
the control window while holding down the CTRL key will
cause all currently hidden notes to be mapped (shown).
Clicking the middle mouse button in the control window while
holding down the CTRL key will cause all notes on the screen
which are not iconified to be unmapped (hidden). Pressing
the left mouse button in the control window and dragging it
outside the window will create a new note. Pressing the
right mouse button in the control window raises the xpostit
menu. Pressing the "q" or "Q" keys in the control win-
dow will exit the program.

THE MENU
The xpostit menu provides the following selections:

Create 1.5x2 Note
Create a new Post-it note, 1.5 inches tall by 2
inches wide. The window will normally need to be
positioned using the window manager.

Create 2x3 Note
Create a new Post-it note, 2 inches tall by 3 inches
wide.

Create 3x3 Note
Create a new Post-it note, 3 inches square.

Create 3x4 Note
Create a new Post-it note, 3 inches tall by 4 inches
wide.

Create 3x5 Note
Create a new Post-it note, 3 inches tall by 5 inches
wide.

Create 4x6 Note
Create a new Post-it note, 4 inches tall by 6 inches
wide.

Raise All Notes
Raise all Post-it notes to the top. This is
equivalent to pressing the left mouse button in the
control window.

Lower All Notes
Lower all Post-it notes to the bottom. This is
equivalent to pressing the middle mouse button in
the control window.

Hide All Notes
Unmap all Post-it notes, making them disappear from
the screen. This is equivalent to pressing the mid-
dle mouse button in the control window while holding
down the CTRL key. Note: to hide a single note, you
may use the window manager to send a
WM_DELETE_WINDOW message to the note window. Under
twm , this is done with the f.delete function.

Show All Notes
Map all Post-it notes, making them reappear if they
were hidden. This is equivalent to pressing the
left mouse button in the control window while hold-
ing down the CTRL key.

Save All Notes
Save all Post-it notes to disk files in the save
directory.

Exit Exit xpostit . If the -sv command line option was
given, or the saveNotes resource is true , all
Post-it notes will be saved to disk first.

To select an item from the menu, drag the mouse cursor to
that item and release the mouse button.

THE POST-IT NOTE
Each Post-it note is made up of five parts (plus an optional
scroll bar): a text window where the text of the note is
stored, and four buttons labeled "Save", "Erase", "Des-
troy", and "Title".

The title of a Post-it note, which will be displayed by most
window managers in both a title bar and the icon name area,
is by default the string "PostItNote #" followed by a
small integer, the number of the note. The procedure for
changing this title to something more meaningful is
described below.

To enter text into a Post-it note, simply move the mouse
cursor into the text window and start typing. Since the
text window is actually a Text widget, all the Text widget
translations are accepted. Essentially, this means you can
use most of the EMACS control keys in the window. Addition-
ally, the various mouse buttons used for manipulating the
selections and cut buffer are understood.

After entering text in the Post-it note, you may wish to
save the note in a disk file. This way, if the machine goes
down, or if you exit xpostit, the Post-it note can be
restored when you restart xpostit. (Post-it notes are also
saved automatically (if saveNotes is true) if a SIGHUP, SIG-
INT, SIGTERM, or SIGQUIT signal is received.) To save the
note to a disk file, move the mouse cursor to the button
labeled "Save" and press the left mouse button, or use the
"Alt-s" keyboard sequence. The note will be saved as the
file "noten" in your save directory, where n is some
sequence number. NOTE: it is important to remember that
until you have pressed the "Save" button, the data stored
in the Post-it note is not saved on disk and can be lost if
the system goes down or xpostit exits.

To erase the entire contents of the text window, you can
press the left mouse button in the "Erase" button. This
will bring up a confirmation window, which has two buttons
labeled "Confirm" and "Cancel". If you press the "Con-
firm" button, the text will be erased. If you press the
"Cancel" button, the operation is canceled, and nothing
will happen. NOTE: erasing the text in the window does not
affect any contents of the note you have saved on disk
unless you press the "Save" button again.

To destroy a Post-it note, getting rid of its window on the
screen and the disk file it is saved in, move the mouse cur-
sor to the "Destroy" button and press the left mouse but-
ton. This will bring up a confirmation window as described
above. If you confirm the operation, the Post-it note will
disappear from the screen and the disk file it was saved in
will be deleted.

To change the title of a Post-it note, both in any title bar
on the window as well as in the icon for the note, move the
mouse cursor to the "Title" button and press the left
mouse button, or enter the "Alt-t" keyboard sequence.
This will bring up a dialog box with the current title in
it. Change or modify the title, and press the "Okay" but-
ton with the mouse to change the title, or press the "Can-
cel" button to discard the change. You can also simply
press the "Return" key to change the title, or the
"Escape" key to cancel the change.

SEE ALSO
X(1)

BUGS
The sizes of the Post-it notes are only as accurate as the
display dimension and resolution returned by the server. On
the Sun server and possibly others, this means they aren’t
all that accurate.

When the title of a Post-it note is changed, some window
managers (notably twm ) will not make the change in the icon
name, since they only look up this data when a window is
mapped. This can be "fixed" by unmapping all notes and
mapping them again.

Without a color display for canary yellow notes and red
plaid, the aesthetic value of xpostit cannot be fully appre-
ciated.

AUTHOR
David A. Curry, Purdue University

"Post-it" and the plaid design are registered trademarks
of 3M.