<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Technical information</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><div class="trails" role="navigation"><div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#footer" title="index#footer"></a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Technical information</span></h1></div>
<div class="region">
<div class="contents pagewide"></div>
<section id="dependecies"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide">
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Dependencies</span></h3></div>
<div class="region"><dl class="terms">
<dd class="terms"><p class="p"><span class="link">Python 2.7 or 3.x</span></p></dd>
<dd class="terms"><p class="p"><span class="link">PyGtk or PyGI</span></p></dd>
<dd class="terms"><p class="p">Gtk2 or Gtk3</p></dd>
<dd class="terms"><p class="p"><span class="link">Requests/urllib3</span></p></dd>
<dd class="terms"><p class="p"><span class="link">PIL/Pillow</span></p></dd>
</dl></div>
</div></div>
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Soft dependencies</span></h3></div>
<div class="region"><dl class="terms">
<dd class="terms"><p class="p"><span class="link">Python-LXML</span></p></dd>
<dd class="terms"><p class="p"><span class="link">Python-PyQuery</span></p></dd>
<dd class="terms"><p class="p">Audacious/VLC or any other player</p></dd>
<dd class="terms"><p class="p">Streamripper or fIcy</p></dd>
<dd class="terms"><p class="p">youtube-dl</p></dd>
<dd class="terms"><p class="p">fonts: Symbola/Unifont for some UI parts</p></dd>
</dl></div>
</div></div>
</div></div>
</div></section><section id="config_files"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration files</span></h2></div>
<div class="region"><div class="contents pagewide">
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="file">/home/$USER/.config/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Corresponds to the XDG_CONFIG_HOME setting. All ST2 configuration settings
            are contained within here and are in JSON format.</p></dd>
<dt class="terms"><span class="file">/home/$USER/.cache/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Set from XDG_CACHE_HOME environment variable. Contains the
            channel cache/ and icons/. Symlinks in <span class="file">.config</span>
            remain for convenience.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/settings.json</span></dt>
<dd class="terms"><p class="p">General runtime options, plugin settings, and configured audio players.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/window.json</span></dt>
<dd class="terms"><p class="p">Saved window sizes, list widths.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/state.json</span></dt>
<dd class="terms"><p class="p">Last category in each channel tab.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/bookmarks.json</span></dt>
<dd class="terms"><p class="p">Is a separate cache file for your bookmarked/favourite radio stations.</p></dd>
<dt class="terms"><span class="file">~/.cache/streamtuner2/cache/***.json</span></dt>
<dd class="terms"><p class="p">Channel cache, with station/stream lists in JSON files.</p></dd>
<dt class="terms"><span class="file">~/.cache/streamtuner2/icons/*.png</span></dt>
<dd class="terms"><p class="p">Holds downloaded favicons for station homepages.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/plugins/*.py</span></dt>
<dd class="terms"><p class="p">Contain downloaded contrib/ plugins.</p></dd>
</dl></div></div></div>
<p class="p">On Windows the <span class="file">~/.config/</span> directory is called
	<span class="file">%APPDATA%</span> instead. The paths in there are equally
	structured. On Linux <span class="file">~/.cache/</span> is used to separate
        temporary from configuration data.</p>
</div></div>
</div></section><section id="install_dirs"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Installation spread</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="file">/usr/bin/streamtuner2</span></dt>
<dd class="terms"><p class="p">Associates the main binary.</p></dd>
<dt class="terms"><span class="file">/usr/share/streamtuner2/</span></dt>
<dd class="terms"><p class="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></dd>
<dt class="terms"><span class="file">/usr/share/doc/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Contains the README, and Mallard/gnome-help/yelp files under help/.</p></dd>
</dl></div></div></div></div></div>
</div></section><section id="license"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Public Domain</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="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>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">The bundled kronos.py and requests/ library are NOT however.</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul><li class="links "><a href="index.html#footer" title="index#footer"></a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>
</div></main></body>
</html>
