Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pal(1)			    General Commands Manual			pal(1)

NAME
       pal - calendar with events

SYNOPSIS
       pal [options]

DESCRIPTION
       pal is a	command-line calendar utility.	It displays a cal(1)-like cal-
       ender and events	specified in text files.

OPTIONS
       The following options are provided by pal:

       -d date
	      Show  events on the given	date.  Valid formats for date include:
	      dd, mmdd,	yyyymmdd, 'yesterday', 'today',	 'tomorrow',  'n  days
	      away',  'n days ago', first two letters of weekday, 'next	' fol-
	      lowed by first two letters of weekday, 'last ' followed by first
	      two letters of weekday, '1 Jan 2000', 'Jan 1 2000'.

       -r n   Display events occurring in the next n  days  (counting  today).
	      By  default,  n  is 0 and	no events are displayed.  For example,
	      using -r 1 makes pal display events occurring today.  If	-d  is
	      used  too,  the range is relative	to date	instead	of the current
	      date.

       -r p-n Display a	list of	events occurring  in  the  past	 p  days  (not
	      counting today) and the next n days (counting today).  For exam-
	      ple  -r  1-1 will	show yesterday's and today's events.  If -d is
	      used too,	the range is relative to date instead of  the  current
	      date.

       -s regex
	      Search  for any occurrences of an	event matching the regular ex-
	      pression (regex) occurring in the	range of dates specified  with
	      -r.   This  command  searches both the event description and the
	      type of event (specified at the top of a calendar	 file).	  This
	      search is	case insensitive.

       -x n   Expunge  events that are n or more days old if they do not occur
	      again in the future.  pal	will not expunge events	from the  cal-
	      endars  loaded from /usr/share/pal; even if you are root and you
	      have added events	to the calendars that are not recurring.  When
	      -x is used with -v, the events that are expunged	will  be  dis-
	      played.

       -c n   Display a	calendar with n	lines (default:	5).

       -f file
	      Load file	instead	of ~/.pal/pal.conf.

       -u username
	      Load /home/username/.pal/pal.conf	instead	of ~/.pal/pal.conf.

       -p palfile
	      Override	the  .pal  files loaded	from pal.conf.	This will only
	      load palfile.  For convenience, if palfile is a  relative	 path,
	      pal  looks  for the file relative	from ~/.pal/, if not found, it
	      tries relative to	/usr/share/pal/, if not	found it  tries	 rela-
	      tive  to your current directory.	(This behavior might change in
	      the future.)  Using an absolute path will	work as	you expect  it
	      to.

       -m     Manage  events interactively.  Events can	be added, modified and
	      deleted with this	interface.

       --color
	      Force use	of colors, regardless of terminal type.

       --nocolor
	      Do not use colors, regardless of terminal	type.

       --mail Generates	output readable	by  sendmail  by  adding  "From:"  and
	      "Subject:" fields	and forcing --nocolor.	For example, you could
	      mail yourself a reminder of the upcoming events in the next week
	      with  pal	--mail -r 7 | sendmail username.  Note:	For the	calen-
	      dar to appear correctly, make sure your email client is using  a
	      fixed width font.

       --html Generates	 a  HTML  calendar suitable for	display	on a web page.
	      It does not generate a complete HTML document so	that  you  can
	      add  your	 website's header and footer around the	calendar.  The
	      number of	months shown on	the calendar can be adjusted with  -c.
	      You  will	need to	use Cascading Style Sheets (CSS) to change how
	      the calendar appears; if you do not use a	style sheet, the  cal-
	      endar  will  not have any	borders.  See /usr/share/doc/pal/exam-
	      ple.css for an example style.  SECURITY NOTE: If you set up  pal
	      so  it is	being executed server-side, it is recommended that you
	      do not allow web page visitors to	directly change	the parameters
	      sent to pal.  Allowing users to pass strange parameters (such as
	      extremely	long ones) can be a security risk.

       --latex
	      Generates	a LaTeX	source for a calendar that can be used to gen-
	      erate a printer-friendly DVI (run	"pal --latex > file.tex; latex
	      file.tex"), PostScript or	PDF  (run  "pal	 --latex  >  file.tex;
	      pdflatex file.tex").  The	number of months shown on the calendar
	      can be adjusted with -c.

       -v     Verbose output.

       --version
	      Display version information.

       -h, --help
	      Display a	help message.

EVENT DESCRIPTIONS
       Years since year	YYYY
	  pal will replace !YYYY! (where YYYY is a year) with the current year
	  minus	YYYY.  This feature is particularly useful for birthdays.  For
	  example,  the	 event text for	a birthday could be: John Doe was born
	  on this day in 1990.	He is !1990! years old.

       Sort by time
	  If events have a time	in the event description, pal will sort	 these
	  events  by  time.   The time in the event description	must be	of the
	  format h:mm or hh:mm (where hh is 0-23).  If an event	has more  than
	  one  time  in	 the event description,	pal will sort the event	by the
	  first	time.  Events that do not have times in	them are shown	before
	  all  the events that do have times.  Events without times are	sorted
	  in the order that they are loaded in pal.conf.

FILE FORMATS
       Unless -f or -u is used,	pal looks  for	(or  tries  to	create	if  it
       doesn't	exist)	a  configuration file named ~/.pal/pal.conf.  pal.conf
       contains	settings for pal and a list other files	that contain events to
       be displayed on the calendar.  The file formats for  pal.conf  and  the
       event files are described below.

       pal.conf

	  file filename	[ (color) ]
		 Loads	an event file named filename.  If filename isn't found
		 in ~/.pal, pal	will look for it in /usr/share/pal.  The color
		 parameter is optional,	it will	display	the events in the file
		 with the given	color.	Valid colors: black, red, green,  yel-
		 low, blue, magenta, cyan, white

	  file_hide filename [ (color) ]
		 Loads	an event file name filename.  These events are not in-
		 dicated in the	calendar that is printed, but  they  are  dis-
		 played	when the -r argument is	used.  If filename isn't found
		 in ~/.pal, pal	will look for it in /usr/share/pal.  The color
		 parameter is optional,	it will	display	the events in the file
		 with  the given color.	 Valid colors: black, red, green, yel-
		 low, blue, magenta, cyan, white

	  event_color color
		 The default color used	for events.  Valid colors: black, red,
		 green,	yellow,	blue, magenta, cyan, white

	  week_start_monday
		 If this keyword is defined, the calendar weeks	start on  Mon-
		 day instead of	Sunday.

	  date_fmt string
		 Changes  how  dates  are displayed when the -r	-d or -s argu-
		 ments are used.  string can be	a date format string that fol-
		 lows the format used by strftime(3).  Type man	 strftime  for
		 more  information.   string  is set to	%a %e %b %Y by default
		 (example: Sun	8 Aug 2010).

	  reverse_order
		 Display all event listings in descending order.

	  hide_event_type
		 Hide the event	type (shown in	before	a  ':')	 when  listing
		 events.   The	event  type  is	defined	at the top of the file
		 that the event	is found in.

	  cal_on_bottom
		 Display calendar at the end of	the output.

	  no_columns
		 Display calendar in one column	instead	of two.

	  compact_list
		 List events that are shown when using -r in  a	 more  compact
		 form.

	  compact_date_fmt
		 Format	for the	date displayed when compact_list is used.  See
		 date_fmt for more information.

	  default_range	range
		 If  you get tired of always using -r, you can set the default
		 value for -r here.  See the information on -r	above  to  see
		 possible values for range.  Note: Remember that this will af-
		 fect what is displayed	when -d	and -s are used	too.

       Event Files
	  Event	 files are ASCII or UTF-8 text files (usually with a .pal end-
	  ing) that define events for pal to show.  Example event files	can be
	  found	in /usr/share/pal.  The	first line  in	these  files  indicate
	  settings  that  apply	 to  all of the	events in the file.  The first
	  line starts with two characters that should be used in the  calendar
	  that	pal  displays.	A longer description of	the kinds of events in
	  the file follows the two characters.	This description will be  dis-
	  played  when	the  -r	argument is used.  All other lines in the file
	  are in the format date event.	 date defines when  the	 event	occurs
	  and event is a string	that describes the event.  Below is a descrip-
	  tion of the different	strings	that can be used with date:

	  Events that occur only once
		 Use the format	yyyymmdd.

	  Daily	events
		 The  format DAILY can be used for an event that happens every
		 day.

	  Weekly events
		 The format MON, TUE, WED, THU,	FRI, SAT and SUN can  be  used
		 for an	event that happens every week.

	  Monthly events
		 Use the format	000000dd.

	  Annual events
		 Use the format	0000mmdd.

	  Annual: Events that occur on the Nth day of a	month.
		 Use  the  format  *mmnd.  Where d is the day (1 = Sunday, 7 =
		 Saturday).  Example: *1023 (10=Oct; 2="second"; 3=Tuesday ==>
		 Second	Tuesday	in October, every year).

	  Monthly: Events that occur on	the Nth	day of a month.
		 Use the format	*00nd.	Where d	is the day (1 =	 Sunday,  7  =
		 Saturday).   Example: *0023 (2="second"; 3=Tuesday ==>	Second
		 Tuesday of every month).

	  Annual: Events that occur on a certain last day of a month
		 Use  the  format  *mmLd.   Example:  *10L3  (10=Oct;  L=Last;
		 3=Tuesday  ==>	 Last Tuesday in October).  This is useful for
		 some holidays.

	  Monthly: Events that occur on	a certain last day of a	month
		 Use the format	*00Ld.	Example:  *00L3	 (3=Tuesday  ==>  Last
		 Tuesday of every month).

	  Todo events
		 The  format TODO can be used for an event that	always happens
		 on the	day that you run pal.  This enables you	to use pal  to
		 keep track of items in	your todo list(s).

	  Easter related events
		 Use  the  format  Easter  for	Easter Sunday.	Use the	format
		 Easter+nnn for	events that occur nnn days after Easter.   Use
		 the  format  Easter-nnn for events that occur nnn days	before
		 easter.

	  Recurring events with	start and end dates
		 If a recurring	event has a starting date and an ending	 date,
		 you  can  use	the date format	DATE:START:END where DATE is a
		 recurring date	format above.  START and END are dates in  the
		 yyyymmdd  format that specify the starting and	ending date of
		 the recurring event.  START and END dates are inclusive.  For
		 example, if an	event happens every Wednesday in October 2010,
		 you could use this format: WED:20101001:20101031

	  Bi-weekly, Bi-annual,	etc. events
		 If a recurring	event does only	occurs	every  Nth  occurence,
		 you  can  add	a  /N to the event of the date string for that
		 event.	 A start date must be specified.  For example,	a  bi-
		 monthly  event	 that  occurs on the first of the month	can be
		 specified as 00000001/2:20000101.

INTERNATIONALIZATION AND LOCALIZATION
       The calendar files that pal uses	must be	ASCII encoded or UTF-8 encoded
       text files (ASCII is a subset of	UTF-8).	 UTF-8	enables	 the  calendar
       files  to work on any system regardless of the default encoding scheme.
       When pal	prints text, it	converts the UTF-8 characters into  the	 local
       encoding	 for your system.  If pal does not display international char-
       acters and you are using	a UTF-8	calendar file, check to	make sure that
       your locale is set correctly.  You can see your locale settings by run-
       ning "locale".  You can see the character set that  pal	is  using  for
       output  by  running  pal	with "-v".  If pal does	not have a translation
       for your	language and you are interested	in creating a translation, see
       the po/README file that is distributed with the source code for pal.

FILES
       ~/.pal/pal.conf:	Contains configuration information for pal and a  list
       of .pal text files that contain events.

       /etc/pal.conf:  This  pal.conf file is copied to	~/.pal/pal.conf	when a
       user runs pal for the first time.

       /usr/share/pal: Contains	several	calendar files for pal.

BUGS
       Bugs may	be reported via	http://palcal.sourceforge.net/.

SEE ALSO
       strftime(3), cal(1), regex(7)

SIMILAR	PROGRAMS
       pal is similar to BSD's calendar	program	and GNU's  more	 complex  gcal
       program.

AUTHORS
       Scott Kuhl

									pal(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pal&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help