<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="technical">

	<title>Technical information</title>

<info>
	<link type="guide" xref="index#footer"/>
        <desc>Filenames, Directories, Dependencies</desc>
</info>


	<section id="dependecies">
        <terms>
  	  <title>Dependencies</title>
          <item><p><link action="install:python">Python 2.7 or 3.x</link></p></item>
          <item><p><link action="install:python-gtk2">PyGtk or PyGI</link></p></item>
          <item><p>Gtk2 or Gtk3</p></item>
          <item><p><link action="install:python-requests">Requests/urllib3</link></p></item>
          <item><p><link action="install:python-imaging">PIL/Pillow</link></p></item>
	</terms>
        <terms>
  	  <title>Soft dependencies</title>
          <item><p><link action="install:python-lxml">Python-LXML</link></p></item>
          <item><p><link action="install:python-pyquery">Python-PyQuery</link></p></item>
          <item><p>Audacious/VLC or any other player</p></item>
          <item><p>Streamripper or fIcy</p></item>
          <item><p>youtube-dl</p></item>
          <item><p>fonts: Symbola/Unifont for some UI parts</p></item>
	</terms>
	</section>


	<section id="config_files">
  	  <title>Configuration files</title>
        <terms>
          <item>
            <title><file>/home/$USER/.config/streamtuner2/</file></title>
            <p>Corresponds to the XDG_CONFIG_HOME setting. All ST2 configuration settings
            are contained within here and are in JSON format.</p>
          </item>
          <item>
            <title><file>/home/$USER/.cache/streamtuner2/</file></title>
            <p>Set from XDG_CACHE_HOME environment variable. Contains the
            channel cache/ and icons/. Symlinks in <file>.config</file>
            remain for convenience.</p>
          </item>
          <item>
            <title><file>~/.config/streamtuner2/settings.json</file></title>
            <p>General runtime options, plugin settings, and configured audio players.</p>
          </item>
          <item>
            <title><file>~/.config/streamtuner2/window.json</file></title>
            <p>Saved window sizes, list widths.</p>
          </item>
          <item>
            <title><file>~/.config/streamtuner2/state.json</file></title>
            <p>Last category in each channel tab.</p>
          </item>
          <item>
            <title><file>~/.config/streamtuner2/bookmarks.json</file></title>
            <p>Is a separate cache file for your bookmarked/favourite radio stations.</p>
          </item>
          <item>
            <title><file>~/.cache/streamtuner2/cache/***.json</file></title>
            <p>Channel cache, with station/stream lists in JSON files.</p>
          </item>
          <item>
            <title><file>~/.cache/streamtuner2/icons/*.png</file></title>
            <p>Holds downloaded favicons for station homepages.</p>
          </item>
          <item>
            <title><file>~/.config/streamtuner2/plugins/*.py</file></title>
            <p>Contain downloaded contrib/ plugins.</p>
          </item>
	</terms>
	<p>On Windows the <file>~/.config/</file> directory is called
	<file>%APPDATA%</file> instead. The paths in there are equally
	structured. On Linux <file>~/.cache/</file> is used to separate
        temporary from configuration data.</p>
	</section>


	<section id="install_dirs">
  	  <title>Installation spread</title>
        <terms>
          <item>
            <title><file>/usr/bin/streamtuner2</file></title>
            <p>Associates the main binary.</p>
          </item>
          <item>
            <title><file>/usr/share/streamtuner2/</file></title>
            <p>Contains the individual ST2 python modules, and plugins in channels/. Also packages in pyquery/, but which is only used if the according modules aren't installed by the distribution.</p>
          </item>
          <item>
            <title><file>/usr/share/doc/streamtuner2/</file></title>
            <p>Contains the README, and Mallard/gnome-help/yelp files under help/.</p>
          </item>
	</terms>
	</section>


	<section id="license">
	<title>Public Domain</title>
	<p>The majority of code distributed with ST2 is placed into the Public Domain; meaning
        no licensing requirement and all code can be copied, modified
	and distributed unrestrictively.</p>
        <note><p>The bundled kronos.py and requests/ library are NOT however.</p></note>
	</section>


</page>
