##################################################################
        Desktop Mascot Program for UNIX                           
      macopix : Mascot Constructive Pilot for X                   
						     ver 3.4.0    
                      Document in English : README                
                                                                  
                             2019.12.28  Kurumi Chimari           
                             chimari@rosegray.sakura.ne.jp        
                             http://rosegray.sakura.ne.jp/        
##################################################################

=============================================================
                  -- Table of Contents --
  - About this program
  - Environment
  - Install
  - How to Start
  - Creating files, necessary files
  - Mascots
  - Launcher Menu
  - Biff function
  - Time Signal
  - Socket Message
  - Duet Animation
  - SSL Support
  - Tranlucent Windows
  - To Do
  - Copyright
=============================================================


**About this program
  MaCoPiX is a Gtk based desktop mascot program running under
    - UNIX (X window systems)
    - Microsoft Windows (7 or later)
    - macOS : OS X 10.9 (Mavericks) or later
  .
  
  Windows and macOS versions are distributed as compiled (binary) package.
  Most of the text in this document describes about MaCoPiX UNIX
  version. So, fo windows, please see Readme-win32.jp (sorry, Japanese
  only, yet).


  This program could be an evolved one from "ActX" (Activate X
  window system).

  Currently, you can make following types of mascots using MaCoPiX.
         - Focus follower (Window sitters : likely ActX)
         - Fixed style    (Desktop wappen?)
  Furthermore, you can select with or without a digital clock for
  each types of mascots. So, MaCoPiX can be used as a sort of desktop clock
  applications. (But the clock function could be still poor.)
  And, the biff function is also available for POP/APOP/UNIX local
  spool/qmail Maildir environments.
  At once, users can create mascots and change their settings from GUI
  instead of editing mascot files directly.
  
  Please pay attention that the mascot file of MaCoPiX has no
  compatibility with that of ActX.


**Environment
  Basically, MaCoPiX needs UNIX / X window system or Microsoft Windows.
    [for UNIX]
     - Gtk+3       > ver3.22    (or Gtk+2 > ver2.24)
     - glib        > ver2.32
     - gettext     > ver0.10   
     - openssl     > ver1.0     (or gnutls > ver1.4)
     are necessary.
     MaCoPiX can load all image types supported by gdk-pixbuf.
     But, you need libraries to support each types of images
     (ex. libtiff, libpng) in order to load each types of images. 
     The official MaCoPiX mascots are served in PNG files now.

   [for Microsoft Windows (binary package)]
     - Windows7 or later (64/32 bit) (10 [64bit] should be recommended.)
     - Including TAR64.DLL / TAR32.DLL (GPL) in the binary distribution.
        * You can dounload it (free-software, GPL) form the HP of
          "Common Archiver Library Project".
           URL  http://www.csdinc.co.jp/archiver/index-e.html
     - Compiled in msys2 with GtK+3 Without socket message function.	  
     - All required libraries (Gtk+ etc.) are also included in the
       binary package. 

   [for maOS (binary package)]
     - 10.9 (Mavericks) later (64 bit)
     - Compiled with Gtk+3 in Homebrew environment
     - All required libraries (Gtk+ etc.) are also included in the
       binary package. 


**Install (Unix from source)
  1. extract source archive, change directory to the created one.
  2. ./configure 
       ##################################################################
        ./configure options
         [Gtk+] (default is for Gtk+3)
           ./configure --with-gtk2      (use Gtk+2)
         [SSL] (default is OpenSSL)
           ./configure --with-gnutls    (use GNUTLS instead of OpenSSL)
           ./configure --disable-ssl    (none support for SSL; not recommended)
         [Win32]  (default is for UNIX)
           ./configure --with-win32     (making for Win32)
         [TAR32]  (default is off)
           ./configure --with-tar64     (use TAR64.DLL for 64bit)
           ./configure --with-tar32     (use TAR32.DLL for 32bit)
         [UNLHA32]   (default is  off)
           ./configure --with-unlha32   (use UNLHA32.DLL for 32bit)
       ##################################################################
  3. make
  4. su
  5. make install
   (If you need to internationalize your menu message (using gettext),
    you have to do "make install" as a root.)



**How to start
  In anyway, at least one mascot file is necessary to use MaCoPiX.
  Just running MaCoPiX, with the following command even without mascots.

         % macopix
	 
  Then you will find a button to download official mascots via the
  official web in the start up menu (network connection is required).
  Please select one and download & install it to use MaCoPiX for
  the first time.

  If you already have a mascot which you want to use, please appoint
  its .mcpx file in your command line like

         % macopix mascot.mcpx

  After starting the application, you can add mascots and change all
  settings from the pop-up GUI.

  The command line options appears with -h (or --help) option.


**Creating files, necessary files
  MaCoPiX needs (and creates) the following files...
    a. Mascot file (*.mcpx)
            And a mascot includes images (and sound files, if necessary).
    b. Resource file (* .rc)
    c. Launcher Menu file (*.menu)

  Basically, these files are copied or created in the "User Directory"
  (HOME$/.macopix/ for each users).

  About a., please see the following item as "Mascots".

  b., the resource file is the file described the parameters kept all
  times regardless of changing mascots.
  If you do not appoint any files for the resource file (you can
  appoint the resource file which you want to load with "-r" option),
  the default one (HOME$/.macopix/macopix.rc) should be loaded.

  c. is the Launcher menu in which your favorite mascots are registered.
  Please see the following item "Launcher menu".
           


**Mascots
  The mascot of MaCoPiX is made up with 
     - a mascot file (*.mcpx)
     - image files   (You can use any image types loaded by
                      gdk-pixbuf)
  likely in the case of ActX.
  Of course, you can use shaped mascots, if you appoint the shaped
  images with alpha values (ex. png, gif, xpm).

  At the starting time of the application, the mascot file should be
  appointed as "% mascot mascot.mcpx".
  In such case, MaCoPiX automatically searches the mascot file
  according to the following priority.
      1. absolute path or relative path from the current directory
      2. User Directory ($HOME/.macopixrc/)
      3. Common Directory (/usr/share/macopix/ ?)
  User directory(2) should be automatically created at the first time
  for using MaCoPiX.
  Distribution Directory(3) will be determined by the installer 
  at the time of installation.

  Image files should be appointed in the mascot file.
  These files are also searched according to the following priority.
      1. same directory where the mascot file exists
      2. User Pixmap Directory ($HOME/.macopixrc/pixmap/)
      3. Common Pixmap Directory (/usr/share/macopix/pixmap/ ?)

  And, if you selected automatic install (option -a; saved in the
  resource file), mascot files are automatically installed at the time
  of loading.
  Starting with the -O (--over-write) option, the priority of loading
  will change to 1 > 3 > 2 in order to overwrite mascots in user 
  directory with ones in the distribution directory installed by
  RPM package etc.

  You should take care of the locale of your system to use mascots.
  Mascot files are recommended to be written in one of the locale.
  If you use the mascot in the different locale environment, balloons
  and menus could not be presented correctly.
  The author of this application will release his mascots in "ja"
  (Japanese-euc) locale. 
  If you interested in them, please translate them for your environment.
  Furthermore, if there is a gettext message file (in po/ directory of
  the source tree) for your environment, you can change the dialog
  messages of GUI into your language.
  When you translated these files, please contact with the author.



**Launcher menu
  In the field "Mascot Launcher" of the po-pup menu, you can register
  your favorite mascot for easy changing.
  To use this function, you have to prepare the launcher menu file (*.menu).
  You can load and create it from the pop-up menu in every time.
  And you can also edit it in the configuration dialog.

  It is difference from the ActX one that the menu file has two levels
  as "Category" -> "Mascot".
  All "Mascots" have to be included in "Categories".

  Each resource file can appoint one menu file as its default menu file.
  If no menu files are appointed at the starting, this default menu
  should be loaded.
  If no mascot files are appointed at that time, a mascot selected at
  random from the menu file should be loaded.
  Furthermore, if you don't the appointment of the default menu in your
  resource file, the menu selection dialog will appear in startup.
  

  If you appoint a menu file at the starting time, please use "-m" (or
  "--menu") option.
 

**Biff function
  ### Currently the author only checks POP3 (w/ and w/o SSL). ###

  MaCoPiX can be a mail checker for the following types of the mail 
  environment.
     1. local spool (UNIX mbox : /var/spool/mail/$USER etc)
     2. POP3 (SSL/TLS)
     3. POP3 (APOP auth) (SSL/TLS)
     4. qmail (Maildir)
     5. MH + Procmail
  After preparing proper configuration, please start MaCoPiX with "-b"
  (or "--biff") option, or please check "Biff Check" on the pop-up
  menu.
  If you use the biff checker in POP, your password are saved in the
  resource file with plain text.
  So, please be careful for the management of the resource files.
  (Basically, the resource files can be seen only by yourself.)

  - for POP3/APOP
    In "Server information" of GUI, input "Address", "UserID", "Password",
    "POP3 Port No."(You should not change it in usual cases.).
    You don't need to edit "File" entry.
    POP over SSL (SSL/TLS) has been supported from ver 1.6.2, 
    experimentally.

  - for qmail (Maildir)
    In "File" entry of "Server information" of GUI, input the
    Maildir directory in which newly arrived mails are stocked
    ( $HOME/Maildir/new in the most of cases ).

  - MH + Procmail
    In "File" entry of "Server information" of GUI, input the
    full-path of log file for procmail, "procmail.log". (In the most
    of cases, this file are appointed in "LGFILE=" entry of
    $HOME/.procmailrc )
    The mail directory for MH is automatically searched as the
    following order, (1) "MAILDIR" entry in $HOME/.procmailrc,
    (2) $HOME/Mail .
    If you want to poll to the mail server periodically via fetchmail
    or something else, you should input command for polling into
    "Polling" entry in "Operating Information of Biff GUI.



**Time signal function
  MaCoPix has a time signal function, which do some actions (external
  command, mascot changing ... etc.) every hour  on the hour (00 minute).
  After preparing proper configuration, please start MaCoPiX with "-s"
  (or "--signal") option, or please check "Time Signal" on the pop-up
  menu.
  The configurations for this function are saved in the resource file.
  "Mascot Random Change" cannot work, if you do not appoint any menu 
  files.
     

**Socket Message
  Now mascots can speak any messages appointed in command line externally.
   1. Start MaCoPiX with --sockmsg option.
      You can start only one mascot at the same time.

   2. From terminal command line, type
       macopix --message "Hello!"
      You can see this message on your mascot balloon.
      You should change character code of the message following your locale.

   3. If you want to change the expiration time to display each socket 
      messages, you can appoint it like this way.
       macopix --message "Hello!" --message-expire 5000
      Using this --message-expire option, you can set the expiration
      time to display each messages (unit is msec).
      Without this option, the default expiration time will be used.
      It can be set on GUI.

   4. In the socket message balloon, you can also use "Stepping mode".
      This mode will set "%c" control character automcatically in your
      sending message. 
      This can be set in GUI and also in command line options to send
      a message.

**Duet Animation  (only for UNIX ver)
   Using socket communication, some animation can be connected between
   two mascots.
   If you start Sachiko-sama and Yumi at the same time, and click one
   of them....
    - Each mascots makes /tmp/macopix-(userID)/macopix-(mascot file) temporal
      file. If MaCoPiX was stopped abnormally these files can remain,
      but they will not affect the next time.
    - If the two or more same mascot start, the later will use this
      temporal pipe file.
      But, if the former is stopped or changed, this pipe should be closed.


**SSL Support
  This program can compile with a link to OpenSSL or GNUTLS libraries 
  (or without either) to support POP over SSL on its biff function.

  Because OpenSSL is a non-GPL freeware. I have to add a special 
  exception for GPL to link this program with OpenSSL.
  If you feel uneasy about this license issue, please link with GNUTLS.

  You can switch it with ./configure option before compiling.
    - OpenSSL (default)
    - GNUTLS  (./configure --with-gnutls)
    - without SSL  (./configure --disable-ssl)
  When your environment for gnutls development does not satisfy to make
  this program, OpenSSL will be used instead of GNUTLS.

  In actual operation, GNUTLS version has some different points, compared 
  with OpenSSL ver.
    - GNUTLS ver. always skippes confirmation on SSL certification.
  If you neglect the license matter, I recommend to use OpenSSL rather
  than GNUTLS.


**Tranlucent Windows
  MaCoPiX ver 3 (ol later) only supports tranlucent mascot drawing 
  on compositing window managers.
  (In 2019, the most of environments are supporting compositing.)
  If you use it in non-compositing window managers, mascot / balloon
  will not be drawn correctly.

  The author does not know how often non-compositing window managers
  are used nowadays.
  If you find your environment meets this problem, please notify to the
  author.


**Copyright
   The code in this distribution is Copyright 2002 by Kurumi Chimari.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

   In addition, as a special exception, K.Chimari gives permission to link 
   this code of this program with the OpenSSL library (or with modified
   versions of OpenSSL that use the same license as OpenSSL), and distribute
   linked combinations including the two. You must obey the GNU General 
   Public License in all respects for all of the code used other than OpenSSL.
   If you modify this file, you may extend this exception to your version of 
   the file, but you are not obligated to do so. If you do not wish to do so,
   delete this exception statement from your version.
