Created
March 16, 2026 12:48
-
-
Save erbanku/2e022ab5ace16f1a5d15772f0ca8d02f to your computer and use it in GitHub Desktop.
AutoHotkey replacement for Windows 11 Suggested Actions Credit: https://pastebin.com/eD5Cpa1j
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #Requires AutoHotkey v2.0 | |
| #SingleInstance Force | |
| ; Variable to store the last clipboard content | |
| lastClipboard := "" | |
| ; Set up a timer to monitor the clipboard every 500ms | |
| SetTimer(CheckClipboardAndWindow, 500) | |
| CheckClipboardAndWindow() { | |
| global lastClipboard | |
| ; Get the current clipboard content | |
| clipboardContent := A_Clipboard | |
| ; Check if the clipboard content has changed | |
| if (clipboardContent != lastClipboard) { | |
| ; Update the last clipboard content | |
| lastClipboard := clipboardContent | |
| ; Clean the text (remove spaces, dashes, parentheses, dots) | |
| CleanText := RegExReplace(clipboardContent, "[\s\-\(\)\.]", "") | |
| ; Check if it's a phone number (various formats) | |
| if (IsPhoneNumber(CleanText)) { | |
| ; Format the phone number for tel | |
| FormattedNumber := FormatPhoneNumber(CleanText) | |
| ; Create tel link | |
| telLink := "tel:" . FormattedNumber | |
| ; Show notification | |
| TrayTip("Phone Number Detected", "Opening tel link for: " . FormattedNumber, "Iconi Mute") | |
| ; Open the tel link | |
| Run(telLink) | |
| } | |
| ; Function to check if text is a phone number | |
| IsPhoneNumber(Text) { | |
| ; Remove any remaining non-numeric characters except + | |
| NumericText := RegExReplace(Text, "[^\d\+]", "") | |
| ; Check various phone number patterns: | |
| ; - 10 digits (US format): 1234567890 | |
| ; - 11 digits starting with 1: 11234567890 | |
| ; - International format starting with +: +11234567890, +441234567890, etc. | |
| if (RegExMatch(NumericText, "^\d{10}$")) ; 10 digits | |
| return true | |
| if (RegExMatch(NumericText, "^1\d{10}$")) ; 11 digits starting with 1 | |
| return true | |
| if (RegExMatch(NumericText, "^\+\d{10,15}$")) ; International format | |
| return true | |
| return false | |
| } | |
| ; Function to format phone number for tel | |
| FormatPhoneNumber(Text) { | |
| ; Remove any non-numeric characters except + | |
| NumericText := RegExReplace(Text, "[^\d\+]", "") | |
| ; If it's a 10-digit US number, add +1 | |
| if (RegExMatch(NumericText, "^\d{10}$")) | |
| return "+1" . NumericText | |
| ; If it's 11 digits starting with 1, add + | |
| if (RegExMatch(NumericText, "^1\d{10}$")) | |
| return "+" . NumericText | |
| ; If it already starts with +, return as is | |
| if (RegExMatch(NumericText, "^\+")) | |
| return NumericText | |
| ; Default: return with + prefix | |
| return "+" . NumericText | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment