Frigcal — Personal Calendar GUI; No Login Required

Author:
    © M. Lutz (http://learning-python.com), 2014-2017

License:
    Provided freely, but with no warranties of any kind.  This program is
    open source and is yours to use and copy as you like for personal use.
    For quality and attribution purposes, any bulk redistributions must 
    include in full and unaltered form this file, and file "UserGuide.html"
    and folder "docetc" from the top level of this package.

Fetch: 
    From "http://learning-python.com/frigcal.html" download and unzip:

      - Frigcal.app.zip (Mac app)
      - Frigcal-64bit.zip or Frigcal-32bit.zip (Windows executable)
      - Frigcal.zip (Linux executable)
      - Frigcal-source.zip (source code)

    See Package Usage Basics below for more install details.

Start:
    To launch the program, run the unzipped folder or its file:

      - Frigcal.app (Mac app) 
      - frigcal-launcher.exe (Windows executable)
      - frigcal-launcher (Linux executable)  
      - frigcal-launcher.pyw (source code)

    See Package Usage Basics below for more run details.

Docs:
    Open UserGuide.html in a web browser for the main user guide.
    Select '?' in the GUI to view that document in any distribution. 

Configs:
    Edit frigcal_configs.py to customize frigcal's appearance and behavior.

Backups:
    frigcal saves backup copies of your changed calendar files to the 
    Backups folder in your calendar folder.  See UserGuide.html.

Tools:
    frigcal is coded in Python 3.X, and uses tkinter/Tk for its GUI.  
    Mac frozen apps are built with py2app; others use PyInstaller.  

Upgrades:
    To install a new version of frigcal in the future, save and restore
    your frigcal_configs.py, and possibly Calendars/ and MonthImages/.
    See UserGuide.html's "Data Files" for more details.

Updates:
    Watch http://learning-python.com/post-release-updates.html
    for new-release announcements and additional usage pointers.

Other:
    See "Recent Highlights" in UserGuide.html for version changes.
    See UserGuide.html or folder docetc/docimgs for GUI screenshots.

------------------------------------------------------------------------------

Package Usage Basics

frigcal is available as full source code, a Mac app, and executables
for Windows and Linux.  Source code is the ultimate in portability,
but apps and executables integrate better with your computer's GUI,
do not require any additional install steps, and are immune to 
future changes in the Python programming language they use.

The following sections give the fundamentals of each format's usage:

    - Mac OS X (macOS) App Package
    - Windows Executable Package
    - Linux Executable Package
    - Source-Code Package

------------------------------------------------------------------------------

Mac OS X (macOS) App Package

    The Mac OS X app runs only on Mac systems, but requires no
    Python install and better supports the Mac user experience.

    To Install:
        Fetch file "Frigcal.app.zip", unzip it by a double-click (or other),
        and drag the resulting Frigcal.app to your /Applications folder in
        Finder to access it from Launchpad.  You can also move Frigcal.app 
        and create aliases to it anywhere else on your computer.
    
    To Run:
        Click "Frigcal.app" to start the program (or run the app any other way).
        A default empty calendar is created on the first run for new events. 
        Running Frigcal.app automatically launches frigcal's startup launcher,
        the same as running the source-code package's frigcal-launcher.pyw.

        Clicking frigcal's app icon or Dock entry while the program is running 
        automatically deiconifies (unhides) its main window, and always lifts
        it above other windows on screen (handy to locate it in a busy session).
        Double-click the app and single-click the Dock to make this work.

    Files:
        Your frigcal_configs.py file is located inside the unzipped app's 
        folder, at path:
        
            Frigcal.app/Contents/Resources

        Navigate to this nested folder in Finder by a right-click on 
        Frigcal.app and Show Package Contents (or use "ls" in Terminal).
        Your UserGuide.html is in the same folder, but can also be 
        accessed by the program's "?" button.

    Scripts:
        All frigcal scripts are frozen executables in the app's folder:
       
            Frigcal.app/Content/MacOS

        The scripts have no ".py" extension in this format, but otherwise run
        exactly as documented.  No separate Python install is required to run 
        these from command lines in Terminal.  For example, if you've drug the
        unzipped folder to your /Applications, the following work in Terminal:

            /Applications/Frigcal.app/Contents/MacOS/searchcals cheatsheet -all
            /Applications/Frigcal.app/Contents/MacOS/pickcolor

        Note that source-code versions of these scripts are also included in
        the app's Contents/Resources folder for their documentation, but will
        not generally run in this form and location; use the frozen executables
        in Contents/MacOS instead. 

    Versions: 
        The Mac OS X app was built on OS X version 10.11 El Capitan,
        as a Mac universal binary.  It has been verified to run on 
        this as well as Mac OS X (a.k.a. macOS) 10.12 Sierra, and is
        expected to work on later OS X versions.  Support for earlier
        versions of OS X remains to be verified.

    Known issues: 
        Due to limitations in the underlying Tk toolkit, emojis are replaced 
        for display only; see the user guide for details.

        Due to a flaw in the underlying Tk toolkit, closed windows may leave
        zombie items in Dock menus; these can be safely ignored.

------------------------------------------------------------------------------

Windows Executable Package

    The Windows executables run only on Windows systems, but require
    no Python install and better support the Windows user interface.

    To install:
        Fetch file "Frigcal-64bit.zip" or "Frigcal-32bit.zip" and unzip 
        it on your computer (see Versions below for the difference).
        Copy the unzipped folder to C:\Program Files or elsewhere to 
        save it.  Make Desktop shortcuts to the unzipped folder's 
        executable (per the next section) for quick access as desired.

    To Run:
        Click on the unzipped folder's "frigcal-launcher.exe" file to run. 
        A default empty calendar is created on the first run for new events.
        File "frigcal.exe" starts the GUI too, but it may take some time to 
        appear for large calendars or slow machines.

    Files:
        Your UserGuide.html, frigcal_configs.py, and utility scripts are 
        are all located at the top level of the same folder as the ".exe"
        executable (the folder created by unzipping the download).
        
    Scripts:
        frigcal's extra utility scripts in this package are all provided as
        executables that have a ".exe" extension instead of a ".py" and can be 
        run without a local Python install, but otherwise work the same.  For 
        example, the source package's searchcals.py becomes an executable
        (the ".exe" in the following is usually optional):

            Frigcal-64bit\searchcals.exe cheatsheet -all
       
        Scripts' ".py" source files are also included for their in-file 
        documentation, but some may not run in this form; use their .exes.

    Versions: 
        The Windows executable comes in both 64- and 32-bit forms, as denoted
        by its zipfile names.  The former works only on 64-bit systems; the 
        latter works more broadly but may run slower on 64-bit systems.  The
        64-bit executable was built on Windows 7, and the 32-bit version on 
        Windows 8, but both have been verified to run on Windows 7, 8, and 10.

    Known issues: 
        Startups may be briefly delayed due to PyInstaller folder extracts.  
        Use the source-code package if this is problematic on slower machines.

        Due to limitations in the underlying Tk toolkit, emojis are replaced 
        for display only; see the user guide for details.

------------------------------------------------------------------------------

Linux Executable Package

    The Linux executable runs only on Linux systems, but requires no
    Python install and may better support the Linux user interface.

    To install:
        Fetch file "Frigcal.zip" and unzip it on your computer.  Copy the
        unzipped folder to your home, desktop, or other folder to make it 
        easy to access, and make desktop shortcuts to the executable as 
        desired.

    To Run:
        Click on the unzipped folder's "frigcal-launcher" file to run.  
        A default empty calendar is created on the first run for new events.
        File "frigcal" starts the GUI too, but it may take some time to 
        appear for large calendars or slow machines.

    Files:
        Your UserGuide.html, frigcal_configs.py, and utility scripts are 
        are all located at the top level of the same folder as the frigcal
        executable (the folder created by unzipping the download).
        
    Scripts:
        frigcal's extra utility scripts in this package are all provided as
        executables that have no extension instead of a ".py" and can be 
        run without a local Python install, but otherwise work the same.  
        For example, the source package's searchcals.py becomes an executable:

            Frigcal/searchcals cheatsheet -all
       
        Scripts' ".py" source files are also included for their in-file 
        documentation, but some may not run in this form; use the executables.

    Versions: 
        The sole Linux executable was built on Ubuntu Linux 16.04, on a 
        64-bit system.  It is known to work on this and other versions of 
        Ubuntu and is expected to work on some other distributions of Linux,
        but this is to be verified.  If it fails on your system, use the 
        source-code frigcal package.

    Known issues: 
        Startups may be briefly delayed due to PyInstaller folder extracts.  
        Use the source-code package if this is problematic on slower machines.

        Due to limitations in the underlying Tk toolkit, emojis are replaced 
        for display only; see the user guide for details.

------------------------------------------------------------------------------

Source-Code Package 

    The source-code version of frigcal runs on all flavors of Mac, 
    Windows, and Linux, but requires a separately installed Python.

    To Install:
        Fetch file "Frigcal-source.zip" and unzip it on your computer.
        Also fetch and install a usable Python 3.X if one is not already
        present.  On Mac and Linux, also install the tkinter/Tk toolkit 
        if needed.  See the user guide's "Dependencies" for details.

    To Run:
        Run "frigcal-launcher.pyw" in the unzipped folder to launch the 
        program, using any Python program-launching technique on your 
        platform: Windows icon clicks, IDLE, command lines, Mac Python 
        Launcher, etc.  You can also run the file from within PyEdit
        (see learning-python.com/pyedit).

    Files:
        Your UserGuide.html, frigcal_configs.py, and utility scripts
        are all located in the same folder as the main scripts' file
        (the folder created by unzipping the download).

    Versions:
        Source code is platform-neutral and is not dependent on the 
        version of your operating system.  This package runs on all
        versions of Mac OS X, Windows, and Linux in common use today.
        
        The source-code package does, however, require and assume a
        separately installed Python on your computer: download one 
        for your platform from www.python.org/downloads if Python is 
        not already installed.  
 
        frigcal's source code has been verified to run on all Python 
        3.X through 3.5, and has no third-party install requirements.
        Later Python versions are expected to work too, but 3.5 is 
        the latest version verified.  frigcal uses the Pillow/PIL 
        extension for month images if present and needed; this varies
        by image type, and Python and Tk versions (see the user guide).

    Known issues:
        Due to limitations in the underlying Tk toolkit, emojis are replaced 
        for display only; see the user guide for details.

        On Mac OS X, closed windows may leave zombie items in Dock menus due 
        to a flaw in the underlying Tk toolkit; use Tk 8.6+ if possible.

------------------------------------------------------------------------------
[end]
