ProperTree is a cross-platform GUI plist editor written using Python (compatible with both 2.x and 3.x) and Tkinter.
0xFFFF
) in xml <integer>
tagsOn any system you can choose the Clone or download
button, followed by the Download ZIP
button to download the entire repo as a zip file (note, this does not allow you to update via git pull
- any updates would require you to download the repo again in the same fashion).
git clone https://github.com/corpnewt/ProperTree
python ./ProperTree/ProperTree.command
* On macOS, you can simply double-click the ProperTree.command
after cloning to launch.
git clone https://github.com/corpnewt/ProperTree
./ProperTree/ProperTree.bat
How can I have ProperTree open when I double-click a .plist file?
On macOS you can run buildapp.command
located in ProperTree's Scripts
directory to build an application bundle which can be associated with .plist files. While this approach works - it sometimes has odd issues when attempting to open multiple .plist files by double-clicking. Typically the first will work as normal, but opening any subsequent .plist file requires using the File -> Open menu.
On Windows, you can run AssociatePlistFiles.bat
located in ProperTree's Scripts
directory to associate .plist files with ProperTree.bat
, and also to add an Open with ProperTree
option to the contextual menu when right-clicking .plist files. This approach is location-dependent, and moving your copy of ProperTree will require you re-run AssociatePlistFiles.bat
.
When I try to run ProperTree, I get [ModuleNotFoundError: No module name 'tkinter']
That is because the graphical interface library that ProperTree depends on isn't present or cannot be detected, you need to install tkinter
from your package manager.
To install it on Ubuntu (and Ubuntu-based distros), you can run sudo apt-get install python3-tk -y
ProperTree doesn't run because it doesn't have permissions, what gives?
This shouldn't happen and it is recommended that you download only from the official ProperTree repository, but if you are confident about your source, then running chmod +x ProperTree.command
should sort it out
I use an international keyboard layout on macOS and some keys crash ProperTree with NSRangeException', reason: '-[__NSCFConstantString characterAtIndex:]: Range or index out of bounds
This is a bug in the Cocoa implementation of Tcl/Tk on macOS (discussed here). The latest python 2 installer from python.org ships with, and uses Tcl/Tk 8.6.8 which has this issue fixed. Given that the shebang in ProperTree.command
leverages #!/usr/bin/env python
- the first python 2 binary found should be used. buildapp-python3.command
from ProperTree's Scripts
directory can be used to hardcode the first python3 path into the .app bundle's executable shebang.
ProperTree crashes on Big Sur (macOS 11)
This is due to the default python installs on macOS leveraging an older tk
version - which lacks support for macOS 11. To solve this, you can download and install the latest python 3 version from https://www.python.org/downloads/mac-osx/ then leverage the buildapp-python3.command
from ProperTree's Scripts
directory to build a .app bundle that will leverage that python version.
If you already have python 3 installed via brew
or another package manager - it is likely still linking to the system tk
version, which will still have issues unless linked against a newer version.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。