Browse code

Document shortcuts (issue 78).

José Fonseca authored on 12/05/2013 08:55:12
Showing 1 changed files

  • xdot.py index 64609cd..4cb7c0b 100755
... ...
@@ -28,6 +28,7 @@ import math
28 28
 import colorsys
29 29
 import time
30 30
 import re
31
+import optparse
31 32
 
32 33
 import gobject
33 34
 import gtk
... ...
@@ -2017,11 +2018,32 @@ class DotWindow(gtk.Window):
2017 2018
         self.widget.reload()
2018 2019
 
2019 2020
 
2021
+class OptionParser(optparse.OptionParser):
2022
+
2023
+    def format_epilog(self, formatter):
2024
+        # Prevent stripping the newlines in epilog message
2025
+        # http://stackoverflow.com/questions/1857346/python-optparse-how-to-include-additional-info-in-usage-output
2026
+        return self.epilog
2027
+
2028
+
2020 2029
 def main():
2021
-    import optparse
2022 2030
 
2023
-    parser = optparse.OptionParser(
2024
-        usage='\n\t%prog [file]')
2031
+    parser = OptionParser(
2032
+        usage='\n\t%prog [file]',
2033
+        epilog='''
2034
+Shortcuts:
2035
+  Up, Down, Left, Right     scroll
2036
+  PageUp, +, =              zoom in
2037
+  PageDown, -               zoom out
2038
+  R                         reload dot file
2039
+  F                         find
2040
+  Q                         quit
2041
+  P                         print
2042
+  Escape                    halt animation
2043
+  Ctrl-drag                 zoom in/out
2044
+  Shift-drag                zooms an area
2045
+'''
2046
+    )
2025 2047
     parser.add_option(
2026 2048
         '-f', '--filter',
2027 2049
         type='choice', choices=('dot', 'neato', 'twopi', 'circo', 'fdp'),