PageRenderTime 51ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/source/python-api/examples/current_preset.html

https://github.com/gnachman/iterm2-website
HTML | 171 lines | 135 code | 33 blank | 3 comment | 0 complexity | 84f5ebe7082752bd7053cec3babd9aa2 MD5 | raw file
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
  6. <title>Get Selected Color Preset &#8212; iTerm2 Python API 0.26 documentation</title>
  7. <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
  8. <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
  9. <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
  10. <script src="../_static/jquery.js"></script>
  11. <script src="../_static/underscore.js"></script>
  12. <script src="../_static/doctools.js"></script>
  13. <link rel="index" title="Index" href="../genindex.html" />
  14. <link rel="search" title="Search" href="../search.html" />
  15. <meta name="HandheldFriendly" content="True">
  16. <meta name="MobileOptimized" content="320">
  17. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  18. </head><body>
  19. <header >
  20. <div class="row">
  21. <div class="small-12 medium-12 large-10 large-centered columns wide-row">
  22. <div class="text-center"><a href="/index.html"><img src="https://iterm2.com/img/logo2x.jpg" width=800 height=312></a></div>
  23. <div class="sticky contain-to-grid">
  24. <nav class="top-bar" data-topbar>
  25. <ul class="title-area">
  26. <li class="name">
  27. </li>
  28. <li class="toggle-topbar menu-icon"><a href="#">Menu</a></li>
  29. <li class="small-screen-donate">
  30. <a href="/donate.html"><img src="https://iterm2.com/images/DonateButton.png" width="92" height="26"></a>
  31. </li>
  32. </ul>
  33. <section class="top-bar-section">
  34. <!-- Right Nav Section -->
  35. <ul class="right"> <li>
  36. <a href="/donate.html"><img src="https://iterm2.com/images/DonateButton.png" width="92" height="26"></a>
  37. </li>
  38. </ul>
  39. </li>
  40. </ul>
  41. <!-- Left Nav Section -->
  42. <ul class="left">
  43. <li><a href="/index.html">Home</a></li>
  44. <li ><a href="/news.html">News</a></li>
  45. <li ><a href="/features.html">Features</a></li>
  46. <li ><a href="/faq.html">FAQ</a></li>
  47. <li class="active"><a href="/documentation.html">Documentation</a></li>
  48. <li ><a href="/downloads.html">Downloads</a></li>
  49. </ul>
  50. </section>
  51. </nav>
  52. </div>
  53. </div>
  54. </div>
  55. </header>
  56. <div class="document">
  57. <div class="row">
  58. <div class="small-12 medium-12 large-10 large-centered columns wide-row">
  59. <div class="main panel">
  60. <div class="doc-wrapper" style="text-align: right">
  61. <a href="/documentation">Documentation</a> | <a href="/python-api">Python API</a>
  62. </div>
  63. <hr/>
  64. <div class="documentwrapper">
  65. <div class="bodywrapper">
  66. <div class="body" role="main">
  67. <section id="get-selected-color-preset">
  68. <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>
  69. <p>This script prints to stdout the name of the color preset the current
  70. sesssion is using, or <cite>None</cite> if none of them matches.</p>
  71. <p>To see the output you can either run <cite>pip3 install iterm2</cite> and then execute
  72. this script from the command line or run it from the <strong>Scripts</strong> menu and view
  73. the output in the <strong>Script Console</strong>.</p>
  74. <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env python3</span>
  75. <span class="kn">import</span> <span class="nn">iterm2</span>
  76. <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>
  77. <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>
  78. <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>
  79. <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>
  80. <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>
  81. <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>
  82. <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>
  83. <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>
  84. <span class="n">key</span> <span class="o">=</span> <span class="n">preset_color</span><span class="o">.</span><span class="n">key</span>
  85. <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>
  86. <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>
  87. <span class="k">return</span> <span class="kc">False</span>
  88. <span class="k">return</span> <span class="kc">True</span>
  89. <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>
  90. <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>
  91. <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>
  92. <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>
  93. <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>
  94. <span class="k">return</span> <span class="n">preset_name</span>
  95. <span class="k">return</span> <span class="kc">None</span>
  96. <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>
  97. <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>
  98. <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>
  99. <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>
  100. <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>
  101. <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>
  102. </pre></div>
  103. </div>
  104. <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>
  105. </section>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. <!-- Note: scripts.js not loaded because it breaks anchors, which Sphinx makes a lot of. -->
  113. <script type="text/javascript">
  114. function showId(id) {
  115. document.getElementById("changelist" + id).style.display = 'block';
  116. document.getElementById("show" + id).style.display = 'none';
  117. document.getElementById("hide" + id).style.display = 'inline';
  118. }
  119. function hideId(id) {
  120. document.getElementById("changelist" + id).style.display = 'none';
  121. document.getElementById("show" + id).style.display = 'inline';
  122. document.getElementById("hide" + id).style.display = 'none';
  123. }
  124. $(document).foundation();
  125. </script>
  126. <div class="clearer"></div>
  127. </div>
  128. <div class="footer">
  129. &copy;2018, George Nachman.
  130. |
  131. Powered by <a href="http://sphinx-doc.org/">Sphinx 4.0.3</a>
  132. &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
  133. |
  134. <a href="../_sources/examples/current_preset.rst.txt"
  135. rel="nofollow">Page source</a>
  136. </div>
  137. </body>
  138. </html>