Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I changed it to v2 but still having some issues. Here's the unformatted code if anyone wants it.
- #Warn
- #SingleInstance Force
- Persistent
- InstallKeybdHook()
- InstallMouseHook()
- SetWinDelay(-1)
- CoordMode("Mouse", "Screen")
- SendMode("Input")
- SetWorkingDir(A_ScriptDir)
- filePath := A_ScriptFullPath
- A_Time := FormatTime(, "Time")
- A_ShortDate := FormatTime(, "ShortDate")
- A_LongDate := FormatTime(, "LongDate")
- A_YY := FormatTime(, "yy")
- A_HH := FormatTime(, "HH")
- A_tt := FormatTime(, "tt")
- {
- Date := A_Now
- List := DateFormats(Date)
- TextMenuDate(List)
- }
- StartTime := A_TickCount
- ScriptVersion := "v.2024.09.13-2"
- ScriptName := "Extended CAPS Context Menu"
- url := "https://www.github.com/indigofairyx"
- dittourl := "https://github.com/sabrogden/Ditto"
- everuthingurl := "https://www.voidtools.com/forum/viewtopic.php?t=9787"
- autocorrecturl := "https://github.com/BashTux1/AutoCorrect-AHK-2.0"
- textifyurl := "https://ramensoftware.com/textify"
- Textgraburl := "https://github.com/TheJoeFin/Text-Grab/"
- notepadppurl := "https://github.com/notepad-plus-plus/notepad-plus-plus"
- SetCapsLockState("off") ; might be a good idea to run this on script start up
- CapsGuiToggle := false
- ;;;;;;; DARK MODE ;;;;;;; Change the values below to change the color of the menu.
- DarkMode := true ; set initial mode to light
- MenuDark()
- ; 0=Default 1=AllowDark 2=ForceDark 3=ForceLight 4=Max
- ;;;;;;;;;;;;;;;;;;;;;;;;;
- MenuDark(Dark:=2) { ;<=--<=CHANGE DEFAULT TO DARK MODE (make it the default)
- ;https://stackoverflow.com/a/58547831/894589
- static uxtheme := DllCall("GetModuleHandle", "str", "uxtheme", "ptr")
- static SetPreferredAppMode := DllCall("GetProcAddress", "ptr", uxtheme, "ptr", 135, "ptr")
- static FlushMenuThemes := DllCall("GetProcAddress", "ptr", uxtheme, "ptr", 136, "ptr")
- DllCall(SetPreferredAppMode, "int", Dark) ; 0=Default 1=AllowDark 2=ForceDark 3=ForceLight =Max
- DllCall(FlushMenuThemes)
- }
- TraySetIcon(A_ScriptDir . "\Images\keyboard-caps-lock-filled xfav arrow send move_256x256.ico")
- tray:= A_TrayMenu
- tray.add("") ; line ;-------------------------
- tray.add("View About && Hotkeys", aboutwindow)
- tray.SetIcon("View About && Hotkeys", A_ScriptDir . "\Images\about_48x48.ico")
- ;;; go capslock menu, go Case menu, START caps menu, capsmenu, go menu, Case
- ; menu, Case, Add
- Case := Menu()
- Case.add("") ; top line ;-------------------------
- Case.Delete()
- Case.Add("CAPSLOCK MENU TOGGLE", ToggleCapsLock)
- Case.SetIcon("CAPSLOCK MENU TOGGLE", A_ScriptDir . "\Images\keyboard-caps-lock-filled xfav arrow send ove_256x256.ico")
- Case.Default := "CAPSLOCK MENU TOGGLE"
- Case.add("") ; top line ;-------------------------
- ; menu, Case, DeleteAll
- Case.Add("UPPERCase", Upper)
- Case.Add("lowerCase", Lower)
- Case.Add("Title Case", Title)
- Case.Add("Sentence Case", Sentence)
- Case.add("") ; line ;-------------------------
- ctxt := Menu()
- ctxt.add()
- ctxt.Delete()
- ctxt.Add("Capital Case", Capital)
- ctxt.add("Reverse", Reverse)
- ctxt.Add("iNVERT Case", Invert)
- ctxt.add("") ; line
- ctxt.add("Remove Extra Spaces", RemoveExtraS)
- ctxt.Add("Remove ALL Spaces", RASpace)
- ctxt.SetIcon("Remove ALL Spaces", A_ScriptDir . "\Images\sc_gluepercent_16x16.ico")
- ctxt.add("S p r e a d T e x t", spread) ; cCase ; spread Case
- ctxt.add("") ; line ;-------------------------
- ctxt.Add("PascalCase", Pascal)
- ctxt.Add("camelCase", camel)
- ctxt.Add("aLtErNaTiNg Case", Alternating)
- ctxt.add("") ;line ;-------------------------
- ctxt.Add("Space to Dot.Case", Dot)
- ctxt.Add("Space to Snake_Case", Snake)
- ctxt.Add("Space to Kebab-Case", Kebab)
- ctxt.add("") ; line ;-------------------------
- ctxt.add("Fix Linebreaks", FixLineBreaks)
- Case.add("More Convert Case...", ctxt)
- Case.SetIcon("More Convert Case...", A_ScriptDir . "\Images\richtext_editor__32x32.ico")
- Case.Add() ; line ;-------------------------
- Case.Add("Put in `"Quotes`"", ClipQuote)
- Case.SetIcon("Put in `"Quotes`"", A_ScriptDir . "\Images\format quote_24x24.ico")
- Case.add("Put in `{Curly Brackets`}", wrapincbrackets)
- Case.SetIcon("Put in `{Curly Brackets`}", A_ScriptDir . "\Images\coding code json filetype_24x24.ico")
- cform := Menu()
- cform.add() ; line ;-------------------------
- cform.Delete()
- cform.add("Put in `/`* Block Comment `*`/", commentblock)
- cform.add("Put in (Parentheses)", wrapparen)
- cform.add("Put in [Square Brackets]", squbracket)
- cform.Add("Put in ``Code - `Inline``", CodeLine)
- cform.Add("Put in ``````Code - Box``````", CodeBox)
- cform.SetIcon("Put in ``````Code - Box``````", A_ScriptDir . "\Images\selection text code esources_200_24x24.ico")
- cform.add("Put in `<`!-- xml Comment --`>", wrapinxmlcomment)
- cform.add("") ; line ;------------------------- '
- cform.Add("Add &More Formatting", Addmore)
- cform.SetIcon("Add &More Formatting", A_ScriptDir . "\Images\notepad++_100.ico")
- Case.add("Code Formatting...", cform)
- Case.SetIcon("Code Formatting...", A_ScriptDir . "\Images\code spark xfav function_256x256.ico")
- Case.add() ; line ;-------------------------
- ; menu, cfind, deleteall
- cfind := Menu()
- cfind.add("Google This", googlethis)
- cfind.SetIcon("Google This", A_ScriptDir . "\Images\google_96x96.ico")
- cfind.add("Youtube This", youtubethis)
- cfind.SetIcon("Youtube This", A_ScriptDir . "\Images\youtube_64x64.ico")
- cfind.add("AHK Syntax Search", ahksearch)
- cfind.SetIcon("AHK Syntax Search", A_ScriptDir . "\Images\www.autohotkey.com website favcon_48x48.ico")
- cfind.add("Find Locally with Everything", Findwitheverything)
- cfind.SetIcon("Find Locally with Everything", A_ScriptDir . "\Images\voidtools-15-Everything-1.5.ico")
- cfind.add("Search in System Index", evindex)
- cfind.SetIcon("Search in System Index", A_ScriptDir . "\Images\office search find content everything document-viewer_32x32.ico")
- cfind.add("Look up on Dictionary.com", Dictionarydotcom)
- Case.add("Search Selected Text...", cfind)
- Case.SetIcon("Search Selected Text...", A_ScriptDir . "\Images\search find Windows 11 Icon 13_256x256.co")
- Case.add("") ; line ;-------------------------
- Case.add("Insert Date...", dtmenu)
- Case.SetIcon("Insert Date...", A_ScriptDir . "\Images\clock SHELL32_16771 256x256.ico")
- Case.Add("Open Emoji Keyboard", OpenEmojiKeyboard)
- Case.SetIcon("Open Emoji Keyboard", A_ScriptDir . "\Images\emoji-face people_256x256.ico")
- Case.Add() ; line ;-------------------------
- ; menu, ctools, deleteall
- ctools := Menu()
- ctools.add("Copy Selection To New Document", newtxtfile)
- ctools.SetIcon("Copy Selection To New Document", A_ScriptDir . "\Images\document new text txt add LUENT_colored_454_64x64.ico")
- ctools.add("Quick Save NewFile.txt", autotxtfile)
- ctools.SetIcon("Quick Save NewFile.txt", A_ScriptDir . "\Images\lc_savebasicas_26x26.ico")
- ctools.add("Open Quick Notes Dir", openquick)
- ctools.SetIcon("Open Quick Notes Dir", "C:\Windows\System32\imageres.dll", "265")
- ctools.add("") ; line ;-------------------------
- ctools.add("Save A_Clipboard to New Document", SaveClipboardAsTxt)
- ctools.SetIcon("Save A_Clipboard to New Document", "C:\xsysicons\Fluent Colored icons\Dopus FLUENT con Set\document rename FLUENT_colored_453_64x64.ico")
- ctools.add("View A_Clipboard", viewclip)
- ctools.SetIcon("View A_Clipboard", A_ScriptDir . "\Images\message Magic Box.ico")
- ctools.add("Clear A_Clipboard", clearclip)
- ctools.SetIcon("Clear A_Clipboard", A_ScriptDir . "\Images\clean broom sweep icon.ico")
- ctools.add("") ; line ;-------------------------
- ctools.Add("Dark Mode | Light Mode", DMToggle)
- ctools.SetIcon("Dark Mode | Light Mode", A_ScriptDir . "\Images\darkmodetoggleshell32_284_48x48.ico")
- ctools.add("About", aboutwindow)
- ctools.SetIcon("About", A_ScriptDir . "\Images\about_48x48.ico")
- ctools.add("Debug Lines", lines)
- ctools.SetIcon("Debug Lines", A_ScriptDir . "\Images\bug report FLUENT_colored_217_64x64.ico")
- ctools.add("") ; line ;-------------------------
- ctools.add("Run AHK Auto Correct", abc)
- ctools.SetIcon("Run AHK Auto Correct", A_ScriptDir . "\Images\autocorrect_icon_32x32.ico")
- ctools.add("") ; line ;-------------------------
- ctools.add("Ditto A_Clipboard", dittobutton)
- ctools.SetIcon("Ditto A_Clipboard", A_ScriptDir . "\Images\ditto quote A_Clipboard 128x128.ico")
- ctools.add("Textify", TextifyButton)
- ctools.SetIcon("Textify", A_ScriptDir . "\Images\textify 128x128.ico")
- ctools.add("Text Grab", runtextgrab)
- ctools.SetIcon("Text Grab", A_ScriptDir . "\Images\text grab v4 128x128.ico")
- ctools.add("Notepad++", runnotepad)
- ctools.SetIcon("Notepad++", A_ScriptDir . "\Images\notepad++_100.ico")
- ctools.add("") ; line ;-------------------------
- ctools.add("Exit Script", exitscript)
- ctools.SetIcon("Exit Script", "C:\Windows\System32\imageres.dll", "94")
- Case.add("Text Tools && Apps", ctools)
- Case.SetIcon("Text Tools && Apps", A_ScriptDir . "\Images\Pencil and Ruler__32x32.ico")
- Case.add() ; line ;-------------------------
- Case.Add("Copy", basiccopy)
- Case.SetIcon("Copy", A_ScriptDir . "\Images\edit-copy_32x32.ico")
- Case.add("Copy + Add to A_Clipboard", appendclip)
- Case.SetIcon("Copy + Add to A_Clipboard", A_ScriptDir . "\Images\A_Clipboard--plus_16x16.ico")
- Case.add("Cut", basiccut)
- Case.SetIcon("Cut", A_ScriptDir . "\Images\edit-cut_32x32.ico")
- Case.add("Paste", basicpaste)
- Case.SetIcon("Paste", A_ScriptDir . "\Images\edit-paste_256x256.ico")
- Case.ADD("Paste As Plain Text", pasteplain)
- Case.add() ; line ;-------------------------
- Case.add("Close This Menu", ExitMenu)
- Case.SetIcon("Close This Menu", A_ScriptDir . "\Images\aero Close_24x24-32b.ico")
- ; menu, Case, DeleteAll
- ;; Date time menu ( bound to cpaslock\Case menu)
- TextMenuDate(TextOptions)
- {
- MenuItems := StrSplit(TextOptions,"|")
- Loop MenuItems.Length
- {
- Item := MenuItems[A_Index]
- dtmenu := Menu()
- dtmenu.add(Item, dtMenuAction)
- ; Menu, dtmenu, add, %Date%, dtMenuAction ; xadd
- }
- ; menu, dtmenu, add ; line ;-------------------------
- ; Menu, dtMenu, DeleteAll
- ; menu, dtmenu, add, &Exit This Menu, ExitMenu
- ; Menu, dtmenu, icon, &Exit This Menu, %A_ScriptDir%\Images\aero Close_24x24-32b.ico
- ; Menu, dtMenu, Show
- ;;;; X NOTE - I can add addiional submenu items here
- }
- DateFormats(Date)
- {
- REMOVED: local
- static
- OutputVar := FormatTime(Date, "h:mm tt") ;12 hour clock
- List := OutputVar
- OutputVar := FormatTime(Date, "HH:mm tt") ;24 hour clock
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "ShortDate") ; 9/5/2015
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "MM/dd/yy") ; 09/05/2015
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "MMMM d, yyyy") ; August 26, 2024
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "LongDate") ; Monday, August 26, 2024
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "dddd, MMMM d, yyyy, h:mm tt") ; Friday, September 6, 2024, 9:46 PM
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "dddd, MMMM d, yyyy, hh:mm:ss tt") ; Friday, September 6, 2024, 9:46:41 PM
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, A_now) ; 20240826165553
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "dddd") ; Monday
- List := List . "|" . OutputVar
- OutputVar := FormatTime(Date, "MMMM") ; August
- List := List . "|" . OutputVar
- Return List
- }
- ;;; end Case menu, end capslock menu, end date menu
- return
- ;---------------------- CAPS LOCK BANNER -----------------------------------------------------------
- ;----------------------------------------------------------------------------------------------------
- /***
- ; CCCCCCCCCCCCC AAA PPPPPPPPPPPPPPPPP SSSSSSSSSSSSSSS llllll kkkkkkkk
- ; CCC↑↑↑↑↑↑↑↑↑↑↑↑C A↑↑↑A P↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑P S↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑Sl↑↑↑↑↑l k↑↑↑↑↑↑k
- ; CC↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑C A↑↑↑↑↑A P↑↑↑↑↑↑PPPPPP↑↑↑↑↑P ↑↑↑↑↑SSSSSS↑↑↑↑↑↑Sl↑↑↑↑↑l k↑↑↑↑↑↑k
- ; C↑↑↑↑↑CCCCCCCC↑↑↑↑C A↑↑↑↑↑↑↑A PP↑↑↑↑↑P P↑↑↑↑↑PS↑↑↑↑↑S SSSSSSl↑↑↑↑↑l k↑↑↑↑↑↑k
- ; C↑↑↑↑↑C CCCCCC A↑↑↑↑↑↑↑↑↑A P↑↑↑↑P P↑↑↑↑↑PS↑↑↑↑↑S ↑↑↑↑l ooooooooooo cccccccccccccccc k↑↑↑↑↑k kkkkkkk
- ; C↑↑↑↑↑C A↑↑↑↑↑A↑↑↑↑↑A P↑↑↑↑P P↑↑↑↑↑PS↑↑↑↑↑S ↑↑↑↑l oo↑↑↑↑↑↑↑↑↑↑↑oo cc↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑c k↑↑↑↑↑k k↑↑↑↑↑k
- ; C↑↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A P↑↑↑↑PPPPPP↑↑↑↑↑P S↑↑↑↑SSSS l↑↑↑↑l ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑o c↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑c k↑↑↑↑↑k k↑↑↑↑↑k
- ; C↑↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A P↑↑↑↑↑↑↑↑↑↑↑↑↑PP SS↑↑↑↑↑↑SSSSS l↑↑↑↑l ↑↑↑↑↑ooooo↑↑↑↑↑oc↑↑↑↑↑↑↑cccccc↑↑↑↑↑c k↑↑↑↑↑k k↑↑↑↑↑k
- ; C↑↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A P↑↑↑↑PPPPPPPPP SSS↑↑↑↑↑↑↑↑SS l↑↑↑↑l ↑↑↑↑o o↑↑↑↑oc↑↑↑↑↑↑c ccccccc k↑↑↑↑↑↑k↑↑↑↑↑k
- ; C↑↑↑↑↑C A↑↑↑↑↑AAAAAAAAA↑↑↑↑↑A P↑↑↑↑P SSSSSS↑↑↑↑S l↑↑↑↑l ↑↑↑↑o o↑↑↑↑oc↑↑↑↑↑c k↑↑↑↑↑↑↑↑↑↑↑k
- ; C↑↑↑↑↑C A↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑A P↑↑↑↑P S↑↑↑↑↑S l↑↑↑↑l ↑↑↑↑o o↑↑↑↑oc↑↑↑↑↑c k↑↑↑↑↑↑↑↑↑↑↑k
- ; C↑↑↑↑↑C CCCCCC A↑↑↑↑↑AAAAAAAAAAAAA↑↑↑↑↑A P↑↑↑↑P S↑↑↑↑↑S l↑↑↑↑l ↑↑↑↑o o↑↑↑↑oc↑↑↑↑↑↑c ccccccc k↑↑↑↑↑↑k↑↑↑↑↑k
- ; C↑↑↑↑↑CCCCCCCC↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A PP↑↑↑↑↑↑PP SSSSSSS ↑↑↑↑↑Sl↑↑↑↑↑↑lo↑↑↑↑↑ooooo↑↑↑↑↑oc↑↑↑↑↑↑↑cccccc↑↑↑↑↑ck↑↑↑↑↑↑k k↑↑↑↑↑k
- ; CC↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A P↑↑↑↑↑↑↑↑P ↑↑↑↑↑↑SSSSSS↑↑↑↑↑Sl↑↑↑↑↑↑lo↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑o c↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ck↑↑↑↑↑↑k k↑↑↑↑↑k
- ; CCC↑↑↑↑↑↑↑↑↑↑↑↑C A↑↑↑↑↑A A↑↑↑↑↑A P↑↑↑↑↑↑↑↑P S↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑SS ↑↑↑↑↑↑l oo↑↑↑↑↑↑↑↑↑↑↑oo cc↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ck↑↑↑↑↑↑k k↑↑↑↑↑k
- ; CCCCCCCCCCCCCAAAAAAA AAAAAAAPPPPPPPPPP SSSSSSSSSSSSSSS lllllll ooooooooooo cccccccccccccccckkkkkkkk kkkkkkk
- */
- ;------------------------- CAPS KEY FUCNCTIONS--------CAPSLOCK-------------------------------------
- ;------------------------------ capslock menu -----------------------------------------------------
- CopyClipboardCLM() ;; function
- {
- global ClipSaved ; Ensure global is used if ClipSaved is accessed elsewhere
- ClipSaved := ClipboardAll() ; Save the current clipboard contents
- Sleep(750)
- A_Clipboard := "" ; Clear the clipboard
- Sleep(200) ; Adjust the sleep time if needed
- Send("^{vk43}") ; Send Ctrl+C
- Errorlevel := !ClipWait(1.5) ; Wait for the clipboard to contain data
- if ErrorLevel
- {
- TrayTip("CAPSkey", "Copy to A_Clipboard failed!", 18)
- A_Clipboard := ClipSaved ; Restore the clipboard
- return
- }
- }
- PasteClipboardCLM() ;; function
- {
- global ClipSaved ; Use a similar approach as in CopyClipboardCLM
- Send("^v") ; Send Ctrl+V
- Sleep(200) ; Give the system time to paste the clipboard content
- A_Clipboard := ClipSaved ; Restore the saved clipboard contents
- ClipSaved := "" ; Clear the variable
- }
- PastePlain()
- {
- REMOVED: local
- ClipSaved := ClipboardAll() ; save original clipboard contents
- Sleep(400)
- A_Clipboard := A_Clipboard ; remove formatting
- Sleep(150)
- Send("^v") ; send the Ctrl+V command
- Sleep(100) ; give some time to finish paste (before restoring clipboard)
- A_Clipboard := ClipSaved ; restore the original clipboard contents
- ClipSaved := "" ; clear the variable
- }
- Upper()
- {
- CopyClipboardCLM()
- A_Clipboard := StrUpper(A_Clipboard)
- PasteClipboardCLM()
- }
- Lower()
- {
- CopyClipboardCLM()
- A_Clipboard := StrLower(A_Clipboard)
- PasteClipboardCLM()
- }
- Title()
- {
- ExcludeList := ["a", "about", "above", "after", "an", "and", "as", "at", "before", "but", "by", for", "from", "nor", "of", "or", "so", "the", "to", "via", "with", "within", "without", "yet"]
- ExactExcludeList := ["AutoHotkey", "iPad", "iPhone", "iPod", "OneNote", "USA"]
- CopyClipboardCLM()
- TitleCase := Format("{:T}", A_Clipboard)
- for _, v in ExcludeList
- TitleCase := RegExReplace(TitleCase, "i)(?<!\. |\? |\! |^)(" v ")(?!\.|\?|\!|$)\b", "$L1")
- for _, v in ExactExcludeList
- TitleCase := RegExReplace(TitleCase, "i)\b" v "\b", v)
- TitleCase := RegExReplace(TitleCase, "im)\b(\d+)(st|nd|rd|th)\b", "$1$L{2}")
- A_Clipboard := TitleCase
- PasteClipboardCLM()
- }
- Sentence()
- {
- ExactExcludeList := ["AutoHotkey", "iPad", "iPhone", "iPod", "OneNote", "USA"]
- CopyClipboardCLM()
- A_Clipboard := StrLower(A_Clipboard)
- ; Clipboard := RegExReplace(Clipboard, "(((^|([.!?]\s+))[a-z])| I | I')", "$u1") ;og line from aps_menu
- A_Clipboard := RegExReplace(A_Clipboard, "((?:^|\R|[.!?]\s+)[a-z])|(\bi\b)|(\bi'\b)", "$u1") ; added y gpt not inclding this last one --> Func("Capitalize"))
- ; Clipboard := RegExReplace(Clipboard, "((?:^|[.!?]\s+)[a-z])", "$u1") ; fastkeys
- for _, v in ExactExcludeList
- A_Clipboard := RegExReplace(A_Clipboard, "i)\b" v "\b", v)
- PasteClipboardCLM()
- }
- Invert()
- {
- CopyClipboardCLM()
- Inv_Char_Out := ""
- Loop StrLen(A_Clipboard)
- {
- Inv_Char := SubStr(A_Clipboard, (A_Index)<1 ? (A_Index)-1 : (A_Index), 1)
- if isUpper(Inv_Char)
- Inv_Char_Out := Inv_Char_Out Chr(Ord(Inv_Char) + 32)
- else if isLower(Inv_Char)
- Inv_Char_Out := Inv_Char_Out Chr(Ord(Inv_Char) - 32)
- else
- Inv_Char_Out := Inv_Char_Out Inv_Char
- }
- A_Clipboard := Inv_Char_Out
- PasteClipboardCLM()
- }
- camel()
- {
- CopyClipboardCLM()
- A_Clipboard := StrTitle(A_Clipboard)
- FirstChar := SubStr(A_Clipboard, 1, 1)
- FirstChar := StrLower(FirstChar)
- camelCase := SubStr(A_Clipboard, 2)
- camelCase := StrReplace(camelCase, A_Space)
- A_Clipboard := FirstChar camelCase
- PasteClipboardCLM()
- }
- Pascal()
- {
- CopyClipboardCLM()
- A_Clipboard := StrTitle(A_Clipboard)
- A_Clipboard := StrReplace(A_Clipboard, A_Space)
- PasteClipboardCLM()
- }
- Capital()
- {
- ExactExcludeList := ["AutoHotkey", "iPad", "iPhone", "iPod", "OneNote", "USA"]
- CopyClipboardCLM()
- CapitalCase := Format("{:T}", A_Clipboard)
- for _, v in ExactExcludeList
- CapitalCase := RegExReplace(CapitalCase, "i)\b" v "\b", v)
- A_Clipboard := CapitalCase
- PasteClipboardCLM()
- }
- Alternating()
- {
- CopyClipboardCLM()
- Sleep(200)
- Inv_Char_Out := ""
- A_Clipboard := StrLower(A_Clipboard)
- Loop Parse, A_Clipboard
- {
- if (Mod(A_Index, 2) = 0)
- Inv_Char_Out .= Format("{1:U}", A_LoopField)
- else
- Inv_Char_Out .= Format("{1:L}", A_LoopField)
- }
- A_Clipboard := Inv_Char_Out
- Sleep(175)
- PasteClipboardCLM()
- }
- Dot()
- {
- CopyClipboardCLM()
- Sleep(300)
- if RegExMatch(A_Clipboard, "\-|\_|\.") != "0"
- {
- A_Clipboard := RegExReplace(A_Clipboard, "\-|\_|\.", " ")
- Sleep(200)
- PasteClipboardCLM()
- }
- else
- {
- A_Clipboard := StrReplace(A_Clipboard, A_Space, ".")
- Sleep(200)
- PasteClipboardCLM()
- }
- }
- Snake()
- {
- CopyClipboardCLM()
- Sleep(300)
- if RegExMatch(A_Clipboard, "\-|\_|\.") != "0"
- {
- A_Clipboard := RegExReplace(A_Clipboard, "\-|\_|\.", " ")
- Sleep(200)
- PasteClipboardCLM()
- }
- else
- {
- A_Clipboard := StrReplace(A_Clipboard, A_Space, "_")
- Sleep(200)
- PasteClipboardCLM()
- }
- }
- Kebab()
- {
- CopyClipboardCLM()
- Sleep(300)
- if RegExMatch(A_Clipboard, "\-|\_|\.") != "0"
- {
- A_Clipboard := RegExReplace(A_Clipboard, "\-|\_|\.", " ")
- Sleep(200)
- PasteClipboardCLM()
- }
- else
- {
- A_Clipboard := StrReplace(A_Clipboard, A_Space, "-")
- Sleep(200)
- PasteClipboardCLM()
- }
- }
- FixLineBreaks()
- {
- CopyClipboardCLM()
- A_Clipboard := RegExReplace(A_Clipboard, "\R", "`r`n")
- Sleep(300)
- PasteClipboardCLM()
- }
- removeextras()
- {
- CopyClipboardCLM()
- Loop
- {
- ; StrReplace() is not Case sensitive
- ; check for StringCaseSense in v1 source script
- ; and change the CaseSense param in StrReplace() if necessary
- A_Clipboard := StrReplace(A_Clipboard, A_Space "" A_Space, A_Space,, &ErrorLevel)
- if (ErrorLevel = 0)
- break
- }
- PasteClipboardCLM()
- }
- wrapparen()
- {
- CopyClipboardCLM()
- A_Clipboard := RegExReplace(A_Clipboard, "\s+$") ;gets rid of whitespace at end
- A_Clipboard := "(" A_Clipboard ")"
- PasteClipboardCLM()
- }
- squbracket()
- {
- CopyClipboardCLM()
- A_Clipboard := RegExReplace(A_Clipboard, "\s+$") ;gets rid of whitespace at end
- A_Clipboard := "[" A_Clipboard "]"
- PasteClipboardCLM()
- }
- Reverse()
- {
- CopyClipboardCLM()
- temp2 := ""
- ; StrReplace() is not Case sensitive
- ; check for StringCaseSense in v1 source script
- ; and change the CaseSense param in StrReplace() if necessary
- A_Clipboard := StrReplace(A_Clipboard, "`r`n", Chr(29))
- Loop Parse, A_Clipboard
- temp2 := A_LoopField . temp2 ; Temp2
- ; StrReplace() is not Case sensitive
- ; check for StringCaseSense in v1 source script
- ; and change the CaseSense param in StrReplace() if necessary
- A_Clipboard := StrReplace(temp2, Chr(29), "`r`n")
- PasteClipboardCLM()
- }
- OpenEmojiKeyboard()
- {
- Send("{LWin down}.")
- Send("{LWin up}")
- }
- spread()
- {
- CopyClipboardCLM()
- A_Clipboard := RegExReplace(A_Clipboard, "(?<=.)(?=.)", " ")
- PasteClipboardCLM()
- }
- clearclip(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- Run("cmd /C `"echo off | clip`"")
- return
- ; V1toV2: Added bracket before function
- viewclip(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- MsgBox(A_Clipboard)
- return
- ; V1toV2: Added Bracket before label
- basiccopy(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- Send("^{vk43}") ;Ctrl C ; SendInput, ^c Send {Ctrl down}c{Ctrl up} ; Send ^{vk43}
- return
- ; V1toV2: Added Bracket before label
- basiccut(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- SendInput("^x")
- return
- ; V1toV2: Added Bracket before label
- basicpaste(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- Send("^{vk56}") ;Ctrl V ; SendInput, ^v
- return
- ; V1toV2: Added bracket before function
- appendclip(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll() ; Save the current clipboard content
- A_Clipboard := "" ; Clear the clipboard to capture new content
- Sleep(175) ; Ensure enough time for clipboard to clear
- Send("^c") ; Send Ctrl+C to copy the selected text
- Errorlevel := !ClipWait(1) ; Wait for clipboard to be filled with new text
- if !ErrorLevel
- {
- NewText := A_Clipboard ; Get the copied text ; If text is successfully copied, append it to he clipboard
- A_Clipboard := SavedClip ; Restore the original clipboard content
- A_Clipboard := A_Clipboard . "`n`n" NewText ; Append the new text to the existing content
- Sleep(150) ; Allow time for clipboard to update
- }
- else
- {
- A_Clipboard := SavedClip ; If no text was copied, restore the original clipboard content
- }
- ; MsgBox, Text has been appended to the clipboard! ; Optional: Notify the user that text was ppended
- return
- }
- return
- Lines:
- ListLines()
- return
- wrapincbrackets(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(300)
- A_Clipboard := ""
- Sleep(300)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp:=A_Clipboard
- Tmp := "`{`n" . Tmp . "`n`}"
- A_Clipboard := ""
- Sleep(300)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- Sleep(100)
- return
- }
- return
- commentblock(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(200)
- A_Clipboard := ""
- Sleep(300)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp:=A_Clipboard
- Tmp := "`/`*`n`n " . Tmp . " `n`n`*`/"
- A_Clipboard := ""
- Sleep(75)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- return
- }
- return
- wrapinxmlcomment(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(200)
- A_Clipboard := ""
- Sleep(200)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp:=A_Clipboard
- Tmp := "<`!-- " . Tmp . " -->"
- A_Clipboard := ""
- Sleep(20)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- return
- }
- return
- CodeLine(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(200)
- A_Clipboard := ""
- Sleep(200)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp:=A_Clipboard
- Tmp := "``" . Tmp . "``"
- A_Clipboard := ""
- Sleep(75)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- return
- }
- return
- CodeBox(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(200)
- A_Clipboard := ""
- Sleep(200)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp := A_Clipboard
- Tmp := "```````n" . Tmp . "`n``````"
- A_Clipboard := ""
- Sleep(20)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- return
- }
- return
- ;-------------------------
- Addmore(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- Run("`"notepad.exe`" `"" filePath "`"") ; "`%1"
- ; WinWaitActive, Notepad
- Sleep(2000)
- Send("^f")
- Sleep(300)
- Send("cform")
- Sleep(200)
- Send("{enter}")
- }
- return
- RASpace(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- SavedClip := ClipboardAll()
- Sleep(200)
- A_Clipboard := ""
- Sleep(200)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- TempText:=A_Clipboard
- Sleep(175)
- Loop
- {
- ; StrReplace() is not Case sensitive
- ; check for StringCaseSense in v1 source script
- ; and change the CaseSense param in StrReplace() if necessary
- TempText := StrReplace(TempText, A_Space, ,, &ErrorLevel) ;%A_Space%%A_Space%
- if (ErrorLevel = 0)
- break
- }
- A_Clipboard := ""
- Sleep(175)
- A_Clipboard := TempText
- Send("^{vk56}") ;Ctrl V
- Sleep(175)
- A_Clipboard := SavedClip
- Return
- ; V1toV2: Added Bracket before label
- googlethis(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- OldClipboard := ClipboardAll() ; Save the current clipboard content
- A_Clipboard := "" ; Clear the clipboard to prepare for new content
- Sleep(175)
- Send("^c")
- Errorlevel := !ClipWait(1) ; Wait for the clipboard to contain data
- if (A_Clipboard = "") { ; If the clipboard is empty, use the old clipboard content
- A_Clipboard := OldClipboard
- }
- Run("http://www.google.com/search?q=" A_Clipboard)
- Sleep(200)
- A_Clipboard := OldClipboard ; Restore the original clipboard content
- }
- Return
- youtubethis(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- OldClipboard := ClipboardAll() ; Save the current clipboard content
- A_Clipboard := "" ; Clear the clipboard to prepare for new content
- Sleep(175)
- Send("^c")
- Errorlevel := !ClipWait(1) ; Wait for the clipboard to contain data
- if (A_Clipboard = "") { ; If the clipboard is empty, use the old clipboard content
- A_Clipboard := OldClipboard
- }
- Run("http://www.youtube.com/search?q=" A_Clipboard)
- Sleep(200)
- A_Clipboard := OldClipboard ; Restore the original clipboard content
- }
- return
- ahksearch(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- ; = "https://www.google.com/search?q=site:ahkscript.org+$(Currentselection)"
- ; = "https://www.google.com/search?q=site:ahkscript.org+$(Currentselection)"
- ;; run, https://www.autohotkey.com/search/?q=%Find%
- OldClipboard := ClipboardAll() ; Save the current clipboard content
- A_Clipboard := "" ; Clear the clipboard to prepare for new content
- Sleep(175)
- Send("^c")
- Errorlevel := !ClipWait() ; Wait for the clipboard to contain data
- if (A_Clipboard = "") { ; If the clipboard is empty, use the old clipboard content
- A_Clipboard := OldClipboard
- }
- ; Run, https://www.autohotkey.com/search/?q=%Clipboard%
- Run("`"https://www.google.com/search?q=site:autohotkey.com+" A_Clipboard "`"")
- Sleep(200)
- A_Clipboard := OldClipboard ; Restore the original clipboard content
- }
- return
- ^+':: ;paste clipboard text in "Quotes"
- ; V1toV2: Added bracket
- saved := A_Clipboard ; save clipboard contents
- Send("`"" A_Clipboard "`"") ; send clipboard content with your characters around it
- A_Clipboard := saved ; restore clipboard
- saved := () ; clear saved
- Return
- ; V1toV2: Added Bracket before hotkey or Hotstring
- ^':: ;'Put selected text in "Quotes"
- ClipQuote(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- SavedClip := ClipboardAll()
- Sleep(175)
- A_Clipboard := ""
- Sleep(75)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Tmp:=A_Clipboard
- Tmp := "`"" . Tmp . "`""
- ;;;;;;;; Remove space introduced by WORD
- ; StrReplace() is not Case sensitive
- ; check for StringCaseSense in v1 source script
- ; and change the CaseSense param in StrReplace() if necessary
- Tmp := StrReplace(Tmp, A_SPACE "`"", "`"")
- A_Clipboard := "Tmp"
- Sleep(20)
- A_Clipboard := Tmp
- Send("^{vk56}") ;Ctrl V
- Sleep(100)
- A_Clipboard := SavedClip
- return
- }
- return
- +CapsLock:: ; Switch between UPPERCase & lowerCase
- {
- origClipboard := A_Clipboard
- A_Clipboard := ""
- Sleep(200)
- SendInput("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(2)
- if not ErrorLevel
- {
- allCapsBool := "1"
- Loop Parse, A_Clipboard
- {
- if isLower(A_Loopfield)
- allCapsBool := "0"
- }
- if allCapsBool
- A_Clipboard := StrLower(A_Clipboard)
- else
- A_Clipboard := StrUpper(A_Clipboard)
- SendInput("^{vk56}") ;Ctrl V
- Sleep(350)
- }
- A_Clipboard := origClipboard
- }
- return
- dtMenuAction(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; clipboard := ""
- ; clipboard := A_ThisMenuItem
- ; SendInput %A_ThisMenuItem%{Raw}%A_EndChar%
- ; V1toV2: Added bracket
- SendInput(A_ThisMenuItem)
- Return
- ; V1toV2: Added bracket before function
- Dictionarydotcom(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu) ; added to caps\Case menu
- ; V1toV2: Added bracket
- SaveClip := ClipboardAll()
- A_Clipboard := ""
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- Word := RegExReplace(A_Clipboard, "[^\w\s]")
- A_Clipboard := SaveClip
- SaveClip := ""
- Run("http://dictionary.reference.com/browse/" Word "?s=t")
- return
- ; V1toV2: Added Bracket before label
- newtxtfile(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- origClipboard := A_Clipboard
- Sleep(150)
- A_Clipboard := ""
- Sleep(75)
- SendInput("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- if errorlevel
- {
- TrayTip("CAPSkey", "Copy to A_Clipboard failed.`nAborted Auto Save.", 18)
- A_Clipboard := origClipboard ; Restore the clipboard
- return
- }
- SavePath := FileSelect("S16", A_MyDocuments, "Save Selected Text as a New Document", "Text Files (*.xt)") ; Prompt for where to save the file
- if (SavePath = "") ; If no file was selected
- Return
- FileAppend(A_Clipboard, SavePath) ; Append clipboard contents to the selected file
- Sleep(200)
- A_Clipboard := origClipboard
- msgResult := MsgBox("Your selected text as been saved to...`n`n" SavePath "`n`nWould you like to Edit his file now?`n`nThis popup will auto-close in 5 seconds.", "Selected Text Saved", "4 T5")
- if (msgResult = "yes")
- Run("`"notepad.exe`" `"" SavePath "`"")
- if (msgResult = "no")
- return
- if (msgResult = "timeout")
- return
- return
- /*
- ; newtxtfile: ; og newfile, replaced with better options
- ; origClipboard=%clipboard%
- ; clipboard=
- ; SendInput, ^{vk43} ;Ctrl C
- ; ClipWait, 2
- ; inputbox, notename, Create a File Name, Give your new quick note a name.`n`nNo .ext needed. It ill be saved as a .txt file, , ,
- ; if (noteName = ""){
- ; tooltip, Canceled
- ; sleep 1000
- ; tooltip
- ; return
- ; }
- ; fileselectFolder, NoteLocation, *%A_MyDocuments%, 3, Select a folder to Save %notename%.txt in.n`nIf %notename%.txt already exists, the new content will be appended to the end of the note.
- ; if (noteLocation = ""){
- ; tooltip Canceled - You did not select a valid Location
- ; sleep 1000
- ; tooltip
- ; return
- ; }
- ; fileappend,%Clipboard%,%NoteLocation%\%notename%.txt
- ; msgbox, 4, Edit Now?, Would you like to edit %notename%.txt now?`nThis message box will auto close n 5 seconds., 5
- ; ifmsgbox, yes
- ; run, notepad.exe "%NoteLocation%\%notename%.txt"
- ; ifmsgbox, no
- ; return
- ; ifmsgbox, timeout
- ; return
- ; sleep 200
- ; clipboard=%origClipboard%
- ; return
- */
- autotxtfile(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- {
- origClipboard := A_Clipboard
- Sleep(150)
- A_Clipboard := ""
- SendInput("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(2)
- if errorlevel
- {
- TrayTip("CAPSkey", "Copy to A_Clipboard failed.`nAborted Auto Save.", 18)
- A_Clipboard := origClipboard ; Restore the clipboard
- return
- }
- IB := InputBox("Give your new quick note a name.`n`nNo .ext needed. It will auto-save as a .txt ile`nIt will automatically be saved to`n" A_ScriptDir "\Auto Saved Text Notes\", "Create a File ame"), notename := IB.Value, ErrorLevel := IB.Result="OK" ? 0 : IB.Result="CANCEL" ? 1 : IB.esult="Timeout" ? 2 : "ERROR"
- if (noteName = ""){
- ToolTip("Canceled")
- Sleep(1000)
- ToolTip()
- return
- }
- DirCreate("Auto Saved Text Notes")
- Sleep(100)
- FileAppend(A_Clipboard, A_ScriptDir "\Auto Saved Text Notes\" notename ".txt")
- Sleep(300)
- }
- return
- ; V1toV2: Added Bracket before label
- openquick(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- try Run(A_ScriptDir "\Auto Saved Text Notes\")
- return
- ; V1toV2: Added Bracket before label
- SaveClipboardAsTxt(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- SavePath := FileSelect("S16", A_MyDocuments, "Save A_Clipboard As", "Text Files (*.*)") ; Prompt or where to save the file
- if (SavePath = "") ; If no file was selected
- Return
- FileAppend(A_Clipboard, SavePath) ; Append clipboard contents to the selected file
- ; MsgBox, Clipboard saved to %SavePath%!
- msgResult := MsgBox("The text in your A_Clipboard as been saved to...`n`n" SavePath "`n`nWould you ike to Edit this file now?`n`nThis popup will auto-close in 5 seconds.", "A_Clipboard Saved", "4 5")
- if (msgResult = "yes")
- Run("`"notepad.exe`" `"" SavePath "`"")
- if (msgResult = "no")
- return
- if (msgResult = "timeout")
- return
- Return
- ; V1toV2: Added Bracket before label
- togglenum:
- If (numtoggle := !numtoggle) {
- SetNumLockState("on")
- num := Menu()
- num.togglecheck("Toggle Numlock")
- num := Gui()
- num. hide()
- ; Menu, Case, Rename, Numlock Toggle , Numlock Toggle ON
- }
- else {
- SetNumLockState("off")
- num.togglecheck("Toggle Numlock")
- num. Show("x3606 y1572 h405 w185 noactivate")
- }
- return
- Capsmenubutton:
- ; CapsLockMenu()
- Case.show()
- return
- ToggleCapsLock(){
- return CapsLockey(, true)
- }
- CapsLockOn(){
- return CapsLockey(true)
- }
- CapsLockOff(){
- return CapsLockey(false)
- }
- CapsLockey(state := false, toggle := false)
- {
- global CAPSGuiToggle
- ; If toggling, flip the current CapsLock state
- if (toggle)
- state := !GetKeyState("CapsLock", "T")
- ; Set Caps Lock state only if needed (prevents endless toggling)
- currentCapsState := GetKeyState("CapsLock", "T")
- if (state != currentCapsState)
- SetCapsLockState(state)
- ; Update GUI text
- currentState := GetKeyState("CapsLock", "T")
- if (currentState)
- ogcMyText.Value := "CapsLock Status: ON"
- else
- ogcMyText.Value := "CapsLock Status: OFF"
- ; Toggle the GUI visibility
- CAPSGuiToggle := !CAPSGuiToggle
- if (CAPSGuiToggle)
- {
- SoundBeep(100, 100)
- SoundBeep(200, 200)
- ; Gui, caps: Show, x3370 y2059 NoActivate
- guicaps()
- }
- else
- {
- SoundBeep(200, 100)
- SoundBeep(100, 200)
- caps := Gui()
- caps. Hide()
- }
- return
- }
- ; Custom CapsLock handler
- $CapsLock::
- ; V1toV2: Added bracket
- ErrorLevel := !KeyWait("CapsLock", "T0.25")
- if ErrorLevel
- Case.Show() ; Show a menu on long press
- else
- {
- ErrorLevel := !KeyWait("CapsLock", "D T0.25")
- if ErrorLevel
- CopyClipboardCLM() ; Custom clipboard function
- else
- Send("^v") ; Paste clipboard content
- }
- ErrorLevel := !KeyWait("CapsLock")
- return
- ; Toggle CapsLock state via the GUI function
- ; *~CapsLock::
- ; V1toV2: Added Bracket before hotkey or Hotstring
- !Capslock::
- ^CapsLock::
- ; V1toV2: Added bracket
- ToggleCapsLock()
- ; CapsLockey(false, true)
- return
- ;;;;;;;;;; dark mode toggle
- ; Case "Dark Mode | Light Mode":
- ; Added bracket before function
- DMToggle(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- If (DarkMode)
- {
- DarkMode := false
- ;Menu, Case, Toggle Mode, Dark Mode
- MenuDark(3) ; Set to ForceLight
- WelcomeTrayTipLight()
- }
- else
- {
- DarkMode := true
- ;Menu, Case, Toggle Mode, Light Mode
- MenuDark(2) ; Set to ForceDark
- WelcomeTrayTipDark()
- }
- ExitMenu(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- Send("{esc}")
- return
- ; V1toV2: Added Bracket before label
- close(A_GuiEvent, GuiCtrlObj, Info, *)
- ; V1toV2: Added bracket
- caps.hide()
- return
- ;; extra software options **************************************************
- ; V1toV2: Added bracket before function
- ; V1toV2: Added bracket before function
- runtextgrab()
- {
- try Run("Text-Grab.exe")
- }
- Findwitheverything()
- {
- ; SavedClip := ClipboardAll
- ; Clipboard =
- ; Send ^{vk43} ;Ctrl C
- ; ClipWait 1
- Sleep(200)
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1) ; Wait for the clipboard to contain data
- try Run("C:\Program Files\Everything 1.5a\Everything64.exe")
- Sleep(500)
- Send("^v")
- return
- }
- findwitheverything:
- Findwitheverything()
- return
- evindex(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- Send("^{vk43}") ;Ctrl C
- Errorlevel := !ClipWait(1)
- runeverything()
- ErrorLevel := !WinWaitActive("Everything 1.5")
- Sleep(300)
- Send("si*: `"" A_Clipboard "`"")
- return
- ; V1toV2: Added bracket before function
- runeverything() ;; Function
- {
- SetTitleMatchMode(2)
- if WinExist("Everything 1.5")
- {
- WinActivate("Everything 1.5")
- ErrorLevel := !WinWait("ahk_exe Everything64.exe")
- SoundBeep(800)
- Sleep(200)
- ControlSend("^{L}") ;this activates the search bar if its not already selected
- }
- else {
- TRY Run("C:\Program Files\Everything 1.5a\Everything64.exe")
- }
- return
- }
- dittobutton(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- try Run("Ditto.exe /Open")
- return
- ; V1toV2: Added Bracket before label
- TextifyButton(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- try Run("Textify.exe")
- try Run("`"C:\Users\" A_UserName "\AppData\Local\Programs\Textify\Textify.exe`"")
- return
- ; V1toV2: Added bracket before function
- runnotepad() ;; function
- {
- SetTitleMatchMode(2)
- if WinExist("Notepad++")
- {
- WinActivate("ahk_class Notepad++")
- } else {
- try Run("Notepad++.exe")
- }
- if !WinExist("notpad++")
- try Run("notepad++.exe")
- return
- }
- abc(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- try Run(A_ScriptDir "\AutoCorrect\AutoCorrect_2.0.ahk")
- return
- ; V1toV2: Added Bracket before label
- menureturn:
- return
- ^+r:: ;Reload Script
- ; V1toV2: Added bracket
- ToolTip("Extended CAPS Menu`nis Reloading...")
- Sleep(500)
- ToolTip()
- Reload()
- return
- ;;;;;;;;;;;;;;;;;;;; Dark Mode Activated GUI Script ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; from Ctrl CapsLock Menu (new, ctrl capslock capslock now - removed ctrl shift capslock).ahk
- ; Added bracket before function
- WelcomeTrayTipDark() {
- static GuiCreated := 0
- static HwndWelcomeScreen1
- static MonRight, MonBottom
- if !GuiCreated {
- GuiCreated := 1
- WelcomeScreen1 := Gui()
- ; Clickthrough=E0x20
- WelcomeScreen1.MarginX := "30", WelcomeScreen1.MarginY := "25"
- WelcomeScreen1.SetFont("s30", "Segoe UI")
- WelcomeScreen1.BackColor := "1A1A1A"
- WelcomeScreen1.Add("Text", "y20 clime", "Dark Mode Activated") ;, %A_UserName% ; make a text ontrol showing welcome back, (username)
- WinSetTransparent(0) ; set gui transparent
- P := MonitorGetPrimary() ; get primary monitor number
- MonitorGetWorkArea(P, &MonLeft, &MonTop, &MonRight, &MonBottom) ; get size f primary monitor
- WelcomeScreen1.Show("Hide") ; Show gui
- WinGetPos(&X, &Y, &W, &H) ; get pos of gui
- WinMove(MonRight - W - 10, MonBottom - H - 10) ; move gui to bottom right
- WinSetRegion("0-0 W" W " H" H " R20-20") ; round corners
- }
- WelcomeScreen1.Show("NA")
- bf := AnimateFadeIn.Bind(HwndWelcomeScreen1)
- SetTimer(bf,-200)
- }
- WelcomeTrayTipLight() {
- static GuiCreated := 0
- static HwndWelcomeScreen
- static MonRight, MonBottom
- if !GuiCreated {
- GuiCreated := 1
- WelcomeScreen := Gui()
- ; Clickthrough=E0x20
- WelcomeScreen.MarginX := "30", WelcomeScreen.MarginY := "25"
- WelcomeScreen.SetFont("s30", "Segoe UI")
- WelcomeScreen.BackColor := "white" ;<=--\/---------------COLOR OF BOX / TEXT
- WelcomeScreen.Add("Text", "y20 cBlack", "Light Mode Activated") ;, %A_UserName% ; make a ext control showing welcome back, (username)
- WinSetTransparent(0) ; set gui transparent
- P := MonitorGetPrimary() ; get primary monitor number
- MonitorGetWorkArea(P, &MonLeft, &MonTop, &MonRight, &MonBottom) ; get size f primary monitor
- WelcomeScreen.Show("Hide") ; Show gui
- WinGetPos(&X, &Y, &W, &H) ; get pos of gui
- WinMove(MonRight - W - 10, MonBottom - H - 10) ; move gui to bottom right
- WinSetRegion("0-0 W" W " H" H " R20-20") ; round corners
- }
- WelcomeScreen.Show("NA")
- bf := AnimateFadeIn.Bind(HwndWelcomeScreen)
- SetTimer(bf,-200)
- }
- AnimateFadeIn(hwnd) {
- static Value := 0
- WinSetTransparent(Value+=15, "ahk_id" hwnd)
- if (Value >= 255) { ; if gui is fully opaque
- Value := 0 ; reset transparency value
- bf := AnimateFadeOut.Bind(hwnd) ; make bound function to fade out
- SetTimer(bf,-1000) ;<=--------------------------------------------------------CHANGE HOW ONG
- } else {
- bf := AnimateFadeIn.Bind(hwnd) ; create bound functiion to fade in
- SetTimer(bf,-15) ; rerun bound function until gui is fully opaque
- }
- }
- AnimateFadeOut(hwnd) {
- static Value := 255
- WinSetTransparent(Value-=15, "ahk_id" hwnd)
- if (Value <= 0) { ; if gui invisible
- Value := 255 ; reset transparency value
- hwnd := Gui()
- hwnd.Hide() ; hide gui when finished
- } else {
- bf := AnimateFadeOut.Bind(hwnd) ; create bound functiion to fade out
- SetTimer(bf,-15) ; rerun bound function until gui is transparent
- }
- }
- guicaps()
- {
- ; gui, caps: hide
- caps.Opt("+AlwaysOnTop +ToolWindow -SysMenu -Caption +LastFound")
- caps. Font("cffb900 s12 bold", "WW Digital")
- caps. Color("af001d") ; changes background color
- caps. add("picture", "xm w18 h18", A_ScriptDir . "\Images\keyboard-caps-lock-filled xfav arrow send ove_256x256.ico")
- caps. Add("Text", "X+M", "CAPS LOCK is ON `~`!`@`#`$`" . `^&&*( `)`_`+`{ `}`|")
- P := MonitorGetPrimary() ; get primary monitor number
- MonitorGetWorkArea(P, &MonLeft, &MonTop, &MonRight, &MonBottom) ; get size of rimary monitor
- caps. show("noactivate") ;x3370 y2059
- WinSetTransColor("af001d")
- ; Gui, WelcomeScreen1:Show, Hide ; Show gui
- WinGetPos(&X, &Y, &W, &H) ; get pos of gui
- WinMove(MonRight - W - 10, MonBottom - H - 10) ; move gui to bottom right
- WinSetRegion("0-0 W" W " H" H " R20-20") ; round corners
- ; gui, caps: show, x3370 y2059 noactivate
- ; Gui, Show, % "x" . (3430) . "y" . (2061) . " NoActivate"
- ; WinSet, TransColor, af001d
- ; gui, caps: hide
- }
- aboutwindow(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- aboutwindow()
- return
- ; V1toV2: Added bracket before function
- Aboutwindow()
- {
- global
- aboutwindow := "
- (
- " ScriptName "
- " URL "
- Last Update: " ScriptVersion "
- This AutoHotkey menu is meant to be run on *[SELECTED TEXT.]*
- It has been modified to show when text is not selected,
- therefore, at times, it may not work as expected.
- E.G. if no text is selected it a text editor and you fire a menu item,
- it may copy and format an entire line.
- A.k.a., use with Caution!!! Especially when working in file manager.
- If you use it copy and paste functions on files,
- it will copy the files themselves unless you hit F2 first
- to select text in the file name.
- Its been pieced together from about 3 other similar scripts,
- with extra functions I created. I adding app launcher,
- search the web or local computer from selected text,
- save selected text to a New Text Document,
- added some code formatting opitons,
- insert date and time,
- added light & dark mode toggle (dark is default),
- added a GUI that show over the system try when your caps lock is toggled.
- etc... And more to come.
- The Functions run mostly from the menu, there are some some hotkey too....
- )"
- hotkeys := "
- (
- Hotkeys!
- Extend CapsLock Functionality Using AutoHotkey:
- - Single Tap = Copy aka Ctrl+C
- - Double Tap = Paste aka Ctrl+V
- - Long Press = Show Extended CAPLOCK Menu
- Ctrl + Capslock to Toggle CAPSLock
- Alt + Capslock to Toggle CAPSLock and CAPS can be toggled from the menu.
- Shift + Capslock to Switch Between UPPERCase and\or lowerCase
- Win + O to Search Selected Text in Google
- Win + F to Search Selected Text Locally Using Everything 1.5a
- Ctrl + ' to Wraps the Selected Text In Quotes
- Ctrl + Shift + ' to Paste your A_Clipboard in Quotes
- Win + H to Add Auto Correct Hot Strings
- Ctrl + Shift + R to Reloads the Script
- )"
- caps.BackColor := "171717"
- caps.SetFont("s10")
- caps.SetFont("cffb900")
- caps.add("text", "xm", aboutwindow)
- caps.add("picture", "xm", A_ScriptDir . "\Images\Screenshots\menus_caps_464x57.png")
- caps.SetFont("cA0BADE")
- caps.add("picture", "xm w36 h36", A_ScriptDir . "\Images\code spark xfav function_256x256.ico")
- caps.add("text", "x+m", hotkeys)
- caps.Add("Link", "xm", "<a href=`"https://www.github.com/indigofairyx`">This Scripts Github Page</a>")
- caps.add("text", "xm cffb900", "There are a few pieces of free software I use and built into this menu s a launcher for these tools.`nThe ones that are free I left in the menu.`nHeres a list of links to hem if you want some awesome software.")
- caps.Add("Link", "xm", "<a href=`"https://github.com/sabrogden/Ditto`">Ditto - A_Clipboard Manager</>")
- caps.Add("Link", "xm", "<a href=`"https://www.voidtools.com/forum/viewtopic.php?t=9787`">Everything v1.a - Powerful local search tool</a>")
- caps.Add("Link", "xm", "<a href=`"https://ramensoftware.com/textify`">Textify - Lets you copy text out f message boxes and guis</a>")
- caps.Add("Link", "xm", "<a href=`"https://github.com/TheJoeFin/Text-Grab/`">Text Grab - Amazing OCR ool</a>")
- caps.Add("Link", "xm", "<a href=`"https://github.com/notepad-plus-plus/notepad-plus-plus`">Notepad++ - ou never know.</a>")
- caps.Add("Link", "xm", "<a href=`"https://github.com/BashTux1/AutoCorrect-AHK-2.0`">AHK Global Auto orrect Script - This is already included here.</a>")
- ogcbuttonClose := caps.add("button", "xm", "Close")
- ogcbuttonClose.OnEvent("Click", close.Bind("Normal"))
- caps.Opt("+Border +Resize -MaximizeBox +Dpiscale")
- caps.Title := "Extended CAPS Menu - About"
- caps.show()
- }
- exitscript(A_ThisMenuItem, A_ThisMenuItemPos, MyMenu)
- ; V1toV2: Added bracket
- ExitApp()
- return
- /* image list for this file.... picture list
- gui, add, text, xm, Credit and Thanks to these two from whom the main structure of this menu came from.
- Gui, Add, Link, xm, <a href="https://github.com/S3rLoG/CapsLock_Menu">S3rLoG - Github Page</a>
- gui, add, text, x+m, `&
- Gui, Add, Link, x+m, <a href="https://pastebin.com/g6BzS4A8">MRFace1 - Pastebin</a>
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement