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

« back to all changes in this revision

Viewing changes to doc/manual/_build/html/faq.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>Frequently Asked Questions &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="next" title="Getting involved" href="gettinginvolved.html"/>
 
35
        <link rel="prev" title="Advanced Usage" href="advancedusage.html"/> 
 
36
 
 
37
  
 
38
  <script src="_static/js/modernizr.min.js"></script>
 
39
 
 
40
</head>
 
41
 
 
42
<body class="wy-body-for-nav" role="document">
 
43
 
 
44
  <div class="wy-grid-for-nav">
 
45
 
 
46
    
 
47
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
 
48
      <div class="wy-side-nav-search">
 
49
        
 
50
 
 
51
        
 
52
          <a href="index.html" class="icon icon-home"> Terminator
 
53
        
 
54
 
 
55
        
 
56
        </a>
 
57
 
 
58
        
 
59
<div role="search">
 
60
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
 
61
    <input type="text" name="q" placeholder="Search docs" />
 
62
    <input type="hidden" name="check_keywords" value="yes" />
 
63
    <input type="hidden" name="area" value="default" />
 
64
  </form>
 
65
</div>
 
66
 
 
67
        
 
68
      </div>
 
69
 
 
70
      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
 
71
        
 
72
          
 
73
          
 
74
              <p class="caption"><span class="caption-text">Contents:</span></p>
 
75
<ul class="current">
 
76
<li class="toctree-l1"><a class="reference internal" href="licensing.html">Licensing</a></li>
 
77
<li class="toctree-l1"><a class="reference internal" href="history.html">Document history</a></li>
 
78
<li class="toctree-l1"><a class="reference internal" href="gettingstarted.html">Getting Started</a><ul>
 
79
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-context-menu">The Context Menu</a></li>
 
80
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#navigating-around">Navigating around</a><ul>
 
81
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#click-able-items">Click-able items</a></li>
 
82
</ul>
 
83
</li>
 
84
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#changing-the-current-layout">Changing the current layout</a><ul>
 
85
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-splitters">Using the splitters</a></li>
 
86
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#dragging-and-dropping-a-terminal">Dragging and dropping a terminal</a></li>
 
87
<li class="toctree-l3"><a class="reference internal" href="gettingstarted.html#using-the-keyboard">Using the keyboard</a></li>
 
88
</ul>
 
89
</li>
 
90
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#resetting-the-terminal">Resetting the terminal</a></li>
 
91
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#the-scrollbar-and-scrollback-buffer">The scrollbar and scrollback buffer</a></li>
 
92
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#search-the-buffer">Search the buffer</a></li>
 
93
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#zooming-the-terminal">Zooming the terminal</a></li>
 
94
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#setting-titles">Setting Titles</a></li>
 
95
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#insert-terminal-number">Insert terminal number</a></li>
 
96
<li class="toctree-l2"><a class="reference internal" href="gettingstarted.html#next-prev-profile">Next/Prev profile</a></li>
 
97
</ul>
 
98
</li>
 
99
<li class="toctree-l1"><a class="reference internal" href="preferences.html">Preferences Window</a><ul>
 
100
<li class="toctree-l2"><a class="reference internal" href="preferences.html#global">Global</a><ul>
 
101
<li class="toctree-l3"><a class="reference internal" href="preferences.html#behaviour">Behaviour</a></li>
 
102
<li class="toctree-l3"><a class="reference internal" href="preferences.html#appearance">Appearance</a></li>
 
103
<li class="toctree-l3"><a class="reference internal" href="preferences.html#terminal-titlebar">Terminal Titlebar</a></li>
 
104
</ul>
 
105
</li>
 
106
<li class="toctree-l2"><a class="reference internal" href="preferences.html#profiles">Profiles</a><ul>
 
107
<li class="toctree-l3"><a class="reference internal" href="preferences.html#general">General</a><ul>
 
108
<li class="toctree-l4"><a class="reference internal" href="preferences.html#cursor">Cursor</a></li>
 
109
<li class="toctree-l4"><a class="reference internal" href="preferences.html#terminal-bell">Terminal bell</a></li>
 
110
<li class="toctree-l4"><a class="reference internal" href="preferences.html#not-in-terminator">Not in Terminator</a></li>
 
111
</ul>
 
112
</li>
 
113
<li class="toctree-l3"><a class="reference internal" href="preferences.html#command">Command</a><ul>
 
114
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id1">Not in Terminator</a></li>
 
115
</ul>
 
116
</li>
 
117
<li class="toctree-l3"><a class="reference internal" href="preferences.html#colours">Colours</a><ul>
 
118
<li class="toctree-l4"><a class="reference internal" href="preferences.html#foreground-and-background">Foreground and Background</a></li>
 
119
<li class="toctree-l4"><a class="reference internal" href="preferences.html#palette">Palette</a></li>
 
120
<li class="toctree-l4"><a class="reference internal" href="preferences.html#id2">Not in Terminator</a></li>
 
121
</ul>
 
122
</li>
 
123
<li class="toctree-l3"><a class="reference internal" href="preferences.html#background">Background</a></li>
 
124
<li class="toctree-l3"><a class="reference internal" href="preferences.html#scrolling">Scrolling</a></li>
 
125
<li class="toctree-l3"><a class="reference internal" href="preferences.html#compatibility">Compatibility</a><ul>
 
126
<li class="toctree-l4"><a class="reference internal" href="preferences.html#encoding">Encoding</a></li>
 
127
</ul>
 
128
</li>
 
129
</ul>
 
130
</li>
 
131
<li class="toctree-l2"><a class="reference internal" href="preferences.html#layouts">Layouts</a></li>
 
132
<li class="toctree-l2"><a class="reference internal" href="preferences.html#keybindings">Keybindings</a></li>
 
133
<li class="toctree-l2"><a class="reference internal" href="preferences.html#plugins">Plugins</a></li>
 
134
<li class="toctree-l2"><a class="reference internal" href="preferences.html#about">About</a></li>
 
135
</ul>
 
136
</li>
 
137
<li class="toctree-l1"><a class="reference internal" href="layouts.html">Layouts and the Layout Launcher</a><ul>
 
138
<li class="toctree-l2"><a class="reference internal" href="layouts.html#the-layout-launcher">The Layout Launcher</a></li>
 
139
</ul>
 
140
</li>
 
141
<li class="toctree-l1"><a class="reference internal" href="grouping.html">The Grouping Menu</a><ul>
 
142
<li class="toctree-l2"><a class="reference internal" href="grouping.html#manipulating-terminal-groups">Manipulating terminal groups</a></li>
 
143
<li class="toctree-l2"><a class="reference internal" href="grouping.html#broadcasting-input-to-multiple-terminals">Broadcasting input to multiple terminals</a></li>
 
144
<li class="toctree-l2"><a class="reference internal" href="grouping.html#insert-terminal-number">Insert terminal number</a></li>
 
145
</ul>
 
146
</li>
 
147
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a><ul>
 
148
<li class="toctree-l2"><a class="reference internal" href="plugins.html#included-plugins">Included plugins</a><ul>
 
149
<li class="toctree-l3"><a class="reference internal" href="plugins.html#activity-watch">Activity Watch</a></li>
 
150
<li class="toctree-l3"><a class="reference internal" href="plugins.html#apt-url-handler">APT URL Handler</a></li>
 
151
<li class="toctree-l3"><a class="reference internal" href="plugins.html#custom-commands-menu">Custom Commands Menu</a></li>
 
152
<li class="toctree-l3"><a class="reference internal" href="plugins.html#inactivity-watch">Inactivity Watch</a></li>
 
153
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-bug-url-handler">Launchpad Bug URL Handler</a></li>
 
154
<li class="toctree-l3"><a class="reference internal" href="plugins.html#launchpad-code-url-handler">Launchpad Code URL Handler</a></li>
 
155
<li class="toctree-l3"><a class="reference internal" href="plugins.html#logger">Logger</a></li>
 
156
<li class="toctree-l3"><a class="reference internal" href="plugins.html#maven-plugin-url-handler">Maven Plugin URL Handler</a></li>
 
157
<li class="toctree-l3"><a class="reference internal" href="plugins.html#terminal-shot">Terminal Shot</a></li>
 
158
<li class="toctree-l3"><a class="reference internal" href="plugins.html#test-plugin">Test Plugin</a></li>
 
159
</ul>
 
160
</li>
 
161
<li class="toctree-l2"><a class="reference internal" href="plugins.html#third-party-plugins">Third party plugins</a></li>
 
162
<li class="toctree-l2"><a class="reference internal" href="plugins.html#installing-a-plugin">Installing a plugin</a></li>
 
163
<li class="toctree-l2"><a class="reference internal" href="plugins.html#creating-your-own-plugins">Creating your own plugins</a><ul>
 
164
<li class="toctree-l3"><a class="reference internal" href="plugins.html#the-basics-of-a-plugin">The basics of a plugin</a></li>
 
165
<li class="toctree-l3"><a class="reference internal" href="plugins.html#url-handlers">URL Handlers</a></li>
 
166
<li class="toctree-l3"><a class="reference internal" href="plugins.html#context-menu-items">Context menu items</a></li>
 
167
<li class="toctree-l3"><a class="reference internal" href="plugins.html#wrap-up">Wrap up</a></li>
 
168
</ul>
 
169
</li>
 
170
</ul>
 
171
</li>
 
172
<li class="toctree-l1"><a class="reference internal" href="advancedusage.html">Advanced Usage</a><ul>
 
173
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#command-line-options">Command line options</a><ul>
 
174
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#general-options">General options</a></li>
 
175
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#window-options">Window options</a></li>
 
176
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#shell-options">Shell options</a></li>
 
177
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#layout-options">Layout options</a></li>
 
178
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#custom-window-manager-options">Custom Window Manager options</a></li>
 
179
<li class="toctree-l3"><a class="reference internal" href="advancedusage.html#debugging-options">Debugging options</a></li>
 
180
</ul>
 
181
</li>
 
182
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#the-config-file">The Config file</a></li>
 
183
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#debugging">Debugging</a></li>
 
184
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#dbus">DBus</a></li>
 
185
<li class="toctree-l2"><a class="reference internal" href="advancedusage.html#remotinator">Remotinator</a></li>
 
186
</ul>
 
187
</li>
 
188
<li class="toctree-l1 current"><a class="current reference internal" href="">Frequently Asked Questions</a><ul>
 
189
<li class="toctree-l2"><a class="reference internal" href="#why">Why...</a><ul>
 
190
<li class="toctree-l3"><a class="reference internal" href="#write-in-python-it-s-slow-bloated-bad">...write in Python? It&#8217;s slow/bloated/bad?</a><ul>
 
191
<li class="toctree-l4"><a class="reference internal" href="#performance">Performance</a></li>
 
192
<li class="toctree-l4"><a class="reference internal" href="#memory-use-the-dumb-way">Memory use - The dumb way</a></li>
 
193
<li class="toctree-l4"><a class="reference internal" href="#memory-use-the-sensible-way">Memory use - The sensible way</a></li>
 
194
<li class="toctree-l4"><a class="reference internal" href="#python-sucks">&#8220;Python sucks!&#8221;</a></li>
 
195
<li class="toctree-l4"><a class="reference internal" href="#in-summary">In summary</a></li>
 
196
</ul>
 
197
</li>
 
198
</ul>
 
199
</li>
 
200
<li class="toctree-l2"><a class="reference internal" href="#how-do-i">How do I...</a><ul>
 
201
<li class="toctree-l3"><a class="reference internal" href="#make-terminator-work-like-quake-style-terminals">...make Terminator work like Quake style terminals?</a></li>
 
202
</ul>
 
203
</li>
 
204
</ul>
 
205
</li>
 
206
<li class="toctree-l1"><a class="reference internal" href="gettinginvolved.html">Getting involved</a><ul>
 
207
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#translations">Translations</a></li>
 
208
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#improve-icons-artwork">Improve icons/artwork</a></li>
 
209
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#terminator-action-shots">Terminator action shots</a></li>
 
210
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#manual-updates">Manual updates</a></li>
 
211
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#testing">Testing</a></li>
 
212
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#bugs">Bugs</a></li>
 
213
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#plugins">Plugins</a></li>
 
214
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#main-application-development">Main Application Development</a></li>
 
215
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#gtk3-port">GTK3 Port</a></li>
 
216
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#api-docs">API Docs</a></li>
 
217
</ul>
 
218
</li>
 
219
</ul>
 
220
 
 
221
          
 
222
        
 
223
      </div>
 
224
      &nbsp;
 
225
    </nav>
 
226
 
 
227
    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
 
228
 
 
229
      
 
230
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
 
231
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
 
232
        <a href="index.html">Terminator</a>
 
233
      </nav>
 
234
 
 
235
 
 
236
      
 
237
      <div class="wy-nav-content">
 
238
        <div class="rst-content">
 
239
          <div role="navigation" aria-label="breadcrumbs navigation">
 
240
  <ul class="wy-breadcrumbs">
 
241
    <li><a href="index.html">Docs</a> &raquo;</li>
 
242
      
 
243
    <li>Frequently Asked Questions</li>
 
244
      <li class="wy-breadcrumbs-aside">
 
245
        
 
246
          
 
247
            <a href="_sources/faq.txt" rel="nofollow"> View page source</a>
 
248
          
 
249
        
 
250
      </li>
 
251
  </ul>
 
252
  <hr/>
 
253
</div>
 
254
          <div role="main" class="document">
 
255
            
 
256
  <img alt="Because curious cats ask clever code monkeys." class="align-right" src="_images/icon_faq.png" />
 
257
<div class="section" id="frequently-asked-questions">
 
258
<h1>Frequently Asked Questions<a class="headerlink" href="#frequently-asked-questions" title="Permalink to this headline">¶</a></h1>
 
259
<p>Here I&#8217;ll try to list some common questions that get asked for.</p>
 
260
<div class="section" id="why">
 
261
<h2>Why...<a class="headerlink" href="#why" title="Permalink to this headline">¶</a></h2>
 
262
<div class="section" id="write-in-python-it-s-slow-bloated-bad">
 
263
<h3>...write in Python? It&#8217;s slow/bloated/bad?<a class="headerlink" href="#write-in-python-it-s-slow-bloated-bad" title="Permalink to this headline">¶</a></h3>
 
264
<div class="section" id="performance">
 
265
<h4>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">¶</a></h4>
 
266
<dl class="docutils">
 
267
<dt>Profiles were configured with command <code class="docutils literal"><span class="pre">bash</span> <span class="pre">-c</span> <span class="pre">exit</span></code>, and the</dt>
 
268
<dd>commands run a couple of times to get the caches loaded up.</dd>
 
269
</dl>
 
270
<p>GNOME-Terminal:</p>
 
271
<div class="highlight-python"><div class="highlight"><pre>time for i in {1..30} ; do gnome-terminal --profile=Quickexit; done
 
272
 
 
273
real    0m10.606s
 
274
</pre></div>
 
275
</div>
 
276
<p>Terminator:</p>
 
277
<div class="highlight-python"><div class="highlight"><pre>time for i in {1..30} ; do terminator -g deletemeconfig -p Quickexit; done
 
278
 
 
279
GTK2: real    0m11.928s A smidgen slower.
 
280
GTK3: real    0m10.885s Yeah, basically identical!
 
281
</pre></div>
 
282
</div>
 
283
<p>Cold start, using <code class="docutils literal"><span class="pre">sync</span> <span class="pre">&amp;&amp;</span> <span class="pre">echo</span> <span class="pre">3</span> <span class="pre">&gt;</span> <span class="pre">/proc/sys/vm/drop_caches</span></code> before
 
284
each run, then launching a single timed instance.</p>
 
285
<p>Gnome-Terminal:</p>
 
286
<div class="highlight-python"><div class="highlight"><pre>time gnome-terminal --profile=Quickexit
 
287
 
 
288
real    0m7.628s (approx median, there was a strange variance for GT, between 5 and 9 secs)
 
289
</pre></div>
 
290
</div>
 
291
<p>Terminator:</p>
 
292
<div class="highlight-python"><div class="highlight"><pre>time terminator -g deletemeconfig -p Quickexit
 
293
 
 
294
GTK2: real    0m11.390s (median of 3x)
 
295
GTK3: real    0m11.264s (median of 3x)
 
296
</pre></div>
 
297
</div>
 
298
<p>OK, so this is the once place you would notice an appreciable
 
299
difference. How often do you start these things with completely empty
 
300
caches/buffers?</p>
 
301
<p>In GTK2 there is a known issue which slows the cat&#8217;ing of large files
 
302
quite a bit. The VTE in GTK3 Terminator is the <em>exact</em> same widget
 
303
GNOME-Terminal uses, so this will get better, as and when we move
 
304
fully to the in-progress GTK3 port. I should point out that this
 
305
performance deficit is not due to the Python interpreter, or the
 
306
Terminator Python code, but is solely down to the compiled C code VTE
 
307
widget.</p>
 
308
</div>
 
309
<div class="section" id="memory-use-the-dumb-way">
 
310
<h4>Memory use - The dumb way<a class="headerlink" href="#memory-use-the-dumb-way" title="Permalink to this headline">¶</a></h4>
 
311
<p>GNOME-Terminal:</p>
 
312
<div class="highlight-python"><div class="highlight"><pre> for i in {1..100} ; do gnome-terminal --disable-factory &amp; done
 
313
 
 
314
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free           # Before startup
 
315
              total       used       free     shared    buffers     cached
 
316
 Mem:       3102404    1388776    1713628       4052        164      45340
 
317
 -/+ buffers/cache:    1343272    1759132
 
318
 Swap:      3121996     788704    2333292
 
319
 root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free          # After startup
 
320
              total       used       free     shared    buffers     cached
 
321
 Mem:       3102404    2439524     662880      57196       1240      99212
 
322
 -/+ buffers/cache:    2339072     763332
 
323
 Swap:      3121996     751440    2370556
 
324
 root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free          # After kill
 
325
              total       used       free     shared    buffers     cached
 
326
 Mem:       3102404    1466536    1635868       4796        160      45912
 
327
 -/+ buffers/cache:    1420464    1681940
 
328
 Swap:      3121996     751020    2370976
 
329
 
 
330
 Used (used mem -buffers/cache + swap)
 
331
     Before start: 2131976
 
332
     After start : 3090512 = 958536 kbytes, 936 Mbytes / 9.36 MBytes/instance
 
333
     After kill  : 2171484 =  39508 kbytes,  38 Mbytes not recovered
 
334
</pre></div>
 
335
</div>
 
336
<p>Terminator GTK2:</p>
 
337
<div class="highlight-python"><div class="highlight"><pre>for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
 
338
 
 
339
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
340
             total       used       free     shared    buffers     cached
 
341
Mem:       3102404    1313456    1788948       4284        152      43844
 
342
-/+ buffers/cache:    1269460    1832944
 
343
Swap:      3121996     736844    2385152
 
344
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
345
             total       used       free     shared    buffers     cached
 
346
Mem:       3102404    2866552     235852      19484       1084      65408
 
347
-/+ buffers/cache:    2800060     302344
 
348
Swap:      3121996     736340    2385656
 
349
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
350
             total       used       free     shared    buffers     cached
 
351
Mem:       3102404    1317724    1784680       4284        152      43464
 
352
-/+ buffers/cache:    1274108    1828296
 
353
Swap:      3121996     736304    2385692
 
354
 
 
355
Used (used mem -buffers/cache + swap)
 
356
    before start: 2006304
 
357
    after start : 3536400 = 1530096 kbytes, 1494 Mbytes / 14.94 MBytes/instance
 
358
    after kill  : 2010412 =    4108 kbytes,    4 Mbytes not recovered
 
359
</pre></div>
 
360
</div>
 
361
<p>Terminator GTK3:</p>
 
362
<div class="highlight-python"><div class="highlight"><pre>for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
 
363
 
 
364
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
365
         total       used       free     shared    buffers     cached
 
366
Mem:       3102404    1467204    1635200       4816        120      46132
 
367
-/+ buffers/cache:    1420952    1681452
 
368
Swap:      3121996     751000    2370996
 
369
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
370
             total       used       free     shared    buffers     cached
 
371
Mem:       3102404    2848372     254032       7216        960      52652
 
372
-/+ buffers/cache:    2794760     307644
 
373
Swap:      3121996     750016    2371980
 
374
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
375
             total       used       free     shared    buffers     cached
 
376
Mem:       3102404    1483388    1619016       4820        148      46084
 
377
-/+ buffers/cache:    1437156    1665248
 
378
Swap:      3121996     749828    2372168
 
379
 
 
380
Used (used mem -buffers/cache + swap)
 
381
    before start: 2171952
 
382
    after start : 3544776 = 1372824 kbytes, 1340 Mbytes / 13.41 MBytes/instance
 
383
    after kill  : 2186984 =   15032 kbytes,   15 Mbytes not recovered
 
384
</pre></div>
 
385
</div>
 
386
<p>OK, so yes, there is more overhead. We did just start 100 Python
 
387
interpreters! As titled, this is dumb, and even if you use this dumb
 
388
method, are you really going to have a hundred of them?...</p>
 
389
</div>
 
390
<div class="section" id="memory-use-the-sensible-way">
 
391
<h4>Memory use - The sensible way<a class="headerlink" href="#memory-use-the-sensible-way" title="Permalink to this headline">¶</a></h4>
 
392
<p>GNOME-Terminal:</p>
 
393
<div class="highlight-python"><div class="highlight"><pre>gnome-terminal &amp;
 
394
for i in {1..100} ; do gnome-terminal &amp; done
 
395
 
 
396
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free          # Before 100
 
397
             total       used       free     shared    buffers     cached
 
398
Mem:       3102404    1490996    1611408       5344        172      47580
 
399
-/+ buffers/cache:    1443244    1659160
 
400
Swap:      3121996     749776    2372220
 
401
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free          # After 100
 
402
             total       used       free     shared    buffers     cached
 
403
Mem:       3102404    1878228    1224176       5344        172      47388
 
404
-/+ buffers/cache:    1830668    1271736
 
405
Swap:      3121996     733396    2388600
 
406
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free          # After kill
 
407
             total       used       free     shared    buffers     cached
 
408
Mem:       3102404    1491888    1610516       4840        272      46088
 
409
-/+ buffers/cache:    1445528    1656876
 
410
Swap:      3121996     733240    2388756
 
411
 
 
412
Used (used mem -buffers/cache + swap)
 
413
    Before start: 2193020
 
414
    After start : 2564064 = 371044 kbytes, 362 Mbytes / 3.59 MBytes/instance
 
415
    After kill  : 2178768 = −14252 kbytes, -13.92 Mbytes recovered (first process)
 
416
</pre></div>
 
417
</div>
 
418
<p>Terminator GTK2:</p>
 
419
<div class="highlight-python"><div class="highlight"><pre>terminator -g deletemeconfig &amp;
 
420
for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
 
421
 
 
422
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
423
             total       used       free     shared    buffers     cached
 
424
Mem:       3102404    1324492    1777912       4388        152      49688
 
425
-/+ buffers/cache:    1274652    1827752
 
426
Swap:      3121996     744528    2377468
 
427
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
428
             total       used       free     shared    buffers     cached
 
429
Mem:       3102404    1652112    1450292       4756        860      49968
 
430
-/+ buffers/cache:    1601284    1501120
 
431
Swap:      3121996     744224    2377772
 
432
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
 
433
             total       used       free     shared    buffers     cached
 
434
Mem:       3102404    1305376    1797028       4236        124      42836
 
435
-/+ buffers/cache:    1262416    1839988
 
436
Swap:      3121996     744116    2377880
 
437
 
 
438
Used (used mem -buffers/cache + swap)
 
439
    before start: 2019180
 
440
    after start : 2345508 = 326328 kbytes, 319 Mbytes / 3.16 MBytes/instance
 
441
    after kill  : 2006532 = −12648 kbytes,  -12.35 Mbytes recovered (first process)
 
442
</pre></div>
 
443
</div>
 
444
<p>Terminator GTK3:</p>
 
445
<div class="highlight-python"><div class="highlight"><pre>Not possible at the moment because the DBus interface still needs fixing.
 
446
</pre></div>
 
447
</div>
 
448
<p>So that one surprised me a bit. The fact that when using the single
 
449
process we are <strong>more</strong> memory efficient. Python + 100 terminals is
 
450
using &lt;90% of the GNOME-Terminal + 100 terminals.</p>
 
451
<p>Some may think that this is something to do with the different version
 
452
of the VTE widget, but hang on a second. In the dumb method GTK2
 
453
Terminator used <strong>more</strong> memory than GTK3. Once the DBus is fixed for
 
454
GTK3 there could potentially be more savings.</p>
 
455
</div>
 
456
<div class="section" id="python-sucks">
 
457
<h4>&#8220;Python sucks!&#8221;<a class="headerlink" href="#python-sucks" title="Permalink to this headline">¶</a></h4>
 
458
<p>Yeah, whatever. The fact is that I&#8217;m a helluva lot more productive in
 
459
Python than I ever was, am, or will be, in C. In my totally biased
 
460
and uninformed opinion, I also think certain things are <em>much</em> easier
 
461
to get working in Python because you can iterate faster. With the
 
462
:ref:<code class="docutils literal"><span class="pre">debugging</span></code> option to run an interactive terminal you even
 
463
have the ability to try out ideas and explore the running instance
 
464
directly. Results don&#8217;t get more immediate than that!</p>
 
465
</div>
 
466
<div class="section" id="in-summary">
 
467
<h4>In summary<a class="headerlink" href="#in-summary" title="Permalink to this headline">¶</a></h4>
 
468
<p>It&#8217;s a bit slower on startup, it takes a bit more memory, but that&#8217;s
 
469
when you use the dumb method. In normal use, where you&#8217;re likely to
 
470
be using the existing process to open a new window, it is for all
 
471
practical purposes as fast as the compiled GNOME-Terminal. It may
 
472
even (according to the last memory section) be a little lighter
 
473
memory wise, and more obliging about giving it back!</p>
 
474
<p>I didn&#8217;t compare to things like xterm, because frankly we&#8217;re not
 
475
aimed at the same people. Personally I&#8217;d rather have the more
 
476
extensive features saving me <em>lots</em> of time over the course of the
 
477
day when using it, than save a handful of seconds every few days
 
478
when I restart it, or worrying about an extra 5 or 10 MBytes.</p>
 
479
</div>
 
480
</div>
 
481
</div>
 
482
<div class="section" id="how-do-i">
 
483
<h2>How do I...<a class="headerlink" href="#how-do-i" title="Permalink to this headline">¶</a></h2>
 
484
<div class="section" id="make-terminator-work-like-quake-style-terminals">
 
485
<h3>...make Terminator work like Quake style terminals?<a class="headerlink" href="#make-terminator-work-like-quake-style-terminals" title="Permalink to this headline">¶</a></h3>
 
486
<blockquote>
 
487
<div><p>You can get close, but it isn&#8217;t a perfect recreation, as Terminator
 
488
was not designed with this in mind, but improvements are always welcome!</p>
 
489
<ul class="simple">
 
490
<li>Window state: Hidden</li>
 
491
<li>Always on top: On</li>
 
492
<li>Show on all workspaces: On</li>
 
493
<li>Hide on lose focus: On</li>
 
494
<li>Hide from taskbar</li>
 
495
<li>Window borders: Off (use <code class="docutils literal"><span class="pre">Alt</span></code>+<code class="docutils literal"><span class="pre">click-drag</span></code> and
 
496
<code class="docutils literal"><span class="pre">Alt</span></code>+<code class="docutils literal"><span class="pre">right-click-drag</span></code> to position and size window.)</li>
 
497
<li>Set the Toggle window visibility shortcut to your preference</li>
 
498
</ul>
 
499
<div class="admonition note">
 
500
<p class="first admonition-title">Note</p>
 
501
<p class="last">It must be the first Terminator instance started, because
 
502
at present only the first instance can bind to the Window
 
503
toggle.</p>
 
504
</div>
 
505
<p>This will give you a terminal hidden at startup that appears with a
 
506
keypress and disappears, either with another keypress, or losing focus.
 
507
It will stay on top, and appear on whichever workspace you are on.</p>
 
508
<p>Something that we don&#8217;t have is the slide in action of a true Quake
 
509
style terminal. The terminal will simply flick into view, and flick
 
510
out of view.</p>
 
511
<div class="admonition warning">
 
512
<p class="first admonition-title">Warning</p>
 
513
<p class="last">The Hide on lose focus option is problematic at this
 
514
time. You will probably find it very frustrating.</p>
 
515
</div>
 
516
</div></blockquote>
 
517
</div>
 
518
</div>
 
519
</div>
 
520
 
 
521
 
 
522
          </div>
 
523
          <footer>
 
524
  
 
525
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
 
526
      
 
527
        <a href="gettinginvolved.html" class="btn btn-neutral float-right" title="Getting involved" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
 
528
      
 
529
      
 
530
        <a href="advancedusage.html" class="btn btn-neutral" title="Advanced Usage" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
 
531
      
 
532
    </div>
 
533
  
 
534
 
 
535
  <hr/>
 
536
 
 
537
  <div role="contentinfo">
 
538
    <p>
 
539
        &copy; Copyright 2015, Stephen Boddy, licensed under the CC-BY-SA..
 
540
    </p>
 
541
  </div>
 
542
  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>.
 
543
 
 
544
</footer>
 
545
 
 
546
        </div>
 
547
      </div>
 
548
 
 
549
    </section>
 
550
 
 
551
  </div>
 
552
  
 
553
 
 
554
 
 
555
  
 
556
 
 
557
    <script type="text/javascript">
 
558
        var DOCUMENTATION_OPTIONS = {
 
559
            URL_ROOT:'./',
 
560
            VERSION:'1.0 alpha',
 
561
            COLLAPSE_INDEX:false,
 
562
            FILE_SUFFIX:'.html',
 
563
            HAS_SOURCE:  true
 
564
        };
 
565
    </script>
 
566
      <script type="text/javascript" src="_static/jquery.js"></script>
 
567
      <script type="text/javascript" src="_static/underscore.js"></script>
 
568
      <script type="text/javascript" src="_static/doctools.js"></script>
 
569
 
 
570
  
 
571
 
 
572
  
 
573
  
 
574
    <script type="text/javascript" src="_static/js/theme.js"></script>
 
575
  
 
576
 
 
577
  
 
578
  
 
579
  <script type="text/javascript">
 
580
      jQuery(function () {
 
581
          SphinxRtdTheme.StickyNav.enable();
 
582
      });
 
583
  </script>
 
584
   
 
585
 
 
586
</body>
 
587
</html>
 
 
b'\\ No newline at end of file'