Display Partitioner is a "set it and forget it" tool for power users, developers, and anyone with unique multi-monitor needs. It allows you to partition any monitor by creating a persistent "hard wall" for your mouse cursor and a clean visual overlay to hide the disabled area, all managed through an intuitive graphical interface.
This app was born from the need to use only the right half of an external monitor, and has since evolved into a flexible utility that can partition any side of any display with zero performance lag by using native Windows APIs.
- ✅ Full Graphical User Interface (GUI): No more editing code! A settings window gives you a real-time, visual representation of your monitors.
- 🖱️ Flexible & Interactive Partitioning:
- Drag-and-Drop: Simply drag a line on the screen canvas to set your boundary.
- Precise Input: Type in an exact coordinate for pixel-perfect control.
- Side Selection: Instantly choose whether to partition the left or right side of your monitor.
- ⌨️ Customizable Global Hotkey: Toggle the partition on or off from anywhere in Windows. Defaults to
Win+Alt+Pbut can be changed to anything you like. - 💾 Persistent Settings: The app remembers everything! Your target monitor, partition boundary, side selection, and custom hotkey are all saved automatically and reloaded on the next launch.
- 🚀 Lightweight & Efficient: Runs silently in the system tray with minimal CPU and memory usage. The settings window can be closed while the partitioning remains active.
- 🧱 Lag-Free "Hard Wall": Uses the native
ClipCursorAPI to lock the mouse to your defined workspace, providing a true OS-level boundary that is instantly re-applied if ever cleared by a system event (like a UAC prompt).
This utility is perfect for anyone who:
- Uses an external monitor that is partially damaged, too large, or needs to be partitioned for a specific task.
- Wants to create a custom, focused workspace across multiple physical screens.
- Is a developer, streamer, or power user looking for more granular control over their desktop environment than standard Windows settings allow.
The easiest way to get started. No programming knowledge required.
- Go to the Releases Page of this repository.
- Download the latest
Display_Partitioner.exefile. - Place the
.exefile in a permanent folder on your computer. - Double-click it to run. An icon will appear in your system tray.
- Double-click the tray icon (or right-click and choose "Settings") to open the configuration window and set up your partition.
To have the app run automatically every time you log in:
- Create a shortcut to
Display_Partitioner.exe. - Press
Win + Rto open the Run dialog. - Type
shell:startupand press Enter. This opens your user Startup folder. - Move the shortcut you created into this folder. Done!
If you wish to modify or build the application yourself:
- Clone the Repository:
git clone https://github.com/Abhijith-Shaju/DisplayPartitioner.git cd DisplayPartitioner - Create a Virtual Environment (Recommended):
python -m venv venv .\venv\Scripts\activate
- Install Dependencies:
A
requirements.txtfile is included for convenience.pip install -r requirements.txt
- Run the Script:
python display_partitioner.py
To package the script into a single .exe file, use PyInstaller.
- Make sure you have PyInstaller installed (
pip install pyinstaller). - Run the build command from the project root directory:
Note: The
pyinstaller --onefile --windowed --icon="icon.ico" --add-data "icon.ico;." --name="Display_Partitioner" display_partitioner.py
--add-dataflag is crucial for ensuring the icon is bundled correctly into the final executable.
The final .exe will be located in the dist folder.
- pywin32: For all native Windows API interaction.
- pystray: For creating and managing the system tray icon.
- Pillow: An image library required by
pystray. - keyboard: For capturing the global hotkey.
- Tkinter: (Included with Python) For the GUI.