~stephen-j-boddy/terminator/bugfix-1318542-double-chars

« back to all changes in this revision

Viewing changes to doc/manual/_build/html/gettinginvolved.html

  • Committer: Stephen Boddy
  • Date: 2015-08-08 02:11:30 UTC
  • Revision ID: stephen.j.boddy@gmail.com-20150808021130-9c1npu4gvenkcb1p
A manual has been added to Terminator
* Added source and generated html of manual, and API doc
* setup.py can install the manual (and by extension do can debuild)
* setup.py has (inactive) code for generating the html from the source
  but this will break if rtd theme is not available
* A few changes to doc strings to make the autodoc prettier
* Added help shortcut, by default F1 to open the local manual
* Added button to About tab to launch manual
* A couple of additional string to translate related to manual/help

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
 
 
3
<!DOCTYPE html>
 
4
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
 
5
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
 
6
<head>
 
7
  <meta charset="utf-8">
 
8
  
 
9
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
10
  
 
11
  <title>Getting involved &mdash; Terminator 1.0 alpha documentation</title>
 
12
  
 
13
 
 
14
  
 
15
  
 
16
 
 
17
  
 
18
 
 
19
  
 
20
  
 
21
    
 
22
 
 
23
  
 
24
 
 
25
  
 
26
  
 
27
    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
 
28
  
 
29
 
 
30
  
 
31
 
 
32
  
 
33
    <link rel="top" title="Terminator 1.0 alpha documentation" href="index.html"/>
 
34
        <link rel="prev" title="Frequently Asked Questions" href="faq.html"/> 
 
35
 
 
36
  
 
37
  <script src="_static/js/modernizr.min.js"></script>
 
38
 
 
39
</head>
 
40
 
 
41
<body class="wy-body-for-nav" role="document">
 
42
 
 
43
  <div class="wy-grid-for-nav">
 
44
 
 
45
    
 
46
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
 
47
      <div class="wy-side-nav-search">
 
48
        
 
49
 
 
50
        
 
51
          <a href="index.html" class="icon icon-home"> Terminator
 
52
        
 
53
 
 
54
        
 
55
        </a>
 
56
 
 
57
        
 
58
<div role="search">
 
59
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
 
60
    <input type="text" name="q" placeholder="Search docs" />
 
61
    <input type="hidden" name="check_keywords" value="yes" />
 
62
    <input type="hidden" name="area" value="default" />
 
63
  </form>
 
64
</div>
 
65
 
 
66
        
 
67
      </div>
 
68
 
 
69
      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
 
70
        
 
71
          
 
72
          
 
73
              <p class="caption"><span class="caption-text">Contents:</span></p>
 
74
<ul class="current">
 
75
<li class="toctree-l1"><a class="reference internal" href="licensing.html">Licensing</a></li>
 
76
<li class="toctree-l1"><a class="reference internal" href="history.html">Document history</a></li>
 
77
<li class="toctree-l1"><a class="reference internal" href="gettingstarted.html">Getting Started</a><ul>
 
78
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-context-menu">The Context Menu</a></li>
 
79
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#navigating-around">Navigating around</a><ul>
 
80
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#click-able-items">Click-able items</a></li>
 
81
</ul>
 
82
</li>
 
83
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#changing-the-current-layout">Changing the current layout</a><ul>
 
84
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-splitters">Using the splitters</a></li>
 
85
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#dragging-and-dropping-a-terminal">Dragging and dropping a terminal</a></li>
 
86
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-keyboard">Using the keyboard</a></li>
 
87
</ul>
 
88
</li>
 
89
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#resetting-the-terminal">Resetting the terminal</a></li>
 
90
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-scrollbar-and-scrollback-buffer">The scrollbar and scrollback buffer</a></li>
 
91
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#search-the-buffer">Search the buffer</a></li>
 
92
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#zooming-the-terminal">Zooming the terminal</a></li>
 
93
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#setting-titles">Setting Titles</a></li>
 
94
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#insert-terminal-number">Insert terminal number</a></li>
 
95
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#next-prev-profile">Next/Prev profile</a></li>
 
96
</ul>
 
97
</li>
 
98
<li class="toctree-l1"><a class="reference internal" href="preferences.html">Preferences Window</a><ul>
 
99
<li class="toctree-l2"><a class="reference internal" href="preferences.html#global">Global</a><ul>
 
100
<li class="toctree-l3"><a class="reference internal" href="preferences.html#behaviour">Behaviour</a></li>
 
101
<li class="toctree-l3"><a class="reference internal" href="preferences.html#appearance">Appearance</a></li>
 
102
<li class="toctree-l3"><a class="reference internal" href="preferences.html#terminal-titlebar">Terminal Titlebar</a></li>
 
103
</ul>
 
104
</li>
 
105
<li class="toctree-l2"><a class="reference internal" href="preferences.html#profiles">Profiles</a><ul>
 
106
<li class="toctree-l3"><a class="reference internal" href="preferences.html#general">General</a><ul>
 
107
<li class="toctree-l4"><a class="reference internal" href="preferences.html#cursor">Cursor</a></li>
 
108
<li class="toctree-l4"><a class="reference internal" href="preferences.html#terminal-bell">Terminal bell</a></li>
 
109
<li class="toctree-l4"><a class="reference internal" href="preferences.html#not-in-terminator">Not in Terminator</a></li>
 
110
</ul>
 
111
</li>
 
112
<li class="toctree-l3"><a class="reference internal" href="preferences.html#command">Command</a><ul>
 
113
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id1">Not in Terminator</a></li>
 
114
</ul>
 
115
</li>
 
116
<li class="toctree-l3"><a class="reference internal" href="preferences.html#colours">Colours</a><ul>
 
117
<li class="toctree-l4"><a class="reference internal" href="preferences.html#foreground-and-background">Foreground and Background</a></li>
 
118
<li class="toctree-l4"><a class="reference internal" href="preferences.html#palette">Palette</a></li>
 
119
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id2">Not in Terminator</a></li>
 
120
</ul>
 
121
</li>
 
122
<li class="toctree-l3"><a class="reference internal" href="preferences.html#background">Background</a></li>
 
123
<li class="toctree-l3"><a class="reference internal" href="preferences.html#scrolling">Scrolling</a></li>
 
124
<li class="toctree-l3"><a class="reference internal" href="preferences.html#compatibility">Compatibility</a><ul>
 
125
<li class="toctree-l4"><a class="reference internal" href="preferences.html#encoding">Encoding</a></li>
 
126
</ul>
 
127
</li>
 
128
</ul>
 
129
</li>
 
130
<li class="toctree-l2"><a class="reference internal" href="preferences.html#layouts">Layouts</a></li>
 
131
<li class="toctree-l2"><a class="reference internal" href="preferences.html#keybindings">Keybindings</a></li>
 
132
<li class="toctree-l2"><a class="reference internal" href="preferences.html#plugins">Plugins</a></li>
 
133
<li class="toctree-l2"><a class="reference internal" href="preferences.html#about">About</a></li>
 
134
</ul>
 
135
</li>
 
136
<li class="toctree-l1"><a class="reference internal" href="layouts.html">Layouts and the Layout Launcher</a><ul>
 
137
<li class="toctree-l2"><a class="reference internal" href="layouts.html#the-layout-launcher">The Layout Launcher</a></li>
 
138
</ul>
 
139
</li>
 
140
<li class="toctree-l1"><a class="reference internal" href="grouping.html">The Grouping Menu</a><ul>
 
141
<li class="toctree-l2"><a class="reference internal" href="grouping.html#manipulating-terminal-groups">Manipulating terminal groups</a></li>
 
142
<li class="toctree-l2"><a class="reference internal" href="grouping.html#broadcasting-input-to-multiple-terminals">Broadcasting input to multiple terminals</a></li>
 
143
<li class="toctree-l2"><a class="reference internal" href="grouping.html#insert-terminal-number">Insert terminal number</a></li>
 
144
</ul>
 
145
</li>
 
146
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a><ul>
 
147
<li class="toctree-l2"><a class="reference internal" href="plugins.html#included-plugins">Included plugins</a><ul>
 
148
<li class="toctree-l3"><a class="reference internal" href="plugins.html#activity-watch">Activity Watch</a></li>
 
149
<li class="toctree-l3"><a class="reference internal" href="plugins.html#apt-url-handler">APT URL Handler</a></li>
 
150
<li class="toctree-l3"><a class="reference internal" href="plugins.html#custom-commands-menu">Custom Commands Menu</a></li>
 
151
<li class="toctree-l3"><a class="reference internal" href="plugins.html#inactivity-watch">Inactivity Watch</a></li>
 
152
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-bug-url-handler">Launchpad Bug URL Handler</a></li>
 
153
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-code-url-handler">Launchpad Code URL Handler</a></li>
 
154
<li class="toctree-l3"><a class="reference internal" href="plugins.html#logger">Logger</a></li>
 
155
<li class="toctree-l3"><a class="reference internal" href="plugins.html#maven-plugin-url-handler">Maven Plugin URL Handler</a></li>
 
156
<li class="toctree-l3"><a class="reference internal" href="plugins.html#terminal-shot">Terminal Shot</a></li>
 
157
<li class="toctree-l3"><a class="reference internal" href="plugins.html#test-plugin">Test Plugin</a></li>
 
158
</ul>
 
159
</li>
 
160
<li class="toctree-l2"><a class="reference internal" href="plugins.html#third-party-plugins">Third party plugins</a></li>
 
161
<li class="toctree-l2"><a class="reference internal" href="plugins.html#installing-a-plugin">Installing a plugin</a></li>
 
162
<li class="toctree-l2"><a class="reference internal" href="plugins.html#creating-your-own-plugins">Creating your own plugins</a><ul>
 
163
<li class="toctree-l3"><a class="reference internal" href="plugins.html#the-basics-of-a-plugin">The basics of a plugin</a></li>
 
164
<li class="toctree-l3"><a class="reference internal" href="plugins.html#url-handlers">URL Handlers</a></li>
 
165
<li class="toctree-l3"><a class="reference internal" href="plugins.html#context-menu-items">Context menu items</a></li>
 
166
<li class="toctree-l3"><a class="reference internal" href="plugins.html#wrap-up">Wrap up</a></li>
 
167
</ul>
 
168
</li>
 
169
</ul>
 
170
</li>
 
171
<li class="toctree-l1"><a class="reference internal" href="advancedusage.html">Advanced Usage</a><ul>
 
172
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#command-line-options">Command line options</a><ul>
 
173
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#general-options">General options</a></li>
 
174
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#window-options">Window options</a></li>
 
175
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#shell-options">Shell options</a></li>
 
176
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#layout-options">Layout options</a></li>
 
177
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#custom-window-manager-options">Custom Window Manager options</a></li>
 
178
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#debugging-options">Debugging options</a></li>
 
179
</ul>
 
180
</li>
 
181
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#the-config-file">The Config file</a></li>
 
182
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#debugging">Debugging</a></li>
 
183
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#dbus">DBus</a></li>
 
184
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#remotinator">Remotinator</a></li>
 
185
</ul>
 
186
</li>
 
187
<li class="toctree-l1"><a class="reference internal" href="faq.html">Frequently Asked Questions</a><ul>
 
188
<li class="toctree-l2"><a class="reference internal" href="faq.html#why">Why...</a><ul>
 
189
<li class="toctree-l3"><a class="reference internal" href="faq.html#write-in-python-it-s-slow-bloated-bad">...write in Python? It&#8217;s slow/bloated/bad?</a><ul>
 
190
<li class="toctree-l4"><a class="reference internal" href="faq.html#performance">Performance</a></li>
 
191
<li class="toctree-l4"><a class="reference internal" href="faq.html#memory-use-the-dumb-way">Memory use - The dumb way</a></li>
 
192
<li class="toctree-l4"><a class="reference internal" href="faq.html#memory-use-the-sensible-way">Memory use - The sensible way</a></li>
 
193
<li class="toctree-l4"><a class="reference internal" href="faq.html#python-sucks">&#8220;Python sucks!&#8221;</a></li>
 
194
<li class="toctree-l4"><a class="reference internal" href="faq.html#in-summary">In summary</a></li>
 
195
</ul>
 
196
</li>
 
197
</ul>
 
198
</li>
 
199
<li class="toctree-l2"><a class="reference internal" href="faq.html#how-do-i">How do I...</a><ul>
 
200
<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>
 
201
</ul>
 
202
</li>
 
203
</ul>
 
204
</li>
 
205
<li class="toctree-l1 current"><a class="current reference internal" href="">Getting involved</a><ul>
 
206
<li class="toctree-l2"><a class="reference internal" href="#translations">Translations</a></li>
 
207
<li class="toctree-l2"><a class="reference internal" href="#improve-icons-artwork">Improve icons/artwork</a></li>
 
208
<li class="toctree-l2"><a class="reference internal" href="#terminator-action-shots">Terminator action shots</a></li>
 
209
<li class="toctree-l2"><a class="reference internal" href="#manual-updates">Manual updates</a></li>
 
210
<li class="toctree-l2"><a class="reference internal" href="#testing">Testing</a></li>
 
211
<li class="toctree-l2"><a class="reference internal" href="#bugs">Bugs</a></li>
 
212
<li class="toctree-l2"><a class="reference internal" href="#plugins">Plugins</a></li>
 
213
<li class="toctree-l2"><a class="reference internal" href="#main-application-development">Main Application Development</a></li>
 
214
<li class="toctree-l2"><a class="reference internal" href="#gtk3-port">GTK3 Port</a></li>
 
215
<li class="toctree-l2"><a class="reference internal" href="#api-docs">API Docs</a></li>
 
216
</ul>
 
217
</li>
 
218
</ul>
 
219
 
 
220
          
 
221
        
 
222
      </div>
 
223
      &nbsp;
 
224
    </nav>
 
225
 
 
226
    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
227
 
 
228
      
 
229
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
 
230
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
 
231
        <a href="index.html">Terminator</a>
 
232
      </nav>
 
233
 
 
234
 
 
235
      
 
236
      <div class="wy-nav-content">
 
237
        <div class="rst-content">
 
238
          <div role="navigation" aria-label="breadcrumbs navigation">
 
239
  <ul class="wy-breadcrumbs">
 
240
    <li><a href="index.html">Docs</a> &raquo;</li>
 
241
      
 
242
    <li>Getting involved</li>
 
243
      <li class="wy-breadcrumbs-aside">
 
244
        
 
245
          
 
246
            <a href="_sources/gettinginvolved.txt" rel="nofollow"> View page source</a>
 
247
          
 
248
        
 
249
      </li>
 
250
  </ul>
 
251
  <hr/>
 
252
</div>
 
253
          <div role="main" class="document">
 
254
            
 
255
  <img alt="Saefty first when breaking out the power tools." class="align-right" src="_images/icon_gettinginvolved.png" />
 
256
<div class="section" id="getting-involved">
 
257
<h1>Getting involved<a class="headerlink" href="#getting-involved" title="Permalink to this headline">¶</a></h1>
 
258
<p>There are many ways to help out, and they don&#8217;t all involve coding.</p>
 
259
<div class="section" id="translations">
 
260
<h2>Translations<a class="headerlink" href="#translations" title="Permalink to this headline">¶</a></h2>
 
261
<p>Sprechen Sie Deutsch?</p>
 
262
<p>Awesome! I&#8217;ve been getting my head around the whole translation
 
263
bit (English polyglot I&#8217;m afraid), and as a result there has been
 
264
a lot of churn in the translations. So what are you waiting for?</p>
 
265
<p>Speak some other language? Take a look at
 
266
<a class="reference external" href="https://translations.launchpad.net/terminator">https://translations.launchpad.net/terminator</a> because you might
 
267
just be the &lt;insert language here&gt; speaker that we&#8217;re looking for.</p>
 
268
</div>
 
269
<div class="section" id="improve-icons-artwork">
 
270
<h2>Improve icons/artwork<a class="headerlink" href="#improve-icons-artwork" title="Permalink to this headline">¶</a></h2>
 
271
<p>OK, so while the main icon contributed by Cory Kontros is really
 
272
good, my hacks of it are... not so good. I&#8217;m no artist, but I do
 
273
appreciate them. So if you think you could apply some polish and
 
274
a cohesive design to this manuals page header images, please, give
 
275
it a go. It may only be to take the existing icon and to make it
 
276
suck less.</p>
 
277
<p>The only thing I would ask is that you maintain the main icon as
 
278
a base like I have done.</p>
 
279
</div>
 
280
<div class="section" id="terminator-action-shots">
 
281
<h2>Terminator action shots<a class="headerlink" href="#terminator-action-shots" title="Permalink to this headline">¶</a></h2>
 
282
<p>This one&#8217;s just for &#8220;PR&#8221; purposes. I want to see famous/awesome
 
283
people kicking ass <em>and</em> chewing bubble-gum with Terminator in the
 
284
mix.</p>
 
285
<p>If you spot it in a TV show, movie, or a news article I want to
 
286
know. Maybe you&#8217;re even the famous/awesome person, in which case
 
287
drop me a note.</p>
 
288
<p>It will warm the cockles of my heart to know that Terminator made
 
289
life easier for people who do the really important stuff like
 
290
discovering new particles (CERN? Hello?), boldly going (NASA? Come
 
291
in Houston), or wrangle 2 more frames per second from Half-Life 3
 
292
(Valve? Confirmed?)</p>
 
293
<p>Here&#8217;s the ones spotted and noted (I&#8217;ve seen quite a few others
 
294
previously, but never thought to note them)</p>
 
295
<ul>
 
296
<li><dl class="first docutils">
 
297
<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>
 
298
<dd><p class="first last">Visible in the background of the video, and in an image lower down
 
299
the page. (The Verge)</p>
 
300
</dd>
 
301
</dl>
 
302
</li>
 
303
</ul>
 
304
</div>
 
305
<div class="section" id="manual-updates">
 
306
<h2>Manual updates<a class="headerlink" href="#manual-updates" title="Permalink to this headline">¶</a></h2>
 
307
<p>This manual is a new endeavour to fully document all the nooks and
 
308
crannies of Terminator. As such, there may be things that are missing,
 
309
incorrect, not explained clearly, or need expanding.</p>
 
310
<p>Suggestions, or updates are welcome.</p>
 
311
<p>I had a little exposure at work to Sphinx, so I thought I&#8217;d dig in
 
312
a bit deeper and learn  a bit about it. So far I&#8217;m happy enough, so
 
313
till further notice this manual will remain in this format.</p>
 
314
<p>If you&#8217;re feeling like a loquacious polyglot you could attempt to
 
315
translate the whole manual. So far I haven&#8217;t tested it, but in
 
316
principle, just do a checkout of the trunk, and do a full copy of
 
317
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
 
318
i18n language code. This is usually just the two or three letters of
 
319
the language code, but sometimes has the region too... Or something
 
320
else entirely in a couple of cases.  A couple of examples:</p>
 
321
<div class="highlight-python"><div class="highlight"><pre>pt            - Portugese
 
322
pt_BR         - Brazilian Portugese
 
323
ca            - Catalan
 
324
ca@valencia   - Catalan (Dialect specific to Valencia?)
 
325
</pre></div>
 
326
</div>
 
327
<p>Then just translate away, and take new screen grabs to replace the
 
328
British English ones I&#8217;ve done. If someone was to make a serious
 
329
effort to translate the manual, I&#8217;m sure we can get it included.</p>
 
330
<p>The Help shortcut checks the LANGUAGE environment variable, and tries
 
331
those folders in order, before falling back gracefully to the default
 
332
manual, which is British English anyway:</p>
 
333
<div class="highlight-python"><div class="highlight"><pre>LANGUAGE=en_GB:en
 
334
</pre></div>
 
335
</div>
 
336
<p>So this is going to try:</p>
 
337
<ul class="simple">
 
338
<li><em>html_en_GB</em> - the non-existent British English folder</li>
 
339
<li><em>html_en</em> - the non-existent generic English folder</li>
 
340
<li><em>html</em> - the default document that happens to be in British English</li>
 
341
</ul>
 
342
<div class="admonition note">
 
343
<p class="first admonition-title">Note</p>
 
344
<p class="last">Although the source is in a folder beginning with <code class="docutils literal"><span class="pre">manual</span></code>,
 
345
that gets replaced with <code class="docutils literal"><span class="pre">html</span></code> for installation.</p>
 
346
</div>
 
347
<div class="admonition note">
 
348
<p class="first admonition-title">Note</p>
 
349
<p class="last">If there are any Americans offended by correct spelling,
 
350
they are more than welcome to create an Americanised
 
351
version, and I&#8217;ll relegate it to the en_US folder. The
 
352
default will remain British English.</p>
 
353
</div>
 
354
<p>In order to create the html for manual, you must have the sphinx_rtd_theme
 
355
package installed. This does not appear to be packaged for Ubuntu
 
356
14.04 LTS as far as I can tell. This means you must install it using
 
357
the pip tool. This may need installing on your system too with:</p>
 
358
<div class="highlight-python"><div class="highlight"><pre>sudo apt-get install python-pip
 
359
</pre></div>
 
360
</div>
 
361
<p>Once that is installed you can install the theme with:</p>
 
362
<div class="highlight-python"><div class="highlight"><pre>sudo pip install sphinx-rtd-theme
 
363
</pre></div>
 
364
</div>
 
365
<p>This will take care of installing the theme and it&#8217;s dependencies.</p>
 
366
<div class="admonition warning">
 
367
<p class="first admonition-title">Warning</p>
 
368
<p class="last">On Ubuntu this also installed a newer version of <em>Sphinx</em>
 
369
under the <code class="docutils literal"><span class="pre">/usr/local</span></code> folder. This caused a bit of
 
370
confusion at one point, so be aware.</p>
 
371
</div>
 
372
</div>
 
373
<div class="section" id="testing">
 
374
<h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
 
375
<p>Just use it, explore the features, and complain when they don&#8217;t work.</p>
 
376
<p>We actually have quite a lots of outstanding issues, and in many
 
377
cases I can&#8217;t reproduce due to either lack of info, differences in
 
378
environment, lack of information, or because the bug is so old the
 
379
original raiser has moved on and not available for questions.</p>
 
380
<p>I&#8217;m particularly interested in cases where I can&#8217;t even see that
 
381
something is an issue, such as:</p>
 
382
<ul class="simple">
 
383
<li><em>Right-to-Left</em> - I can force Terminator to Arabic, and everything
 
384
flips around, but I have no idea if it looks &#8220;right&#8221; to a native
 
385
speaker. Frankly it just looks <em>weird!</em></li>
 
386
<li><em>HighContrast</em> - Again, I can switch to it, but perhaps I&#8217;m not
 
387
appreciating the needs of that group.</li>
 
388
<li><em>Accessibility</em> - People using only a keyboard, or only a mouse,
 
389
on-screen keyboards, text-to-speech, speech-to-text, and so on.</li>
 
390
</ul>
 
391
</div>
 
392
<div class="section" id="bugs">
 
393
<h2>Bugs<a class="headerlink" href="#bugs" title="Permalink to this headline">¶</a></h2>
 
394
<ul class="simple">
 
395
<li><strong>Fixing</strong> - OK, so yeah, this is coding.</li>
 
396
<li><strong>Reproduce and improving</strong> - Sometimes bugs are lacking info to
 
397
reproduce, or my system is too different. Or perhaps the original
 
398
poster has moved on because we haven&#8217;t fixed their pet peeve fast
 
399
enough.</li>
 
400
<li><strong>Triaging</strong> - It&#8217;s one of the less glamorous jobs, but someone&#8217;s
 
401
gotta do it. Shepherd bugs to the point where it has a priority,
 
402
a milestone, reproduction steps, confirmation, submitted patches
 
403
validated, and so on.</li>
 
404
</ul>
 
405
<p>See <a class="reference external" href="https://bugs.launchpad.net/terminator">https://bugs.launchpad.net/terminator</a></p>
 
406
</div>
 
407
<div class="section" id="plugins">
 
408
<h2>Plugins<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h2>
 
409
<p>Ahem... Yeah... More coding...</p>
 
410
<p>Some <a class="reference internal" href="plugins.html#plugins"><span>Plugins</span></a> may have room for improvement, or perhaps you have
 
411
an idea for a neat plugin no-one else has done.</p>
 
412
</div>
 
413
<div class="section" id="main-application-development">
 
414
<h2>Main Application Development<a class="headerlink" href="#main-application-development" title="Permalink to this headline">¶</a></h2>
 
415
<p>Oh come on... Coding? Again!</p>
 
416
<p>I see lots of people say how Terminator is really good, and it is,
 
417
but like anything, it could be better!</p>
 
418
<p>To give an idea, as I write this manual in July 2015, there are 83
 
419
<a class="reference external" href="https://bugs.launchpad.net/terminator/+bugs?field.searchtext=&amp;orderby=-importance&amp;search=Search&amp;field.status%3Alist=NEW&amp;field.status%3Alist=CONFIRMED&amp;field.status%3Alist=TRIAGED&amp;field.status%3Alist=INPROGRESS&amp;field.status%3Alist=INCOMPLETE_WITH_RESPONSE&amp;field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&amp;field.importance%3Alist=WISHLIST&amp;assignee_option=any&amp;field.assignee=&amp;field.bug_reporter=&amp;field.bug_commenter=&amp;field.subscriber=&amp;field.structural_subscriber=&amp;field.tag=&amp;field.tags_combinator=ANY&amp;field.has_cve.used=&amp;field.omit_dupes.used=&amp;field.omit_dupes=on&amp;field.affects_me.used=&amp;field.has_patch.used=&amp;field.has_branches.used=&amp;field.has_branches=on&amp;field.has_no_branches.used=&amp;field.has_no_branches=on&amp;field.has_blueprints.used=&amp;field.has_blueprints=on&amp;field.has_no_blueprints.used=&amp;field.has_no_blueprints=on">wishlist items</a>.</p>
 
420
<div class="admonition note">
 
421
<p class="first admonition-title">Note</p>
 
422
<p class="last">Just because an item is marked as wishlist, it doesn&#8217;t
 
423
mean that a great deal of thought has been put into the
 
424
appropriateness of the idea on my side. It may be impossible,
 
425
or not a good fit, or just plain bat-sh!t crazy. If you
 
426
want to pick up a wishlist item that looks like a lot of
 
427
work (especially if it makes fundamental changes to the
 
428
Terminator ethos) it&#8217;s probably best to check first that
 
429
your approach is good, and has a realistic chance of being
 
430
merged.</p>
 
431
</div>
 
432
<p>Some of these wishlist items are also in my own text file of &#8220;Things
 
433
to do&#8221; / &#8220;Big bag of crazy&#8221;, which as of August 2015, revision 1598,
 
434
looks like this:</p>
 
435
<div class="highlight-python"><div class="highlight"><pre>Enhancements which may, or may not, have a wishlist item
 
436
========================================================
 
437
Finish the WIP window icons
 
438
 
 
439
Add a list of the default keybindings to the Preferences -&gt; Keybindings window?
 
440
 
 
441
Add libunity quicklist of saved layouts
 
442
    https://wiki.ubuntu.com/Unity/LauncherAPI#Python_Example
 
443
    http://www.techques.com/question/24-64436/Refreshing-of-Dynamic-Quicklist-doesn%27t-work-after-initialization
 
444
    http://people.canonical.com/~dpm/api/devel/GIR/python/Unity-3.0.html
 
445
    Possibly use the progress bar and or counter for something too.
 
446
 
 
447
Add an appindicator menu for launching sessions.
 
448
 
 
449
Layout Launcher
 
450
    Could bind the shortcut as a global toggle to hide show
 
451
    Could save
 
452
        window position/size
 
453
        hidden status
 
454
        always on top
 
455
        pin to visible workspace
 
456
 
 
457
Layout needs to save/load more settings
 
458
    Per layout?
 
459
        Group mode status (all, group, off)
 
460
        Split to this group
 
461
        Autoclean groups
 
462
    Per window
 
463
        always on top
 
464
        pin to visible workspace
 
465
    Per tab
 
466
    Per terminal
 
467
        Store the custom command and working directory when we load a layout, so making small changes and saving doesn&#39;t lose everything.
 
468
        It could be possible to detect the current command and working directory with psutil, but could be tricky. (i.e. do we ignore bash?)
 
469
 
 
470
A per layout &quot;save on exit&quot; option to always remember last setup/positions etc. Probably requires above to be done first.
 
471
 
 
472
Preferences
 
473
    Layouts
 
474
        Have changing widgets depending on what is selected in the tree
 
475
        Terminal title editable
 
476
 
 
477
Config
 
478
    Items should be sorted for saving. Easier for comparing and spotting changes.
 
479
 
 
480
Give plugins ability to register shortcuts
 
481
 
 
482
Missing shortcuts:
 
483
    Context menu (in addition to Windows menu button - not always available on all keyboards)
 
484
    Group menu
 
485
    Open preferences
 
486
    Open a shortcut help overlay
 
487
    Change tab text (#1054300-patch), titlebar text, group name
 
488
    Toggle titlebar visibility
 
489
    Equalise the splitters
 
490
    Launch help (F1)
 
491
    Zoom +receiver in/out/reset
 
492
    Zoom all in/out/reset
 
493
    Last terminal (again to jump back to original) #1440049
 
494
 
 
495
Drag and Drop
 
496
    Terminal without target opens new window
 
497
    Tab to different/new window depending on target
 
498
 
 
499
Improve DBus interface, add coordination between sessions, i.e.:
 
500
    multiple DBus ports? register them with a master DBus session, be able to query these, etc
 
501
    be able to drive them more with command line commands, and not just from within own shell
 
502
    Remotinator improvements
 
503
 
 
504
Abstract out the session/layout allowing multiple logical layouts in the same process to reduce resource used
 
505
    This is a big piece of work, as a lot of the Terminator class would need seperating out.
 
506
 
 
507
Hide window should find the last focussed window and hide that. Second hit unhides and focusses it
 
508
    Add a power hide to hide all of shortcut bound instances windows
 
509
    Use the dbus if available to hide the current active window, then unhide it on second shortcut press
 
510
    If the dbus is available:
 
511
        The hide will go to the focussed instance, instead of the first to grab the shortcut
 
512
        Add a super power hide to hide all Terminator windows
 
513
        In both cases a second shortcut unhides whatever was hidden
 
514
 
 
515
Split with command / Inherit command/workdir/groups etc
 
516
 
 
517
Somehow make Layout Launcher, Preferences, &amp; poss. Custom Commands singleton/borg (possibly use dbus)
 
518
 
 
519
Custom Commands is blocking, perhaps make non-blocking
 
520
 
 
521
Button in prefs to duplicate a layout
 
522
 
 
523
Check widget for close_button_on_tab in prefs.
 
524
 
 
525
When in zoomed/maximised mode
 
526
    Perhaps the menu could contain a quick switch sub menu, rather than having to Restore, right-click, maximise
 
527
    Shortcuts for next/prev,up/down/left/right, etc. How should they behave
 
528
 
 
529
Limit broadcast group/all to current tab
 
530
 
 
531
Broadcast off when maximised or zoomed to single term
 
532
 
 
533
All non main windows to be changed to glade files
 
534
 
 
535
For me the two different sets of next/prev shortcuts are a bit of a mystery.
 
536
 
 
537
Add preselection to the profile tab
 
538
 
 
539
Figure out how to get the tree view to jump to selected row for prefseditor
 
540
 
 
541
Ability to insert window, titlebar, or group value into terminal(s)
 
542
 
 
543
Let window title = terminal titlebar - perhaps other combos. Some kind of %T %G %W substitution?
 
544
 
 
545
If we can figure out how to do arbritrary highlighting, perhaps we can get a &quot;highlight differences&quot; mode like used to exist in ClusTerm.
 
546
    This could also be limted to highlighting diffs between those in the same group.
 
547
 
 
548
Add large action/status icons for when titlebar is bigger.
 
549
 
 
550
 
 
551
Issues encountered which may, or may not, already have an LP bug
 
552
================================================================
 
553
 
 
554
BUG: Issue if initial window (no tabs) has any splits, then creating new tab causes the first tab to be misnamed, gtk2 &amp; gtk3.
 
555
     Also on GTK3 only (but cannot reproduce now): it also causes a problem if using the &quot;Menu&quot; key to open the context menu
 
556
     on the unamed tab; it does not dissappear by clicking out of it.
 
557
 
 
558
BUG: Ctrl+right-click-drag does not work. Can initiate drag, but no targets work.
 
559
 
 
560
BUG: Zoom and maximise do not work if single terminal in a tab, gtk2 &amp; gtk3.
 
561
 
 
562
BUG: If first tab is split the tabs label width increases and pushes others off window gtk3 (in gtk2, the label shifts right, but other tabs OK)
 
563
 
 
564
BUG: With longer translations the buttons in the prefs sidebars can get chopped off.
 
565
 
 
566
BUG: Groups: Create two tabs with splits. Super+G (group all), move to other tab and Super+T (group tabs), move back and type
 
567
    Output in tab group too. Also for custom groups.
 
568
    Ungrouping all also nukes changed groups. Right?
 
569
    Also with Super+T and changing one terms group, still receives input, and loses custom group when turning off tab group.
 
570
 
 
571
BUG: Hide on lose focus broken. LP#843674
 
572
    focus-out signal callback defers (idle_add) the call to hide.
 
573
    If one of our own windows/menus pops up, an inhibit flag is set.
 
574
    When the window/menu is closed we call a deferred hide on the main window
 
575
    In the deferred function, we check if we now have focus, and do not hide
 
576
    In the deferred function, we check if inhibit is set and do not hide.
 
577
</pre></div>
 
578
</div>
 
579
<p>So as you can see, still lots of room for improvements, and plenty of
 
580
ideas if you are trying to find small starter tasks.</p>
 
581
</div>
 
582
<div class="section" id="gtk3-port">
 
583
<h2>GTK3 Port<a class="headerlink" href="#gtk3-port" title="Permalink to this headline">¶</a></h2>
 
584
<p>Last coding one, I promise!</p>
 
585
<p>After some sterling work by Egmont Koblinger, one of the VTE
 
586
developers, he came up with a very large patch for rudimentary GTK3
 
587
support. A number of things were incomplete or broken, but it got it
 
588
far enough along that it was no longer an insurmountable cliff face.</p>
 
589
<p>Since then I have resolved to port fixes and features between the
 
590
two versions. As I do this I explore and find outstanding issues with
 
591
the port, and it is slowly becoming more usable.</p>
 
592
<p>Eventually the GTK2 version of Terminator will go into a
 
593
deprecated/maintenance mode. Unfortunately due to needing a relatively
 
594
new version of libvte, that switch will not be in the immediate
 
595
future. I&#8217;m running trusty (14.04 LTS) and even there I had to build
 
596
libvte 0.38 from source. This makes the GTK3 out of reach for the
 
597
&#8220;Joe Bloggs&#8221; of the world. I could try and maintain my own PPA of the
 
598
component, but that doesn&#8217;t help Fedora/OpenSUSE/Arch etc. users.
 
599
Even getting &#8220;Joe Bloggs&#8221; to add a PPA can be a struggle.</p>
 
600
<p>And for a real nightmare, I tried to compile the 0.40 version and the
 
601
thing lit up with a smorgasbord of items where my installed packages
 
602
were not new enough.</p>
 
603
<p>If you are feeling brave and adventurous, there are some instructions
 
604
in <a class="reference external" href="https://bugs.launchpad.net/terminator/+bug/1030562/comments/15">comment #15</a> of the <a class="reference external" href="https://bugs.launchpad.net/terminator/+bug/1030562">porting bug</a> that will help you get the
 
605
GTK3 version running. Assistance knocking off the remaining rough
 
606
edges will be very much appreciated.</p>
 
607
<p>For the record, as of August 2015, with the <a class="reference external" href="https://code.launchpad.net/~gnome-terminator/terminator/gtk3">gtk3 branch</a> at revision
 
608
1577, these are the outstanding items:</p>
 
609
<div class="highlight-python"><div class="highlight"><pre>Outstanding GTK3 tasks/items/reviews etc remaining
 
610
===================================================
 
611
Outstanding trunk revisions:
 
612
If titlebar text wider than window, the visual bell icon does not appear
 
613
If editing label in titlebar, the whole layout gets distorted until finished, then snaps back to mostly correct layout
 
614
In High contrast mode the titlebar background only works over the group button
 
615
In High contrast mode the titles are invisible for terminals with a group
 
616
Fix/reimplment the DBUS for GTK3. GI seems incomplete with no Server. Try to get old style working again.
 
617
Need to go through all the Gtk.STOCK_* items and remove. Deprecated.
 
618
Homogeneous_tabbar removed? Why?
 
619
Need to set the version requirements - how? needed?
 
620
terminal.py:on_vte_size_allocate, check for self.vte.window missing. Consequences?
 
621
terminal.py:understand diff in args between old fork and new spawn of bash. Consequences?
 
622
VERIFY(8)/FIXME(8) FOR GTK3 items to be dealt with
 
623
 
 
624
For future with vte0.40+ - reimplment/restore the word_chars stuff.
 
625
 
 
626
Not fixable so far as I can see
 
627
===============================
 
628
[Function N/A in 0.38+, will it return?] visible_bell - removed and not mentioned. Check capability not possible, or can be faked.
 
629
</pre></div>
 
630
</div>
 
631
<p>Once the GTK3 port is done there is also a long overdue port to
 
632
Python3, especially in light of some distributions trying to
 
633
eliminate Python2 from the base installs. Yes, Python2 will be with
 
634
us for a long time yet, but this should serve as a warning.</p>
 
635
</div>
 
636
<div class="section" id="api-docs">
 
637
<h2>API Docs<a class="headerlink" href="#api-docs" title="Permalink to this headline">¶</a></h2>
 
638
<p>Strictly speaking this isn&#8217;t an API as such, because it is just using
 
639
sphinx-apidoc over the Terminator code base. It&#8217;s perhaps helpful to
 
640
have this as a document that can be browsed.</p>
 
641
<p><a class="reference external" href="../apidoc/index.html">Terminator API docs</a></p>
 
642
<p>As it stands, this is rather incomplete, or too terse with no examples
 
643
given. If you look at the terminatorlib.configobj package, you will
 
644
see fairly extensive documentation, along with walk-throughs, etc. This
 
645
particular package was written elsewhere, and brought into Terminator
 
646
to provide configuration handling.</p>
 
647
<p>There are also some aspects of the way this document builds that I&#8217;m
 
648
not too happy about. The seemingly unnecessary <code class="docutils literal"><span class="pre">terminatorlib</span></code>
 
649
root-node in the side bar; the lack of class/method links in the
 
650
sidebar; all <code class="docutils literal"><span class="pre">.py</span></code> files on the same page (this can be changed, but
 
651
then even less is displayed in the sidebar.) If you can help, join
 
652
the A-Team... Or better yet, send me some changes that fix this.</p>
 
653
</div>
 
654
</div>
 
655
 
 
656
 
 
657
          </div>
 
658
          <footer>
 
659
  
 
660
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
 
661
      
 
662
      
 
663
        <a href="faq.html" class="btn btn-neutral" title="Frequently Asked Questions" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
 
664
      
 
665
    </div>
 
666
  
 
667
 
 
668
  <hr/>
 
669
 
 
670
  <div role="contentinfo">
 
671
    <p>
 
672
        &copy; Copyright 2015, Stephen Boddy, licensed under the CC-BY-SA..
 
673
    </p>
 
674
  </div>
 
675
  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>.
 
676
 
 
677
</footer>
 
678
 
 
679
        </div>
 
680
      </div>
 
681
 
 
682
    </section>
 
683
 
 
684
  </div>
 
685
  
 
686
 
 
687
 
 
688
  
 
689
 
 
690
    <script type="text/javascript">
 
691
        var DOCUMENTATION_OPTIONS = {
 
692
            URL_ROOT:'./',
 
693
            VERSION:'1.0 alpha',
 
694
            COLLAPSE_INDEX:false,
 
695
            FILE_SUFFIX:'.html',
 
696
            HAS_SOURCE:  true
 
697
        };
 
698
    </script>
 
699
      <script type="text/javascript" src="_static/jquery.js"></script>
 
700
      <script type="text/javascript" src="_static/underscore.js"></script>
 
701
      <script type="text/javascript" src="_static/doctools.js"></script>
 
702
 
 
703
  
 
704
 
 
705
  
 
706
  
 
707
    <script type="text/javascript" src="_static/js/theme.js"></script>
 
708
  
 
709
 
 
710
  
 
711
  
 
712
  <script type="text/javascript">
 
713
      jQuery(function () {
 
714
          SphinxRtdTheme.StickyNav.enable();
 
715
      });
 
716
  </script>
 
717
   
 
718
 
 
719
</body>
 
720
</html>
 
 
b'\\ No newline at end of file'