topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday January 28, 2022, 11:08 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - kunkel321 [ switch to compact view ]

Pages: [1] 2 3 4 5 6 ... 23next
1
My own app
https://www.donation...ex.php?topic=51967.0
does something like this.  Really it is more useful when a person wants to do what you describe, but also works from multiple offices, and needs to write about specific people (clients, students, etc).  It inserts name and gender pronouns into the boilerplate text. 

Really you should try just making your own AutoHotkey setup with a bunch of hotstrings.

2
I also found a couple of things.  This one
https://bitbucket.or...erchooser2/wiki/Home
seems promising.  Apparently you can set it as the default browser in Windows, it then directs commands as needed.  I couldn't get it to work though, then, while messing with the icon-chooser, I completely broke it.  Now it just crashes over and over.  I even killed and deleted it, and rebooted, and redownloaded it.  Still it crashes. 

This also seems interesting:
https://dospolov.com...-with-account-surfer
it links to this $7 Windows Store app
https://www.microsof...ab=pivot:overviewtab

Not sure I want to pay $7 for an app that might not even work though...

LATER....   Well I took a leap of faith and bought/installed Account Surfer.   It seems to work well.  You do indeed set it as your default browser, then it redirects as needed.  I'm not detecting any sluggishness when opening links.  There are still 15 (yes 15!) Chrome processes running in the background even though I don't have Chrome open.  ...I suppose that's to be expected from Chrome though.

3
Good thoughts, but I think  Wraith is correct.  Using mailto wouldn't work. 

I'll investigate this more.  I couldn't find anything useful in the above-mentioned AppData folder.  Come to think of it, I didn't think to check the Chrome Add-in store. 

4
I wonder if the setting is in here:
C:\Users\steve\AppData\Local\Google\Chrome\User Data\Default

5
General Software Discussion / Re: A few new programs
« on: January 26, 2022, 03:34 PM »
That's a really old post you've referenced...
Sorry about that.  I even quoted the post and still didn't notice the date.  Thanks for sharing your stuff!   :D

6
I suspect that this is not even possible, but I thought I'd post anyway -- just in case. 

I use Chrome as my web browser.  Most of my bookmarks etc. are in my main personal profile. At work though, when people share links with me, I have to be in my Google account from work.   You switch profiles by clicking your avatar in the top/right of the Chrome window.   It's also possible to make Desktop links directly to each profile.  In my case the two link targets are:
 
C:\Program Files\Google\Chrome\Application\chrome_proxy.exe  --profile-directory=Default
and
C:\Program Files\Google\Chrome\Application\chrome_proxy.exe"  --profile-directory="Profile 1"

The problem is that, if you don't specify (by using one of the above links), Chrome will always open a link using the most recently-accessed profile.  So multiple times per day, I'll open a link at work that someone sends me, then Chrome will pop up in my personal profile and give me an error message that I don't have permission to access the file.  It's super-annoying! 

What I'd like is some way to "tell" Chrome that if I open an Outlook email link, use my work profile.  I guess that would need to be some kind of back-running utility that stays on all the time?  I don't know.  Maybe an Outlook add-in is what I need. 

Thoughts?



7
General Software Discussion / Re: A few new programs
« on: January 26, 2022, 08:35 AM »
Hey I have a ton of small apps at www.xhirl.com/software
can you tell me what you guys think
(just added the SignupRecordTracker and the PowerNamer
-ReLipse

Is the link correct?  I'm getting:

This site can’t be reached
Check if there is a typo in www.xhirl.com.

8
Hi Mouser.  Feature Request for CHS:  Ability to assign a hotkey to the command "Stack operations > Paste entire stack as one text block."  Actually, maybe another hotkey for  "Stack operations > Paste entire stack using Tabs."

I noted you already have one for  "Stack operations > Set stack marker," so that's cool. 

Thanks for considering this!   

9
If you want to browse/manage your google docs, then there would need to be a web browser component I guess -- yes?

10
Living Room / Re: Like a bad penny...
« on: January 22, 2022, 09:00 AM »
At this point I figure every day on the right side of the dirt is a good one.
This is gonna be my new motto.

11
Ah yes -- Very nice.  Thanks Mouser!

12
I also just experienced this at home on my laptop.  FARR had apparently been positioned on the second monitor when last used.  I was not able to get it to work until I got to my office and plugged in the second monitor.  I do have the "when appearing, center" option checked. 

Is v2.239.03 the newest?

13
N.A.N.Y. 2021 / Re: N.A.N.Y. 2021: RaptureReplica by KodeZwerg
« on: January 16, 2022, 02:56 PM »
A year since my last post on this thread and I still use RaptureReplica on a regular basis.  I wanted to share a tip that I recently learned regarding scaling.  Lot's off apps can have problems if Windows is set to scale fonts at 125% (or anything other than 100%).    This can sometimes be fixed by locating the executable (in this case RaptureReplica.exe) and changing the properties.  (see also image).  Right-click the exe, choose Properties at the bottom of the context menu, then go to the Compatibility tab, then click "Change high DPI settings" then checkmark to Override and let the app be in charge of the scaling. 
RapRep 2022-01-16_12-48-45.png



14
N.A.N.Y. 2022 / Re: Now what's this?
« on: January 11, 2022, 05:19 PM »
So the NANY 2022 Wrap-Up is linked on the website, but it's empty. Nice.
What do you mean ? I don't understand !!!!!
 :-[
At the top of the webpage click 'Software' then 'NANY.'   It lists a summary of the NANYs over the years but the 2022 one is empty.  From looking at the old ones, I think maybe Mouser does a written summary of everything(?)   I think he just hasn't had a chance to do the 2022 summary yet(?)  IDK. 

Mouser, you should put a link directing people to the relevant forum thread.... 
EDIT:  As I look closer, the sidebar does already have a link pointing here.   :Thmbsup:

15
Things got away from me.  I'm actually rather tired of computer stuff in general and preferring to spend my free time outside in the woods.
Yes -- Time well spent!

16
N.A.N.Y. 2022 / Re: NANY 2022 Entry -- WayText
« on: January 04, 2022, 04:45 PM »
Thanks for the entry!
You are most welcome Relipse!   Hopefully it will be useful for somebody.

17
N.A.N.Y. 2022 / Re: NANY 2022 - Source Code Watchdog
« on: December 31, 2021, 05:51 PM »
Hey this is pretty cool.  Thanks for sharing. 

18
N.A.N.Y. 2022 / Re: Now what's this?
« on: December 21, 2021, 01:28 PM »
Are we supposed to post our NANY 2022 projects here and they'll be moved then?
What has the process been in the past?  Are there instructions for how to share the project?   This is my first NANY as a contributor... 

19
Clipboard Help+Spell / Re: CHS not ignoring my application...
« on: December 16, 2021, 07:24 AM »
Yep -- You were right.  Adding the target application to the list did the trick.  As it turns out, MultiTool (by design) waits for the previously active window to be active again before it types and/or pastes its content.  I'll have to think about this...  I use the tool mostly for entering text into a particular webapp database and into outlook emails.  I'm not sure if I want to exclude Chrome and Outlook though. 

Thanks for the helpful and fast reply Mouser!

side note:  This is the tool that I am submitting for NANY 2022  :P

EDIT Here's the file name BTW
%filename% = MultiTool.exe
%windowtitle% = MultiTool
%fullfilename% = MultiTool.exe
%description% = MultiTool.exe
%fileversion% =
%ActiveWindowInternalName% = MultiTool.exe
%ActiveWindowHandle% = 4266044
%company% =
%productname% = MultiTool.exe
%versionstring% =
%nicename% = MultiTool.exe
%ActiveWindowBrowserUrl% =
Previous active window filename = chrome.exe

I see that CHS remembers the Previous active window.  If the rule was (prevfilename = MultiTool.exe AND filename = chrome.exe) then maybe.  IDK.  NO big deal.   8)

EDIT LATER:  I renamed the NANY project....  Rather than the lofty designation "MultiTool," I'm calling it WayText.   :Thmbsup:

20
Clipboard Help+Spell / CHS not ignoring my application...
« on: December 15, 2021, 03:12 PM »
Hi Mouser,
I may have found a bug(?) 
I have a tool written in AutoHotkey that does some automated pasting from the clipboard.  I'm trying to make CHS ignore the application.   The actual executable is "MultTool.exe" but in Windows Task Manager, it shows up as "AutoHotkey Unicode 64-bit."  I put both of those and also "AutoHotkey.exe" in the exclusion list, then restared CHS.  No joy though...  The clipboard items still show up in my clip list...

Ideas? 

2021-12-15_13-06-56.png

EDIT:  I also added "AutoHotkey Unicode 64-bit.exe"  Still no joy.


21
Yeah, seems like a clever idea. 

22
N.A.N.Y. 2022 / NANY 2022 Entry -- WayText
« on: December 03, 2021, 08:21 AM »
NANY 2022 Entry Information

Application Name WayText
Version v1-4-2022
Short Description Enters boilerplate text into webforms and such.
Supported OSes Windows
Web Page Just this forum post
Download Link See bottom of post.
System RequirementsAny modern version of Windows should work.
Author See OP on the left.

Description
WayText was made by a school psychologist who works for a public school district.  It was made to add a personalized touch to boilerplate text, by adding a student’s name and gender on-the-fly via simple replacement codes/placeholder that are embedded in the boilerplate text.  The tool is designed to be used in webforms. 

Features
-Boilerplate text snippets that are customized for each student.
-Binary-to-nonbinary grammar fixing.
-Entries can easily be made or edited on-the-fly.
-Supports entering contact info for multiple schools/offices.
-Remembers your weekly building schedule.
-Remembers last-used student.
-Remembers and waits for active window.
-Windows admin account not required.
-Boilerplate components can be typed or pasted.
-Optional sub(mini)forms for further customization of text entries.
-Separate GUI-based settings tool.
-Puts clipboard content back when done.

Planned Features
TBD

Screencast
*I should note that the production quality of the 43 min video is not great.  I might re-record it later.  Also note, the zipped folder contains a PDF of tips.  There are things in the PDF (WayTips.pdf) that are not covered in the video. 


Usage
Installation
No installation!  It is a portable application that runs right from its folder.

Using the Application
Download and unzip the folder, then double-click the WayText.exe file (Green icon with white H).  WayText.exe is actually a renamed copy of AutoHotkey.exe.  The exe reads from the same-named AHK file.  The AHK file contains the actual script.  Therefore, WayText has the same limitations as AutoHotkey, which acts like its “run time environment.”  The little green AutoHotkey icon will also appear in the Windows System Tray.  Right click that and choose “Exit” or “Reload.”  If changes are made to the settings, a reload/restart of WayText will be needed. 

Uninstallation
In the wtSettings, at the bottom of the Activation Mode Tab, there is an option to “Start with Windows.”  If this is used, a startup link will be created in the Windows Startup folder.  This is the only thing that gets added to Windows.  Use the same setting to also remove the startup link.  Then right click the above-mentioned icon in the Windows System Tray.  Choose “Exit.”  Then delete the WayText folder. 

Tips
In the download there is a list of tips called WayTips.pdf. 

Known Issues
Are there any issues that users should know about?
-Each boilerplate entry can have multiple components.  Each component can optionally by sent via “Type” or “Paste.”  If multiple simultaneous pastes occur in succession it will confuse Windows.  For this reason, there is a “post-paste delay.”  By default it is 100 milisecs, but this can be changed. 
-The above mention components are defined as key values in INI files.  Windows strips white spaces from the beginning and ending of string variables that are obtained from INI keys.  This can be an annoyance when creating boilerplate entry items. 
edit 1-4-2022:  -Due to the nature of Test information not lending itself to pasting, Paste commands are now ignored in test info boilerplate entries.

A couple more screenshots
(I just noticed the my real school names are in the new screenshots, but that's fine.  It's open info.)
Settings Window:
https://i.imgur.com/jpTsSDX.png

A few different colors:
https://i.imgur.com/NuPH15F.png

Regarding 32 vs 64 bit Systems
I'm currently using it as a 64bit app.  This information was just added to the WayTips.pdf file:
The files “WayText.exe” and “wtSettings.exe” are the executable files that get double-clicked at first run.   They are not compiled versions of the corresponding (same-named) .ahk files.  They are merely renamed copies of AutoHotkey.exe.  More specifically, they are copies of the 64 bit “AutoHotkeyU64.exe.”  If a person has a 32 bit windows, they could obtain a copy of AutoHotkeyU32.exe and make two copies of it, renamed “WayText.exe” and “wtSettings.exe.”  That should work fine.

23
Post New Requests Here / Skommel's CapShift not working in Chrome
« on: November 19, 2021, 11:06 AM »
This is Skommel's excellent CapShift "one hour software."
https://www.dcmembers.com/skrommel/download/capshift/

He has the ahk file in his download, but below is a version with a bunch of MsgBox debug stops that I put.   I'm trying to figure out why it doesn't work in Chrome browser edit fields.  Works fine in Notepad.  I'm trying to use the conver-to-UPPER CASE feature from the popup.  In Chrome the text doesn't get converted.... CapShift merely pastes whatever is on the clipboard.  It seems there's a hickup at line 274 (Send, ^C).   The hickup is not consistent though... Sometimes the selected text does get copied to the clipboard, but the app still fails. 

Thoughts?  I just poseted this at the AutoHotkey forum too.

Code: Autohotkey [Select]
  1. ;CAPshift.ahk
  2. ;Slows down and extends the CapsLock key.
  3. ; Also slows down F1, Insert, NumLock and ScrollLock
  4. ;
  5. ;Hold for 0.5 sec to toggle caps lock on or off.
  6. ;Hold for 1 sec to show a menu that converts selected text to
  7. ; UPPER CASE, lower case, Title Case or iNVERT cASE.
  8. ;
  9. ;If the keyboard is idle for 120 seconds, CapsLock is turned off.
  10. ;
  11. ;Skrommel @2005
  12.  
  13.  
  14. applicationname=CAPshift
  15.  
  16. Gosub,READINI
  17. Gosub,TRAYMENU
  18.  
  19. WinGet,oldid,ID,A
  20.  
  21. SetTimer,ACTIVEWIN,500
  22.  
  23. {
  24.   Input,key,L1 T1 V,{LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}
  25.   If (ErrorLevel<>"Timeout")
  26.     time:=A_TickCount
  27.   If (A_TickCount-time>=capslockidle*1000)
  28.   {
  29.     If capslockidle>0
  30.     If (GetKeyState("CapsLock","T"))
  31.       SetCapsLockState,Off
  32.     time:=A_TickCount
  33.   }
  34. }
  35. Return
  36.  
  37.  
  38. ACTIVEWIN:
  39. WinGet,id,ID,A
  40. WinGetClass,class,ahk_id %id%
  41. If id=
  42.   id=%oldid%
  43. If class=Shell_TrayWnd
  44.   id=%oldid%
  45. If id=AutoHotkey
  46.   id=%oldid%
  47. oldid=%id%
  48. Return
  49.  
  50.  
  51. DELAY:
  52. hotkey=%A_ThisHotkey%
  53. If hotkey=CapsLock
  54.   Gosub,CAPSLOCK
  55. Else
  56.   Gosub,THEREST
  57. Return
  58.  
  59.  
  60. THEREST:
  61. counter=500
  62. {
  63.   If showstatus=1
  64.     ToolTip,%hotkey% in %counter% ms
  65.   Sleep,100
  66.   counter-=100
  67.   GetKeyState,state,%hotkey%,P
  68.   If state=U
  69.     Break
  70. }
  71. If showstatus=1
  72. If counter=0
  73. If hotkey=F1
  74.   Send,{%hotkey%}
  75. Else
  76. {
  77.   GetKeyState,state,%hotkey%,T
  78.   If state=U
  79.   {
  80.     If hotkey=NumLock
  81.       SetNumLockState,On
  82.     If hotkey=ScrollLock
  83.       SetScrollLockState,On
  84.     If hotkey=Insert
  85.       Send,{%hotkey%}
  86.     If showstatus=1
  87.       ToolTip,%hotkey% On
  88.   }
  89.   Else
  90.   {
  91.     If hotkey=NumLock
  92.       SetNumLockState,Off
  93.     If hotkey=ScrollLock
  94.       SetScrollLockState,Off
  95.     If hotkey=Insert
  96.       Send,{%hotkey%}
  97.     If showstatus=1
  98.       ToolTip,%hotkey% Off
  99.   }
  100.   SetTimer,TOOLTIPOFF,On
  101. }
  102. KeyWait,%hotkey%
  103. Return
  104.  
  105.  
  106. CAPSLOCK:
  107. counter=1000
  108. Loop,10
  109. {
  110.   If showstatus=1
  111.     ToolTip,%hotkey% in %counter% ms
  112.   Sleep,100
  113.   counter-=100
  114.   If counter=500
  115.     SoundPlay,%SYSTEMROOT%\Media\ding.wav
  116.   GetKeyState,state,%hotkey%,P
  117.   If state=U
  118.     Break
  119. }
  120. If showstatus=1
  121. If counter=0
  122. Else
  123. If counter<600
  124. {
  125.   GetKeyState,state,%hotkey%,T
  126.   If state=D
  127.     Gosub,OFF
  128.   Else
  129.     Gosub,ON
  130. }
  131. Return
  132.  
  133.  
  134. status=
  135. key=Insert
  136. Gosub,GETSTATE
  137. key=CapsLock
  138. Gosub,GETSTATE
  139. key=NumLock
  140. Gosub,GETSTATE
  141. key=ScrollLock
  142. Gosub,GETSTATE
  143. If showstatus=1
  144.   TrayTip,Status,%status%,10
  145. Return
  146.  
  147.  
  148. GETSTATE:
  149. GetKeyState,state,%key%,T
  150. If state=D
  151.   status=%status%%key%`n
  152. Return
  153.  
  154.  
  155. Menu,convert,Add
  156. Menu,convert,Delete
  157. Menu,convert,Add,CAPshift,TOGGLE
  158. Menu,convert,Add,
  159. Menu,Convert,Add,CapsLock &On,On
  160. Menu,Convert,Add,&CapsLock Off,Off
  161. Menu,convert,Add,
  162. Menu,convert,Add,&UPPER CASE,UPPER
  163. Menu,convert,Add,&lower case,LOWER
  164. Menu,convert,Add,&Title Case,TITLE
  165. Menu,convert,Add,&iNVERT cASE,INVERT
  166. Menu,convert,Add,&RaNDoM CaSE,RANDOM
  167. Menu,convert,Add,Replace user &chars,REPLACE
  168. Menu,convert,Add,
  169. Menu,convert,Add,&Settings...,SETTINGS
  170. Menu,convert,Add,&About...,ABOUT
  171. Menu,convert,Add,E&xit,EXIT
  172. Menu,convert,Default,CapShift
  173. Menu,convert,Show
  174. Return
  175.  
  176.  
  177. TRAYMENU:
  178. Menu,Tray,NoStandard
  179. Menu,Tray,DeleteAll
  180. Menu,Tray,Add,CAPshift,TOGGLE
  181. Menu,Tray,Add,
  182. Menu,Tray,Add,CapsLock &On,On
  183. Menu,Tray,Add,&CapsLock Off,Off
  184. Menu,Tray,Add,
  185. Menu,Tray,Add,&UPPER CASE,UPPER
  186. Menu,Tray,Add,&lower case,LOWER
  187. Menu,Tray,Add,&Title Case,TITLE
  188. Menu,Tray,Add,&iNVERT cASE,INVERT
  189. Menu,Tray,Add,&RaNDoM CaSE,RANDOM
  190. Menu,Tray,Add,Replace user &chars,REPLACE
  191. Menu,Tray,Add,
  192. Menu,Tray,Add,&Settings...,SETTINGS
  193. Menu,Tray,Add,&About...,ABOUT
  194. Menu,Tray,Add,E&xit,EXIT
  195. Menu,Tray,Default,CapShift
  196. Menu,Tray,Tip,%applicationname%
  197. Return
  198.  
  199.  
  200. TOOLTIPON:
  201. Return
  202.  
  203.  
  204. TOOLTIPOFF:
  205. If showstatus=1
  206. SetTimer,TOOLTIPOFF,Off
  207. Return
  208.  
  209.  
  210. ON:
  211. If showstatus=1
  212.   ToolTip,CapsLock On
  213. SetTimer,TOOLTIPOFF,On
  214. Return
  215.  
  216.  
  217. OFF:
  218. If showstatus=1
  219.   ToolTip,CapsLock Off
  220. SetTimer,TOOLTIPOFF,On
  221. Return
  222.  
  223.  
  224. TOGGLE:
  225. GetKeyState,state,CapsLock,T
  226. If state=D
  227. {
  228.   If showstatus=1
  229.     ToolTip,CapsLock Off
  230. }
  231. Else
  232. {
  233.   If showstatus=1
  234.     ToolTip,CapsLock On
  235. }
  236. SetTimer,TOOLTIPOFF,On
  237. Return
  238.  
  239.  
  240. CUT:
  241. oldclipboard:=ClipboardAll
  242.  
  243. MsgBox clp just saved to oldClp which is %oldClipboard%  ;####################################debug
  244.  
  245. WinActivate,ahk_id %id%
  246. WinWaitActive,ahk_id %id%,,1
  247. WinGetClass,class,ahk_id %id%
  248. If class In Progman,WorkerW,Explorer,CabinetWClass
  249.   Send,{F2}
  250. Sleep,500
  251. Send,^c
  252. string=%clipboard%
  253.  
  254. msgbox bottom of CUT sub`nstr is %string%  ;####################################debug
  255.  
  256. Return
  257.  
  258.  
  259. PASTE:
  260. WinActivate,ahk_id %id%
  261. WinWaitActive,ahk_id %id%,,1
  262.  
  263. MsgBox now at paste sub and str is %string% ;####################################debug
  264.  
  265. If class In Progman,WorkerW,Explorer,CabinetWClass
  266.   Send,{F2}
  267. clipboard=%string%
  268.  
  269. MsgBox just before send`nclipbrd is %Clipboard%`noldClipbrd %oldclipboard% ;####################################debug
  270.  
  271. Send,^v
  272. Clipboard:=oldclipboard
  273. oldclipboard=
  274. Return
  275.  
  276.  
  277. UPPER:
  278.  
  279. MsgBox top of upper sub  ;####################################debug
  280.  
  281. Gosub,CUT
  282.  
  283. MsgBox before stringUpper str is %string% ;####################################debug
  284.  
  285. StringUpper,string,string
  286.  
  287. MsgBox after stringUpper str is %string%  ;####################################debug
  288.  
  289. Gosub,PASTE
  290. If showstatus=1
  291.   ToolTip,Selection converted to UPPER CASE
  292. SetTimer,TOOLTIPOFF,On
  293. Return
  294.  
  295.  
  296. LOWER:
  297. Gosub,CUT
  298. StringLower,string,string
  299. Gosub,PASTE
  300. If showstatus=1
  301.   ToolTip,Selection converted to lower case
  302. SetTimer,TOOLTIPOFF,On
  303. Return
  304.  
  305.  
  306. TITLE:
  307. Gosub,CUT
  308. StringLower,string,string,T
  309. Gosub,PASTE
  310. If showstatus=1
  311.   ToolTip,Selection converted to Title Case
  312. SetTimer,TOOLTIPOFF,On
  313. Return
  314.  
  315.  
  316. INVERT:
  317. Gosub,CUT
  318. StringLen,length,string
  319. Loop,%length%
  320. {
  321.   StringLeft,char,string,1
  322.   If char Is Upper
  323.     StringLower,char,char
  324.   Else
  325.   If char Is Lower
  326.     StringUpper,char,char
  327.   StringTrimLeft,string,string,1
  328.   string=%string%%char%
  329. }
  330. If showstatus=1
  331.   ToolTip,Selection converted to iNVERTED cASE
  332. SetTimer,TOOLTIPOFF,On
  333. Gosub,PASTE
  334. Return
  335.  
  336.  
  337. Gosub,CUT
  338. StringLen,length,string
  339. Loop,%length%
  340. {
  341.   StringLeft,char,string,1
  342.   Random,random,1,2
  343.   If random=1
  344.     StringLower,char,char
  345.   Else
  346.     StringUpper,char,char
  347.   StringTrimLeft,string,string,1
  348.   string=%string%%char%
  349. }
  350. If showstatus=1
  351.   ToolTip,Selection converted to RaNDoM CaSE
  352. SetTimer,TOOLTIPOFF,On
  353. Gosub,PASTE
  354. Return
  355.  
  356.  
  357. REPLACE:
  358. Gosub,CUT
  359. Loop,%swapcount%
  360. {
  361.   from:=swap_%A_Index%_1
  362.   to:=swap_%A_Index%_2
  363.   StringReplace,string,string,%A_Space%,.space.,All
  364.   StringReplace,string,string,%A_Tab%,.tab.,All
  365.   StringReplace,string,string,`r,.return.,All
  366.   StringReplace,string,string,`n,.newline.,All
  367.   StringReplace,string,string,`,,.comma.,All
  368.   StringReplace,string,string,`;,.semicolon.,All
  369.   StringReplace,string,string,%from%,%to%,All
  370.   StringReplace,string,string,.space.,%A_Space%,All
  371.   StringReplace,string,string,.tab.,%A_Tab%,All
  372.   StringReplace,string,string,.return.,`r,All
  373.   StringReplace,string,string,.newline.,`n,All
  374.   StringReplace,string,string,.comma.,`,,All
  375.   StringReplace,string,string,.semicolon.,`;,All
  376. }
  377. If showstatus=1
  378.   ToolTip,Selection's User chars replaced
  379. SetTimer,TOOLTIPOFF,On
  380. Gosub,PASTE
  381. Return
  382.  
  383.  
  384. ABOUT:
  385. Gui,99:Margin,20,20
  386. Gui,99:Add,Picture,xm Icon1,%applicationname%.exe
  387. Gui,99:Font,Bold
  388. Gui,99:Add,Text,x+10 yp+10,%applicationname% v1.7
  389. Gui,99:Add,Text,y+10,CAPshift slows down and extends the CapsLock key.
  390. Gui,99:Add,Text,y+5,It also slows down F1, Insert, NumLock and ScrollLock.
  391. Gui,99:Add,Text,y+10,- Hold down CapsLock for .5 sec to toggle CapsLock on or off.
  392. Gui,99:Add,Text,y+10,- Hold for 1 sec to show a menu that converts selected text to
  393. Gui,99:Add,Text,y+5,UPPER CASE, lower case, Title Case, iNVERT cASE, RaNDoM CaSE  
  394. Gui,99:Add,Text,y+5,or to Replace user defined chars as defined in CAPshift.ini.
  395. Gui,99:Add,Text,y+10,- If the keyboard is idle for 120 seconds, CapsLock is turned off.
  396.  
  397. Gui,99:Add,Picture,xm y+20 Icon5,%applicationname%.exe
  398. Gui,99:Font,Bold
  399. Gui,99:Add,Text,x+10 yp+10,1 Hour Software by Skrommel
  400. Gui,99:Add,Text,y+10,For more tools, information and donations, please visit
  401. Gui,99:Font,CBlue Underline
  402. Gui,99:Add,Text,y+5 G1HOURSOFTWARE,www.1HourSoftware.com
  403.  
  404. Gui,99:Add,Picture,xm y+20 Icon7,%applicationname%.exe
  405. Gui,99:Font,Bold
  406. Gui,99:Add,Text,x+10 yp+10,DonationCoder
  407. Gui,99:Add,Text,y+10,Please support the contributors at
  408. Gui,99:Font,CBlue Underline
  409. Gui,99:Add,Text,y+5 GDONATIONCODER,www.DonationCoder.com
  410.  
  411. Gui,99:Add,Picture,xm y+20 Icon6,%applicationname%.exe
  412. Gui,99:Font,Bold
  413. Gui,99:Add,Text,x+10 yp+10,AutoHotkey
  414. Gui,99:Add,Text,y+10,This tool was made using the powerful
  415. Gui,99:Font,CBlue Underline
  416. Gui,99:Add,Text,y+5 GAUTOHOTKEY,www.AutoHotkey.com
  417.  
  418. Gui,99:Show,,%applicationname% About
  419. hCurs:=DllCall("LoadCursor","UInt",NULL,"Int",32649,"UInt") ;IDC_HAND
  420. OnMessage(0x200,"WM_MOUSEMOVE")
  421. Return
  422.  
  423. 1HOURSOFTWARE:
  424.  Run,http://www.1hoursoftware.com,,UseErrorLevel
  425. Return
  426.  
  427. DONATIONCODER:
  428.  Run,http://www.donationcoder.com,,UseErrorLevel
  429. Return
  430.  
  431. AUTOHOTKEY:
  432.  Run,http://www.autohotkey.com,,UseErrorLevel
  433. Return
  434.  
  435. 99GuiClose:
  436.  Gui,99:Destroy
  437.   OnMessage(0x200,"")
  438.   DllCall("DestroyCursor","Uint",hCur)
  439. Return
  440.  
  441. WM_MOUSEMOVE(wParam,lParam)
  442. {
  443.   Global hCurs
  444.   MouseGetPos,,,,ctrl
  445.   If ctrl in Static13,Static17,Static21
  446.     DllCall("SetCursor","UInt",hCurs)
  447.   Return
  448. }
  449. Return
  450.  
  451.  
  452.  
  453.  
  454. SETTINGS:
  455. Gosub,READINI
  456. Run,CAPshift.ini
  457. Return
  458.  
  459.  
  460. READINI:
  461. IfNotExist,CAPshift.ini
  462. {
  463.   inifile=;CAPshift.ini
  464.   inifile=%inifile%`n`;[Settings]
  465.   inifile=%inifile%`n`;capslockidle=120    `;0-999  0=Off  Seconds to wait before turning off CapsLock when the keyboard is idle
  466.   inifile=%inifile%`n`;showstatus=1        `;0,1    0=Hide  1=Show  Hide or show the status windows
  467.   inifile=%inifile%`n`;delaycapslock=1     `;0,1    0=Ignore CapsLock  1=Delay F1
  468.   inifile=%inifile%`n`;delayf1=1           `;0,1    0=Ignore F1  1=Delay F1
  469.   inifile=%inifile%`n`;delayinsert=1
  470.   inifile=%inifile%`n`;delayscrolllock=1
  471.   inifile=%inifile%`n`;delaynumlock=1
  472.   inifile=%inifile%`n`;
  473.   inifile=%inifile%`n`;ae=æ                `;Chars to replace=Chars to replace with
  474.   inifile=%inifile%`n`;oe=ø                `;Special characters:
  475.   inifile=%inifile%`n`;aa=å                `;  .space. .tab. .return. .newline. .comma. .semicolon.
  476.   inifile=%inifile%`n`;AE=Æ
  477.   inifile=%inifile%`n`;OE=Ø
  478.   inifile=%inifile%`n`;AA=Å
  479.   inifile=%inifile%`n`;AA=Å
  480.   inifile=%inifile%`n`;.return..newline..return..newline.=  ;Removes empty lines
  481.   inifile=%inifile%`n
  482.   inifile=%inifile%`n[Settings]
  483.   inifile=%inifile%`ncapslockidle=120
  484.   inifile=%inifile%`nshowstatus=1
  485.   inifile=%inifile%`ndelaycapslock=1
  486.   inifile=%inifile%`ndelayf1=1
  487.   inifile=%inifile%`ndelayinsert=1
  488.   inifile=%inifile%`ndelayscrolllock=1
  489.   inifile=%inifile%`ndelaynumlock=1
  490.   inifile=%inifile%`n
  491.   inifile=%inifile%`nae=æ
  492.   inifile=%inifile%`noe=ø
  493.   inifile=%inifile%`naa=å
  494.   inifile=%inifile%`nAE=Æ
  495.   inifile=%inifile%`nOE=Ø
  496.   inifile=%inifile%`nAA=Å
  497.   FileAppend,%inifile%,CAPshift.ini
  498.   inifile=
  499. }
  500. IniRead,capslockidle,CAPshift.ini,Settings,capslockidle
  501. IniRead,showstatus,CAPshift.ini,Settings,showstatus
  502. IniRead,delaycapslock,CAPshift.ini,Settings,delaycapslock
  503. IniRead,delayf1,CAPshift.ini,Settings,delayf1
  504. IniRead,delayinsert,CAPshift.ini,Settings,delayinsert
  505. IniRead,delayscrolllock,CAPshift.ini,Settings,delayscrolllock
  506. IniRead,delaynumlock,CAPshift.ini,Settings,delaynumlock
  507.  
  508. If delaycapslock=1
  509.   Hotkey,$CapsLock,DELAY
  510. If delayf1=1
  511.   Hotkey,$F1,DELAY
  512. If delayinsert=1
  513.   Hotkey,$Insert,DELAY
  514. If delaynumlock=1
  515.   Hotkey,$NumLock,DELAY
  516. If delayscrolllock=1
  517.   Hotkey,$ScrollLock,DELAY
  518.  
  519. swapcount=0
  520. Loop,Read,CAPshift.ini
  521. {
  522.   If char=`;
  523.     Continue
  524.     Continue
  525.   If A_LoopReadLine Contains capslockidle=,showstatus=,delaycapslock=,delayf1=,delayinsert=,delayscrolllock=,delaynumlock=
  526.     Continue
  527.     Continue
  528.   swapcount+=1
  529.   StringSplit,swap_%swapcount%_,A_LoopReadLine,=
  530. }
  531. Return

24
You are very much appreciated, Vic! 

25
Awesome -- This made my day!

Pages: [1] 2 3 4 5 6 ... 23next