terminator/doc/manual/_build/html/faq.html

588 lines
30 KiB
HTML
Raw Normal View History

<!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>
2015-08-21 00:11:31 +00:00
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#terminator-api-docs">Terminator API Docs</a></li>
<li class="toctree-l2"><a class="reference internal" href="gettinginvolved.html#other-docs-for-developers">Other Docs for Developers</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
<a class="reference internal" href="advancedusage.html#debugging"><span>Debugging</span></a> 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
2015-08-21 00:11:31 +00:00
<code class="docutils literal"><span class="pre">Alt</span></code>+<code class="docutils literal"><span class="pre">middle-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>