https://www.curseforge.com/mods/phonkedit https://www.modrinth.com/mod/phonk-edit https://ko-fi.com/coah
phonkedit-desktop is a small Python desktop utility that captures your screen(s), applies a stylized "phonk" filter, optionally overlays skull art, and plays a random phonk audio track. It is designed to run locally and save capture outputs to the output/ directory.
- Python 3.8 or newer (3.10+ recommended)
- Git (optional, for cloning)
- The Python packages listed in
requirements.txt(Pillow, mss, pygame). Tkinter is required for overlays — it is included with standard Python installs on most platforms.
- pillow==10.4.0
- mss==9.0.1
- pygame==2.6.1
main.py— main program entrypoint. Run withpython main.py.config.json— created on first run when missing. Edit to change timing, skull sizing, triggers, etc.assets/— put your files here:assets/phonk/— OGG audio tracks (the app will pick a random .ogg to play)assets/skulls/— PNG skull images used for overlays
output/— per-run session folders and images are saved here.
- Create and activate a virtual environment and install dependencies:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- Run the app:
python main.py- Create and activate a virtual environment and install dependencies:
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txtIf PowerShell prevents activation because of execution policy, run (as user):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned- Run the app:
python main.pypython -m venv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
python main.py- On startup it ensures
assets/subfolders exist and writesconfig.jsonif missing. - When triggered (mouse click or occasional typing event), it captures all monitors, applies the filter, saves images to
output/session_<timestamp>_<pid>/and briefly shows overlays. - To stop the app while running, use the global hotkey Ctrl+Shift+P (the app listens for that combo).
- Edit
config.jsonto adjust timings, skull size/position, typing trigger chance, and other parameters. Reasonable defaults are created automatically. click_trigger_chance(0-1) controls how often each fresh mouse click fires the overlay. Default is 0.35.typing_trigger_chance(0-1) does the same for typing bursts, now defaulting to 0.03 for a lighter touch.- If you want to supply mod assets from an external path, you may set the environment variable
PHONKEDIT_ASSETS_ROOTto point to that root; the app will use it when present.
- On a Windows box, install PyInstaller inside your venv:
python -m pip install pyinstaller. - Run
make_exe.bat(or run thepyinstaller --noconfirm --onefile --windowed --add-data "assets;assets" --add-data "config.json;." main.pycommand manually). - The bundled exe lands in
dist\main.exe. Keep theassetsfolder next to the exe (the command already bakes a copy in, but you can overwrite it with your own skulls/phonk). - Ship
dist\main.exeplusassets\(and optionallyconfig.json) to whoever wants to meme.
- Missing/old Python: ensure
python --versionis 3.8+ and that thepython/python3command used to create the venv matches the one used to run the app. - No audio: ensure you have at least one
.oggfile inassets/phonk/and your OS audio is working. - No overlays on Windows: Tkinter is required; on some distributions you may need to install OS-level packages (macOS and Linux generally ship Tk; for many Linux distros install
python3-tk). - PowerShell activation blocked: see the
Set-ExecutionPolicyline above.
If anything else fails, check the console output for errors; saved images include printed paths like Saved output/... when captures succeed.
See the project repository for license and author contact information.
That's it — keep assets/ populated and run python main.py to start capturing.