@@ -109,6 +109,9 @@ def __exit__(self, exc_type, exc_value, traceback):
109109 dialog .run ()
110110 dialog .destroy ()
111111
112+ class MenuBar (gtk .MenuBar ):
113+ def __init__ (self ):
114+ gtk .MenuBar .__init__ (self )
112115
113116class Nested (object ):
114117 """
@@ -128,6 +131,14 @@ def __exit__(self, exc_type, exc_value, exc_tb):
128131 def __nonzero__ (self ):
129132 return bool (self .counter )
130133
134+ class Statusbar (gtk .Statusbar ):
135+ """Contains feedback messages"""
136+ def __init__ (self ):
137+ gtk .Statusbar .__init__ (self )
138+
139+ context_id = self .get_context_id ('StatusBar' )
140+ # self.push(context_id, text)
141+
131142
132143class SuggestionWindow (gtk .Window ):
133144 """
@@ -145,7 +156,7 @@ def __init__(self):
145156 self .set_name ('gtk-tooltips' )
146157 self .argspec_formatter = ArgspecFormatter ()
147158
148- vbox = gtk .VBox ()
159+ vbox = gtk .VBox (homogeneous = False )
149160 vbox .set_style (self .get_style ())
150161
151162 self .argspec_label = gtk .Label ()
@@ -655,7 +666,7 @@ def main(args=None):
655666 bpython .args .exec_code (interpreter , exec_args )
656667 return 0
657668
658- sys .stderr = repl_widget
669+ # sys.stderr = repl_widget
659670 sys .stdout = repl_widget
660671
661672 if not options .socket_id :
@@ -674,12 +685,35 @@ def main(args=None):
674685 parent = gtk .Plug (options .socket_id )
675686 parent .connect ('destroy' , gtk .main_quit )
676687
677- # read from config
688+ container = gtk .VBox ()
689+ parent .add (container )
690+
691+ mb = gtk .MenuBar ()
692+ filemenu = gtk .Menu ()
693+
694+ filem = gtk .MenuItem ("File" )
695+ filem .set_submenu (filemenu )
696+
697+ exit = gtk .MenuItem ("Exit" )
698+ exit .connect ("activate" , gtk .main_quit )
699+ filemenu .append (exit )
678700
701+ mb .append (filem )
702+ vbox = gtk .VBox (False , 2 )
703+ vbox .pack_start (mb , False , False , 0 )
704+
705+ container .pack_start (vbox , expand = False )
706+
707+
708+ # read from config
679709 sw = gtk .ScrolledWindow ()
680710 sw .set_policy (gtk .POLICY_NEVER , gtk .POLICY_AUTOMATIC )
681711 sw .add (repl_widget )
682- parent .add (sw )
712+ container .add (sw )
713+
714+ sb = Statusbar ()
715+ container .pack_end (sb , expand = False )
716+
683717 parent .show_all ()
684718 parent .connect ('delete-event' , lambda widget , event : gtk .main_quit ())
685719
0 commit comments