X7ROOT File Manager
Current Path:
/opt/alt/python37/lib64/python3.7/idlelib
opt
/
alt
/
python37
/
lib64
/
python3.7
/
idlelib
/
??
..
??
CREDITS.txt
(1.82 KB)
??
ChangeLog
(55.04 KB)
??
HISTORY.txt
(10.07 KB)
??
Icons
??
NEWS.txt
(47.65 KB)
??
NEWS2x.txt
(26.54 KB)
??
README.txt
(9.37 KB)
??
TODO.txt
(8.28 KB)
??
__init__.py
(396 B)
??
__main__.py
(159 B)
??
__pycache__
??
autocomplete.py
(8.74 KB)
??
autocomplete_w.py
(19.64 KB)
??
autoexpand.py
(3.14 KB)
??
browser.py
(8.12 KB)
??
calltip.py
(6.17 KB)
??
calltip_w.py
(6.99 KB)
??
codecontext.py
(11.06 KB)
??
colorizer.py
(12.69 KB)
??
config-extensions.def
(2.21 KB)
??
config-highlight.def
(2.8 KB)
??
config-keys.def
(10.65 KB)
??
config-main.def
(3.09 KB)
??
config.py
(37.28 KB)
??
config_key.py
(14.13 KB)
??
configdialog.py
(102.07 KB)
??
debugger.py
(18.66 KB)
??
debugger_r.py
(11.86 KB)
??
debugobj.py
(3.96 KB)
??
debugobj_r.py
(1.06 KB)
??
delegator.py
(1.02 KB)
??
dynoption.py
(1.97 KB)
??
editor.py
(64.08 KB)
??
extend.txt
(3.56 KB)
??
filelist.py
(3.8 KB)
??
format.py
(15.41 KB)
??
grep.py
(7.3 KB)
??
help.html
(60.76 KB)
??
help.py
(11.46 KB)
??
help_about.py
(8.77 KB)
??
history.py
(3.95 KB)
??
hyperparser.py
(12.58 KB)
??
idle.py
(454 B)
??
idle.pyw
(570 B)
??
idle_test
??
iomenu.py
(20.15 KB)
??
macosx.py
(9.44 KB)
??
mainmenu.py
(3.83 KB)
??
multicall.py
(18.21 KB)
??
outwin.py
(5.65 KB)
??
parenmatch.py
(7.04 KB)
??
pathbrowser.py
(3.12 KB)
??
percolator.py
(3.06 KB)
??
pyparse.py
(19.48 KB)
??
pyshell.py
(55.91 KB)
??
query.py
(14.55 KB)
??
redirector.py
(6.71 KB)
??
replace.py
(9.66 KB)
??
rpc.py
(20.64 KB)
??
run.py
(19.82 KB)
??
runscript.py
(8.58 KB)
??
scrolledlist.py
(4.36 KB)
??
search.py
(5.44 KB)
??
searchbase.py
(7.36 KB)
??
searchengine.py
(7.3 KB)
??
sidebar.py
(13.27 KB)
??
squeezer.py
(12.54 KB)
??
stackviewer.py
(4.35 KB)
??
statusbar.py
(1.41 KB)
??
textview.py
(6.65 KB)
??
tooltip.py
(6.41 KB)
??
tree.py
(15.97 KB)
??
undo.py
(10.79 KB)
??
window.py
(2.55 KB)
??
zoomheight.py
(4.1 KB)
??
zzdummy.py
(961 B)
Editing: zoomheight.py
"Zoom a window to maximum height." import re import sys import tkinter class WmInfoGatheringError(Exception): pass class ZoomHeight: # Cached values for maximized window dimensions, one for each set # of screen dimensions. _max_height_and_y_coords = {} def __init__(self, editwin): self.editwin = editwin self.top = self.editwin.top def zoom_height_event(self, event=None): zoomed = self.zoom_height() if zoomed is None: self.top.bell() else: menu_status = 'Restore' if zoomed else 'Zoom' self.editwin.update_menu_label(menu='options', index='* Height', label=f'{menu_status} Height') return "break" def zoom_height(self): top = self.top width, height, x, y = get_window_geometry(top) if top.wm_state() != 'normal': # Can't zoom/restore window height for windows not in the 'normal' # state, e.g. maximized and full-screen windows. return None try: maxheight, maxy = self.get_max_height_and_y_coord() except WmInfoGatheringError: return None if height != maxheight: # Maximize the window's height. set_window_geometry(top, (width, maxheight, x, maxy)) return True else: # Restore the window's height. # # .wm_geometry('') makes the window revert to the size requested # by the widgets it contains. top.wm_geometry('') return False def get_max_height_and_y_coord(self): top = self.top screen_dimensions = (top.winfo_screenwidth(), top.winfo_screenheight()) if screen_dimensions not in self._max_height_and_y_coords: orig_state = top.wm_state() # Get window geometry info for maximized windows. try: top.wm_state('zoomed') except tkinter.TclError: # The 'zoomed' state is not supported by some esoteric WMs, # such as Xvfb. raise WmInfoGatheringError( 'Failed getting geometry of maximized windows, because ' + 'the "zoomed" window state is unavailable.') top.update() maxwidth, maxheight, maxx, maxy = get_window_geometry(top) if sys.platform == 'win32': # On Windows, the returned Y coordinate is the one before # maximizing, so we use 0 which is correct unless a user puts # their dock on the top of the screen (very rare). maxy = 0 maxrooty = top.winfo_rooty() # Get the "root y" coordinate for non-maximized windows with their # y coordinate set to that of maximized windows. This is needed # to properly handle different title bar heights for non-maximized # vs. maximized windows, as seen e.g. in Windows 10. top.wm_state('normal') top.update() orig_geom = get_window_geometry(top) max_y_geom = orig_geom[:3] + (maxy,) set_window_geometry(top, max_y_geom) top.update() max_y_geom_rooty = top.winfo_rooty() # Adjust the maximum window height to account for the different # title bar heights of non-maximized vs. maximized windows. maxheight += maxrooty - max_y_geom_rooty self._max_height_and_y_coords[screen_dimensions] = maxheight, maxy set_window_geometry(top, orig_geom) top.wm_state(orig_state) return self._max_height_and_y_coords[screen_dimensions] def get_window_geometry(top): geom = top.wm_geometry() m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom) return tuple(map(int, m.groups())) def set_window_geometry(top, geometry): top.wm_geometry("{:d}x{:d}+{:d}+{:d}".format(*geometry)) if __name__ == "__main__": from unittest import main main('idlelib.idle_test.test_zoomheight', verbosity=2, exit=False) # Add htest?
Upload File
Create Folder