forked from jpginc/windows10DesktopManager
-
Notifications
You must be signed in to change notification settings - Fork 0
/
commonFunctions.ahk
126 lines (111 loc) · 2.03 KB
/
commonFunctions.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
debugger(message)
{
;~ ToolTip, % message
;~ sleep 100
return
}
;Author of change: Chimstaz
postMoveWin()
{
;I had issue that after moving window, non of windows was active
Send {Alt down}{tab}{Alt up}
turnCapslockOff()
return
}
postSwitchDesktop()
{
;change tray icon
showDesktopNumber()
turnCapslockOff()
}
;End of changes
turnCapslockOff()
{
;if the capslock key is down then set the capslock state to on so that
;when the user lets go it will change the state to off
if(GetKeyState("Capslock", "P"))
{
SetCapsLockState, On
} else
{
SetCapsLockState , Off
}
return
}
/*
* If we send the keystrokes too quickly you sometimes get a flickering of the screen
*/
send(toSend)
{
oldDelay := A_KeyDelay
SetKeyDelay, 30
send, % toSend
SetKeyDelay, % oldDelay
return
}
closeMultitaskingViewFrame()
{
if(isMultiTaskingViewActive())
{
send("#{tab}")
}
return
}
openMultitaskingViewFrame()
{
if(! isMultiTaskingViewActive())
{
send("#{tab}")
WinWaitActive, ahk_class MultitaskingViewFrame
}
return
}
isMultiTaskingViewActive()
{
return WinActive("ahk_class MultitaskingViewFrame")
}
callFunction(possibleFunction)
{
if(IsFunc(possibleFunction))
{
%possibleFunction%()
} else if(IsObject(possibleFunction))
{
possibleFunction.Call()
} else if(IsLabel(possibleFunction))
{
gosub, % possibleFunction
}
return
}
getDesktopNumberFromHotkey(keyCombo)
{
number := RegExReplace(keyCombo, "[^\d]", "")
return number == 0 ? 10 : number
}
getIndexFromArray(searchFor, array)
{
loop, % array.MaxIndex()
{
if(array[A_index] == searchFor)
{
return A_index
}
}
return -1
}
;Author of change: Chimstaz
;Check desktop number and set appropriate tray icon
showDesktopNumber()
{
currentDesktop := globalDesktopManager._desktopChanger.desktopMapper.getDesktopNumber()
icopath = .\Icon\
icopath .= currentDesktop
icopath .= ".ico"
Menu, Tray, Icon, %icopath%
;Progress, m2 b fs18 zh0 X0 Y732 W60, %currentDesktop%, , , Courier New
;SetTimer, turnOffProgress, 700
}
turnOffProgress:
Progress, off
return