<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Eric,<div class=""><br class=""></div><div class="">  Oops!  That is easier!  What I meant by the needed change "isn't too obvious" is that I thought my code would have a line that says "rotate_bond(bond, angle)" and then I would change it to "rotate_bond(bond, angle, move_smaller = False)".  But in fact the code makes something called a BondRotater in one place (when the mouse is pressed) and later when the mouse is dragged uses that BondRotater object br.angle = new_angle.  This just required a bit of digging, especially to make the more useful code modification that allows you to control which side where I needed to find out how to change the BondRotater to rotate the side closest to the button click (where I don't care which side is smaller).</div><div class=""><br class=""></div><div class="">  None of that was meant as a critique of the code.  I just wanted to warn anyone new to hacking ChimeraX that this isn't the simplest possible kind of change, like changing a False to a True somewhere.</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">    </span>Tom</div><div class=""><br class=""></div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Dec 6, 2019, at 3:19 PM, Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu" class="">pett@cgl.ucsf.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 6, 2019, at 3:11 PM, Tom Goddard <<a href="mailto:goddard@sonic.net" class="">goddard@sonic.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">                br = self.session.bond_rotations.new_rotation(pick.bond)</div><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">                br.moving_side = br.bond.other_atom(br.moving_side)  # Move the large side</div></div></blockquote><br class=""></div><div class="">Not sure why this was hard to find since it’s a documented arg of new_rotation, but just do this:</div><div class=""><br class=""></div><div class="">br = self.session.bond_rotations.new_rotation(pick_bond, move_smaller_side=False)</div><div class=""><br class=""></div><div class="">—Eric</div><div class=""><div class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;"><br class="Apple-interchange-newline"> </span>Eric Pettersen</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">  </span>UCSF Computer Graphics Lab</div><div class=""><br class=""></div><br class="Apple-interchange-newline"></div><br class=""><div class=""><blockquote type="cite" class=""></blockquote></div></div></div>_______________________________________________<br class="">ChimeraX-users mailing list<br class=""><a href="mailto:ChimeraX-users@cgl.ucsf.edu" class="">ChimeraX-users@cgl.ucsf.edu</a><br class="">Manage subscription:<br class="">http://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users<br class=""></div></blockquote></div><br class=""></div></body></html>