<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>






 
<body style="background-color: #fff;">
<span style="display:none"> </span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
              <!--~-|**|PrettyHtmlStart|**|-~-->
        <span style="font-weight: 700; font-size: 12px; display: block; margin-bottom: 20px;">[<a style="text-decoration: none;" href="#TopText">Attachment(s)</a> from John Ackermann N8UR included below]</span>
        <!--~-|**|PrettyHtmlEnd|**|-~-->
      
      <p>Attached is a patch file that updates Max's terminal.py and trunking.py <br>
in a few ways:<br>
<br>
1.  terminal.py reads the window size at startup and adjusts the curses <br>
settings accordingly.  If you set xterm or equivalent to more rows (I'm <br>
using 38), you can handle sites with more than 20 frequencies without <br>
crashing.  This is the patch I posted a week or so ago.  (Max, I think <br>
your idea of making the main window two columns is still a good one, and <br>
the space that frees up could be used to display other interesting info. <br>
  I don't think I'll have the time to learn how to implement that, though.)<br>
<br>
2.  terminal.py now displays an info line at the bottom of the screen <br>
showing the keyboard commands that are available.  I also added a blank <br>
line or two to make the display look (IMHO) a bit cleaner.<br>
<br>
3.  If you set -v to 5 or higher, every frequency or talkgroup command <br>
is output on stderr (this will generate a lot of output on a busy <br>
system!).  If you want to generate a list of every unique frequency used <br>
by the system, this will produce it from the stderr.2 file:<br>
<br>
grep freq: stderr.2 | cut -d" " -f3 | sort | uniq<br>
<br>
or to get all the unique talkgroups:<br>
<br>
greg freq: stderr.2 | cut -d" " -f5 | sort | uniq<br>
<br>
Max, this was actually a bit less trivial than first thought.  The code <br>
is easy, but where to put it wasn't.  Your suggestion about the end of <br>
update_state() led to only one update per second, and lost many <br>
freq/talkgroup set commands.  I think I found a spot that doesn't miss <br>
any.  Lots of output, but lets you build a comprehensive tgid list.<br>
<br>
4.  The stderr output of "set trunk_cc..." was not all that useful, so <br>
it's now set to appear only when the -v level is set to 6 or greater. <br>
(Behavior of -v 10 includes the above but is otherwise unchanged.)<br>
<br>
5.  I cleaned up all the logging/status/debug outputs in trunking.py to <br>
use "sys.stderr.write()" rather than "print".  That will stop them from <br>
showing up in the terminal screen.  While I was at it, I also added <br>
newlines to the end of all output and did some other cleanup.<br>
<br>
Hope this is useful.<br>
<br>
73,<br>
John<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

            <p style="clear: both; margin: 0 0; padding: 0 0 3px 0;"><span style="color: #628C2A; font-weight: 700; font-size: 13px;">Attachment(s) from John Ackermann N8UR</span> | <span style="font-size: 13px;"><a style="text-decoration:none;" href="https://groups.yahoo.com/neo/groups/op25-dev/attachments/1626090944;_ylc=X3oDMTJyZW40NGxmBF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRzZWMDYXR0YWNobWVudARzbGsDdmlld09uV2ViBHN0aW1lAzE1MDA5NDE4Njk-">View attachments on the web </a></span></p>
    
  
 

        <p id="attach-count" style="margin: 0 0 2px 0; padding: 10px 0 0 0;"><span style="color: #628C2A; font-weight: 700;"> 1 of 1 File(s) </span>
          </p>
        <div class="attach-table">
                <div class="file-row" style="clear: both; margin: 2px 0; white-space: nowrap; float: left; margin: 2px 0;">
    <div class="ygrp-file-title"> <img src="http://l.yimg.com/kq/static/images/yg/img/doc/generic16x16.gif" style="margin-right: 5px; vertical-align: middle;"> <a style="text-decoration: none;" href="https://xa.yimg.com/kq/groups/22084582/1292408472/name/n8ur-op25-patch%2Etxt" title="n8ur-op25-patch.txt">n8ur-op25-patch.txt</a></div>
  </div>
          </div>
    
    <div style="clear:both"> </div>

    <div id="fromDMARC" style="margin-top: 10px;">
        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        Posted by: John Ackermann N8UR <jra@febo.com>        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
     </div>
    <div style="clear:both"> </div>

    <table cellspacing=4px style="margin-top: 10px; margin-bottom: 10px; color: #2D50FD;">
      <tbody>
        <tr>
          <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px;"  >
                          <a style="text-decoration: none; color: #2D50FD" href="https://groups.yahoo.com/neo/groups/op25-dev/conversations/messages/1812;_ylc=X3oDMTJxMDZ1c2I4BF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRtc2dJZAMxODEyBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTUwMDk0MTg2OQ--?act=reply&messageNum=1812">Reply via web post</a>
                      </td>
          <td>•</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="mailto:jra@febo.com?subject=Re%3A%20A%20couple%20of%20patches" style="text-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>•</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
            <a href="mailto:op25-dev@yahoogroups.com?subject=Re%3A%20A%20couple%20of%20patches" style="text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>•</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="https://groups.yahoo.com/neo/groups/op25-dev/conversations/newtopic;_ylc=X3oDMTJmbW5mNDNsBF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRzZWMDZnRyBHNsawNudHBjBHN0aW1lAzE1MDA5NDE4Njk-" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>•</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: #2D50FD;" >
                            <a href="https://groups.yahoo.com/neo/groups/op25-dev/conversations/topics/1812;_ylc=X3oDMTM1Mm9kajcwBF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRtc2dJZAMxODEyBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTUwMDk0MTg2OQR0cGNJZAMxODEy" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
                (1)
                      </td>
        </tr>
      </tbody>
    </table>

        
<div id="megaphoneModule">
            <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        <div>
             <div class="stream" style="margin-bottom:10px;">
        <div style="background-color:white;">
            <div class="sn-img" style="display:inline;"><img name="tn_file" style="padding:0px 10px;vertical-align:top;margin-top:5px;" src="https://s.yimg.com/ru/static/images/yg/img/megaphone/1464031581_phpFA8bON" height="82" width="82"></div>
            <div class="mod-txt" style="display:inline-block;">
                <a rel="nofollow" name="sub_url" target="_blank" href="https://yho.com/1wwmgg" style="color:#0000FF;display:block;margin-left:5px;text-decoration:none;"><span style="font-size:15px;">Have you tried the highest rated email app?</span></a>
                <div style="max-width:530px;padding:2px 5px;">With 4.5 stars in iTunes, the Yahoo Mail app is the highest rated email app on the market. What are you waiting for? Now you can access all your inboxes (Gmail, Outlook, AOL and more) in one place. Never delete an email again with 1000GB of free cloud storage.</div>
            </div>
        </div>
    </div>        </div>  
     
    <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
</div>

<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->




 

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/op25-dev/info;_ylc=X3oDMTJmbWJkbmJ2BF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRzZWMDdnRsBHNsawN2Z2hwBHN0aW1lAzE1MDA5NDE4Njk-" style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="https://groups.yahoo.com/neo/groups/op25-dev/members/all;_ylc=X3oDMTJncjh2ZDRzBF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRzZWMDdnRsBHNsawN2bWJycwRzdGltZQMxNTAwOTQxODY5" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">6</span>
    </li>
                                              </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJlc2M2Yjc1BF9TAzk3MzU5NzE0BGdycElkAzIyMDg0NTgyBGdycHNwSWQDMTcwNTY0NDA4OQRzZWMDZnRyBHNsawNnZnAEc3RpbWUDMTUwMDk0MTg2OQ--" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;"> • <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> • <a href="mailto:op25-dev-unsubscribe@yahoogroups.com?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> • <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

 
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=22084582/grpspId=1705644089/msgId=1812/stime=1500941869" width="1" height="1"> <br>

<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img&cf12=CP" width="1" height="1"> 

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->