XPOSTIT(1) MachTen Programmer’s Manual XPOSTIT(1)
xpostit - X window system Post-it(R) notes
xpostit [ -toolkitoptions ... ] [ -options ... ]
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 respec-
tive 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
Xpostit accepts all of the standard X Toolkit command line
options along with the additional options listed below.
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 newlines. The default is 1024.
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
directory. The named directory must already exist
if notes are to be saved in it. The default is
-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
Xpostit uses several widget types to construct the objects
The control window is a Plaid widget called ‘‘Plaid’’.
The menu is a pop-up shell
called ‘‘Menu’’ containing a
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’’,
containing a Dialog widget called ‘‘Dialog’’.
Xpostit understands all of the core X Toolkit resource
names and classes as well as those listed below, which are
all of class XPostit.
Specifies the size of the character buffer used to
store a Post-it note. The default is 1024.
Specifies the path name of the directory in which
to store saved notes. The default is .postit-
Controls the state of the save-on-exit option.
The default is false.
Controls placing scroll bars on Post-it notes.
The default is false.
It is possible to rebind the mouse buttons in the Plaid
widget to perform different functions by changing the wid-
get’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 mid-
dle 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, nor-
mally invoked by dragging the left button off the Plaid
widget, creates a new note. The tearoff action has an
optional paramter indicating 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 performed 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 CONTROL WINDOW
Xpostit allows several operations to be performed from its
control window. Clicking the left mouse button in the
control 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 window will exit the
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
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
Create 3x5 Note
Create a new Post-it note, 3 inches tall by 5
Create 4x6 Note
Create a new Post-it note, 4 inches tall by 6
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 middle 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 win-
dow. Under twm , this is done with the f.delete
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
holding down the CTRL key.
Save All Notes
Save all Post-it notes to disk files in the save
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’’, ‘‘Destroy’’, 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
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.
Additionally, the various mouse buttons used for manipu-
lating 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, SIGINT, 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 but-
ton, or use the ‘‘Alt-s’’ keyboard sequence. The note
will be saved as the file ‘‘noten’’ in your save direc-
tory, where n is some sequence number. NOTE: it is impor-
tant 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
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
‘‘Confirm’’ 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 cursor to the ‘‘Destroy’’ button and press the left
mouse button. 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 cur-
rent title in it. Change or modify the title, and press
the ‘‘Okay’’ button with the mouse to change the title, or
press the ‘‘Cancel’’ 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.
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
David A. Curry, Purdue University
and the plaid design are registered trademarks
X11R5 December 1992 5