In Lib\idlelib\PyShell.py, there are usetabs and indentwidth attributes in the PyShell class. Is there some reason that these settings cannot be reconfigured in the Options > Configure IDLE... menu? I just edited these to False and 4 respectively and am quite content with the resulting behavior.