terminator/doc/manual/_build/html/faq.html
Stephen Boddy 1d977cc6aa 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
2015-08-08 04:11:30 +02:00

587 lines
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>Frequently Asked Questions &mdash; 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="next" title="Getting involved" href="gettinginvolved.html"/>
<link rel="prev" title="Advanced Usage" href="advancedusage.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 current"><a class="current reference internal" href="">Frequently Asked Questions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#why">Why...</a><ul>
<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>
<li class="toctree-l4"><a class="reference internal" href="#performance">Performance</a></li>
<li class="toctree-l4"><a class="reference internal" href="#memory-use-the-dumb-way">Memory use - The dumb way</a></li>
<li class="toctree-l4"><a class="reference internal" href="#memory-use-the-sensible-way">Memory use - The sensible way</a></li>
<li class="toctree-l4"><a class="reference internal" href="#python-sucks">&#8220;Python sucks!&#8221;</a></li>
<li class="toctree-l4"><a class="reference internal" href="#in-summary">In summary</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#how-do-i">How do I...</a><ul>
<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>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="gettinginvolved.html">Getting involved</a><ul>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#translations">Translations</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#improve-icons-artwork">Improve icons/artwork</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#terminator-action-shots">Terminator action shots</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#manual-updates">Manual updates</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#testing">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#bugs">Bugs</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#plugins">Plugins</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#main-application-development">Main Application Development</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#gtk3-port">GTK3 Port</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#api-docs">API Docs</a></li>
</ul>
</li>
</ul>
</div>
&nbsp;
</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> &raquo;</li>
<li>Frequently Asked Questions</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/faq.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document">
<img alt="Because curious cats ask clever code monkeys." class="align-right" src="_images/icon_faq.png" />
<div class="section" id="frequently-asked-questions">
<h1>Frequently Asked Questions<a class="headerlink" href="#frequently-asked-questions" title="Permalink to this headline"></a></h1>
<p>Here I&#8217;ll try to list some common questions that get asked for.</p>
<div class="section" id="why">
<h2>Why...<a class="headerlink" href="#why" title="Permalink to this headline"></a></h2>
<div class="section" id="write-in-python-it-s-slow-bloated-bad">
<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>
<div class="section" id="performance">
<h4>Performance<a class="headerlink" href="#performance" title="Permalink to this headline"></a></h4>
<dl class="docutils">
<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>
<dd>commands run a couple of times to get the caches loaded up.</dd>
</dl>
<p>GNOME-Terminal:</p>
<div class="highlight-python"><div class="highlight"><pre>time for i in {1..30} ; do gnome-terminal --profile=Quickexit; done
real 0m10.606s
</pre></div>
</div>
<p>Terminator:</p>
<div class="highlight-python"><div class="highlight"><pre>time for i in {1..30} ; do terminator -g deletemeconfig -p Quickexit; done
GTK2: real 0m11.928s A smidgen slower.
GTK3: real 0m10.885s Yeah, basically identical!
</pre></div>
</div>
<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
each run, then launching a single timed instance.</p>
<p>Gnome-Terminal:</p>
<div class="highlight-python"><div class="highlight"><pre>time gnome-terminal --profile=Quickexit
real 0m7.628s (approx median, there was a strange variance for GT, between 5 and 9 secs)
</pre></div>
</div>
<p>Terminator:</p>
<div class="highlight-python"><div class="highlight"><pre>time terminator -g deletemeconfig -p Quickexit
GTK2: real 0m11.390s (median of 3x)
GTK3: real 0m11.264s (median of 3x)
</pre></div>
</div>
<p>OK, so this is the once place you would notice an appreciable
difference. How often do you start these things with completely empty
caches/buffers?</p>
<p>In GTK2 there is a known issue which slows the cat&#8217;ing of large files
quite a bit. The VTE in GTK3 Terminator is the <em>exact</em> same widget
GNOME-Terminal uses, so this will get better, as and when we move
fully to the in-progress GTK3 port. I should point out that this
performance deficit is not due to the Python interpreter, or the
Terminator Python code, but is solely down to the compiled C code VTE
widget.</p>
</div>
<div class="section" id="memory-use-the-dumb-way">
<h4>Memory use - The dumb way<a class="headerlink" href="#memory-use-the-dumb-way" title="Permalink to this headline"></a></h4>
<p>GNOME-Terminal:</p>
<div class="highlight-python"><div class="highlight"><pre> for i in {1..100} ; do gnome-terminal --disable-factory &amp; done
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # Before startup
total used free shared buffers cached
Mem: 3102404 1388776 1713628 4052 164 45340
-/+ buffers/cache: 1343272 1759132
Swap: 3121996 788704 2333292
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # After startup
total used free shared buffers cached
Mem: 3102404 2439524 662880 57196 1240 99212
-/+ buffers/cache: 2339072 763332
Swap: 3121996 751440 2370556
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # After kill
total used free shared buffers cached
Mem: 3102404 1466536 1635868 4796 160 45912
-/+ buffers/cache: 1420464 1681940
Swap: 3121996 751020 2370976
Used (used mem -buffers/cache + swap)
Before start: 2131976
After start : 3090512 = 958536 kbytes, 936 Mbytes / 9.36 MBytes/instance
After kill : 2171484 = 39508 kbytes, 38 Mbytes not recovered
</pre></div>
</div>
<p>Terminator GTK2:</p>
<div class="highlight-python"><div class="highlight"><pre>for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1313456 1788948 4284 152 43844
-/+ buffers/cache: 1269460 1832944
Swap: 3121996 736844 2385152
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 2866552 235852 19484 1084 65408
-/+ buffers/cache: 2800060 302344
Swap: 3121996 736340 2385656
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1317724 1784680 4284 152 43464
-/+ buffers/cache: 1274108 1828296
Swap: 3121996 736304 2385692
Used (used mem -buffers/cache + swap)
before start: 2006304
after start : 3536400 = 1530096 kbytes, 1494 Mbytes / 14.94 MBytes/instance
after kill : 2010412 = 4108 kbytes, 4 Mbytes not recovered
</pre></div>
</div>
<p>Terminator GTK3:</p>
<div class="highlight-python"><div class="highlight"><pre>for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1467204 1635200 4816 120 46132
-/+ buffers/cache: 1420952 1681452
Swap: 3121996 751000 2370996
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 2848372 254032 7216 960 52652
-/+ buffers/cache: 2794760 307644
Swap: 3121996 750016 2371980
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1483388 1619016 4820 148 46084
-/+ buffers/cache: 1437156 1665248
Swap: 3121996 749828 2372168
Used (used mem -buffers/cache + swap)
before start: 2171952
after start : 3544776 = 1372824 kbytes, 1340 Mbytes / 13.41 MBytes/instance
after kill : 2186984 = 15032 kbytes, 15 Mbytes not recovered
</pre></div>
</div>
<p>OK, so yes, there is more overhead. We did just start 100 Python
interpreters! As titled, this is dumb, and even if you use this dumb
method, are you really going to have a hundred of them?...</p>
</div>
<div class="section" id="memory-use-the-sensible-way">
<h4>Memory use - The sensible way<a class="headerlink" href="#memory-use-the-sensible-way" title="Permalink to this headline"></a></h4>
<p>GNOME-Terminal:</p>
<div class="highlight-python"><div class="highlight"><pre>gnome-terminal &amp;
for i in {1..100} ; do gnome-terminal &amp; done
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # Before 100
total used free shared buffers cached
Mem: 3102404 1490996 1611408 5344 172 47580
-/+ buffers/cache: 1443244 1659160
Swap: 3121996 749776 2372220
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # After 100
total used free shared buffers cached
Mem: 3102404 1878228 1224176 5344 172 47388
-/+ buffers/cache: 1830668 1271736
Swap: 3121996 733396 2388600
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free # After kill
total used free shared buffers cached
Mem: 3102404 1491888 1610516 4840 272 46088
-/+ buffers/cache: 1445528 1656876
Swap: 3121996 733240 2388756
Used (used mem -buffers/cache + swap)
Before start: 2193020
After start : 2564064 = 371044 kbytes, 362 Mbytes / 3.59 MBytes/instance
After kill : 2178768 = 14252 kbytes, -13.92 Mbytes recovered (first process)
</pre></div>
</div>
<p>Terminator GTK2:</p>
<div class="highlight-python"><div class="highlight"><pre>terminator -g deletemeconfig &amp;
for i in {1..100} ; do terminator -g deletemeconfig -u &amp; done
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1324492 1777912 4388 152 49688
-/+ buffers/cache: 1274652 1827752
Swap: 3121996 744528 2377468
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1652112 1450292 4756 860 49968
-/+ buffers/cache: 1601284 1501120
Swap: 3121996 744224 2377772
root@pinpoint:~# sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches &amp;&amp; free
total used free shared buffers cached
Mem: 3102404 1305376 1797028 4236 124 42836
-/+ buffers/cache: 1262416 1839988
Swap: 3121996 744116 2377880
Used (used mem -buffers/cache + swap)
before start: 2019180
after start : 2345508 = 326328 kbytes, 319 Mbytes / 3.16 MBytes/instance
after kill : 2006532 = 12648 kbytes, -12.35 Mbytes recovered (first process)
</pre></div>
</div>
<p>Terminator GTK3:</p>
<div class="highlight-python"><div class="highlight"><pre>Not possible at the moment because the DBus interface still needs fixing.
</pre></div>
</div>
<p>So that one surprised me a bit. The fact that when using the single
process we are <strong>more</strong> memory efficient. Python + 100 terminals is
using &lt;90% of the GNOME-Terminal + 100 terminals.</p>
<p>Some may think that this is something to do with the different version
of the VTE widget, but hang on a second. In the dumb method GTK2
Terminator used <strong>more</strong> memory than GTK3. Once the DBus is fixed for
GTK3 there could potentially be more savings.</p>
</div>
<div class="section" id="python-sucks">
<h4>&#8220;Python sucks!&#8221;<a class="headerlink" href="#python-sucks" title="Permalink to this headline"></a></h4>
<p>Yeah, whatever. The fact is that I&#8217;m a helluva lot more productive in
Python than I ever was, am, or will be, in C. In my totally biased
and uninformed opinion, I also think certain things are <em>much</em> easier
to get working in Python because you can iterate faster. With the
:ref:<code class="docutils literal"><span class="pre">debugging</span></code> option to run an interactive terminal you even
have the ability to try out ideas and explore the running instance
directly. Results don&#8217;t get more immediate than that!</p>
</div>
<div class="section" id="in-summary">
<h4>In summary<a class="headerlink" href="#in-summary" title="Permalink to this headline"></a></h4>
<p>It&#8217;s a bit slower on startup, it takes a bit more memory, but that&#8217;s
when you use the dumb method. In normal use, where you&#8217;re likely to
be using the existing process to open a new window, it is for all
practical purposes as fast as the compiled GNOME-Terminal. It may
even (according to the last memory section) be a little lighter
memory wise, and more obliging about giving it back!</p>
<p>I didn&#8217;t compare to things like xterm, because frankly we&#8217;re not
aimed at the same people. Personally I&#8217;d rather have the more
extensive features saving me <em>lots</em> of time over the course of the
day when using it, than save a handful of seconds every few days
when I restart it, or worrying about an extra 5 or 10 MBytes.</p>
</div>
</div>
</div>
<div class="section" id="how-do-i">
<h2>How do I...<a class="headerlink" href="#how-do-i" title="Permalink to this headline"></a></h2>
<div class="section" id="make-terminator-work-like-quake-style-terminals">
<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>
<blockquote>
<div><p>You can get close, but it isn&#8217;t a perfect recreation, as Terminator
was not designed with this in mind, but improvements are always welcome!</p>
<ul class="simple">
<li>Window state: Hidden</li>
<li>Always on top: On</li>
<li>Show on all workspaces: On</li>
<li>Hide on lose focus: On</li>
<li>Hide from taskbar</li>
<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
<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>
<li>Set the Toggle window visibility shortcut to your preference</li>
</ul>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">It must be the first Terminator instance started, because
at present only the first instance can bind to the Window
toggle.</p>
</div>
<p>This will give you a terminal hidden at startup that appears with a
keypress and disappears, either with another keypress, or losing focus.
It will stay on top, and appear on whichever workspace you are on.</p>
<p>Something that we don&#8217;t have is the slide in action of a true Quake
style terminal. The terminal will simply flick into view, and flick
out of view.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">The Hide on lose focus option is problematic at this
time. You will probably find it very frustrating.</p>
</div>
</div></blockquote>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<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>
<a href="advancedusage.html" class="btn btn-neutral" title="Advanced Usage" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; 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>