Make your multi-monitor life easier with MonitorMouseMapper! This Python-based utility eliminates the hassle of dealing with different monitor resolutions and DPIs. Designed specifically for setups where you have a high-DPI laptop monitor centered below a larger, lower-DPI external monitor.
The core functionality of MonitorMouseMapper is to handle DPI scaling issues seamlessly as you move your mouse pointer between monitors with different DPIs. No more awkward jumps or stutters!
- ๐ฅ๏ธ Automatic Monitor Detection: No need for manual configuration. Automatically detects your monitors.
- ๐ฑ๏ธ Smart Mouse Positioning: Ensures your mouse moves smoothly between your top and bottom monitors.
- โ๏ธ Configuration File: Customize your experience through a simple JSON config file.
- ๐ Dynamic Reconfiguration: Automatically adapts when you connect or disconnect monitors.
- Clone the repository:
git clone https://github.com/yourusername/MonitorMouseMapper.git
- Navigate to the project folder:
cd MonitorMouseMapper
- Run the script:
python3 MonitorMouseMapper.py
- Initial Run: Upon first launch, you'll be prompted to choose your top and bottom monitors and enter their widths in cm.
- Run and Forget: Once set up, MonitorMouseMapper takes care of everything automatically.
Imagine you have a smaller, high-DPI laptop monitor centered below a larger, low-DPI external monitor. With MonitorMouseMapper, not only will your mouse pointer transition smoothly between these two, but it'll also handle the DPI scaling intelligently.
- Python 3.x
pynput
libraryxrandr
utility- ๐ง Ubuntu Support: Currently, this utility only supports Ubuntu.
To run MonitorMouseMapper at startup, add the following command to your startup applications:
bash -c "sleep 5 && python3 /home/flo/Programs/MonitorMouseMapper/MonitorMouseMapper.py"
The delay is necessary to ensure that the script runs after your monitors have been detected. Adjust it to your machine's speed.
To create a shortcut, make the create_desktop_shortcut.sh script executable and run it:
chmod +x create_desktop_shortcut.sh
./create_desktop_shortcut.sh
Choose between hills and tree icons:
- Make sure
xrandr
is installed and updated. - For a clean slate, you can delete the
config.json
file and re-run the script.
Contributions are welcome! Feel free to fork the project, submit pull requests, or raise issues.
This project is licensed under the MIT license.
Simplify your multi-monitor setup with MonitorMouseMapper. Say goodbye to annoying DPI issues and hello to a smoother multi-monitor experience! ๐