XPOSTIT(1) XPOSTIT(1) NNAAMMEE xpostit - X window system Post-it(r) notes SSYYNNOOPPSSIISS xxppoossttiitt [ _-_t_o_o_l_k_i_t_o_p_t_i_o_n_s _._._. ] [ _-_o_p_t_i_o_n_s _._._. ] DDEESSCCRRIIPPTTIIOONN _X_p_o_s_t_i_t 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. All notes can be "hidden" - the notes are still available but not shown on the screen until requested by the user. Hidden notes will stay hidden when xpostit is exited and then restarted (as long as the user saves all notes before exiting). When _x_p_o_s_t_i_t is first invoked, it creates a small window with a plaid background. This is the control window for _x_p_o_s_t_i_t. Additionally, if any notes were stored in the save directory (see below), these will be placed on the screen at their last locations, unless they were hidden when saved (see below). Each Post-it note, when created, makes another window on the screen. _X_p_o_s_t_i_t is controlled using the mouse buttons and a menu. The Post-it notes are controlled by using a drop down menu. OOPPTTIIOONNSS _X_p_o_s_t_i_t accepts all of the standard X Toolkit command line options along with the additional options listed below. --bbss _n_u_m_b_e_r 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. --nnww _p_i_x_e_l_s Allows the user to specify the width, in pixels, for a single character of text. This is dependent on the font being used, but the Athena Widget set and the Xt Intrinsics apparently doesn't allow a program to determine this value at run time. This value is used to determine the width of the Name dialog box, which is used to provide a title for a given note. The default value for this option is 10 pixels. Unix/X11R4-R6 03 April 1996 1 XPOSTIT(1) XPOSTIT(1) --aaoo _o_f_f_s_e_t The offset is specified in pixels and is used to determine the X and Y offsets from an anchor note for a note being cascaded. The default value is 15 pixels. --ddiirr _p_a_t_h Specifies the path name of the directory in which to store saved Post-it notes. If _p_a_t_h begins with a `/' it is taken as-is; if it does not begin with a `/', the path is taken relative to the home directory. If the named directory does not already exist, then _x_p_o_s_t_i_t attempts to create it. The default is _._p_o_s_t_i_t_n_o_t_e_s. --ttmmppddiirr _p_a_t_h Specifies the path name of the directory to use for temporary files. By default ``/tmp'' is used. --pprriinnttccmmdd _c_m_d This must be a quoted command string that can be used as the format string to sprintf(). It must include "%s" for the temporary file name used when printing a note. The buffer created with sprintf(), this option value, and the temporary file name is passed to the system() call to print the note. By default, the printcmd value is ``lpr %s''. --ccaalleennddaarrccmmdd _c_m_d This is the command used to produce a calendar for the current month. On most Unix systems this will be ``cal'', which is the default. The output from this command is redirected to a temporary file and then inserted into a note at the current cursor location. --eemmaaiillccmmdd _c_m_d The "Email" option from the notes menu will pop up a window prompting for an email address. The -emailcmd command line option or .emailCmd resource can be set to your systems mailer com- mand. The mailer must accept the text of the mail via standard input (actually as a pipe from "cat tmpfile"). "cmd" must be a Unix style command in printf() format. See the section on _C_o_n_f_i_g_u_r_i_n_g _t_h_e _m_a_i_l_e_r. Unix/X11R4-R6 03 April 1996 2 XPOSTIT(1) XPOSTIT(1) --ssbb Enables scroll-bars. If specified, a scroll bar will be attached to each Post-it note. --ssvv Enables save-on-exit. When specified, this option tells _x_p_o_s_t_i_t to save all Post-it notes to disk files when exiting. If not specified, notes can be saved to disk files manually by the user or via the autosave feature. It is useful to specify this option since hidden notes cannot be saved unless either the "Save All Notes" option is used or the autosave option has not been disabled. Its also to use this option since its not guaranteed that the autosave feature will have saved all notes since their last updates when xpostit exits. --cc Enables compatibility mode. Initially this is for notes created using the %! magic cookie. In ver- sion 2.2 this was changed to %%!! because the original cookie was the one being used for Postscript files. In the future this mode may cover other items that are not compatible between versions/releases. --nnss Disables the autosave feature. --nnaa Disables alarms. --iinntteerrvvaall Sets the timeout interval (in minutes) for when the autosave timeout should expire. When this timer expires, all notes are automatically saved to disk. The default value is 10 minutes. --hhoommeeddiirr _p_a_t_h Specifies the base directory from which the File Selection Window will look for files and directo- ries. If not specified, and the associated resource _._h_o_m_e_D_i_r is not set then the environment variable HHOOMMEE is used. If this is not set either, then the File Selection Window uses the root (/) directory as its start point. --vveerrssiioonn Displays the current version of xpostit. --hheellpp Displays a usage message. Unix/X11R4-R6 03 April 1996 3 XPOSTIT(1) XPOSTIT(1) WWIIDDGGEETT UUSSAAGGEE _X_p_o_s_t_i_t uses several widget types to construct the objects it uses. The control window is a Plaid widget called ``Plaid''. This is a widget designed by David A. Curry, the original author of _x_p_o_s_t_i_t_. The menu is a pop-up shell called ``Menu'' containing a SimpleMenu widget. From this menu the hidden notes menu can be popped up. The hidden notes menu is also a Simple- Menu 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 a MenuButton widget called "Options". The Options button, when selected, pops up a drop-down menu called "OptionsMenu" (see the Xpos- tit.ad application defaults file). Inside of this menu are five menu items called ``Save'', ``Erase'', ``Destroy'', ``Hide'', and ``Name''. 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''. There is also dialog box which pops up when the Name menu item is selected which is called "Dialog". RREESSOOUURRCCEESS _X_p_o_s_t_i_t understands all of the core X Toolkit resource names and classes as well as those listed below, which are all of class XXppoossttiitt. ..bbuuffSSiizzee Specifies the size of the character buffer used to store a Post-it note. The default is 1024. ..nnaammeeWWiiddtthh See the -nw command line option. The default value for this resource is 10. ..nnootteeDDiirr Specifies the path name of the directory in which to store saved notes. The default is _._p_o_s_t_i_t_- _n_o_t_e_s. ..ttmmppDDiirr Specifies the path name of the directory to use for temporary files. By default ``/tmp'' is used. Unix/X11R4-R6 03 April 1996 4 XPOSTIT(1) XPOSTIT(1) ..pprriinnttCCmmdd This must be a quoted command string that can be used as the format string to sprintf(). It must include "%s" for the temporary file name used when printing a note. The buffer created with sprintf(), this option value, and the temporary file name is passed to the system() call to print the note. By default, the printcmd value is ``lpr %s''. ..ccaalleennddaarrCCmmdd This is the command used to produce a calendar for the current month. On most Unix systems this will be ``cal'', which is the default. The output from this command is redirected to a temporary file and then inserted into a note at the current cursor location. ..eemmaaiillCCmmdd The "Email" option from the notes menu will pop up a window prompting for an email address. The -emailcmd command line option or .emailCmd resource can be set to your systems mailer com- mand. The mailer must accept the text of the mail via standard input (actually as a pipe from "cat tmpfile"). "cmd" must be a Unix style command in printf() format. See the section on _C_o_n_f_i_g_u_r_i_n_g _t_h_e _m_a_i_l_e_r. ..ssaavveeNNootteess Controls the state of the save-on-exit option. The default is ffaallssee. ..ssccrroollllBBaarr Controls placing scroll bars on Post-it notes. The default is ffaallssee. ..ccoommppaattiibbiilliittyy Enables compatibility mode. This shouldn't really be set in the app-defaults file. If you wish to use this feature, use the -c option. ..iinntteerrvvaall Sets the timeout interval (in minutes) for when the autosave timeout should expire. When this timer expires, all notes are automatically saved to disk. Unix/X11R4-R6 03 April 1996 5 XPOSTIT(1) XPOSTIT(1) ..aanncchhoorrOOffffsseett The offset is specified in pixels and is used to determine the X and Y offsets from an anchor note for a note being cascaded. The default value is 15 pixels. ..nnooSSaavvee If set to true then the auto-save feature is turned off. ..nnooAAllaarrmm If set to true then the alarms feature is turned off. This will have the effect of graying out the ``Set Alarm'' and ``Unset Alarm'' options from each Notes pull down menu. ..hhoommeeDDiirr Used to set the starting directory for the File Selection Window used with the _O_p_e_n and _E_x_p_o_r_t features. AACCTTIIOONNSS It is possible to rebind the mouse buttons in the Plaid widget to perform different functions by changing the wid- get's translations. It is not recommended that other actions (as specified in the application defaults file) be changed, however. The _r_a_i_s_e_(_) action, normally bound to the left mouse button, raises all notes. The _l_o_w_e_r_(_) action, normally bound to the middle mouse button, lowers all notes. The menu raising function, normally bound to the right mouse button, is performed by calling the actions _X_a_w_P_o_s_i_t_i_o_n_S_i_m_p_l_e_M_e_n_u_(_M_e_n_u_) and _M_e_n_u_P_o_p_u_p_(_M_e_n_u_). This can now be configured by changing the following lines in the Xpostit.ad file: Xpostit*Plaid.Translations: #replace\n \ : raise() \n\ : lower() \n\ : XawPositionSimpleMenu(Menu) MenuPopup(Menu) to the following: Xpostit*Plaid.Translations: #replace\n \ : raise() \n\ : lower() \n\ : XawPositionSimpleMenu(Menu) MenuPopup(Menu) TTHHEE CCOONNTTRROOLL WWIINNDDOOWW _X_p_o_s_t_i_t allows three operations to be performed from its control window. Pressing the left mouse button in the Unix/X11R4-R6 03 April 1996 6 XPOSTIT(1) XPOSTIT(1) control window will cause all Post-it notes on the screen to be raised to the top. Pressing the middle mouse button in the control window will cause all Post-it notes on the screen to be lowered to the bottom. Pressing the right mouse button in the control window raises the _x_p_o_s_t_i_t menu. TTHHEE PPLLAAIIDD MMEENNUU The _x_p_o_s_t_i_t plaid menu provides the following selections: CCrreeaattee 11..55xx22 NNoottee 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. CCrreeaattee 22xx33 NNoottee Create a new Post-it note, 2 inches tall by 3 inches wide. CCrreeaattee 33xx33 NNoottee Create a new Post-it note, 3 inches square. CCrreeaattee 33xx44 NNoottee Create a new Post-it note, 3 inches tall by 4 inches wide. CCrreeaattee 33xx55 NNoottee Create a new Post-it note, 3 inches tall by 5 inches wide. CCrreeaattee 44xx66 NNoottee Create a new Post-it note, 4 inches tall by 6 inches wide. RRaaiissee AAllll NNootteess Raise all Post-it notes to the top. This is equivalent to pressing the left mouse button in the control window. LLoowweerr AAllll NNootteess Lower all Post-it notes to the bottom. This is equivalent to pressing the middle mouse button in the control window. UUnnhhiiddee AAllll NNootteess All notes that have been hidden will be unhidden. SSaavvee AAllll NNootteess Save all Post-it notes to disk files in the save directory. HHiiddddeenn NNootteess Pops up another menu which lists all the notes that are currently hidden. The list contains the Unix/X11R4-R6 03 April 1996 7 XPOSTIT(1) XPOSTIT(1) names of the notes so it is wise to give a note a meaningful name (using the Name option from the pull-down menu of each note) before it is hidden. CCaassccaaddee NNootteess Each note can be "anchored". If one or more notes are anchored and the "Cascade" option is chosen from the xpostit menu, then all the visible notes are cascaded onto the anchored notes. An attempt is made to distribute all visible notes evenly amongst all the anchored notes. Each note also has an "unanchor" option as well. Only one of "anchor" or "unanchor" is sensitive for any given note. Hidden notes are not affected by the cas- cade feature. The default offset for cascaded notes (from the anchor) is 15 pixels. This can be changed with the -ao option or the .anchorOffset resource. FFiinndd AA NNoottee If you "lose" a note and want to bring it up at the cursor, select ``Find A Note'' from the plaid menu. A pop up window of all notes will be pre- sented. Select the note you want and if its not hidden it will pop up at the cursor. If it is hidden it will pop up in the appropriate spot. The ``Cancel'' button will close the pop up if no note is selected. EExxiitt Exit _x_p_o_s_t_i_t_. If the --ssvv command line option was given, or the ssaavveeNNootteess resource is ttrruuee,, 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. TTHHEE HHIIDDDDEENN NNOOTTEESS MMEENNUU This menu pops up from the ``Hidden Notes'' option of the plaid menu. It functions the same as the plaid menu except the menu does not disappear until either a menu option is selected or the label (at the top of the menu) is clicked on. TTHHEE PPOOSSTT--IITT NNOOTTEE Each Post-it note is made up of three parts (plus an optional scroll bar): a Title bar, a text window where the text of the note is stored, and a menu bar. The menu bar has two menus: _F_i_l_e and _N_o_t_e_s _. The first of these contains options pertaining to file input and out- put, such as Open (for importing a file to the note), Export (for saving the text contents of the note to a Unix/X11R4-R6 03 April 1996 8 XPOSTIT(1) XPOSTIT(1) file), Print and Email. The second menu contains items for manipulating the note: Hiding, Naming, Erasing, Adding a calendar or date/time stamp, etc. 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 _x_p_o_s_t_i_t, the Post-it note can be restored when you restart _x_p_o_s_t_i_t. (Post-it notes are also saved automatically (if ssaavveeNNootteess is true) if a SIGHUP, SIGINT, SIGTERM, or SIGQUIT signal is received.) To save the note to a disk file, click on the Notes button and drag the mouse cursor to the menu item labeled ``Save'', then release the mouse button. The note will be saved as the file ``note_n'' in your save directory, where _n is some sequence number. Note that the ``Save'' menu item will not allow you to save unless something have been typed in the Text of the note, the name of the note has been changed, or the text of the note has been erased. This is a good way for checking if you've made changes to the note. If the Save menu item is "insensitive" (grayed- out) then you haven't made any changes to the Text of the note. NNOOTTEE: it is important to remember that if you have disabled the auto-save (sv)feature then the note will not be saved until you have pressed the ``Save'' button. You can also make sure changed notes get saved on exit by enabling the ave on Exit feature. To erase the entire contents of the text window, you can click on the Notes button and select the ``Erase'' menu item. 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 can- celed, and nothing will happen. NNOOTTEE: 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, click on the Notes button and select the ``Destroy'' menu item. This will bring up a confirmation window as described above. If you confirm the operation, the Post-it note will disap- pear from the screen and the disk file it was saved in Unix/X11R4-R6 03 April 1996 9 XPOSTIT(1) XPOSTIT(1) will be deleted. To rename a note, you can click on the Notes button and select the ``Name'' menu item. This will bring up a dia- log box, which has two buttons labeled ``Confirm'' and ``Cancel'' as well as a field to enter text for the new name. If you press the ``Confirm'' button, the new name will be placed in the title bar of the note. If you press the ``Cancel'' button, the operation is canceled. To hide a note, you can click on the Notes button and select the ``Hide'' menu item. This will cause the note to disappear from the screen. To bring the note back, select the ``Hidden Notes'' option from the plaid pull- down menu. Then select the note you wish to bring back up. NNOOTTEE: The hidden notes will not stay hidden between _x_p_o_s_t_i_t sessions unless you first select the "Save All Notes" option from the plaid menu or options to save on exit (see discussion above) have been set. To anchor a note you can click on the Notes button and select the ``Anchor'' menu item. This will mark the note as an anchor note. Anchor notes are the bottom note, the "anchor", when the Cascade option is chosen from the xpos- tit plaid menu. To unanchor a note you can click on the Notes button and select the ``UnAnchor'' menu item. This will remove the note from the list of anchor notes. Note that only one of the ``Anchor'' or ``UnAnchor'' options will be sensitive (allow user selection) at any time. They are mutually exclusive options within any give note. To print a note, you must have configured xpostit with a valid print command (via the -printcmd command line option or the .printCmd resource). Select the ``Print'' option from the Notes pull down menu. The text of the note is printed. To email a note use the ``Email'' option. This option will pop up a window prompting for an email address. Fill in the text field and select ``Accept'' to send the mes- sage. The notes title will be used as the subject line. Select ``Cancel'' to cancel sending the message. To set a notes alarm, select ``Set Alarm'' from the notes Notes pull down menu. A window pops up with month, day, hour and minute fields. Set each of these for the day and time you wish the alarm to go off. If you wish to save this value between invokations you should use either the notes ``Save'' option or the ``Save All Notes'' option Unix/X11R4-R6 03 April 1996 10 XPOSTIT(1) XPOSTIT(1) from the plaid windows menu. When a notes alarm is set an icon of a clock will be visible next to the Options menu button in the notes menu bar. To turn off the a notes alarm, select ``Unset Alarm'' from the Notes pull down menu. This will disable the alarm for that note and remove the clock icon from the menu bar. To insert a copy of the current calendar month in the text select the "Insert Calendar" option from the notes menu. The text will be inserted at the current cursor location, so you should be sure to position the cursor first. You can position the cursor by just clicking in the text win- dow of the note. Adding the date and time is done using the "Insert Date..." option from the notes menu. A dialog box provid- ing a variety of formats is presented. Select the format desired by clicking on the small box to the left of the format string and then click on "Accept". The text string will be inserted at the current cursor location. Be sure to position the cursor prior to using the option. To import a text file at the current cursor location in a note, use the File menu's Open option. A File Selection Window opens. Choose a file and select ``Accept''. See the section on the FFiillee SSeelleeccttiioonn WWiinnddooww for more details. Exporting the text to a file is similar to opening a file for import. Choose the Export option from the File pull down menu. Select a file from the File Selection Window. Again, see the section on the ile Selection Window for more details on how to use that window. CCOONNFFIIGGUURRIINNGG TTHHEE MMAAIILLEERR In order to use your systems mailer with the Email feature of xpostit, you need to configure the appropriate mailer command using either the -emailcmd command line option or the .emailCmd resource. The format for both of these is the same: a double-quoted string which contains the name of the mailer command, the option for providing the sub- ject line, and the addressee. By default the Unix command "mail" is used. It is defined in the Xpostit.ad (and in the source code fallback resources) as: "mail -s\"%s\" %s" The format is the standard format used by printf(). The first string parameter is the subject line. The back- slashes are required so that the following double quotes are passed properly to the shell. If these are left out Unix/X11R4-R6 03 April 1996 11 XPOSTIT(1) XPOSTIT(1) the subject will be truncated to the first word of the first string parameter and an attempt will be made by the mailer to send mail to non-existant recipients. The second string is the addressee. The order of the string parameters is required (subject first, addressee second). The mailer command accpets the text of the mail via standard input. This too is required. If you use elm, you might want to change this to: "elm -s\"%s\" %s > /dev/null" The difference here is that elm prints out a few messages when it runs in batch mode and you should send those to /dev/null. UUSSIINNGG TTHHEE FFIILLEE SSEELLEECCTTIIOONN WWIINNDDOOWW The File Selection Window contains two scrollable windows, a text input field, and two buttons. The scrollable win- dows contain the directories (the left-side scrollable window) and the files (the right-side scrollable window) in the current directory. These windows may not be the same size if the number of directories or files isn't enough to stretch the window to its maximum size before it allows scrolling (ie don't report the windows being dif- ferent sizes as a bug - its a feature). You can scroll the windows the same way you scroll the text of the notes. The buttons inside the scrollable windows only require a single click to activate them. Clicking on a directory button will close the File Selection Window and reopen it using the new directory as its base. The scrollable win- dows will be updated to reflect the files and directories in that directory and the text input field will be updated to show the current directory. Clicking on a button in the files scrollable window will cause that file to be selected. If you are opening a file then the file chosen will be added to the current note at the location of the cursor in that note. Be sure to set the cursor to where you want to import text before opening a file. If you are exporting a file then the text of the file will be written to the file chosen. It is assumed that since you manually selected a file known to exist that you want to overwrite that file, so be sure you know what you're doing before you click on a file for export- ing! The text input field can be used to manually type a direc- tory or file name. If the name typed is a directory, the Unix/X11R4-R6 03 April 1996 12 XPOSTIT(1) XPOSTIT(1) File Selection Window is closed and a new one opened using the new directory as the base. If the name typed is a file then that filename is used for the current task, either opening or exporting. If exporting, and the file exists, a window is popped up asking for confirmation to overwrite that file. Click on ``Accept'' to proceed with the export or ``Cancel'' to skip it. The two buttons in the File Selection window are the ``Accept'' and ``Cancel'' buttons. The Cancel button closes the File Selection Window with no further actions taken. The Accept button only has meaning in relation to the text input field. If you click on Accept, then what- ever is in the text input field is used as the filename for the current task (open or export) and the appropriate action is taken. SSEEEE AALLSSOO X(1) BBUUGGSS 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. On Linux systems the word wrap feature of the Text Widget appears broken. The words get wrapped to the next line but they do not get erased from the previous line. I'm not sure how to fix this. You can resize the note using the window manager to clear the problem, or scroll the note window. The message: ``Warning: XtRemoveGrab asked to remove a widget not on the list'' may be written to stdout after an alarm popup is dismissed. This is a timing issue in the X libs, I think, and doesn't appear to cause any problems. The Dialog used to name a note doesn't limit the number of characters that can be used in a name, although it does prevent (by use of translations) a user from putting a newline in the text. The drawback to not limiting the length of the name is that the dialog box's text field won't resize or scroll to the right as characters are typed off the right hand edge of the field. Bummer dude. This might be fixable if key events force a resize on each keystroke. Hmmm. I'll have to think about that one. The -c option has been reported to not read in old notes properly. It eats the first line. This can be worked around by adding a blank line to the old notes. However, I couldn't reproduce this problem. I suggest creating a backup of your old notes before trying to run with the -c Unix/X11R4-R6 03 April 1996 13 XPOSTIT(1) XPOSTIT(1) option, just in case. Hidden notes have their shell x and y coordinates set to 1 less than the note originally had them set to when the program starts. I think this is either a problem with the way fvwm was placing the notes when they were visible (with window manager borders) or a problem with the X libs. Probably fvwm. In anycase, over time, the notes will slowly move toward the upper left, but only while invisible. When you pop them up, things are fine. Basi- cally, its not something worth fixing. On some systems (all?), specifically Solaris, setting the num-lock on prevents the pull-down menus from allowing the user to select menu options. The fix: turn off numlock. The File Selection Window is not graceful, but its func- tional. I could have used the FWF FileSelection widget, but that required including the complete FWF kit, which I didn't want to have to do. Besides, I think I may switch this to GTK (the GIMP Toolkit widget set) for the next release. Maybe. Without a color display for canary yellow notes and red plaid, the aesthetic value of _x_p_o_s_t_i_t cannot be fully appreciated. AAUUTTHHOORR Originally by David A. Curry, SRI International, but the majority of features and the current look of the notes are the responsibility of Michael J. Hammel (mjham- mel@csn.net). ``Post-it'' and the plaid design are registered trademarks of 3M. Unix/X11R4-R6 03 April 1996 14