<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>