-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmimic_i3wm.ahk
More file actions
126 lines (93 loc) · 2.64 KB
/
mimic_i3wm.ahk
File metadata and controls
126 lines (93 loc) · 2.64 KB
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
#f::
WinGet, windowID, ID, A ; 获取当前窗口ID
WinGet, Style, Style, A ; 获取当前窗口样式
; 检测窗口是否已最大化 (WS_MAXIMIZEBOX 并且 WS_MAXIMIZE 都存在)
If (Style & 0x10000) and (Style & 0x01000000)
{
; 如果已经最大化,发送 Win + Down 来恢复窗口
Send, {LWin Down}{Down}{LWin Up}
}
else
{
; 如果未最大化,发送 Win + Up 来最大化窗口
Send, {LWin Down}{Up}{LWin Up}
}
Return
^Space::Send, {LWin Down}{Space}{LWin Up}
#q::WinClose, A
#Enter::
SetTitleMatchMode, 2 ; 设置窗口标题匹配模式为部分匹配
IfWinExist, PowerShell
{
WinActivate ; 激活现有的PowerShell窗口
}
else
{
Run, powershell ; 打开一个新的PowerShell窗口
}
return
; 快速移动窗口到屏幕边缘
#+h::WinMove, A,, 0, 0, A_ScreenWidth / 2, A_ScreenHeight ; 移动到屏幕左半部
#+l::WinMove, A,, A_ScreenWidth / 2, 0, A_ScreenWidth / 2, A_ScreenHeight ; 移动到屏幕右半部
; 模拟 Alt+Tab
#j::Send, {Alt Down}{Tab}{Alt Up}
; 模拟 Shift+Alt+Tab
#k::Send, {Alt Down}{Shift Down}{Tab}{Shift Up}{Alt Up}
#XButton1::
;按 Win+鼠标后退 快速后退桌面
Send, ^#{Left}
Return
#XButton2::
;按 Win+鼠标前进 快速前进桌面
Send, ^#{Right}
Return
;Win+M shortcut to minimize the active window
global minimized := {} ; 用于存储窗口是否被最小化的状态
;win+M
#m::WinMinimize, A
; 使用 Win+N 快捷键切换到 Windows Terminal 窗口
#n::
; 检查窗口类名为 'CASCADIA_HOSTING_WINDOW_CLASS' 的窗口是否存在
IfWinExist, ahk_class CASCADIA_HOSTING_WINDOW_CLASS
{
; 激活该窗口
WinActivate
}
else
{
; 显示一个消息框提示用户没有找到 Windows Terminal 窗口
MsgBox Windows Terminal 窗口不存在
}
return
; 使用 Win+C 快捷键切换到 ChatGPT 窗口
#c::
; 检查窗口类名为 'Window Class' 的窗口是否存在
IfWinExist, ahk_class Window Class
{
; 激活该窗口
WinActivate
}
else
{
; 显示一个消息框提示用户没有找到 ChatGPT 窗口
MsgBox ChatGPT 窗口不存在
}
return
; 如果当前窗口是 Windows Terminal
#IfWinActive ahk_class CASCADIA_HOSTING_WINDOW_CLASS
; 将 Win+V 映射为 Alt+V
#v::Send !v
; 将 Win+H 映射为 Alt+H
#h::Send !h
; 将 Win+Q 映射为 Ctrl+D
#q::Send ^d
; 将 Win+Enter 映射为 Alt+V
#Enter::Send !v
; 将 Win+左箭头 映射为 Alt+左箭头
#Left::Send !{Left}
; 将 Win+右箭头 映射为 Alt+右箭头
#Right::Send !{Right}
; 结束 IfWinActive 块
#IfWinActive
; 重新加载AutoHotkey脚本win+shift+r
#+r::Reload