/source/python-api/examples/current_preset.html
HTML | 171 lines | 135 code | 33 blank | 3 comment | 0 complexity | 84f5ebe7082752bd7053cec3babd9aa2 MD5 | raw file
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
- <title>Get Selected Color Preset — iTerm2 Python API 0.26 documentation</title>
- <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
- <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
- <script src="../_static/jquery.js"></script>
- <script src="../_static/underscore.js"></script>
- <script src="../_static/doctools.js"></script>
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <meta name="HandheldFriendly" content="True">
- <meta name="MobileOptimized" content="320">
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
- </head><body>
- <header >
- <div class="row">
- <div class="small-12 medium-12 large-10 large-centered columns wide-row">
- <div class="text-center"><a href="/index.html"><img src="https://iterm2.com/img/logo2x.jpg" width=800 height=312></a></div>
- <div class="sticky contain-to-grid">
- <nav class="top-bar" data-topbar>
- <ul class="title-area">
- <li class="name">
- </li>
- <li class="toggle-topbar menu-icon"><a href="#">Menu</a></li>
- <li class="small-screen-donate">
- <a href="/donate.html"><img src="https://iterm2.com/images/DonateButton.png" width="92" height="26"></a>
- </li>
- </ul>
- <section class="top-bar-section">
- <!-- Right Nav Section -->
- <ul class="right"> <li>
- <a href="/donate.html"><img src="https://iterm2.com/images/DonateButton.png" width="92" height="26"></a>
- </li>
- </ul>
- </li>
- </ul>
- <!-- Left Nav Section -->
- <ul class="left">
- <li><a href="/index.html">Home</a></li>
- <li ><a href="/news.html">News</a></li>
- <li ><a href="/features.html">Features</a></li>
- <li ><a href="/faq.html">FAQ</a></li>
- <li class="active"><a href="/documentation.html">Documentation</a></li>
- <li ><a href="/downloads.html">Downloads</a></li>
- </ul>
- </section>
- </nav>
- </div>
- </div>
- </div>
- </header>
- <div class="document">
- <div class="row">
- <div class="small-12 medium-12 large-10 large-centered columns wide-row">
- <div class="main panel">
- <div class="doc-wrapper" style="text-align: right">
- <a href="/documentation">Documentation</a> | <a href="/python-api">Python API</a>
- </div>
- <hr/>
- <div class="documentwrapper">
- <div class="bodywrapper">
- <div class="body" role="main">
-
- <section id="get-selected-color-preset">
- <span id="current-preset-example"></span><h1>Get Selected Color Preset<a class="headerlink" href="#get-selected-color-preset" title="Permalink to this headline">ΒΆ</a></h1>
- <p>This script prints to stdout the name of the color preset the current
- sesssion is using, or <cite>None</cite> if none of them matches.</p>
- <p>To see the output you can either run <cite>pip3 install iterm2</cite> and then execute
- this script from the command line or run it from the <strong>Scripts</strong> menu and view
- the output in the <strong>Script Console</strong>.</p>
- <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env python3</span>
- <span class="kn">import</span> <span class="nn">iterm2</span>
- <span class="k">def</span> <span class="nf">ColorsUnequal</span><span class="p">(</span><span class="n">profile_color</span><span class="p">,</span> <span class="n">preset_color</span><span class="p">):</span>
- <span class="k">return</span> <span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="n">profile_color</span><span class="o">.</span><span class="n">red</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">round</span><span class="p">(</span><span class="n">preset_color</span><span class="o">.</span><span class="n">red</span><span class="p">)</span> <span class="ow">or</span>
- <span class="nb">round</span><span class="p">(</span><span class="n">profile_color</span><span class="o">.</span><span class="n">green</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">round</span><span class="p">(</span><span class="n">preset_color</span><span class="o">.</span><span class="n">green</span><span class="p">)</span> <span class="ow">or</span>
- <span class="nb">round</span><span class="p">(</span><span class="n">profile_color</span><span class="o">.</span><span class="n">blue</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">round</span><span class="p">(</span><span class="n">preset_color</span><span class="o">.</span><span class="n">blue</span><span class="p">)</span> <span class="ow">or</span>
- <span class="nb">round</span><span class="p">(</span><span class="n">profile_color</span><span class="o">.</span><span class="n">alpha</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">round</span><span class="p">(</span><span class="n">preset_color</span><span class="o">.</span><span class="n">alpha</span><span class="p">)</span> <span class="ow">or</span>
- <span class="n">profile_color</span><span class="o">.</span><span class="n">color_space</span> <span class="o">!=</span> <span class="n">preset_color</span><span class="o">.</span><span class="n">color_space</span><span class="p">)</span>
- <span class="k">def</span> <span class="nf">ProfileUsesPreset</span><span class="p">(</span><span class="n">profile</span><span class="p">,</span> <span class="n">preset</span><span class="p">):</span>
- <span class="k">for</span> <span class="n">preset_color</span> <span class="ow">in</span> <span class="n">preset</span><span class="o">.</span><span class="n">values</span><span class="p">:</span>
- <span class="n">key</span> <span class="o">=</span> <span class="n">preset_color</span><span class="o">.</span><span class="n">key</span>
- <span class="n">profile_color</span> <span class="o">=</span> <span class="n">profile</span><span class="o">.</span><span class="n">get_color_with_key</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">ColorsUnequal</span><span class="p">(</span><span class="n">profile_color</span><span class="p">,</span> <span class="n">preset_color</span><span class="p">):</span>
- <span class="k">return</span> <span class="kc">False</span>
- <span class="k">return</span> <span class="kc">True</span>
- <span class="k">async</span> <span class="k">def</span> <span class="nf">PresetForProfile</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span> <span class="n">profile</span><span class="p">):</span>
- <span class="n">presets</span><span class="o">=</span><span class="k">await</span> <span class="n">iterm2</span><span class="o">.</span><span class="n">ColorPreset</span><span class="o">.</span><span class="n">async_get_list</span><span class="p">(</span><span class="n">connection</span><span class="p">)</span>
- <span class="k">for</span> <span class="n">preset_name</span> <span class="ow">in</span> <span class="n">presets</span><span class="p">:</span>
- <span class="n">preset</span><span class="o">=</span><span class="k">await</span> <span class="n">iterm2</span><span class="o">.</span><span class="n">ColorPreset</span><span class="o">.</span><span class="n">async_get</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span> <span class="n">preset_name</span><span class="p">)</span>
- <span class="k">if</span> <span class="n">ProfileUsesPreset</span><span class="p">(</span><span class="n">profile</span><span class="p">,</span> <span class="n">preset</span><span class="p">):</span>
- <span class="k">return</span> <span class="n">preset_name</span>
- <span class="k">return</span> <span class="kc">None</span>
- <span class="k">async</span> <span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">connection</span><span class="p">):</span>
- <span class="n">app</span> <span class="o">=</span> <span class="k">await</span> <span class="n">iterm2</span><span class="o">.</span><span class="n">async_get_app</span><span class="p">(</span><span class="n">connection</span><span class="p">)</span>
- <span class="n">session</span><span class="o">=</span><span class="n">app</span><span class="o">.</span><span class="n">current_terminal_window</span><span class="o">.</span><span class="n">current_tab</span><span class="o">.</span><span class="n">current_session</span>
- <span class="n">profile</span><span class="o">=</span><span class="k">await</span> <span class="n">session</span><span class="o">.</span><span class="n">async_get_profile</span><span class="p">()</span>
- <span class="nb">print</span><span class="p">(</span><span class="k">await</span> <span class="n">PresetForProfile</span><span class="p">(</span><span class="n">connection</span><span class="p">,</span> <span class="n">profile</span><span class="p">))</span>
- <span class="n">iterm2</span><span class="o">.</span><span class="n">run_until_complete</span><span class="p">(</span><span class="n">main</span><span class="p">)</span>
- </pre></div>
- </div>
- <p><a class="reference download internal" download="" href="../_downloads/8e01b8ccfa2ff9296bd955b7c2d3d767/current_preset.its"><code class="xref download docutils literal notranslate"><span class="pre">Download</span></code></a></p>
- </section>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- Note: scripts.js not loaded because it breaks anchors, which Sphinx makes a lot of. -->
- <script type="text/javascript">
- function showId(id) {
- document.getElementById("changelist" + id).style.display = 'block';
- document.getElementById("show" + id).style.display = 'none';
- document.getElementById("hide" + id).style.display = 'inline';
- }
- function hideId(id) {
- document.getElementById("changelist" + id).style.display = 'none';
- document.getElementById("show" + id).style.display = 'inline';
- document.getElementById("hide" + id).style.display = 'none';
- }
- $(document).foundation();
- </script>
- <div class="clearer"></div>
- </div>
- <div class="footer">
- ©2018, George Nachman.
-
- |
- Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.3</a>
- & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
-
- |
- <a href="../_sources/examples/current_preset.rst.txt"
- rel="nofollow">Page source</a>
- </div>
-
-
- </body>
- </html>