terminator/doc/apidoc/_build/html/_modules/terminatorlib/prefseditor.html

1897 lines
298 KiB
HTML

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>terminatorlib.prefseditor &mdash; terminatorlib 0.98 documentation</title>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="top" title="terminatorlib 0.98 documentation" href="../../index.html"/>
<link rel="up" title="Module code" href="../index.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"> terminatorlib
</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">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../../terminatorlib.html">terminatorlib package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#subpackages">Subpackages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../terminatorlib.configobj.html">terminatorlib.configobj package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.configobj.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.configobj.html#module-terminatorlib.configobj.configobj">terminatorlib.configobj.configobj module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.configobj.html#module-terminatorlib.configobj.validate">terminatorlib.configobj.validate module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.configobj.html#module-terminatorlib.configobj">Module contents</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../terminatorlib.plugins.html">terminatorlib.plugins package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.activitywatch">terminatorlib.plugins.activitywatch module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.custom_commands">terminatorlib.plugins.custom_commands module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.logger">terminatorlib.plugins.logger module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.maven">terminatorlib.plugins.maven module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.terminalshot">terminatorlib.plugins.terminalshot module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.testplugin">terminatorlib.plugins.testplugin module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins.url_handlers">terminatorlib.plugins.url_handlers module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../terminatorlib.plugins.html#module-terminatorlib.plugins">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.borg">terminatorlib.borg module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.config">terminatorlib.config module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.container">terminatorlib.container module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.cwd">terminatorlib.cwd module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.debugserver">terminatorlib.debugserver module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.editablelabel">terminatorlib.editablelabel module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.encoding">terminatorlib.encoding module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.factory">terminatorlib.factory module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.freebsd">terminatorlib.freebsd module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.ipc">terminatorlib.ipc module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.keybindings">terminatorlib.keybindings module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.layoutlauncher">terminatorlib.layoutlauncher module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.notebook">terminatorlib.notebook module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.optionparse">terminatorlib.optionparse module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.paned">terminatorlib.paned module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.plugin">terminatorlib.plugin module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.prefseditor">terminatorlib.prefseditor module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.searchbar">terminatorlib.searchbar module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.signalman">terminatorlib.signalman module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.terminal">terminatorlib.terminal module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.terminal_popup_menu">terminatorlib.terminal_popup_menu module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.terminator">terminatorlib.terminator module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.titlebar">terminatorlib.titlebar module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.translation">terminatorlib.translation module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.util">terminatorlib.util module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.version">terminatorlib.version module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib.window">terminatorlib.window module</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../terminatorlib.html#module-terminatorlib">Module contents</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">terminatorlib</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><a href="../index.html">Module code</a> &raquo;</li>
<li>terminatorlib.prefseditor</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document">
<h1>Source code for terminatorlib.prefseditor</h1><div class="highlight"><pre>
<span class="c">#!/usr/bin/python</span>
<span class="sd">&quot;&quot;&quot;Preferences Editor for Terminator.</span>
<span class="sd">Load a UIBuilder config file, display it,</span>
<span class="sd">populate it with our current config, then optionally read that back out and</span>
<span class="sd">write it to a config file</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">gtk</span>
<span class="kn">import</span> <span class="nn">gobject</span>
<span class="kn">from</span> <span class="nn">util</span> <span class="kn">import</span> <span class="n">dbg</span><span class="p">,</span> <span class="n">err</span>
<span class="kn">import</span> <span class="nn">config</span>
<span class="kn">from</span> <span class="nn">keybindings</span> <span class="kn">import</span> <span class="n">Keybindings</span><span class="p">,</span> <span class="n">KeymapError</span>
<span class="kn">from</span> <span class="nn">translation</span> <span class="kn">import</span> <span class="n">_</span>
<span class="kn">from</span> <span class="nn">encoding</span> <span class="kn">import</span> <span class="n">TerminatorEncoding</span>
<span class="kn">from</span> <span class="nn">terminator</span> <span class="kn">import</span> <span class="n">Terminator</span>
<span class="kn">from</span> <span class="nn">plugin</span> <span class="kn">import</span> <span class="n">PluginRegistry</span>
<span class="kn">from</span> <span class="nn">version</span> <span class="kn">import</span> <span class="n">APP_NAME</span>
<div class="viewcode-block" id="color2hex"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.color2hex">[docs]</a><span class="k">def</span> <span class="nf">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Pull the colour values out of a Gtk ColorPicker widget and return them</span>
<span class="sd"> as 8bit hex values, sinces its default behaviour is to give 16bit values&quot;&quot;&quot;</span>
<span class="n">widcol</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_color</span><span class="p">()</span>
<span class="k">return</span><span class="p">(</span><span class="s">&#39;#</span><span class="si">%02x%02x%02x</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">widcol</span><span class="o">.</span><span class="n">red</span><span class="o">&gt;&gt;</span><span class="mi">8</span><span class="p">,</span> <span class="n">widcol</span><span class="o">.</span><span class="n">green</span><span class="o">&gt;&gt;</span><span class="mi">8</span><span class="p">,</span> <span class="n">widcol</span><span class="o">.</span><span class="n">blue</span><span class="o">&gt;&gt;</span><span class="mi">8</span><span class="p">))</span>
<span class="c"># FIXME: We need to check that we have represented all of Config() below</span></div>
<div class="viewcode-block" id="PrefsEditor"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor">[docs]</a><span class="k">class</span> <span class="nc">PrefsEditor</span><span class="p">:</span>
<span class="sd">&quot;&quot;&quot;Class implementing the various parts of the preferences editor&quot;&quot;&quot;</span>
<span class="n">config</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">registry</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">plugins</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">keybindings</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">window</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">builder</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">layouteditor</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">previous_layout_selection</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">previous_profile_selection</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">colorschemevalues</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;black_on_yellow&#39;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&#39;black_on_white&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
<span class="s">&#39;grey_on_black&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
<span class="s">&#39;green_on_black&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
<span class="s">&#39;white_on_black&#39;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
<span class="s">&#39;orange_on_black&#39;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
<span class="s">&#39;ambience&#39;</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span>
<span class="s">&#39;solarized_light&#39;</span><span class="p">:</span> <span class="mi">7</span><span class="p">,</span>
<span class="s">&#39;solarized_dark&#39;</span><span class="p">:</span> <span class="mi">8</span><span class="p">,</span>
<span class="s">&#39;custom&#39;</span><span class="p">:</span> <span class="mi">9</span><span class="p">}</span>
<span class="n">colourschemes</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;grey_on_black&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#aaaaaa&#39;</span><span class="p">,</span> <span class="s">&#39;#000000&#39;</span><span class="p">],</span>
<span class="s">&#39;black_on_yellow&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#000000&#39;</span><span class="p">,</span> <span class="s">&#39;#ffffdd&#39;</span><span class="p">],</span>
<span class="s">&#39;black_on_white&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#000000&#39;</span><span class="p">,</span> <span class="s">&#39;#ffffff&#39;</span><span class="p">],</span>
<span class="s">&#39;white_on_black&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#ffffff&#39;</span><span class="p">,</span> <span class="s">&#39;#000000&#39;</span><span class="p">],</span>
<span class="s">&#39;green_on_black&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#00ff00&#39;</span><span class="p">,</span> <span class="s">&#39;#000000&#39;</span><span class="p">],</span>
<span class="s">&#39;orange_on_black&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#e53c00&#39;</span><span class="p">,</span> <span class="s">&#39;#000000&#39;</span><span class="p">],</span>
<span class="s">&#39;ambience&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#ffffff&#39;</span><span class="p">,</span> <span class="s">&#39;#300a24&#39;</span><span class="p">],</span>
<span class="s">&#39;solarized_light&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#657b83&#39;</span><span class="p">,</span> <span class="s">&#39;#fdf6e3&#39;</span><span class="p">],</span>
<span class="s">&#39;solarized_dark&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;#839496&#39;</span><span class="p">,</span> <span class="s">&#39;#002b36&#39;</span><span class="p">]}</span>
<span class="n">palettevalues</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;tango&#39;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
<span class="s">&#39;linux&#39;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
<span class="s">&#39;xterm&#39;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
<span class="s">&#39;rxvt&#39;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span>
<span class="s">&#39;ambience&#39;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span>
<span class="s">&#39;solarized&#39;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span>
<span class="s">&#39;custom&#39;</span><span class="p">:</span> <span class="mi">6</span><span class="p">}</span>
<span class="n">palettes</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;tango&#39;</span><span class="p">:</span> <span class="s">&#39;#000000:#cc0000:#4e9a06:#c4a000:#3465a4:</span><span class="se">\</span>
<span class="s">#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:#729fcf:</span><span class="se">\</span>
<span class="s">#ad7fa8:#34e2e2:#eeeeec&#39;</span><span class="p">,</span>
<span class="s">&#39;linux&#39;</span><span class="p">:</span> <span class="s">&#39;#000000:#aa0000:#00aa00:#aa5500:#0000aa:</span><span class="se">\</span>
<span class="s">#aa00aa:#00aaaa:#aaaaaa:#555555:#ff5555:#55ff55:#ffff55:#5555ff:</span><span class="se">\</span>
<span class="s">#ff55ff:#55ffff:#ffffff&#39;</span><span class="p">,</span>
<span class="s">&#39;xterm&#39;</span><span class="p">:</span> <span class="s">&#39;#000000:#cd0000:#00cd00:#cdcd00:#0000ee:</span><span class="se">\</span>
<span class="s">#cd00cd:#00cdcd:#e5e5e5:#7f7f7f:#ff0000:#00ff00:#ffff00:#5c5cff:</span><span class="se">\</span>
<span class="s">#ff00ff:#00ffff:#ffffff&#39;</span><span class="p">,</span>
<span class="s">&#39;rxvt&#39;</span><span class="p">:</span> <span class="s">&#39;#000000:#cd0000:#00cd00:#cdcd00:#0000cd:</span><span class="se">\</span>
<span class="s">#cd00cd:#00cdcd:#faebd7:#404040:#ff0000:#00ff00:#ffff00:#0000ff:</span><span class="se">\</span>
<span class="s">#ff00ff:#00ffff:#ffffff&#39;</span><span class="p">,</span>
<span class="s">&#39;ambience&#39;</span><span class="p">:</span> <span class="s">&#39;#2e3436:#cc0000:#4e9a06:#c4a000:</span><span class="se">\</span>
<span class="s">#3465a4:#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:</span><span class="se">\</span>
<span class="s">#729fcf:#ad7fa8:#34e2e2:#eeeeec&#39;</span><span class="p">,</span>
<span class="s">&#39;solarized&#39;</span><span class="p">:</span> <span class="s">&#39;#073642:#dc322f:#859900:#b58900:</span><span class="se">\</span>
<span class="s">#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#cb4b16:#586e75:#657b83:</span><span class="se">\</span>
<span class="s">#839496:#6c71c4:#93a1a1:#fdf6e3&#39;</span><span class="p">}</span>
<span class="n">keybindingnames</span> <span class="o">=</span> <span class="p">{</span> <span class="s">&#39;zoom_in&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Increase font size&#39;</span><span class="p">),</span>
<span class="s">&#39;zoom_out&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Decrease font size&#39;</span><span class="p">),</span>
<span class="s">&#39;zoom_normal&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Restore original font size&#39;</span><span class="p">),</span>
<span class="s">&#39;new_tab&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Create a new tab&#39;</span><span class="p">),</span>
<span class="s">&#39;cycle_next&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the next terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;cycle_prev&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the previous terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;go_next&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the next terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;go_prev&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the previous terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;go_up&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the terminal above&#39;</span><span class="p">),</span>
<span class="s">&#39;go_down&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the terminal below&#39;</span><span class="p">),</span>
<span class="s">&#39;go_left&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the terminal left&#39;</span><span class="p">),</span>
<span class="s">&#39;go_right&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Focus the terminal right&#39;</span><span class="p">),</span>
<span class="s">&#39;rotate_cw&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Rotate terminals clockwise&#39;</span><span class="p">),</span>
<span class="s">&#39;rotate_ccw&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Rotate terminals counter-clockwise&#39;</span><span class="p">),</span>
<span class="s">&#39;split_horiz&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Split horizontally&#39;</span><span class="p">),</span>
<span class="s">&#39;split_vert&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Split vertically&#39;</span><span class="p">),</span>
<span class="s">&#39;close_term&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Close terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;copy&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Copy selected text&#39;</span><span class="p">),</span>
<span class="s">&#39;paste&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Paste clipboard&#39;</span><span class="p">),</span>
<span class="s">&#39;toggle_scrollbar&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Show/Hide the scrollbar&#39;</span><span class="p">),</span>
<span class="s">&#39;search&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Search terminal scrollback&#39;</span><span class="p">),</span>
<span class="s">&#39;page_up&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll upwards one page&#39;</span><span class="p">),</span>
<span class="s">&#39;page_down&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll downwards one page&#39;</span><span class="p">),</span>
<span class="s">&#39;page_up_half&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll upwards half a page&#39;</span><span class="p">),</span>
<span class="s">&#39;page_down_half&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll downwards half a page&#39;</span><span class="p">),</span>
<span class="s">&#39;line_up&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll upwards one line&#39;</span><span class="p">),</span>
<span class="s">&#39;line_down&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Scroll downwards one line&#39;</span><span class="p">),</span>
<span class="s">&#39;close_window&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Close window&#39;</span><span class="p">),</span>
<span class="s">&#39;resize_up&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Resize the terminal up&#39;</span><span class="p">),</span>
<span class="s">&#39;resize_down&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Resize the terminal down&#39;</span><span class="p">),</span>
<span class="s">&#39;resize_left&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Resize the terminal left&#39;</span><span class="p">),</span>
<span class="s">&#39;resize_right&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Resize the terminal right&#39;</span><span class="p">),</span>
<span class="s">&#39;move_tab_right&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Move the tab right&#39;</span><span class="p">),</span>
<span class="s">&#39;move_tab_left&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Move the tab left&#39;</span><span class="p">),</span>
<span class="s">&#39;toggle_zoom&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Maximise terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;scaled_zoom&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Zoom terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;next_tab&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the next tab&#39;</span><span class="p">),</span>
<span class="s">&#39;prev_tab&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the previous tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_1&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the first tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_2&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the second tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_3&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the third tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_4&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the fourth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_5&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the fifth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_6&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the sixth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_7&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the seventh tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_8&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the eighth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_9&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the ninth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;switch_to_tab_10&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to the tenth tab&#39;</span><span class="p">),</span>
<span class="s">&#39;full_screen&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Toggle fullscreen&#39;</span><span class="p">),</span>
<span class="s">&#39;reset&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Reset the terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;reset_clear&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Reset and clear the terminal&#39;</span><span class="p">),</span>
<span class="s">&#39;hide_window&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Toggle window visibility&#39;</span><span class="p">),</span>
<span class="s">&#39;group_all&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Group all terminals&#39;</span><span class="p">),</span>
<span class="s">&#39;group_all_toggle&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Group/Ungroup all terminals&#39;</span><span class="p">),</span>
<span class="s">&#39;ungroup_all&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Ungroup all terminals&#39;</span><span class="p">),</span>
<span class="s">&#39;group_tab&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Group terminals in tab&#39;</span><span class="p">),</span>
<span class="s">&#39;group_tab_toggle&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Group/Ungroup terminals in tab&#39;</span><span class="p">),</span>
<span class="s">&#39;ungroup_tab&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Ungroup terminals in tab&#39;</span><span class="p">),</span>
<span class="s">&#39;new_window&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Create a new window&#39;</span><span class="p">),</span>
<span class="s">&#39;new_terminator&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Spawn a new Terminator process&#39;</span><span class="p">),</span>
<span class="s">&#39;broadcast_off&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Don</span><span class="se">\&#39;</span><span class="s">t broadcast key presses&#39;</span><span class="p">),</span>
<span class="s">&#39;broadcast_group&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Broadcast key presses to group&#39;</span><span class="p">),</span>
<span class="s">&#39;broadcast_all&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Broadcast key events to all&#39;</span><span class="p">),</span>
<span class="s">&#39;insert_number&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Insert terminal number&#39;</span><span class="p">),</span>
<span class="s">&#39;insert_padded&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Insert padded terminal number&#39;</span><span class="p">),</span>
<span class="s">&#39;edit_window_title&#39;</span><span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Edit window title&#39;</span><span class="p">),</span>
<span class="s">&#39;layout_launcher&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Open layout launcher window&#39;</span><span class="p">),</span>
<span class="s">&#39;next_profile&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to next profile&#39;</span><span class="p">),</span>
<span class="s">&#39;previous_profile&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Switch to previous profile&#39;</span><span class="p">),</span>
<span class="s">&#39;help&#39;</span> <span class="p">:</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;Open the manual&#39;</span><span class="p">)</span>
<span class="p">}</span>
<div class="viewcode-block" id="PrefsEditor.__init__"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span> <span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">term</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">Config</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">base</span><span class="o">.</span><span class="n">reload</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">term</span> <span class="o">=</span> <span class="n">term</span>
<span class="bp">self</span><span class="o">.</span><span class="n">builder</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">Builder</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">set_translation_domain</span><span class="p">(</span><span class="n">APP_NAME</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">keybindings</span> <span class="o">=</span> <span class="n">Keybindings</span><span class="p">()</span>
<span class="k">try</span><span class="p">:</span>
<span class="c"># Figure out where our library is on-disk so we can open our</span>
<span class="p">(</span><span class="n">head</span><span class="p">,</span> <span class="n">_tail</span><span class="p">)</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">config</span><span class="o">.</span><span class="n">__file__</span><span class="p">)</span>
<span class="n">librarypath</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">head</span><span class="p">,</span> <span class="s">&#39;preferences.glade&#39;</span><span class="p">)</span>
<span class="n">gladefile</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">librarypath</span><span class="p">,</span> <span class="s">&#39;r&#39;</span><span class="p">)</span>
<span class="n">gladedata</span> <span class="o">=</span> <span class="n">gladefile</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">ex</span><span class="p">:</span>
<span class="k">print</span> <span class="s">&quot;Failed to find preferences.glade&quot;</span>
<span class="k">print</span> <span class="n">ex</span>
<span class="k">return</span>
<span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">add_from_string</span><span class="p">(</span><span class="n">gladedata</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">window</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;prefswin&#39;</span><span class="p">)</span>
<span class="n">icon_theme</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">icon_theme_get_default</span><span class="p">()</span>
<span class="k">if</span> <span class="n">icon_theme</span><span class="o">.</span><span class="n">lookup_icon</span><span class="p">(</span><span class="s">&#39;terminator-preferences&#39;</span><span class="p">,</span> <span class="mi">48</span><span class="p">,</span> <span class="mi">0</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">set_icon_name</span><span class="p">(</span><span class="s">&#39;terminator-preferences&#39;</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;Unable to load Terminator preferences icon&#39;</span><span class="p">)</span>
<span class="n">icon</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">render_icon</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">STOCK_DIALOG_INFO</span><span class="p">,</span> <span class="n">gtk</span><span class="o">.</span><span class="n">ICON_SIZE_BUTTON</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">set_icon</span><span class="p">(</span><span class="n">icon</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span> <span class="o">=</span> <span class="n">LayoutEditor</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">connect_signals</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">prepare</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">show_all</span><span class="p">()</span>
<span class="k">try</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">inhibit_save</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_values</span><span class="p">()</span>
<span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">e</span><span class="p">:</span>
<span class="n">err</span><span class="p">(</span><span class="s">&#39;Unable to set values: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">e</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">uninhibit_save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_closebutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_closebutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_closebutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Close the window&quot;&quot;&quot;</span>
<span class="n">terminator</span> <span class="o">=</span> <span class="n">Terminator</span><span class="p">()</span>
<span class="n">terminator</span><span class="o">.</span><span class="n">reconfigure</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">window</span><span class="o">.</span><span class="n">destroy</span><span class="p">()</span>
<span class="k">del</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.set_values"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.set_values">[docs]</a> <span class="k">def</span> <span class="nf">set_values</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update the preferences window with all the configuration from</span>
<span class="sd"> Config()&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="c">## Global tab</span>
<span class="c"># Mouse focus</span>
<span class="n">focus</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;focus&#39;</span><span class="p">]</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">if</span> <span class="n">focus</span> <span class="o">==</span> <span class="s">&#39;click&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="n">focus</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;sloppy&#39;</span><span class="p">,</span> <span class="s">&#39;mouse&#39;</span><span class="p">]:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;focuscombo&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">active</span><span class="p">)</span>
<span class="c"># Terminal separator size</span>
<span class="n">termsepsize</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;handle_size&#39;</span><span class="p">]</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;handlesize&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">termsepsize</span><span class="p">))</span>
<span class="c"># Window geometry hints</span>
<span class="n">geomhint</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;geometry_hinting&#39;</span><span class="p">]</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;wingeomcheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">geomhint</span><span class="p">)</span>
<span class="c"># Window state</span>
<span class="n">option</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;window_state&#39;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;hidden&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;maximise&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">2</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;fullscreen&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">3</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;winstatecombo&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">active</span><span class="p">)</span>
<span class="c"># Window borders</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;winbordercheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;borderless&#39;</span><span class="p">])</span>
<span class="c"># Tab bar position</span>
<span class="n">option</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;tab_position&#39;</span><span class="p">]</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;tabposcombo&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;bottom&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;left&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">2</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;right&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">3</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;hidden&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">4</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">active</span><span class="p">)</span>
<span class="c"># Broadcast default</span>
<span class="n">option</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;broadcast_default&#39;</span><span class="p">]</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;broadcastdefault&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;all&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">elif</span> <span class="n">option</span> <span class="o">==</span> <span class="s">&#39;off&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">2</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">active</span><span class="p">)</span>
<span class="c"># scroll_tabbar</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scrolltabbarcheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_tabbar&#39;</span><span class="p">])</span>
<span class="c"># homogeneous_tabbar</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;homogeneouscheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;homogeneous_tabbar&#39;</span><span class="p">])</span>
<span class="c"># DBus Server</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;dbuscheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;dbus&#39;</span><span class="p">])</span>
<span class="c">#Hide from taskbar</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;hidefromtaskbcheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;hide_from_taskbar&#39;</span><span class="p">])</span>
<span class="c">#Always on top</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;alwaysontopcheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;always_on_top&#39;</span><span class="p">])</span>
<span class="c">#Hide on lose focus</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;hideonlosefocuscheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;hide_on_lose_focus&#39;</span><span class="p">])</span>
<span class="c">#Show on all workspaces</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;stickycheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;sticky&#39;</span><span class="p">])</span>
<span class="c">#Hide size text from the title bar</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;title_hide_sizetextcheck&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_hide_sizetext&#39;</span><span class="p">])</span>
<span class="c">#Always split with profile</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;always_split_with_profile&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;always_split_with_profile&#39;</span><span class="p">])</span>
<span class="c">#Titlebar font selector</span>
<span class="c"># Use system font</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;title_system_font_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_use_system_font&#39;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">on_title_system_font_checkbutton_toggled</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="c"># Font selector</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;title_font_selector&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_use_system_font&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">fontname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">get_system_prop_font</span><span class="p">()</span>
<span class="k">if</span> <span class="n">fontname</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="n">fontname</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_font&#39;</span><span class="p">])</span>
<span class="c">## Profile tab</span>
<span class="c"># Populate the profile list</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;profilelist&#39;</span><span class="p">)</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">profiles</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">list_profiles</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profileiters</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">for</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">profiles</span><span class="p">:</span>
<span class="k">if</span> <span class="n">profile</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="n">editable</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">editable</span> <span class="o">=</span> <span class="bp">True</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profileiters</span><span class="p">[</span><span class="n">profile</span><span class="p">]</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">profile</span><span class="p">,</span> <span class="n">editable</span><span class="p">])</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&#39;changed&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_profile_selection_changed</span><span class="p">)</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">profileiters</span><span class="p">[</span><span class="s">&#39;default&#39;</span><span class="p">])</span>
<span class="c">## Layouts tab</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">layouts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">list_layouts</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layoutiters</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">for</span> <span class="n">layout</span> <span class="ow">in</span> <span class="n">layouts</span><span class="p">:</span>
<span class="k">if</span> <span class="n">layout</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="n">editable</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">editable</span> <span class="o">=</span> <span class="bp">True</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layoutiters</span><span class="p">[</span><span class="n">layout</span><span class="p">]</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">layout</span><span class="p">,</span> <span class="n">editable</span><span class="p">])</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&#39;changed&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_layout_selection_changed</span><span class="p">)</span>
<span class="n">terminator</span> <span class="o">=</span> <span class="n">Terminator</span><span class="p">()</span>
<span class="k">if</span> <span class="n">terminator</span><span class="o">.</span><span class="n">layoutname</span><span class="p">:</span>
<span class="n">layout_to_highlight</span> <span class="o">=</span> <span class="n">terminator</span><span class="o">.</span><span class="n">layoutname</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">layout_to_highlight</span> <span class="o">=</span> <span class="s">&#39;default&#39;</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">layoutiters</span><span class="p">[</span><span class="n">layout_to_highlight</span><span class="p">])</span>
<span class="c"># Now set up the selection changed handler for the layout itself</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;LayoutTreeView&#39;</span><span class="p">)</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&#39;changed&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_layout_item_selection_changed</span><span class="p">)</span>
<span class="c">## Keybindings tab</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;keybindingtreeview&#39;</span><span class="p">)</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">liststore</span><span class="o">.</span><span class="n">set_sort_column_id</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">gtk</span><span class="o">.</span><span class="n">SORT_ASCENDING</span><span class="p">)</span>
<span class="n">keybindings</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;keybindings&#39;</span><span class="p">]</span>
<span class="k">for</span> <span class="n">keybinding</span> <span class="ow">in</span> <span class="n">keybindings</span><span class="p">:</span>
<span class="n">keyval</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">mask</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">keybindings</span><span class="p">[</span><span class="n">keybinding</span><span class="p">]</span>
<span class="k">if</span> <span class="n">value</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">value</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="p">(</span><span class="n">keyval</span><span class="p">,</span> <span class="n">mask</span><span class="p">)</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">keybindings</span><span class="o">.</span><span class="n">_parsebinding</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="k">except</span> <span class="n">KeymapError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="n">liststore</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">keybinding</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">keybindingnames</span><span class="p">[</span><span class="n">keybinding</span><span class="p">],</span>
<span class="n">keyval</span><span class="p">,</span> <span class="n">mask</span><span class="p">])</span>
<span class="c">## Plugins tab</span>
<span class="c"># Populate the plugin list</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;pluginlist&#39;</span><span class="p">)</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">registry</span> <span class="o">=</span> <span class="n">PluginRegistry</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">pluginiters</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">pluginlist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">registry</span><span class="o">.</span><span class="n">get_available_plugins</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">plugins</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">for</span> <span class="n">plugin</span> <span class="ow">in</span> <span class="n">pluginlist</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">registry</span><span class="o">.</span><span class="n">is_enabled</span><span class="p">(</span><span class="n">plugin</span><span class="p">)</span>
<span class="k">for</span> <span class="n">plugin</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">pluginiters</span><span class="p">[</span><span class="n">plugin</span><span class="p">]</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">plugin</span><span class="p">,</span>
<span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]])</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&#39;changed&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_plugin_selection_changed</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pluginiters</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="n">liststore</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
</div>
<div class="viewcode-block" id="PrefsEditor.set_profile_values"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.set_profile_values">[docs]</a> <span class="k">def</span> <span class="nf">set_profile_values</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">profile</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update the profile values for a given profile&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">set_profile</span><span class="p">(</span><span class="n">profile</span><span class="p">)</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;PrefsEditor::set_profile_values: Setting profile </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">profile</span><span class="p">)</span>
<span class="c">## General tab</span>
<span class="c"># Use system font</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;system_font_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_system_font&#39;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">on_system_font_checkbutton_toggled</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="c"># Font selector</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;font_selector&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_system_font&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">fontname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">get_system_mono_font</span><span class="p">()</span>
<span class="k">if</span> <span class="n">fontname</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="n">fontname</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;font&#39;</span><span class="p">])</span>
<span class="c"># Allow bold text</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;allow_bold_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;allow_bold&#39;</span><span class="p">])</span>
<span class="c"># Anti-alias</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;antialias_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;antialias&#39;</span><span class="p">])</span>
<span class="c"># Icon terminal bell</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;icon_bell_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;icon_bell&#39;</span><span class="p">])</span>
<span class="c"># Visual terminal bell</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;visual_bell_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;visible_bell&#39;</span><span class="p">])</span>
<span class="c"># Audible terminal bell</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;audible_bell_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;audible_bell&#39;</span><span class="p">])</span>
<span class="c"># WM_URGENT terminal bell</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;urgent_bell_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;urgent_bell&#39;</span><span class="p">])</span>
<span class="c"># Show titlebar</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;show_titlebar&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;show_titlebar&#39;</span><span class="p">])</span>
<span class="c"># Copy on selection</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;copy_on_selection&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;copy_on_selection&#39;</span><span class="p">])</span>
<span class="c"># Word chars</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;word_chars_entry&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;word_chars&#39;</span><span class="p">])</span>
<span class="c"># Cursor shape</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;cursor_shape_combobox&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_shape&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;underline&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_shape&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;ibeam&#39;</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">2</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">active</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="n">active</span><span class="p">)</span>
<span class="c"># Cursor blink</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;cursor_blink&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_blink&#39;</span><span class="p">])</span>
<span class="c"># Cursor colour</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;cursor_color&#39;</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_color&#39;</span><span class="p">]))</span>
<span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&quot;#FFFFFF&quot;</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_color&#39;</span><span class="p">]))</span>
<span class="c">## Command tab</span>
<span class="c"># Login shell</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;login_shell_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;login_shell&#39;</span><span class="p">])</span>
<span class="c"># Login records</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;update_records_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;update_records&#39;</span><span class="p">])</span>
<span class="c"># Use Custom command</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;use_custom_command_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_custom_command&#39;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">on_use_custom_command_checkbutton_toggled</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="c"># Custom Command</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;custom_command_entry&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;custom_command&#39;</span><span class="p">])</span>
<span class="c"># Exit action</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;exit_action_combobox&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;exit_action&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;restart&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;exit_action&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;hold&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="c"># Default is to close the terminal</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="c">## Colors tab</span>
<span class="c"># Use system colors</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;use_theme_colors_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_theme_colors&#39;</span><span class="p">])</span>
<span class="c"># Colorscheme</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;color_scheme_combobox&#39;</span><span class="p">)</span>
<span class="n">scheme</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">for</span> <span class="n">ascheme</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">:</span>
<span class="n">forecol</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">[</span><span class="n">ascheme</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
<span class="n">backcol</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">[</span><span class="n">ascheme</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;foreground_color&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="n">forecol</span> <span class="ow">and</span> \
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_color&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="n">backcol</span><span class="p">:</span>
<span class="n">scheme</span> <span class="o">=</span> <span class="n">ascheme</span>
<span class="k">break</span>
<span class="k">if</span> <span class="n">scheme</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">colorschemevalues</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;foreground_color&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="bp">None</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">]</span> <span class="ow">or</span> \
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_color&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="bp">None</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">]:</span>
<span class="n">scheme</span> <span class="o">=</span> <span class="s">&#39;grey_on_black&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">scheme</span> <span class="o">=</span> <span class="s">&#39;custom&#39;</span>
<span class="c"># NOTE: The scheme is set in the GUI widget after the fore/back colours</span>
<span class="c"># Foreground color</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;foreground_colorpicker&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;foreground_color&#39;</span><span class="p">]))</span>
<span class="k">if</span> <span class="n">scheme</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="c"># Background color</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_colorpicker&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_color&#39;</span><span class="p">]))</span>
<span class="k">if</span> <span class="n">scheme</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="c"># Now actually set the scheme</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;color_scheme_combobox&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">colorschemevalues</span><span class="p">[</span><span class="n">scheme</span><span class="p">])</span>
<span class="c"># Palette scheme</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_combobox&#39;</span><span class="p">)</span>
<span class="n">palette</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">for</span> <span class="n">apalette</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettes</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;palette&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettes</span><span class="p">[</span><span class="n">apalette</span><span class="p">]:</span>
<span class="n">palette</span> <span class="o">=</span> <span class="n">apalette</span>
<span class="k">if</span> <span class="n">palette</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettevalues</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;palette&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="bp">None</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">]:</span>
<span class="n">palette</span> <span class="o">=</span> <span class="s">&#39;rxvt&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">palette</span> <span class="o">=</span> <span class="s">&#39;custom&#39;</span>
<span class="c"># NOTE: The palette selector is set after the colour pickers</span>
<span class="c"># Palette colour pickers</span>
<span class="n">colourpalette</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;palette&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">17</span><span class="p">):</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_colorpicker_</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">i</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="n">colourpalette</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
<span class="c"># Now set the palette selector widget</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_combobox&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">palettevalues</span><span class="p">[</span><span class="n">palette</span><span class="p">])</span>
<span class="c"># Titlebar colors</span>
<span class="k">for</span> <span class="n">bit</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;title_transmit_fg_color&#39;</span><span class="p">,</span> <span class="s">&#39;title_transmit_bg_color&#39;</span><span class="p">,</span>
<span class="s">&#39;title_receive_fg_color&#39;</span><span class="p">,</span> <span class="s">&#39;title_receive_bg_color&#39;</span><span class="p">,</span>
<span class="s">&#39;title_inactive_fg_color&#39;</span><span class="p">,</span> <span class="s">&#39;title_inactive_bg_color&#39;</span><span class="p">]:</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="n">bit</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="n">bit</span><span class="p">]))</span>
<span class="c"># Inactive terminal shading</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;inactive_color_offset&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;inactive_color_offset&#39;</span><span class="p">]))</span>
<span class="c"># Use custom URL handler</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;use_custom_url_handler_checkbox&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_custom_url_handler&#39;</span><span class="p">])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">on_use_custom_url_handler_checkbutton_toggled</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="c"># Custom URL handler</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;custom_url_handler_entry&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;custom_url_handler&#39;</span><span class="p">])</span>
<span class="c">## Background tab</span>
<span class="c"># Radio values</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;solid&#39;</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;solid_radiobutton&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;image&#39;</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;image_radiobutton&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;transparent&#39;</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;transparent_radiobutton&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">update_background_tab</span><span class="p">()</span>
<span class="c"># Background image file</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_image&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_image_filechooser&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_image&#39;</span><span class="p">]</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> \
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_image&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_filename</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_image&#39;</span><span class="p">])</span>
<span class="c"># Background image scrolls</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scroll_background_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_background&#39;</span><span class="p">])</span>
<span class="c"># Background shading</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_darkness_scale&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_darkness&#39;</span><span class="p">]))</span>
<span class="c">## Scrolling tab</span>
<span class="c"># Scrollbar position</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scrollbar_position_combobox&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollbar_position&#39;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;left&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">value</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;disabled&#39;</span><span class="p">,</span> <span class="s">&#39;hidden&#39;</span><span class="p">]:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="c"># Scrollback lines</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scrollback_lines_spinbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollback_lines&#39;</span><span class="p">])</span>
<span class="c"># Scrollback infinite</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scrollback_infinite&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollback_infinite&#39;</span><span class="p">])</span>
<span class="c"># Scroll on outut</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scroll_on_output_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_on_output&#39;</span><span class="p">])</span>
<span class="c"># Scroll on keystroke</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scroll_on_keystroke_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_on_keystroke&#39;</span><span class="p">])</span>
<span class="c"># Scroll in alternate mode</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;alternate_screen_scroll_checkbutton&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;alternate_screen_scroll&#39;</span><span class="p">])</span>
<span class="c">## Compatibility tab</span>
<span class="c"># Backspace key</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;backspace_binding_combobox&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;backspace_binding&#39;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;control-h&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;ascii-del&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;escape-sequence&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="c"># Delete key</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;delete_binding_combobox&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;delete_binding&#39;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;control-h&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;ascii-del&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;escape-sequence&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="c"># Encoding</span>
<span class="n">rowiter</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;encoding_combobox&#39;</span><span class="p">)</span>
<span class="n">encodingstore</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;EncodingListStore&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;encoding&#39;</span><span class="p">]</span>
<span class="n">encodings</span> <span class="o">=</span> <span class="n">TerminatorEncoding</span><span class="p">()</span><span class="o">.</span><span class="n">get_list</span><span class="p">()</span>
<span class="n">encodings</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="nb">cmp</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">(),</span> <span class="n">y</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()))</span>
<span class="k">for</span> <span class="n">encoding</span> <span class="ow">in</span> <span class="n">encodings</span><span class="p">:</span>
<span class="k">if</span> <span class="n">encoding</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">continue</span>
<span class="n">label</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">encoding</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">encoding</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="n">rowiter</span> <span class="o">=</span> <span class="n">encodingstore</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">label</span><span class="p">,</span> <span class="n">encoding</span><span class="p">[</span><span class="mi">1</span><span class="p">]])</span>
<span class="k">if</span> <span class="n">encoding</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="n">value</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active_iter</span><span class="p">(</span><span class="n">rowiter</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.set_layout"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.set_layout">[docs]</a> <span class="k">def</span> <span class="nf">set_layout</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">layout_name</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Set a layout&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">set_layout</span><span class="p">(</span><span class="n">layout_name</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_wingeomcheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_wingeomcheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_wingeomcheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Window geometry setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;geometry_hinting&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_homogeneous_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_homogeneous_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_homogeneous_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;homogeneous_tabbar setting changed&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;homogeneous_tabbar&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">scroll_toggled</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scrolltabbarcheck&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">():</span>
<span class="n">scroll_toggled</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">scroll_toggled</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">scroll_toggled</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scroll_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scroll_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_scroll_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;scroll_tabbar setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_tabbar&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_dbuscheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_dbuscheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_dbuscheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;DBus server setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;dbus&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_winbordercheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_winbordercheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_winbordercheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Window border setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;borderless&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_hidefromtaskbcheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_hidefromtaskbcheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_hidefromtaskbcheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Hide from taskbar setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;hide_from_taskbar&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_alwaysontopcheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_alwaysontopcheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_alwaysontopcheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Always on top setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;always_on_top&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_hideonlosefocuscheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_hideonlosefocuscheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_hideonlosefocuscheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Hide on lose focus setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;hide_on_lose_focus&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_stickycheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_stickycheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_stickycheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Sticky setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;sticky&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_hide_sizetextcheck_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_hide_sizetextcheck_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_title_hide_sizetextcheck_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Window geometry setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_hide_sizetext&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_always_split_with_profile_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_always_split_with_profile_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_always_split_with_profile_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Always split with profile setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;always_split_with_profile&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_allow_bold_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_allow_bold_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_allow_bold_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Allow bold setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;allow_bold&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_antialias_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_antialias_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_antialias_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Anti-alias setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;antialias&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_show_titlebar_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_show_titlebar_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_show_titlebar_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Show titlebar setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;show_titlebar&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_copy_on_selection_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_copy_on_selection_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_copy_on_selection_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Copy on selection setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;copy_on_selection&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_cursor_blink_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_cursor_blink_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_cursor_blink_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Cursor blink setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_blink&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_icon_bell_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_icon_bell_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_icon_bell_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Icon bell setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;icon_bell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_visual_bell_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_visual_bell_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_visual_bell_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Visual bell setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;visible_bell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_audible_bell_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_audible_bell_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_audible_bell_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Audible bell setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;audible_bell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_urgent_bell_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_urgent_bell_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_urgent_bell_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Window manager bell setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;urgent_bell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_login_shell_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_login_shell_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_login_shell_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Login shell setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;login_shell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_update_records_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_update_records_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_update_records_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update records setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;update_records&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scroll_background_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scroll_background_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_scroll_background_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scroll background setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_background&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_alternate_screen_scroll_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_alternate_screen_scroll_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_alternate_screen_scroll_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scroll in alt-mode setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;alternate_screen_scroll&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scroll_on_keystroke_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scroll_on_keystroke_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_scroll_on_keystroke_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scroll on keystrong setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_on_keystroke&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scroll_on_output_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scroll_on_output_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_scroll_on_output_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scroll on output setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scroll_on_output&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_delete_binding_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_delete_binding_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_delete_binding_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Delete binding setting changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;control-h&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;ascii-del&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;escape-sequence&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;automatic&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;delete_binding&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_backspace_binding_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_backspace_binding_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_backspace_binding_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Backspace binding setting changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;control-h&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;ascii-del&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
<span class="n">value</span> <span class="o">==</span> <span class="s">&#39;escape-sequence&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;automatic&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;backspace_binding&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_encoding_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_encoding_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_encoding_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Encoding setting changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active_iter</span><span class="p">()</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">selected</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;encoding&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scrollback_lines_spinbutton_value_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scrollback_lines_spinbutton_value_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_scrollback_lines_spinbutton_value_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scrollback lines setting changed&quot;&quot;&quot;</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_value_as_int</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollback_lines&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scrollback_infinite_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scrollback_infinite_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_scrollback_infinite_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scrollback infiniteness changed&quot;&quot;&quot;</span>
<span class="n">spinbutton</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;scrollback_lines_spinbutton&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">spinbutton</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">spinbutton</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollback_infinite&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_scrollbar_position_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_scrollbar_position_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_scrollbar_position_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Scrollbar position setting changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;right&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;hidden&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;left&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;scrollbar_position&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_darken_background_scale_change_value"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_darken_background_scale_change_value">[docs]</a> <span class="k">def</span> <span class="nf">on_darken_background_scale_change_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">scroll</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Background darkness setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_darkness&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">round</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_background_image_filechooser_file_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_background_image_filechooser_file_set">[docs]</a> <span class="k">def</span> <span class="nf">on_background_image_filechooser_file_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Background image setting changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_image&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_filename</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_palette_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_palette_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_palette_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Palette selector changed&quot;&quot;&quot;</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">active</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettevalues</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettevalues</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">==</span> <span class="n">active</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">key</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">sensitive</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">sensitive</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">for</span> <span class="n">num</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">17</span><span class="p">):</span>
<span class="n">picker</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_colorpicker_</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">num</span><span class="p">)</span>
<span class="n">picker</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="n">sensitive</span><span class="p">)</span>
<span class="k">if</span> <span class="n">value</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettes</span><span class="p">:</span>
<span class="n">palette</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">palettes</span><span class="p">[</span><span class="n">value</span><span class="p">]</span>
<span class="n">palettebits</span> <span class="o">=</span> <span class="n">palette</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">)</span>
<span class="k">for</span> <span class="n">num</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">17</span><span class="p">):</span>
<span class="c"># Update the visible elements</span>
<span class="n">picker</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_colorpicker_</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">num</span><span class="p">)</span>
<span class="n">picker</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="n">palettebits</span><span class="p">[</span><span class="n">num</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]))</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">palettebits</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">num</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">17</span><span class="p">):</span>
<span class="n">picker</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_colorpicker_</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">num</span><span class="p">)</span>
<span class="n">palettebits</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">color2hex</span><span class="p">(</span><span class="n">picker</span><span class="p">))</span>
<span class="n">palette</span> <span class="o">=</span> <span class="s">&#39;:&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">palettebits</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">err</span><span class="p">(</span><span class="s">&#39;Unknown palette value: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">value</span><span class="p">)</span>
<span class="k">return</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;palette&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">palette</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_background_colorpicker_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_background_colorpicker_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_background_colorpicker_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Background color changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_foreground_colorpicker_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_foreground_colorpicker_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_foreground_colorpicker_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Foreground color changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;foreground_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_palette_colorpicker_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_palette_colorpicker_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_palette_colorpicker_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A palette colour changed&quot;&quot;&quot;</span>
<span class="n">palette</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">palettebits</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="c"># FIXME: We do this at least once elsewhere. refactor!</span>
<span class="k">for</span> <span class="n">num</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">17</span><span class="p">):</span>
<span class="n">picker</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;palette_colorpicker_</span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">num</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">picker</span><span class="p">)</span>
<span class="n">palettebits</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="n">palette</span> <span class="o">=</span> <span class="s">&#39;:&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">palettebits</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;palette&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">palette</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_exit_action_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_exit_action_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_exit_action_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Exit action changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;restart&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;hold&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;close&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;exit_action&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_custom_url_handler_entry_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_custom_url_handler_entry_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_custom_url_handler_entry_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Custom URL handler value changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;custom_url_handler&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_text</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_custom_command_entry_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_custom_command_entry_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_custom_command_entry_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Custom command value changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;custom_command&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_text</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_cursor_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_cursor_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_cursor_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Cursor colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_cursor_shape_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_cursor_shape_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_cursor_shape_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Cursor shape changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;underline&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;ibeam&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;block&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;cursor_shape&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_word_chars_entry_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_word_chars_entry_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_word_chars_entry_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Word characters changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;word_chars&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_text</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_font_selector_font_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_font_selector_font_set">[docs]</a> <span class="k">def</span> <span class="nf">on_font_selector_font_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Font changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;font&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_font_name</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_font_selector_font_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_font_selector_font_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_font_selector_font_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Titlebar Font changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_font&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_font_name</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_receive_bg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_receive_bg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_receive_bg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title receive background colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_receive_bg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_receive_fg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_receive_fg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_receive_fg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title receive foreground colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_receive_fg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_inactive_bg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_inactive_bg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_inactive_bg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title inactive background colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_inactive_bg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_transmit_bg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_transmit_bg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_transmit_bg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title transmit backgruond colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_transmit_bg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_inactive_fg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_inactive_fg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_inactive_fg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title inactive foreground colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_inactive_fg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_transmit_fg_color_color_set"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_transmit_fg_color_color_set">[docs]</a> <span class="k">def</span> <span class="nf">on_title_transmit_fg_color_color_set</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Title transmit foreground colour changed&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_transmit_fg_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_inactive_color_offset_change_value"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_inactive_color_offset_change_value">[docs]</a> <span class="k">def</span> <span class="nf">on_inactive_color_offset_change_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">scroll</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Inactive color offset setting changed&quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mf">1.0</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="mf">1.0</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;inactive_color_offset&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">round</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_handlesize_change_value"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_handlesize_change_value">[docs]</a> <span class="k">def</span> <span class="nf">on_handlesize_change_value</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">,</span> <span class="n">scroll</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Handle size changed&quot;&quot;&quot;</span>
<span class="n">value</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">&gt;</span> <span class="mi">5</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="mi">5</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;handle_size&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_focuscombo_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_focuscombo_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_focuscombo_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Focus type changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;click&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;mouse&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;system&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;focus&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_tabposcombo_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_tabposcombo_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_tabposcombo_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Tab position changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;bottom&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;left&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;right&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">4</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;hidden&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;top&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;tab_position&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_broadcastdefault_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_broadcastdefault_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_broadcastdefault_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Broadcast default changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;all&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;off&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;group&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;broadcast_default&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_winstatecombo_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_winstatecombo_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_winstatecombo_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Window state changed&quot;&quot;&quot;</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">if</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;hidden&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;maximise&#39;</span>
<span class="k">elif</span> <span class="n">selected</span> <span class="o">==</span> <span class="mi">3</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;fullscreen&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="s">&#39;normal&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;window_state&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_profileaddbutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_profileaddbutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_profileaddbutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Add a new profile to the list&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;profilelist&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">values</span> <span class="o">=</span> <span class="p">[</span> <span class="n">r</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">model</span> <span class="p">]</span>
<span class="n">newprofile</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;New Profile&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">newprofile</span> <span class="ow">in</span> <span class="n">values</span><span class="p">:</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">while</span> <span class="n">newprofile</span> <span class="ow">in</span> <span class="n">values</span><span class="p">:</span>
<span class="n">i</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span>
<span class="n">newprofile</span> <span class="o">=</span> <span class="s">&#39;</span><span class="si">%s</span><span class="s"> </span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;New Profile&#39;</span><span class="p">),</span> <span class="n">i</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">add_profile</span><span class="p">(</span><span class="n">newprofile</span><span class="p">):</span>
<span class="n">res</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">newprofile</span><span class="p">,</span> <span class="bp">True</span><span class="p">])</span>
<span class="k">if</span> <span class="n">res</span><span class="p">:</span>
<span class="n">path</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_path</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
<span class="n">treeview</span><span class="o">.</span><span class="n">set_cursor</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">focus_column</span><span class="o">=</span><span class="n">treeview</span><span class="o">.</span><span class="n">get_column</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span>
<span class="n">start_editing</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">update_profiles</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_profileremovebutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_profileremovebutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_profileremovebutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Remove a profile from the list&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;profilelist&#39;</span><span class="p">)</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="n">profile</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="n">profile</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="c"># We shouldn&#39;t let people delete this profile</span>
<span class="k">return</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_profile_selection</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">del_profile</span><span class="p">(</span><span class="n">profile</span><span class="p">)</span>
<span class="n">model</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">rowiter</span><span class="p">)</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">update_profiles</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layoutaddbutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layoutaddbutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_layoutaddbutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Add a new layout to the list&quot;&quot;&quot;</span>
<span class="n">terminator</span> <span class="o">=</span> <span class="n">Terminator</span><span class="p">()</span>
<span class="n">current_layout</span> <span class="o">=</span> <span class="n">terminator</span><span class="o">.</span><span class="n">describe_layout</span><span class="p">()</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">values</span> <span class="o">=</span> <span class="p">[</span> <span class="n">r</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">model</span> <span class="p">]</span>
<span class="n">name</span> <span class="o">=</span> <span class="n">_</span><span class="p">(</span><span class="s">&#39;New Layout&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">values</span><span class="p">:</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">while</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">values</span><span class="p">:</span>
<span class="n">i</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span>
<span class="n">name</span> <span class="o">=</span> <span class="s">&#39;</span><span class="si">%s</span><span class="s"> </span><span class="si">%d</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;New Layout&#39;</span><span class="p">),</span> <span class="n">i</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">add_layout</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">current_layout</span><span class="p">):</span>
<span class="n">res</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">name</span><span class="p">,</span> <span class="bp">True</span><span class="p">])</span>
<span class="k">if</span> <span class="n">res</span><span class="p">:</span>
<span class="n">path</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_path</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
<span class="n">treeview</span><span class="o">.</span><span class="n">set_cursor</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">focus_column</span><span class="o">=</span><span class="n">treeview</span><span class="o">.</span><span class="n">get_column</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span>
<span class="n">start_editing</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layoutrefreshbutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layoutrefreshbutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_layoutrefreshbutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Refresh the terminals status and update&quot;&quot;&quot;</span>
<span class="n">terminator</span> <span class="o">=</span> <span class="n">Terminator</span><span class="p">()</span>
<span class="n">current_layout</span> <span class="o">=</span> <span class="n">terminator</span><span class="o">.</span><span class="n">describe_layout</span><span class="p">()</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selected</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="n">name</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">replace_layout</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">current_layout</span><span class="p">):</span>
<span class="n">treeview</span><span class="o">.</span><span class="n">set_cursor</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">get_path</span><span class="p">(</span><span class="n">rowiter</span><span class="p">),</span> <span class="n">focus_column</span><span class="o">=</span><span class="n">treeview</span><span class="o">.</span><span class="n">get_column</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> <span class="n">start_editing</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layoutremovebutton_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layoutremovebutton_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_layoutremovebutton_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_button</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Remove a layout from the list&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">selection</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="n">layout</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="c"># We shouldn&#39;t let people delete this layout</span>
<span class="k">return</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_selection</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">del_layout</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
<span class="n">model</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">rowiter</span><span class="p">)</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="n">model</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_use_custom_url_handler_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_use_custom_url_handler_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_use_custom_url_handler_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">checkbox</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Toggling the use_custom_url_handler checkbox needs to alter the</span>
<span class="sd"> sensitivity of the custom_url_handler entrybox&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;custom_url_handler_entry&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">checkbox</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_custom_url_handler&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_use_custom_command_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_use_custom_command_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_use_custom_command_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">checkbox</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Toggling the use_custom_command checkbox needs to alter the</span>
<span class="sd"> sensitivity of the custom_command entrybox&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;custom_command_entry&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">checkbox</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_custom_command&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_system_font_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_system_font_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_system_font_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">checkbox</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Toggling the use_system_font checkbox needs to alter the</span>
<span class="sd"> sensitivity of the font selector&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;font_selector&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">checkbox</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="ow">not</span> <span class="n">value</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_system_font&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_system_font&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">fontname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">get_system_mono_font</span><span class="p">()</span>
<span class="k">if</span> <span class="n">fontname</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="n">fontname</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;font&#39;</span><span class="p">])</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_title_system_font_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_title_system_font_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_title_system_font_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">checkbox</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Toggling the title_use_system_font checkbox needs to alter the</span>
<span class="sd"> sensitivity of the font selector&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;title_font_selector&#39;</span><span class="p">)</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">checkbox</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="ow">not</span> <span class="n">value</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_use_system_font&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_use_system_font&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">fontname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">get_system_prop_font</span><span class="p">()</span>
<span class="k">if</span> <span class="n">fontname</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="n">fontname</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_font_name</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;title_font&#39;</span><span class="p">])</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_reset_compatibility_clicked"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_reset_compatibility_clicked">[docs]</a> <span class="k">def</span> <span class="nf">on_reset_compatibility_clicked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Reset the confusing and annoying backspace/delete options to the</span>
<span class="sd"> safest values&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;backspace_binding_combobox&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="n">widget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;delete_binding_combobox&#39;</span><span class="p">)</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_background_type_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_background_type_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_background_type_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;The background type was toggled&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">update_background_tab</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.update_background_tab"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.update_background_tab">[docs]</a> <span class="k">def</span> <span class="nf">update_background_tab</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update the background tab&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="c"># Background type</span>
<span class="n">backtype</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">imagewidget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;image_radiobutton&#39;</span><span class="p">)</span>
<span class="n">transwidget</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;transparent_radiobutton&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">transwidget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">backtype</span> <span class="o">=</span> <span class="s">&#39;transparent&#39;</span>
<span class="k">elif</span> <span class="n">imagewidget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">backtype</span> <span class="o">=</span> <span class="s">&#39;image&#39;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">backtype</span> <span class="o">=</span> <span class="s">&#39;solid&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">backtype</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
<span class="k">if</span> <span class="n">backtype</span> <span class="o">==</span> <span class="s">&#39;image&#39;</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_image_filechooser&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scroll_background_checkbutton&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_image_filechooser&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;scroll_background_checkbutton&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">if</span> <span class="n">backtype</span> <span class="ow">in</span> <span class="p">(</span><span class="s">&#39;transparent&#39;</span><span class="p">,</span> <span class="s">&#39;image&#39;</span><span class="p">):</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;darken_background_scale&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">guiget</span><span class="p">(</span><span class="s">&#39;darken_background_scale&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_profile_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_profile_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_profile_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different profile was selected&quot;&quot;&quot;</span>
<span class="p">(</span><span class="n">listmodel</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">rowiter</span><span class="p">:</span>
<span class="c"># Something is wrong, just jump to the first item in the list</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_tree_view</span><span class="p">()</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="n">liststore</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
<span class="k">return</span>
<span class="n">profile</span> <span class="o">=</span> <span class="n">listmodel</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_profile_values</span><span class="p">(</span><span class="n">profile</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_profile_selection</span> <span class="o">=</span> <span class="n">profile</span>
<span class="n">widget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;profileremovebutton&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">profile</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_plugin_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_plugin_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_plugin_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different plugin was selected&quot;&quot;&quot;</span>
<span class="p">(</span><span class="n">listmodel</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">rowiter</span><span class="p">:</span>
<span class="c"># Something is wrong, just jump to the first item in the list</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_tree_view</span><span class="p">()</span>
<span class="n">liststore</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="n">liststore</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
<span class="k">return</span>
<span class="n">plugin</span> <span class="o">=</span> <span class="n">listmodel</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_plugin</span><span class="p">(</span><span class="n">plugin</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_plugin_selection</span> <span class="o">=</span> <span class="n">plugin</span>
<span class="n">widget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;plugintogglebutton&#39;</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_plugin_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_plugin_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_plugin_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cell</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A plugin has been enabled or disabled&quot;&quot;&quot;</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;pluginlist&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">plugin</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="n">path</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]:</span>
<span class="c"># Plugin is currently disabled, load it</span>
<span class="bp">self</span><span class="o">.</span><span class="n">registry</span><span class="o">.</span><span class="n">enable</span><span class="p">(</span><span class="n">plugin</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="c"># Plugin is currently enabled, unload it</span>
<span class="bp">self</span><span class="o">.</span><span class="n">registry</span><span class="o">.</span><span class="n">disable</span><span class="p">(</span><span class="n">plugin</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]</span>
<span class="c"># Update the treeview</span>
<span class="n">model</span><span class="p">[</span><span class="n">path</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">plugin</span><span class="p">]</span>
<span class="n">enabled_plugins</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">plugins</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="o">==</span> <span class="bp">True</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;enabled_plugins&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">enabled_plugins</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.set_plugin"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.set_plugin">[docs]</a> <span class="k">def</span> <span class="nf">set_plugin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">plugin</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Show the preferences for the selected plugin, if any&quot;&quot;&quot;</span>
<span class="n">pluginpanelabel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;pluginpanelabel&#39;</span><span class="p">)</span>
<span class="n">pluginconfig</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">plugin_get_config</span><span class="p">(</span><span class="n">plugin</span><span class="p">)</span>
<span class="c"># FIXME: Implement this, we need to auto-construct a UI for the plugin</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_profile_name_edited"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_profile_name_edited">[docs]</a> <span class="k">def</span> <span class="nf">on_profile_name_edited</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cell</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">newtext</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update a profile name&quot;&quot;&quot;</span>
<span class="n">oldname_broken</span> <span class="o">=</span> <span class="n">cell</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">&#39;text&#39;</span><span class="p">)</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;profilelist&#39;</span><span class="p">)</span>
<span class="n">treeselection</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">treeselection</span><span class="o">.</span><span class="n">select_path</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">pathlist</span><span class="p">)</span> <span class="o">=</span> <span class="n">treeselection</span><span class="o">.</span><span class="n">get_selected_rows</span><span class="p">()</span>
<span class="n">tree_iter</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">pathlist</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">oldname</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">tree_iter</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">!=</span> <span class="n">oldname_broken</span><span class="p">:</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;edited signal provides the wrong cell: </span><span class="si">%s</span><span class="s"> != </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span><span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">oldname_broken</span><span class="p">))</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">==</span> <span class="n">newtext</span> <span class="ow">or</span> <span class="n">oldname</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="k">return</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;PrefsEditor::on_profile_name_edited: Changing </span><span class="si">%s</span><span class="s"> to </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span>
<span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">newtext</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">rename_profile</span><span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">newtext</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
<span class="n">widget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;profilelist&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">itera</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="n">model</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="n">itera</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">newtext</span><span class="p">)</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">previous_profile_selection</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_profile_selection</span> <span class="o">=</span> <span class="n">newtext</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different layout was selected&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">on_layout_selection_changed</span><span class="p">(</span><span class="n">selection</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_item_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_item_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_item_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different item in the layout was selected&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">on_layout_item_selection_changed</span><span class="p">(</span><span class="n">selection</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_profile_chooser_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_profile_chooser_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_chooser_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different profile has been selected for this item&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">on_layout_profile_chooser_changed</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_profile_command_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_profile_command_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_command_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different command has been entered for this item&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">on_layout_profile_command_activate</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_profile_workingdir_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_profile_workingdir_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_workingdir_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different working directory has been entered for this item&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">on_layout_profile_workingdir_activate</span><span class="p">(</span><span class="n">widget</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_layout_name_edited"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_layout_name_edited">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_name_edited</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cell</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">newtext</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update a layout name&quot;&quot;&quot;</span>
<span class="n">oldname_broken</span> <span class="o">=</span> <span class="n">cell</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">&#39;text&#39;</span><span class="p">)</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">treeselection</span> <span class="o">=</span> <span class="n">treeview</span><span class="o">.</span><span class="n">get_selection</span><span class="p">()</span>
<span class="n">treeselection</span><span class="o">.</span><span class="n">select_path</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="p">(</span><span class="n">model</span><span class="p">,</span> <span class="n">pathlist</span><span class="p">)</span> <span class="o">=</span> <span class="n">treeselection</span><span class="o">.</span><span class="n">get_selected_rows</span><span class="p">()</span>
<span class="n">tree_iter</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">pathlist</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">oldname</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">tree_iter</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">!=</span> <span class="n">oldname_broken</span><span class="p">:</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;edited signal provides the wrong cell: </span><span class="si">%s</span><span class="s"> != </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span><span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">oldname_broken</span><span class="p">))</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">==</span> <span class="n">newtext</span> <span class="ow">or</span> <span class="n">oldname</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="k">return</span>
<span class="n">dbg</span><span class="p">(</span><span class="s">&#39;Changing </span><span class="si">%s</span><span class="s"> to </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">newtext</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">rename_layout</span><span class="p">(</span><span class="n">oldname</span><span class="p">,</span> <span class="n">newtext</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
<span class="n">widget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layoutlist&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">itera</span> <span class="o">=</span> <span class="n">model</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="n">model</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="n">itera</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">newtext</span><span class="p">)</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">previous_layout_selection</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_layout_selection</span> <span class="o">=</span> <span class="n">newtext</span>
<span class="k">if</span> <span class="n">oldname</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">layout_name</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layouteditor</span><span class="o">.</span><span class="n">layout_name</span> <span class="o">=</span> <span class="n">newtext</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_color_scheme_combobox_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_color_scheme_combobox_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_color_scheme_combobox_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update the fore/background colour pickers&quot;&quot;&quot;</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">active</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">colorschemevalues</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">colorschemevalues</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">==</span> <span class="n">active</span><span class="p">:</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">key</span>
<span class="n">fore</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;foreground_colorpicker&#39;</span><span class="p">)</span>
<span class="n">back</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_colorpicker&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">fore</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">back</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">fore</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">back</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">forecol</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">backcol</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">if</span> <span class="n">value</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">:</span>
<span class="n">forecol</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">[</span><span class="n">value</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
<span class="n">backcol</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">colourschemes</span><span class="p">[</span><span class="n">value</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
<span class="k">elif</span> <span class="n">value</span> <span class="o">==</span> <span class="s">&#39;custom&#39;</span><span class="p">:</span>
<span class="n">forecol</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">fore</span><span class="p">)</span>
<span class="n">backcol</span> <span class="o">=</span> <span class="n">color2hex</span><span class="p">(</span><span class="n">back</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">err</span><span class="p">(</span><span class="s">&#39;Unknown colourscheme value: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">value</span><span class="p">)</span>
<span class="k">return</span>
<span class="n">fore</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="n">forecol</span><span class="p">))</span>
<span class="n">back</span><span class="o">.</span><span class="n">set_color</span><span class="p">(</span><span class="n">gtk</span><span class="o">.</span><span class="n">gdk</span><span class="o">.</span><span class="n">Color</span><span class="p">(</span><span class="n">backcol</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;foreground_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">forecol</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;background_color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">backcol</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_use_theme_colors_checkbutton_toggled"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_use_theme_colors_checkbutton_toggled">[docs]</a> <span class="k">def</span> <span class="nf">on_use_theme_colors_checkbutton_toggled</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update colour pickers&quot;&quot;&quot;</span>
<span class="n">guiget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span>
<span class="n">active</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active</span><span class="p">()</span>
<span class="n">scheme</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;color_scheme_combobox&#39;</span><span class="p">)</span>
<span class="n">fore</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;foreground_colorpicker&#39;</span><span class="p">)</span>
<span class="n">back</span> <span class="o">=</span> <span class="n">guiget</span><span class="p">(</span><span class="s">&#39;background_colorpicker&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">active</span><span class="p">:</span>
<span class="k">for</span> <span class="n">widget</span> <span class="ow">in</span> <span class="p">[</span><span class="n">scheme</span><span class="p">,</span> <span class="n">fore</span><span class="p">,</span> <span class="n">back</span><span class="p">]:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">scheme</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">on_color_scheme_combobox_changed</span><span class="p">(</span><span class="n">scheme</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;use_theme_colors&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">active</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_cellrenderer_accel_edited"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_cellrenderer_accel_edited">[docs]</a> <span class="k">def</span> <span class="nf">on_cellrenderer_accel_edited</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">liststore</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">mods</span><span class="p">,</span> <span class="n">_code</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Handle an edited keybinding&quot;&quot;&quot;</span>
<span class="n">celliter</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">get_iter_from_string</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="n">liststore</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">celliter</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">mods</span><span class="p">)</span>
<span class="n">binding</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">liststore</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">accel</span> <span class="o">=</span> <span class="n">gtk</span><span class="o">.</span><span class="n">accelerator_name</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">mods</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;keybindings&#39;</span><span class="p">][</span><span class="n">binding</span><span class="p">]</span> <span class="o">=</span> <span class="n">accel</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_cellrenderer_accel_cleared"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_cellrenderer_accel_cleared">[docs]</a> <span class="k">def</span> <span class="nf">on_cellrenderer_accel_cleared</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">liststore</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Handle the clearing of a keybinding accelerator&quot;&quot;&quot;</span>
<span class="n">celliter</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">get_iter_from_string</span><span class="p">(</span><span class="n">path</span><span class="p">)</span>
<span class="n">liststore</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">celliter</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">binding</span> <span class="o">=</span> <span class="n">liststore</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">liststore</span><span class="o">.</span><span class="n">get_iter</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="p">[</span><span class="s">&#39;keybindings&#39;</span><span class="p">][</span><span class="n">binding</span><span class="p">]</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="PrefsEditor.on_open_manual"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.PrefsEditor.on_open_manual">[docs]</a> <span class="k">def</span> <span class="nf">on_open_manual</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Open the fine manual&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">term</span><span class="o">.</span><span class="n">key_help</span><span class="p">()</span>
</div></div>
<div class="viewcode-block" id="LayoutEditor"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor">[docs]</a><span class="k">class</span> <span class="nc">LayoutEditor</span><span class="p">:</span>
<span class="n">profile_ids_to_profile</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">profile_profile_to_ids</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">layout_name</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">layout_item</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">builder</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">treestore</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">config</span> <span class="o">=</span> <span class="bp">None</span>
<div class="viewcode-block" id="LayoutEditor.__init__"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">builder</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Initialise ourself&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span> <span class="o">=</span> <span class="n">config</span><span class="o">.</span><span class="n">Config</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">builder</span> <span class="o">=</span> <span class="n">builder</span>
</div>
<div class="viewcode-block" id="LayoutEditor.prepare"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.prepare">[docs]</a> <span class="k">def</span> <span class="nf">prepare</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Do the things we can&#39;t do in __init__&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">treeview</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;LayoutTreeView&#39;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">treestore</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;LayoutTreeStore&#39;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">update_profiles</span><span class="p">()</span>
<span class="k">if</span> <span class="n">layout</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_layout</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="LayoutEditor.set_layout"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.set_layout">[docs]</a> <span class="k">def</span> <span class="nf">set_layout</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">layout_name</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Load a particular layout&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layout_name</span> <span class="o">=</span> <span class="n">layout_name</span>
<span class="n">store</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">treestore</span>
<span class="n">layout</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">layout_get_config</span><span class="p">(</span><span class="n">layout_name</span><span class="p">)</span>
<span class="n">listitems</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">store</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span>
<span class="n">children</span> <span class="o">=</span> <span class="n">layout</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">while</span> <span class="n">children</span> <span class="o">!=</span> <span class="p">[]:</span>
<span class="n">child</span> <span class="o">=</span> <span class="n">children</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span>
<span class="n">child_type</span> <span class="o">=</span> <span class="n">layout</span><span class="p">[</span><span class="n">child</span><span class="p">][</span><span class="s">&#39;type&#39;</span><span class="p">]</span>
<span class="n">parent</span> <span class="o">=</span> <span class="n">layout</span><span class="p">[</span><span class="n">child</span><span class="p">][</span><span class="s">&#39;parent&#39;</span><span class="p">]</span>
<span class="k">if</span> <span class="n">child_type</span> <span class="o">!=</span> <span class="s">&#39;Window&#39;</span> <span class="ow">and</span> <span class="n">parent</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">layout</span><span class="p">:</span>
<span class="c"># We have an orphan!</span>
<span class="n">err</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%s</span><span class="s"> is an orphan in this layout. Discarding&#39;</span> <span class="o">%</span> <span class="n">child</span><span class="p">)</span>
<span class="k">continue</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">parentiter</span> <span class="o">=</span> <span class="n">listitems</span><span class="p">[</span><span class="n">parent</span><span class="p">]</span>
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
<span class="k">if</span> <span class="n">child_type</span> <span class="o">==</span> <span class="s">&#39;Window&#39;</span><span class="p">:</span>
<span class="n">parentiter</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">else</span><span class="p">:</span>
<span class="c"># We&#39;re not ready for this widget yet</span>
<span class="n">children</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">child</span><span class="p">)</span>
<span class="k">continue</span>
<span class="k">if</span> <span class="n">child_type</span> <span class="o">==</span> <span class="s">&#39;VPaned&#39;</span><span class="p">:</span>
<span class="n">child_type</span> <span class="o">=</span> <span class="s">&#39;Vertical split&#39;</span>
<span class="k">elif</span> <span class="n">child_type</span> <span class="o">==</span> <span class="s">&#39;HPaned&#39;</span><span class="p">:</span>
<span class="n">child_type</span> <span class="o">=</span> <span class="s">&#39;Horizontal split&#39;</span>
<span class="n">listitems</span><span class="p">[</span><span class="n">child</span><span class="p">]</span> <span class="o">=</span> <span class="n">store</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">parentiter</span><span class="p">,</span> <span class="p">[</span><span class="n">child</span><span class="p">,</span> <span class="n">child_type</span><span class="p">])</span>
<span class="n">treeview</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;LayoutTreeView&#39;</span><span class="p">)</span>
<span class="n">treeview</span><span class="o">.</span><span class="n">expand_all</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="LayoutEditor.update_profiles"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.update_profiles">[docs]</a> <span class="k">def</span> <span class="nf">update_profiles</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Update the list of profiles&quot;&quot;&quot;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profile_ids_to_profile</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profile_profile_to_ids</span><span class="o">=</span> <span class="p">{}</span>
<span class="n">chooser</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_chooser&#39;</span><span class="p">)</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">chooser</span><span class="o">.</span><span class="n">get_model</span><span class="p">()</span>
<span class="n">model</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span>
<span class="n">profiles</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">list_profiles</span><span class="p">()</span>
<span class="n">profiles</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">profile</span> <span class="ow">in</span> <span class="n">profiles</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profile_ids_to_profile</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">profile</span>
<span class="bp">self</span><span class="o">.</span><span class="n">profile_profile_to_ids</span><span class="p">[</span><span class="n">profile</span><span class="p">]</span> <span class="o">=</span> <span class="n">i</span>
<span class="n">model</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">profile</span><span class="p">])</span>
<span class="n">i</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span>
</div>
<div class="viewcode-block" id="LayoutEditor.on_layout_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.on_layout_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different layout was selected&quot;&quot;&quot;</span>
<span class="p">(</span><span class="n">listmodel</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">rowiter</span><span class="p">:</span>
<span class="c"># Something is wrong, just jump to the first item in the list</span>
<span class="n">selection</span><span class="o">.</span><span class="n">select_iter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">treestore</span><span class="o">.</span><span class="n">get_iter_first</span><span class="p">())</span>
<span class="k">return</span>
<span class="n">layout</span> <span class="o">=</span> <span class="n">listmodel</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_layout</span><span class="p">(</span><span class="n">layout</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">previous_layout_selection</span> <span class="o">=</span> <span class="n">layout</span>
<span class="n">widget</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layoutremovebutton&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout</span> <span class="o">==</span> <span class="s">&#39;default&#39;</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">widget</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">command</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_command&#39;</span><span class="p">)</span>
<span class="n">chooser</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_chooser&#39;</span><span class="p">)</span>
<span class="n">workdir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_workingdir&#39;</span><span class="p">)</span>
<span class="n">command</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">chooser</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">workdir</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="LayoutEditor.on_layout_item_selection_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.on_layout_item_selection_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_item_selection_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">selection</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A different item in the layout was selected&quot;&quot;&quot;</span>
<span class="p">(</span><span class="n">treemodel</span><span class="p">,</span> <span class="n">rowiter</span><span class="p">)</span> <span class="o">=</span> <span class="n">selection</span><span class="o">.</span><span class="n">get_selected</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">rowiter</span><span class="p">:</span>
<span class="k">return</span>
<span class="n">item</span> <span class="o">=</span> <span class="n">treemodel</span><span class="o">.</span><span class="n">get_value</span><span class="p">(</span><span class="n">rowiter</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span> <span class="o">=</span> <span class="n">item</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_layout_item</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="LayoutEditor.set_layout_item"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.set_layout_item">[docs]</a> <span class="k">def</span> <span class="nf">set_layout_item</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">item_name</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;Set a layout item&quot;&quot;&quot;</span>
<span class="n">layout</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">layout_get_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_name</span><span class="p">)</span>
<span class="n">layout_item</span> <span class="o">=</span> <span class="n">layout</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span><span class="p">]</span>
<span class="n">command</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_command&#39;</span><span class="p">)</span>
<span class="n">chooser</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_chooser&#39;</span><span class="p">)</span>
<span class="n">workdir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">builder</span><span class="o">.</span><span class="n">get_object</span><span class="p">(</span><span class="s">&#39;layout_profile_workingdir&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;type&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;Terminal&#39;</span><span class="p">:</span>
<span class="n">command</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">chooser</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="n">workdir</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">return</span>
<span class="n">command</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">chooser</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">workdir</span><span class="o">.</span><span class="n">set_sensitive</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout_item</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="s">&#39;command&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;command&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="n">command</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;command&#39;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">command</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout_item</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="s">&#39;profile&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;profile&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="n">chooser</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">profile_profile_to_ids</span><span class="p">[</span><span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;profile&#39;</span><span class="p">]])</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">chooser</span><span class="o">.</span><span class="n">set_active</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="k">if</span> <span class="n">layout_item</span><span class="o">.</span><span class="n">has_key</span><span class="p">(</span><span class="s">&#39;directory&#39;</span><span class="p">)</span> <span class="ow">and</span> <span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;directory&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
<span class="n">workdir</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="n">layout_item</span><span class="p">[</span><span class="s">&#39;directory&#39;</span><span class="p">])</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">workdir</span><span class="o">.</span><span class="n">set_text</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="LayoutEditor.on_layout_profile_chooser_changed"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.on_layout_profile_chooser_changed">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_chooser_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A new profile has been selected for this item&quot;&quot;&quot;</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span><span class="p">:</span>
<span class="k">return</span>
<span class="n">profile</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_active_text</span><span class="p">()</span>
<span class="n">layout</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">layout_get_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_name</span><span class="p">)</span>
<span class="n">layout</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span><span class="p">][</span><span class="s">&#39;profile&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">profile</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="LayoutEditor.on_layout_profile_command_activate"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.on_layout_profile_command_activate">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_command_activate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A new command has been entered for this item&quot;&quot;&quot;</span>
<span class="n">command</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_text</span><span class="p">()</span>
<span class="n">layout</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">layout_get_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_name</span><span class="p">)</span>
<span class="n">layout</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span><span class="p">][</span><span class="s">&#39;command&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">command</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="LayoutEditor.on_layout_profile_workingdir_activate"><a class="viewcode-back" href="../../terminatorlib.html#terminatorlib.prefseditor.LayoutEditor.on_layout_profile_workingdir_activate">[docs]</a> <span class="k">def</span> <span class="nf">on_layout_profile_workingdir_activate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">widget</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;A new working directory has been entered for this item&quot;&quot;&quot;</span>
<span class="n">workdir</span> <span class="o">=</span> <span class="n">widget</span><span class="o">.</span><span class="n">get_text</span><span class="p">()</span>
<span class="n">layout</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">layout_get_config</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_name</span><span class="p">)</span>
<span class="n">layout</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">layout_item</span><span class="p">][</span><span class="s">&#39;directory&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">workdir</span>
<span class="bp">self</span><span class="o">.</span><span class="n">config</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
</div></div>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;__main__&#39;</span><span class="p">:</span>
<span class="kn">import</span> <span class="nn">util</span>
<span class="n">util</span><span class="o">.</span><span class="n">DEBUG</span> <span class="o">=</span> <span class="bp">True</span>
<span class="kn">import</span> <span class="nn">terminal</span>
<span class="n">TERM</span> <span class="o">=</span> <span class="n">terminal</span><span class="o">.</span><span class="n">Terminal</span><span class="p">()</span>
<span class="n">PREFEDIT</span> <span class="o">=</span> <span class="n">PrefsEditor</span><span class="p">(</span><span class="n">TERM</span><span class="p">)</span>
<span class="n">gtk</span><span class="o">.</span><span class="n">main</span><span class="p">()</span>
</pre></div>
</div>
<footer>
<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:'0.98',
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>