4f0c4330d2
Add the new PuTTY paste mode Add new Remotinator commands FAQ for other Terminator Add Bug handling flow Minor changes/corrections
870 lines
47 KiB
HTML
870 lines
47 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>Getting involved — Terminator 1.0 alpha documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="top" title="Terminator 1.0 alpha documentation" href="index.html"/>
|
|
<link rel="prev" title="Frequently Asked Questions" href="faq.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="index.html" class="icon icon-home"> Terminator
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<p class="caption"><span class="caption-text">Contents:</span></p>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="licensing.html">Licensing</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="history.html">Document history</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="gettingstarted.html">Getting Started</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-context-menu">The Context Menu</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#navigating-around">Navigating around</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#click-able-items">Click-able items</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#changing-the-current-layout">Changing the current layout</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-splitters">Using the splitters</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#dragging-and-dropping-a-terminal">Dragging and dropping a terminal</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-keyboard">Using the keyboard</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#resetting-the-terminal">Resetting the terminal</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-scrollbar-and-scrollback-buffer">The scrollbar and scrollback buffer</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#search-the-buffer">Search the buffer</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#zooming-the-terminal">Zooming the terminal</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#setting-titles">Setting Titles</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#insert-terminal-number">Insert terminal number</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#next-prev-profile">Next/Prev profile</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="preferences.html">Preferences Window</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#global">Global</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#behaviour">Behaviour</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#appearance">Appearance</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#terminal-titlebar">Terminal Titlebar</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#profiles">Profiles</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#general">General</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#cursor">Cursor</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#terminal-bell">Terminal bell</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#not-in-terminator">Not in Terminator</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#command">Command</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id1">Not in Terminator</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#colours">Colours</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#foreground-and-background">Foreground and Background</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#palette">Palette</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id2">Not in Terminator</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#background">Background</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#scrolling">Scrolling</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="preferences.html#compatibility">Compatibility</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="preferences.html#encoding">Encoding</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#layouts">Layouts</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#keybindings">Keybindings</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#plugins">Plugins</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="preferences.html#about">About</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="layouts.html">Layouts and the Layout Launcher</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="layouts.html#the-layout-launcher">The Layout Launcher</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="grouping.html">The Grouping Menu</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="grouping.html#manipulating-terminal-groups">Manipulating terminal groups</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="grouping.html#broadcasting-input-to-multiple-terminals">Broadcasting input to multiple terminals</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="grouping.html#insert-terminal-number">Insert terminal number</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="plugins.html#included-plugins">Included plugins</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#activity-watch">Activity Watch</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#apt-url-handler">APT URL Handler</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#custom-commands-menu">Custom Commands Menu</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#inactivity-watch">Inactivity Watch</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-bug-url-handler">Launchpad Bug URL Handler</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-code-url-handler">Launchpad Code URL Handler</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#logger">Logger</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#maven-plugin-url-handler">Maven Plugin URL Handler</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#terminal-shot">Terminal Shot</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#test-plugin">Test Plugin</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="plugins.html#third-party-plugins">Third party plugins</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="plugins.html#installing-a-plugin">Installing a plugin</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="plugins.html#creating-your-own-plugins">Creating your own plugins</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#the-basics-of-a-plugin">The basics of a plugin</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#url-handlers">URL Handlers</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#context-menu-items">Context menu items</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="plugins.html#wrap-up">Wrap up</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="advancedusage.html">Advanced Usage</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#command-line-options">Command line options</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#general-options">General options</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#window-options">Window options</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#shell-options">Shell options</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#layout-options">Layout options</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#custom-window-manager-options">Custom Window Manager options</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#debugging-options">Debugging options</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#the-config-file">The Config file</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#debugging">Debugging</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#dbus">DBus</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#remotinator">Remotinator</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="faq.html#why">Why...</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="faq.html#is-there-another-terminal-program-called-terminator">...is there another terminal program called Terminator?</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="faq.html#write-in-python-it-s-slow-bloated-bad">...write in Python? It’s slow/bloated/bad?</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="faq.html#performance">Performance</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="faq.html#memory-use-the-dumb-way">Memory use - The dumb way</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="faq.html#memory-use-the-sensible-way">Memory use - The sensible way</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="faq.html#python-sucks">“Python sucks!”</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="faq.html#in-summary">In summary</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="faq.html#how-do-i">How do I...</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="faq.html#make-terminator-work-like-quake-style-terminals">...make Terminator work like Quake style terminals?</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="">Getting involved</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#translations">Translations</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#improve-icons-artwork">Improve icons/artwork</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#terminator-action-shots">Terminator action shots</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#manual-updates">Manual updates</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#testing">Testing</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#bugs">Bugs</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#bug-handling">Bug handling</a><ul>
|
|
<li class="toctree-l4"><a class="reference internal" href="#initial-new">Initial/New</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#investigation">Investigation</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#acceptance">Acceptance</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#resolved">Resolved</a></li>
|
|
<li class="toctree-l4"><a class="reference internal" href="#available">Available</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#plugins">Plugins</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#main-application-development">Main Application Development</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#gtk3-port">GTK3 Port</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#terminator-api-docs">Terminator API Docs</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#other-docs-for-developers">Other Docs for Developers</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="index.html">Terminator</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="index.html">Docs</a> »</li>
|
|
|
|
<li>Getting involved</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="_sources/gettinginvolved.txt" rel="nofollow"> View page source</a>
|
|
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document">
|
|
|
|
<img alt="Saefty first when breaking out the power tools." class="align-right" src="_images/icon_gettinginvolved.png" />
|
|
<div class="section" id="getting-involved">
|
|
<h1>Getting involved<a class="headerlink" href="#getting-involved" title="Permalink to this headline">¶</a></h1>
|
|
<p>There are many ways to help out, and they don’t all involve coding.</p>
|
|
<div class="section" id="translations">
|
|
<h2>Translations<a class="headerlink" href="#translations" title="Permalink to this headline">¶</a></h2>
|
|
<p>Sprechen Sie Deutsch?</p>
|
|
<p>Awesome! I’ve been getting my head around the whole translation
|
|
bit (English monoglot I’m afraid), and as a result there has been
|
|
a lot of churn in the translations. So what are you waiting for?</p>
|
|
<p>Speak some other language? Take a look at
|
|
<a class="reference external" href="https://translations.launchpad.net/terminator">https://translations.launchpad.net/terminator</a> because you might
|
|
just be the <insert language here> speaker that we’re looking for.</p>
|
|
</div>
|
|
<div class="section" id="improve-icons-artwork">
|
|
<h2>Improve icons/artwork<a class="headerlink" href="#improve-icons-artwork" title="Permalink to this headline">¶</a></h2>
|
|
<p>OK, so while the main icon contributed by Cory Kontros is really
|
|
good, my hacks of it are... not so good. I’m no artist, but I do
|
|
appreciate them. So if you think you could apply some polish and
|
|
a cohesive design to this manuals page header images, please, give
|
|
it a go. It may only be to take the existing icon and to make it
|
|
suck less.</p>
|
|
<p>The only thing I would ask is that you maintain the main icon as
|
|
a base like I have done.</p>
|
|
</div>
|
|
<div class="section" id="terminator-action-shots">
|
|
<h2>Terminator action shots<a class="headerlink" href="#terminator-action-shots" title="Permalink to this headline">¶</a></h2>
|
|
<p>This one’s just for “PR” purposes. I want to see famous/awesome
|
|
people kicking ass <em>and</em> chewing bubble-gum with Terminator in the
|
|
mix.</p>
|
|
<p>If you spot it in a TV show, movie, or a news article I want to
|
|
know. Maybe you’re even the famous/awesome person, in which case
|
|
drop me a note.</p>
|
|
<p>It will warm the cockles of my heart to know that Terminator made
|
|
life easier for people who do the really important stuff like
|
|
discovering new particles (CERN? Hello?), boldly going (NASA? Come
|
|
in Houston), or wrangle 2 more frames per second from Half-Life 3
|
|
(Valve? Confirmed?)</p>
|
|
<p>Here’s the ones I’ve spotted and noted (I’ve seen quite a few others
|
|
previously, but never thought to note them)</p>
|
|
<ul>
|
|
<li><dl class="first docutils">
|
|
<dt><a class="reference external" href="http://www.theverge.com/2015/3/3/8136405/mind-maze-mind-leap-thought-reading-virtual-reality-headset">MindMaze</a> - VR / mind-reading.</dt>
|
|
<dd><p class="first last">Visible in the background of the video, and in an image lower down
|
|
the page. (The Verge)</p>
|
|
</dd>
|
|
</dl>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="manual-updates">
|
|
<h2>Manual updates<a class="headerlink" href="#manual-updates" title="Permalink to this headline">¶</a></h2>
|
|
<p>This manual is a new endeavour to fully document all the nooks and
|
|
crannies of Terminator. As such, there may be things that are missing,
|
|
incorrect, not explained clearly, or need expanding.</p>
|
|
<p>Suggestions, or updates are welcome.</p>
|
|
<p>I had a little exposure at work to Sphinx, so I thought I’d dig in
|
|
a bit deeper and learn a bit about it. So far I’m happy enough, so
|
|
till further notice this manual will remain in this format.</p>
|
|
<p>If you’re feeling like a loquacious polyglot you could attempt to
|
|
translate the whole manual. So far I haven’t tested it, but in
|
|
principle, just do a checkout of the trunk, and do a full copy of
|
|
the <code class="docutils literal"><span class="pre">doc/manual</span></code> folder to <code class="docutils literal"><span class="pre">doc/manual_XXXX</span></code> where XXXX is the
|
|
i18n language code. This is usually just the two or three letters of
|
|
the language code, but sometimes has the region too... Or something
|
|
else entirely in a couple of cases. A couple of examples:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>pt - Portugese
|
|
pt_BR - Brazilian Portugese
|
|
ca - Catalan
|
|
ca@valencia - Catalan (Dialect specific to Valencia?)
|
|
</pre></div>
|
|
</div>
|
|
<p>Then just translate away, and take new screen grabs to replace the
|
|
British English ones I’ve done. If someone was to make a serious
|
|
effort to translate the manual, I’m sure we can get it included.</p>
|
|
<p>The Help shortcut checks the LANGUAGE environment variable, and tries
|
|
those folders in order, before falling back gracefully to the default
|
|
manual, which is British English anyway:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>LANGUAGE=en_GB:en
|
|
</pre></div>
|
|
</div>
|
|
<p>So this is going to try:</p>
|
|
<ul class="simple">
|
|
<li><em>html_en_GB</em> - the non-existent British English folder</li>
|
|
<li><em>html_en</em> - the non-existent generic English folder</li>
|
|
<li><em>html</em> - the default document that happens to be in British English</li>
|
|
</ul>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Although the source is in a folder beginning with <code class="docutils literal"><span class="pre">manual</span></code>,
|
|
that gets replaced with <code class="docutils literal"><span class="pre">html</span></code> for installation.</p>
|
|
</div>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">If there are any Americans offended by correct spelling,
|
|
they are more than welcome to create an Americanised
|
|
version, and I’ll relegate it to the en_US folder. The
|
|
default will remain British English.</p>
|
|
</div>
|
|
<p>In order to create the html for the manual, you must have the
|
|
sphinx_rtd_theme package installed. This does not appear to be
|
|
packaged for Ubuntu 14.04 LTS as far as I can tell. This means you
|
|
must install it using the pip tool. This may need installing on your
|
|
system too with:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>sudo apt-get install python-pip
|
|
</pre></div>
|
|
</div>
|
|
<p>Once that is installed you can install the theme with:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>sudo pip install sphinx-rtd-theme
|
|
</pre></div>
|
|
</div>
|
|
<p>This will take care of installing the theme and it’s dependencies.</p>
|
|
<div class="admonition warning">
|
|
<p class="first admonition-title">Warning</p>
|
|
<p class="last">On Ubuntu this also installed a newer version of <em>Sphinx</em>
|
|
under the <code class="docutils literal"><span class="pre">/usr/local</span></code> folder. This caused a bit of
|
|
confusion at one point, so be aware.</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="testing">
|
|
<h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
|
|
<p>Just use it, explore the features, and complain when they don’t work.</p>
|
|
<p>We actually have quite a lots of outstanding issues, and in many
|
|
cases I can’t reproduce due to either lack of info, differences in
|
|
environment, lack of information, or because the bug is so old the
|
|
original raiser has moved on and not available for questions.</p>
|
|
<p>I’m particularly interested in cases where I can’t even see that
|
|
something is an issue, such as:</p>
|
|
<ul class="simple">
|
|
<li><em>Right-to-Left</em> - I can force Terminator to Arabic, and everything
|
|
flips around, but I have no idea if it looks “right” to a native
|
|
speaker. Frankly it just looks <em>weird!</em></li>
|
|
<li><em>HighContrast</em> - Again, I can switch to it, but perhaps I’m not
|
|
appreciating the needs of that group.</li>
|
|
<li><em>Accessibility</em> - People using only a keyboard, or only a mouse,
|
|
on-screen keyboards, text-to-speech, speech-to-text, and so on.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="bugs">
|
|
<h2>Bugs<a class="headerlink" href="#bugs" title="Permalink to this headline">¶</a></h2>
|
|
<p>Bugs (and feature requests) are raised and dealt with in the Launchpad
|
|
<a class="reference external" href="https://bugs.launchpad.net/terminator">bugs</a> page.</p>
|
|
<ul class="simple">
|
|
<li><strong>Fixing</strong> - OK, so yeah, this is coding.</li>
|
|
<li><strong>Reproduce and improving</strong> - Sometimes bugs are lacking info to
|
|
reproduce, or my system is too different. Or perhaps the original
|
|
poster has moved on because we haven’t fixed their pet peeve fast
|
|
enough.</li>
|
|
<li><strong>Triaging</strong> - It’s one of the less glamorous jobs, but someone’s
|
|
gotta do it. Shepherd bugs to the point where it has a priority,
|
|
a milestone, reproduction steps, confirmation, submitted patches
|
|
validated, and so on.</li>
|
|
<li><strong>Raising</strong> - If you have searched and cannot find your bug, you
|
|
can raise a new one.</li>
|
|
</ul>
|
|
<p>Feature requests are initially raised as bugs, and if it passes the
|
|
rather undefined criteria, it will be marked as a <strong>wishlist</strong> item.</p>
|
|
<div class="section" id="bug-handling">
|
|
<h3>Bug handling<a class="headerlink" href="#bug-handling" title="Permalink to this headline">¶</a></h3>
|
|
<p>I have had one person (possibly others) who are hesitant to use the
|
|
status’ because they’ve been “told off” by the developers of other
|
|
projects, and people/projects are often different in how they want to
|
|
handle bugs. So, with that in mind, let me present my idea of how a
|
|
bug should be handled. First a pretty picture:</p>
|
|
<img alt="_images/launchpad_bugflow.png" src="_images/launchpad_bugflow.png" />
|
|
<p>So, the darker blue states are the ones available in Launchpad that
|
|
can be manually set. The two marked with a red outline require bug
|
|
supervisor role to set, which means a member of the Terminator team.
|
|
The pale blue states are ones that I personally feel should be there,
|
|
but are missing. I’ll explain my intention with those in the
|
|
appropriate sections below. The grey state is set automatically only,
|
|
and cannot be set by anyone.</p>
|
|
<div class="section" id="initial-new">
|
|
<h4>Initial/New<a class="headerlink" href="#initial-new" title="Permalink to this headline">¶</a></h4>
|
|
<p>When you the user create a bug it goes into <strong>New</strong>. If another user
|
|
clicks the <em>This bug affects you</em> link, this gets moved to <strong>Confirmed</strong>.</p>
|
|
</div>
|
|
<div class="section" id="investigation">
|
|
<h4>Investigation<a class="headerlink" href="#investigation" title="Permalink to this headline">¶</a></h4>
|
|
<p>If I (or indeed someone else) go to a <em>New</em> or <em>Confirmed</em> bug, and
|
|
are unable to reproduce it then it will be marked <strong>Incomplete</strong>, and
|
|
someone (preferably the original raiser, but it can be someone else
|
|
affected) needs to revisit and provide the requested additional info.
|
|
Ideally when that is added there would be a <em>New Info</em> (or similar)
|
|
state that the user would set the bug to, and then the dashed line
|
|
would be taken.</p>
|
|
<p>Because we don’t have this state, we “skip” straight through and abuse
|
|
the <strong>Confirmed</strong> state. Set the bug (back) to <strong>Confirmed</strong>, and
|
|
assign the official tag <em>new-info</em>. Once the ticket is reviewed the
|
|
tag will be removed, and a new state assigned, possibly even
|
|
<em>Incomplete</em> again.</p>
|
|
<p>Note that I am aware of the two <em>Incomplete</em> options for with and
|
|
without response, but the way it works is unclear, and I can’t switch
|
|
between the two myself, and it is not clear when Launchpad switches
|
|
it. So, I’ll be ignoring them and treating <em>Incomplete</em> as a single
|
|
state.</p>
|
|
</div>
|
|
<div class="section" id="acceptance">
|
|
<h4>Acceptance<a class="headerlink" href="#acceptance" title="Permalink to this headline">¶</a></h4>
|
|
<p>At this point the bug should provide enough information to be
|
|
reproducible. Only a supervisor can set an issue to <strong>Triaged</strong>. This
|
|
state says, “Yes, the information provided either permits me to
|
|
reproduce myself, or see what went wrong from provided logs, config,
|
|
etc.” Typically they go here when I don’t have the time to start
|
|
working on an immediate fix.</p>
|
|
<p>Alternatively I (or anyone) could start working on a bug. Ideally the
|
|
issue should be set to <strong>In Progress</strong>, and assigned to the person
|
|
picking it up. That way, two people don’t work on the same issue.</p>
|
|
<p>Sometimes, for trivial or interesting bugs, they might get looked at
|
|
and fixed so fast that they skip all <em>Acceptance</em> categories, and go
|
|
straight to one of the <em>Resolved</em> states.</p>
|
|
</div>
|
|
<div class="section" id="resolved">
|
|
<h4>Resolved<a class="headerlink" href="#resolved" title="Permalink to this headline">¶</a></h4>
|
|
<p><strong>Fix Committed</strong> is for when a fix is pushed to the main Launchpad
|
|
bazaar repository and typically I do this. If you create a contribution
|
|
via a branch, and commit to your branch, do not set to this yourself.
|
|
Instead associate the bug with the branch, and request a merge. When
|
|
I do the merge I will also set the bug to <em>Fix Committed</em>.</p>
|
|
<p>An <strong>Invalid</strong> bug is usually because the user didn’t understand
|
|
something, or it is in fact a support request.</p>
|
|
<p>Only a bug supervisor can set an issue to <strong>Won’t Fix</strong>. It is the
|
|
supervisors way of ending the discussion when it is felt that a bug
|
|
does not fit the projects plans, but someone can’t <a class="reference external" href="https://www.youtube.com/watch?v=L0MK7qz13bU#t=1m05s">let it go</a>.</p>
|
|
<p><strong>Opinion</strong> is typically when the user and I have a different
|
|
expectation about behaviour or a new feature, or I think that something
|
|
being proposed would actually be a negative for Terminator. Unlike
|
|
<em>Won’t Fix</em>, this can still be discussed within the ticket.</p>
|
|
<p><strong>Not Responsible</strong> is our second missing virtual state. For me this
|
|
is when, for example, an issue actually resides in <em>libvte</em>, or <em>GTK</em>.
|
|
Again, there is a new official tag <em>not-responsible</em>, and the bug
|
|
will actually end up set to <em>Invalid</em>.</p>
|
|
<p>The final virtual state is <strong>No Action</strong>, which is for various reasons.
|
|
Sometimes other work has resolved an issue already, or the user was
|
|
using an old version, and the fix is already in trunk or released.
|
|
Again there is a new official tag <em>no-action</em>. These will then be put
|
|
in one of the following: <em>Invalid</em>, <em>Fix Committed</em>, or <em>Fix Released</em>,
|
|
depending on circumstance.</p>
|
|
<p>Our last Resolved state is the automatically set <strong>Expired</strong> one.</p>
|
|
</div>
|
|
<div class="section" id="available">
|
|
<h4>Available<a class="headerlink" href="#available" title="Permalink to this headline">¶</a></h4>
|
|
<p>The last state is <strong>Fix Released</strong>, indicating that there has been a
|
|
release containing a fix to the issue.</p>
|
|
<p>Of course this flow and states are not set in stone. A bug can be
|
|
brought out of <em>Expired</em> if necessary. Or back from <em>In Progress</em> to
|
|
<em>Confirmed</em> or <em>Triaged</em> if the assignee decides to stop working on
|
|
the bug for some reason.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="plugins">
|
|
<h2>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h2>
|
|
<p>Ahem... Yeah... More coding...</p>
|
|
<p>Some <a class="reference internal" href="plugins.html#plugins"><span>Plugins</span></a> may have room for improvement, or perhaps you have
|
|
an idea for a neat plugin no-one else has done.</p>
|
|
</div>
|
|
<div class="section" id="main-application-development">
|
|
<h2>Main Application Development<a class="headerlink" href="#main-application-development" title="Permalink to this headline">¶</a></h2>
|
|
<p>Oh come on... Coding? Again!</p>
|
|
<p>I see lots of people say how Terminator is really good, and it is,
|
|
but like anything, it could be better!</p>
|
|
<p>To give an idea, as of October 2015, revision 1663, there are 86
|
|
<a class="reference external" href="https://bugs.launchpad.net/terminator/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&field.importance%3Alist=WISHLIST&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on">wishlist items</a>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Just because an item is marked as wishlist, it doesn’t
|
|
mean that a great deal of thought has been put into the
|
|
appropriateness of the idea on my side. It may be impossible,
|
|
or not a good fit, or just plain bat-sh!t crazy. If you
|
|
want to pick up a wishlist item that looks like a lot of
|
|
work (especially if it makes fundamental changes to the
|
|
Terminator ethos) it’s probably best to check first that
|
|
your approach is good, and has a realistic chance of being
|
|
merged.</p>
|
|
</div>
|
|
<p>Some of these wishlist items are also in my own text file of “Things
|
|
to do” / “Big bag of crazy”, which as of October 2015, revision 1663,
|
|
looks like this:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>Enhancements which may or may not have a wishlist item
|
|
======================================================
|
|
Completely new features
|
|
Add libunity quicklist of saved layouts
|
|
https://wiki.ubuntu.com/Unity/LauncherAPI#Python_Example
|
|
http://www.techques.com/question/24-64436/Refreshing-of-Dynamic-Quicklist-doesn%27t-work-after-initialization
|
|
http://people.canonical.com/~dpm/api/devel/GIR/python/Unity-3.0.html
|
|
Possibly use the progress bar and or counter for something too.
|
|
Add an appindicator menu for launching sessions.
|
|
If we can figure out how to do arbritrary highlighting, perhaps we can get a "highlight differences" mode like used to exist in ClusTerm.
|
|
This could also be limted to highlighting diffs between those in the same group.
|
|
Synchronised scroll based on groups
|
|
Triggers (actions) based on regex for received text
|
|
A "swap" mode for drag and drop
|
|
Encrypted dumping/logging to disk
|
|
|
|
Search
|
|
Might be able to missuse the ClusTerm method of overwriting to "highlight" (gtk2 only)
|
|
|
|
Layouts
|
|
Layout Launcher
|
|
Could bind the shortcut as a global toggle to hide show
|
|
Could save
|
|
window position/size
|
|
hidden status
|
|
always on top
|
|
pin to visible workspace
|
|
Layout needs to save/load more settings
|
|
Per layout?
|
|
Group mode status (all, group, off)
|
|
Split to this group
|
|
Autoclean groups
|
|
Per window
|
|
always on top
|
|
pin to visible workspace
|
|
Per tab
|
|
Per terminal
|
|
Store the custom command and working directory when we load a layout, so making small changes and saving doesn't lose everything.
|
|
It could be possible to detect the current command and working directory with psutil, but could be tricky. (i.e. do we ignore bash?)
|
|
A per layout "save on exit" option to always remember last setup/positions etc. Probably requires above to be done first.
|
|
A per layout shortcut launch hotkey
|
|
|
|
Missing shortcuts:
|
|
Just shortcut:
|
|
Context menu (in addition to Windows menu button - not always available on all keyboards)
|
|
Group menu
|
|
Open preferences
|
|
Change tab text (#1054300-patch), titlebar text, group name
|
|
Toggle titlebar visibility
|
|
Equalise the splitters (siblings/siblings+children/siblings+parents,all)
|
|
Zoom +receiver in/out/reset
|
|
Zoom all in/out/reset
|
|
New code:
|
|
Open a shortcut help overlay (Ctrl-F1?)
|
|
Insert tab text, titlebar text, group name value into terminal(s)
|
|
Last terminal / tab / window(again to jump back to original) #1440049
|
|
Limit broadcast group/all to current tab / window (toggle)
|
|
Broadcast temporarily off when maximised or zoomed to single term (toggle)
|
|
|
|
Titlebar
|
|
Add large action/status icons for when titlebar is bigger.
|
|
Improve the look/spacing of the titlebar, i.e. the spacing around/between elements
|
|
|
|
Tabs
|
|
right-click menu replicating GNOME-Terminals (move left/right, close, rename)
|
|
|
|
Menus
|
|
Add accelerators (i.e. "Shift+Ctr+O") might look too cluttered.
|
|
|
|
Preferences
|
|
Profiles
|
|
Add preselection to the profile tab
|
|
Layouts
|
|
Have changing widgets depending on what is selected in the tree
|
|
Terminal title editable
|
|
Button in prefs to duplicate a layout
|
|
Ordering in list
|
|
Working directory - add dialog too, see http://stackoverflow.com/questions/10868167/make-filechooserdialog-allow-user-to-select-a-folder-directory
|
|
Keybindings
|
|
Add a list of the default keybindings to the Preferences -> Keybindings window?
|
|
Option for close_button_on_tab in prefs. (needs tab right-click menu first
|
|
Option to rebalance siblings on a split (don't think children or ancestors make sense)
|
|
Figure out how to get the tree view to jump to selected row for prefseditor
|
|
|
|
Plugins
|
|
Give plugins ability to register shortcuts
|
|
Custom Commands is blocking, perhaps make non-blocking
|
|
|
|
Drag and Drop
|
|
LP#0768520: Terminal without target opens new window
|
|
LP#1471009: Tab to different/new window depending on target
|
|
|
|
Major architectural
|
|
Improve DBus interface, add coordination between sessions, i.e.:
|
|
multiple DBus ports? register them with a master DBus session, be able to query these, etc
|
|
be able to drive them more with command line commands, and not just from within own shell
|
|
Remotinator improvements
|
|
Abstract out the session/layout allowing multiple logical layouts in the same process to reduce resource used
|
|
This is a big piece of work, as a lot of the Terminator class would need seperating out.
|
|
Hide window should find the last focussed window and hide that. Second hit unhides and focusses it
|
|
Add a power hide to hide all of shortcut bound instances windows
|
|
Use the dbus if available to hide the current active window, then unhide it on second shortcut press
|
|
If the dbus is available:
|
|
The hide will go to the focussed instance, instead of the first to grab the shortcut
|
|
Add a super power hide to hide all Terminator windows
|
|
In both cases a second shortcut unhides whatever was hidden
|
|
|
|
Split with command / Inherit command/workdir/groups etc
|
|
|
|
Somehow make Layout Launcher, Preferences, & poss. Custom Commands singleton/borg (possibly use dbus)
|
|
|
|
When in zoomed/maximised mode
|
|
Perhaps the menu could contain a quick switch sub menu, rather than having to Restore, right-click, maximise
|
|
Shortcuts for next/prev,up/down/left/right, etc. How should they behave
|
|
|
|
All non main windows to be changed to glade files
|
|
|
|
For me the two different sets of next/prev shortcuts are a bit of a mystery.
|
|
|
|
Let window title = terminal titlebar - perhaps other combos. Some kind of %T %G %W substitution?
|
|
</pre></div>
|
|
</div>
|
|
<p>So as you can see, still lots of room for improvements, and plenty of
|
|
ideas if you are trying to find small starter tasks.</p>
|
|
</div>
|
|
<div class="section" id="gtk3-port">
|
|
<h2>GTK3 Port<a class="headerlink" href="#gtk3-port" title="Permalink to this headline">¶</a></h2>
|
|
<p>Last coding one, I promise!</p>
|
|
<p>After some sterling work by Egmont Koblinger, one of the VTE
|
|
developers, he came up with a very large patch for rudimentary GTK3
|
|
support. A number of things were incomplete or broken, but it got it
|
|
far enough along that it was no longer an insurmountable cliff face.</p>
|
|
<p>Since then I have resolved to port fixes and features between the
|
|
two versions. As I do this I explore and find outstanding issues with
|
|
the port, and it is slowly becoming more usable.</p>
|
|
<p>Eventually the GTK2 version of Terminator will go into a
|
|
deprecated/maintenance mode. Unfortunately due to needing a relatively
|
|
new version of libvte, that switch will not be in the immediate
|
|
future. I’m running trusty (14.04 LTS) and even there I had to build
|
|
libvte 0.38 from source. This makes the GTK3 out of reach for the
|
|
“Joe Bloggs” of the world. I could try and maintain my own PPA of the
|
|
component, but that doesn’t help Fedora/OpenSUSE/Arch etc. users.
|
|
Even getting “Joe Bloggs” to add a PPA can be a struggle.</p>
|
|
<p>And for a real nightmare, I tried to compile the 0.40 version and the
|
|
thing lit up with a smorgasbord of items where my installed packages
|
|
were not new enough.</p>
|
|
<p>If you are feeling brave and adventurous, there are some instructions
|
|
in this <a class="reference external" href="http://gnometerminator.blogspot.com/2015/09/so-you-want-to-try-terminator-gtk3.html">blog post</a> that will help you get the GTK3 version running.
|
|
Assistance knocking off the remaining rough edges will be very much
|
|
appreciated.</p>
|
|
<p>For the record, as of October 2015, with the <a class="reference external" href="https://code.launchpad.net/~gnome-terminator/terminator/gtk3">gtk3 branch</a> at revision
|
|
1612, these are the outstanding items:</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>Outstanding GTK3 port tasks/items/reviews etc.
|
|
==============================================
|
|
Outstanding trunk revisions: 1634 & 1637, 1647 (assuming all is good), 1663
|
|
|
|
Need to go through all the Gtk.STOCK_* items and remove. Deprecated in 3.10. Very low priority as won't be problem till 4.0.
|
|
Homogeneous_tabbar removed? Why?
|
|
terminal.py:on_vte_size_allocate, check for self.vte.window missing. Consequences?
|
|
terminal.py:understand diff in args between old fork and new spawn of bash. Consequences?
|
|
VERIFY(8)/FIXME(6) FOR GTK3 items to be dealt with
|
|
|
|
Outstanding GTK3 port tasks/items/reviews etc. for future release
|
|
=================================================================
|
|
vte 0.40+
|
|
Reimplement/restore the word_chars stuff.
|
|
</pre></div>
|
|
</div>
|
|
<p>Once the GTK3 port is done there is also a long overdue port to
|
|
Python3, especially in light of some distributions trying to
|
|
eliminate Python2 from the base installs. Yes, Python2 will be with
|
|
us for a long time yet, but this should serve as a warning.</p>
|
|
<p>I even have some new items specifically for the GTK3 branch which I’m
|
|
still thinking about, but I’m not ready to declare. I suspect I might
|
|
get a bit of unwanted pressure if I were to mention these, so for now
|
|
they are under NDA. 😃</p>
|
|
</div>
|
|
<div class="section" id="terminator-api-docs">
|
|
<h2>Terminator API Docs<a class="headerlink" href="#terminator-api-docs" title="Permalink to this headline">¶</a></h2>
|
|
<p>Strictly speaking this isn’t an API as such, because it is just using
|
|
sphinx-apidoc over the Terminator code base. It’s perhaps helpful to
|
|
have this as a document that can be browsed.</p>
|
|
<p><a class="reference external" href="../apidoc/index.html">Terminator API docs</a></p>
|
|
<p>As it stands, this is rather incomplete, or too terse with no examples
|
|
given. If you look at the terminatorlib.configobj package, you will
|
|
see fairly extensive documentation, along with walk-throughs, etc. This
|
|
particular package was written elsewhere, and brought into Terminator
|
|
to provide configuration handling.</p>
|
|
<p>There are also some aspects of the way this document builds that I’m
|
|
not too happy about. The seemingly unnecessary <code class="docutils literal"><span class="pre">terminatorlib</span></code>
|
|
root-node in the side bar; the lack of class/method links in the
|
|
sidebar; all <code class="docutils literal"><span class="pre">.py</span></code> files on the same page (this can be changed, but
|
|
then even less is displayed in the sidebar.) If you can help, join
|
|
the A-Team... Or better yet, send me some changes that fix this.</p>
|
|
</div>
|
|
<div class="section" id="other-docs-for-developers">
|
|
<h2>Other Docs for Developers<a class="headerlink" href="#other-docs-for-developers" title="Permalink to this headline">¶</a></h2>
|
|
<p>Here is a list of some useful sets of documentation:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="29%" />
|
|
<col width="71%" />
|
|
</colgroup>
|
|
<tbody valign="top">
|
|
<tr class="row-odd"><td colspan="2"><strong>General</strong></td>
|
|
</tr>
|
|
<tr class="row-even"><td>Python</td>
|
|
<td><a class="reference external" href="https://docs.python.org/release/2.7/index.html">https://docs.python.org/release/2.7/index.html</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>GNOME Dev. Center</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/">https://developer.gnome.org/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>Bazaar DVCS</td>
|
|
<td><a class="reference external" href="http://doc.bazaar.canonical.com/en/">http://doc.bazaar.canonical.com/en/</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>Launchpad Help</td>
|
|
<td><a class="reference external" href="https://help.launchpad.net/">https://help.launchpad.net/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td colspan="2"><strong>GTK 2</strong></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>PyGTK</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/pygtk/stable/">https://developer.gnome.org/pygtk/stable/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>VTE for GTK 2</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/vte/0.28/">https://developer.gnome.org/vte/0.28/</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td colspan="2"><strong>GTK 3</strong></td>
|
|
</tr>
|
|
<tr class="row-even"><td>GObject Introspection</td>
|
|
<td><a class="reference external" href="https://wiki.gnome.org/Projects/GObjectIntrospection">https://wiki.gnome.org/Projects/GObjectIntrospection</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>GObject</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/gobject/stable/">https://developer.gnome.org/gobject/stable/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>PyGObject Introspection</td>
|
|
<td><a class="reference external" href="https://wiki.gnome.org/Projects/PyGObject">https://wiki.gnome.org/Projects/PyGObject</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>PyGObject</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/pygobject/stable/">https://developer.gnome.org/pygobject/stable/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>Many PIGO autodocs</td>
|
|
<td><a class="reference external" href="http://lazka.github.io/pgi-docs/">http://lazka.github.io/pgi-docs/</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>GDK3 Ref. Manual</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/gdk3/stable/">https://developer.gnome.org/gdk3/stable/</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>GTK3 Ref. Manual</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/gtk3/stable/index.html">https://developer.gnome.org/gtk3/stable/index.html</a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td>Python GTK+ 3 Tutorial</td>
|
|
<td><a class="reference external" href="http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html">http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html</a></td>
|
|
</tr>
|
|
<tr class="row-even"><td>VTE for GTK 3</td>
|
|
<td><a class="reference external" href="https://developer.gnome.org/vte/0.38/">https://developer.gnome.org/vte/0.38/</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
|
|
<a href="faq.html" class="btn btn-neutral" title="Frequently Asked Questions" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2015, Stephen Boddy, licensed under the CC-BY-SA..
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'1.0 alpha',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |