Index: CodeContext.py =================================================================== --- CodeContext.py (revision 41488) +++ CodeContext.py (working copy) @@ -55,25 +55,30 @@ def toggle_code_context_event(self, event=None): if not self.label: - self.pad_frame = Tkinter.Frame(self.editwin.top, - bg=self.bgcolor, border=2, - relief="sunken") - self.label = Tkinter.Label(self.pad_frame, - text="\n" * (self.context_depth - 1), - anchor="w", justify="left", - font=self.textfont, - bg=self.bgcolor, fg=self.fgcolor, - border=0, - width=1, # Don't request more than we get + padx = sum(map(lambda x:int(str(x)), # Some may be pixel objects + [self.editwin.text_frame.pack_info()['padx'], + self.editwin.text.pack_info()['padx'], + self.editwin.text_frame.cget('padx'), + self.editwin.text.cget('padx'), + ])) + border = sum(map(lambda x:int(str(x)), # Some may be pixel objects + [self.editwin.text.cget('border'), + self.editwin.text_frame.cget('border'), + ])) + self.label = Tkinter.Label(self.editwin.top, + text="\n" * (self.context_depth - 1), + anchor="w", justify="left", + font=self.textfont, + bg=self.bgcolor, fg=self.fgcolor, + width=1, # Don't request more than we get + padx=padx, # Line up with text widget + border=border, # Match border width + relief="sunken", ) - self.label.pack(side="top", fill="x", expand=True, - padx=4, pady=0) - self.pad_frame.pack(side="top", fill="x", expand=False, - padx=0, pady=0, - after=self.editwin.status_bar) + self.label.pack(side="top", fill="x", expand=0, + before=self.editwin.text_frame) else: self.label.destroy() - self.pad_frame.destroy() self.label = None idleConf.SetOption("extensions", "CodeContext", "visible", str(self.label is not None))