Code Monkey home page Code Monkey logo

omniscroll's Introduction

omniscroll

This utility allows you to scroll any window in Mac OS by holding the middle mouse button and moving the mouse. It supports both vertical and horiztonal scrolling.

To invert vertical scrolling change NATURAL_FACTOR to -1.

Horizontal scrolling can be disabled by commenting the HORIZONTAL_SCROLL_ENABLED line.

The sensitivity can be adjusted by changing the MULTIPLIER value. I prefer the value 1.5.

You must build the code yourself using make. If you do not have the Apple developer tools installed you will be prompted when running Make.

To run, use the command ./omniscroll in Terminal.

This utility runs from Terminal. You must grant Terminal access to the Accessibility APIs in System Preferences > Security > Accessibility.

System Preferences dialog

Known issues

In Terminal, middle click pastes the clipboard.

In Visual Studio Code, middle click creates additional cursors. To workaround this issue, set Multi Cursor Limit to 1 in settings.

In Rider, middle click creates additional cursors and the scroll functionality does not work on any scrollable region in Rider. No known workaround.

Future enhancements

I would like to be able to run this as a menu bar app.

I do not have an Apple developer account to sign and distribute a binary version.

Add keyboard shortcut to enable or disable.

Add momentum scrolling like on mobile.

omniscroll's People

Contributors

ryanohs avatar

Stargazers

Blake Watson 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.