{"id":13473084,"url":"https://github.com/sbmpost/AutoRaise","last_synced_at":"2025-03-26T17:31:50.210Z","repository":{"id":37435132,"uuid":"178148244","full_name":"sbmpost/AutoRaise","owner":"sbmpost","description":"AutoRaise (and focus) a window when hovering over it with the mouse","archived":false,"fork":false,"pushed_at":"2024-09-06T13:04:13.000Z","size":6903,"stargazers_count":1821,"open_issues_count":30,"forks_count":68,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-26T09:24:44.404Z","etag":null,"topics":["autofocus","autoraise","mouse","osx"],"latest_commit_sha":null,"homepage":"","language":"Objective-C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbmpost.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-28T07:19:39.000Z","updated_at":"2025-03-25T22:00:42.000Z","dependencies_parsed_at":"2023-09-29T12:06:19.631Z","dependency_job_id":"61e77c70-14ba-404c-9884-83e67348e5fc","html_url":"https://github.com/sbmpost/AutoRaise","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmpost%2FAutoRaise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmpost%2FAutoRaise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmpost%2FAutoRaise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbmpost%2FAutoRaise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbmpost","download_url":"https://codeload.github.com/sbmpost/AutoRaise/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245702366,"owners_count":20658602,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autofocus","autoraise","mouse","osx"],"created_at":"2024-07-31T16:01:00.623Z","updated_at":"2025-03-26T17:31:50.165Z","avatar_url":"https://github.com/sbmpost.png","language":"Objective-C++","funding_links":[],"categories":["Objective-C++"],"sub_categories":[],"readme":"**AutoRaise**\n\nWhen you hover a window it will be raised to the front (with a delay of your choosing) and gets the focus. There is also an option to warp\nthe mouse to the center of the activated window when using the cmd-tab or cmd-grave (backtick) key combination.\nSee also [on stackoverflow](https://stackoverflow.com/questions/98310/focus-follows-mouse-plus-auto-raise-on-mac-os-x)\n\n**Quick start**\n\n1. Download the [disk image](https://github.com/sbmpost/AutoRaise/blob/master/AutoRaise.dmg)\n2. Double click the downloaded .dmg in Finder.\n3. In finder, look for mounted disk image on side bar at left.\n4. Drag the AutoRaise.app into the Applications folder.\n5. Then open AutoRaise from Applications.\n6. Left click the menu bar balloon at top to give permissions to AutoRaise in System/Accessibility.\n7. Right click the menu bar balloon at top, then select preferences.\n\n*Important*: When you enable Accessibility in System Preferences, if you see an older AutoRaise item with balloon icon in the\nAccessibility pane, first remove it **completely** (clicking the minus). Then stop and start AutoRaise by left clicking the balloon\nicon, and the item should re-appear so that you can properly enable Accessibility.\n\n**Compiling AutoRaise**\n\nTo compile AutoRaise yourself, download the master branch from [here](https://github.com/sbmpost/AutoRaise/archive/refs/heads/master.zip)\nand use the following commands:\n\n    unzip -d ~ ~/Downloads/AutoRaise-master.zip\n    cd ~/AutoRaise-master \u0026\u0026 make clean \u0026\u0026 make \u0026\u0026 make install\n\n**Advanced compilation options**\n\n  * ALTERNATIVE_TASK_SWITCHER: The warp feature works accurately with the default OSX task switcher. Enable the alternative\n  task switcher flag if you use an alternative task switcher and are willing to accept that in some cases you may encounter\n  an unexpected mouse warp.\n\n  * OLD_ACTIVATION_METHOD: Enable this flag if one of your applications is not raising properly. This can happen if the\n  application uses a non native graphic technology like GTK or SDL. It could also be a [wine](https://www.winehq.org) application.\n  Note this will introduce a deprecation warning.\n\n  * EXPERIMENTAL_FOCUS_FIRST: Enabling this flag adds support for first focusing the hovered window before actually raising it.\n  Or not raising at all if the -delay setting equals 0. This is an experimental feature. It relies on undocumented private API\n  calls. *As such there is absolutely no guarantee it will be supported in future OSX versions*.\n\nExample advanced compilation command:\n\n    make CXXFLAGS=\"-DOLD_ACTIVATION_METHOD -DEXPERIMENTAL_FOCUS_FIRST\" \u0026\u0026 make install\n\n**Running AutoRaise**\n\nAfter making the project, you end up with these two files:\n\n    AutoRaise (command line version)\n    AutoRaise.app (version without GUI)\n\nThe first binary is to be used directly from the command line and accepts parameters. The second binary, AutoRaise.app, can\nbe used without a terminal window and relies on the presence of a configuration file. AutoRaise.app runs on the background and\ncan only be stopped via \"Activity Monitor\" or the AppleScript provided near the bottom of this README.\n\n**Command line usage:**\n\n    ./AutoRaise -pollMillis 50 -delay 1 -focusDelay 0 -warpX 0.5 -warpY 0.1 -scale 2.5 -altTaskSwitcher false -ignoreSpaceChanged false -ignoreApps \"App1,App2\" -stayFocusedBundleIds \"Id1,Id2\" -disableKey control -mouseDelta 0.1\n\n*Note*: focusDelay is only supported when compiled with the \"EXPERIMENTAL_FOCUS_FIRST\" flag.\n\n  - pollMillis: How often to poll the mouse position and consider a raise/focus. Lower values increase responsiveness but also CPU load. Minimum = 20 and default = 50.\n\n  - delay: Raise delay, specified in units of pollMillis. Disabled if 0. A delay \u003e 1 requires the mouse to stop for a moment before raising.\n\n  - focusDelay: Focus delay, specified in units of pollMillis. Disabled if 0. A delay \u003e 1 requires the mouse to stop for a moment before focusing.\n\n  - warpX: A Factor between 0 and 1. Makes the mouse jump horizontally to the activated window. By default disabled.\n\n  - warpY: A Factor between 0 and 1. Makes the mouse jump vertically to the activated window. By default disabled.\n\n  - scale: Enlarge the mouse for a short period of time after warping it. The default is 2.0. To disable set it to 1.0.\n\n  - altTaskSwitcher: Set to true if you use 3rd party tools to switch between applications (other than standard command-tab).\n\n  - ignoreSpaceChanged: Do not immediately raise/focus after a space change. The default is false.\n\n  - invertIgnoreApps: Turns the ignoreApps parameter into an includeApps parameter. The default is false.\n\n  - ignoreApps: Comma separated list of apps for which you would like to disable focus/raise.\n\n  - ignoreTitles: Comma separated list of window titles (a title can be an ICU regular expression) for which you would like to disable focus/raise.\n\n  - stayFocusedBundleIds: Comma separated list of app bundle identifiers that shouldn't lose focus even when hovering the mouse over another window.\n\n  - disableKey: Set to control, option or disabled. This will temporarily disable AutoRaise while holding the specified key. The default is control.\n\n  - mouseDelta: Requires the mouse to move a certain distance. 0.0 = most sensitive whereas higher values decrease sensitivity.\n\n  - verbose: Set to true to make AutoRaise show a log of events when started in a terminal.\n    \nAutoRaise can read these parameters from a configuration file. To make this happen, create a **~/.AutoRaise** file or a\n**~/.config/AutoRaise/config** file. The format is as follows:\n\n    #AutoRaise config file\n    pollMillis=50\n    delay=1\n    focusDelay=0\n    warpX=0.5\n    warpY=0.1\n    scale=2.5\n    altTaskSwitcher=false\n    ignoreSpaceChanged=false\n    invertIgnoreApps=false\n    ignoreApps=\"IntelliJ IDEA,WebStorm\"\n    ignoreTitles=\"\\\\s\\\\| Microsoft Teams,...\"\n    stayFocusedBundleIds=\"com.apple.SecurityAgent,...\"\n    disableKey=\"control\"\n    mouseDelta=0.1\n\n**AutoRaise.app usage:**\n\n    a) setup configuration file, see above ^\n    b) open /Applications/AutoRaise.app (allow Accessibility if asked for)\n    c) either stop AutoRaise via \"Activity Monitor\" or read on:\n\nTo toggle AutoRaise on/off with a keyboard shortcut, paste the AppleScript below into an automator service workflow. Then\nbind the created service to a keyboard shortcut via System Preferences|Keyboard|Shortcuts. This also works for AutoRaise.app\nin which case \"/Applications/AutoRaise\" should be replaced with \"/Applications/AutoRaise.app\"\n\nApplescript:\n\n    on run {input, parameters}\n        tell application \"Finder\"\n            if exists of application process \"AutoRaise\" then\n                quit application \"/Applications/AutoRaise\"\n                display notification \"AutoRaise Stopped\"\n            else\n                launch application \"/Applications/AutoRaise\"\n                display notification \"AutoRaise Started\"\n            end if\n        end tell\n        return input\n    end run\n\n**Troubleshooting \u0026 Verbose logging**\n\nIf you experience any issues, it is suggested to first check these points:\n\n- Are you using the latest version?\n- Does it work with the command line version?\n- Are you running other mouse tools that might intervene with AutoRaise?\n- Are you running two AutoRaise instances at the same time? Use \"Activity Monitor\" to check this.\n- Is Accessibility properly enabled? To be absolutely sure, remove any previous AutoRaise items\nthat may be present in the System Preferences|Security \u0026 Privacy|Privacy|Accessibility pane. Then\nstart AutoRaise and enable accessibility again.\n\nIf after checking the above you still experience the problem, I encourage you to create an issue\nin github. It will be helpful to provide (a small part of) the verbose log, which can be enabled\nlike so:\n\n    ./AutoRaise \u003cparameters you would like to add\u003e -verbose true\n\nThe output should look something like this:\n\n    v5.3 by sbmpost(c) 2024, usage:\n\n    AutoRaise\n      -pollMillis \u003c20, 30, 40, 50, ...\u003e\n      -delay \u003c0=no-raise, 1=no-delay, 2=50ms, 3=100ms, ...\u003e\n      -focusDelay \u003c0=no-focus, 1=no-delay, 2=50ms, 3=100ms, ...\u003e\n      -warpX \u003c0.5\u003e -warpY \u003c0.5\u003e -scale \u003c2.0\u003e\n      -altTaskSwitcher \u003ctrue|false\u003e\n      -ignoreSpaceChanged \u003ctrue|false\u003e\n      -invertIgnoreApps \u003ctrue|false\u003e\n      -ignoreApps \"\u003cApp1,App2, ...\u003e\"\n      -ignoreTitles \"\u003cRegex1, Regex2, ...\u003e\"\n      -stayFocusedBundleIds \"\u003cId1,Id2, ...\u003e\"\n      -disableKey \u003ccontrol|option|disabled\u003e\n      -mouseDelta \u003c0.1\u003e\n      -verbose \u003ctrue|false\u003e\n\n    Started with:\n      * pollMillis: 50ms\n      * delay: 0ms\n      * focusDelay: disabled\n      * warpX: 0.5, warpY: 0.1, scale: 2.5\n      * altTaskSwitcher: false\n      * ignoreSpaceChanged: false\n      * invertIgnoreApps: false\n      * ignoreApp: App1\n      * ignoreApp: App2\n      * ignoreTitle: Regex1\n      * ignoreTitle: Regex2\n      * stayFocusedBundleId: Id1\n      * stayFocusedBundleId: Id2\n      * disableKey: control\n      * mouseDelta: 2.0\n      * verbose: true\n\n    Compiled with:\n      * OLD_ACTIVATION_METHOD\n      * EXPERIMENTAL_FOCUS_FIRST\n\n    2024-04-09 10:55:27.903 AutoRaise[40260:3886758] AXIsProcessTrusted: YES\n    2024-04-09 10:55:27.922 AutoRaise[40260:3886758] System cursor scale: 1.000000\n    2024-04-09 10:55:27.936 AutoRaise[40260:3886758] Got run loop source: YES\n    2024-04-09 10:55:27.975 AutoRaise[40260:3886758] Registered app activated selector\n    2024-04-09 10:55:27.995 AutoRaise[40260:3886758] Desktop origin (-1920.000000, -360.000000)\n    ...\n    ...\n\n*Note*: Dimentium created a homebrew formula for this tool which can be found here:\n\nhttps://github.com/Dimentium/homebrew-autoraise\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmpost%2FAutoRaise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbmpost%2FAutoRaise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbmpost%2FAutoRaise/lists"}