Coder Social home page Coder Social logo

monitormousemapper's Introduction

MonitorMouseMapper

Monitor Setup

Introduction

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.

๐Ÿ”ฅ Highlight: DPI Scaling Management

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!

Features

  • ๐Ÿ–ฅ๏ธ 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.

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/MonitorMouseMapper.git
  2. Navigate to the project folder:
    cd MonitorMouseMapper
  3. Run the script:
    python3 MonitorMouseMapper.py

How to Use

  1. Initial Run: Upon first launch, you'll be prompted to choose your top and bottom monitors and enter their widths in cm.
  2. Run and Forget: Once set up, MonitorMouseMapper takes care of everything automatically.

Example Setup

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.

Requirements

  • Python 3.x
  • pynput library
  • xrandr utility
  • ๐Ÿง Ubuntu Support: Currently, this utility only supports Ubuntu.

Run at Startup

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.

Create desktop shortcut

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:

Troubleshooting

  • Make sure xrandr is installed and updated.
  • For a clean slate, you can delete the config.json file and re-run the script.

Contribution

Contributions are welcome! Feel free to fork the project, submit pull requests, or raise issues.

License

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! ๐ŸŒŸ

monitormousemapper's People

Contributors

infraviored avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.