快速切换至目标应用程序

on under auxilary
1 minute read

0x0 About

本文介绍macOS和windows下实现快速切换至后台中的目标应用程序的方法

0xa macOS

alfred的workflows功能可实现快速切换至后台中的目标应用程序的方法.在使用macOS时,一般会使用到多个app,如下图

在使用iterm2时想切换至pd的kali机上(图中第6个图标),或者在pd的kali机上想切换到firefox上,或者当前在任意app中想切换到另一个指定的app时直接使用cmd+tab效率较低,可通过alfred的workflows功能实现一键切换.

Detail

最终实现3个应用程序的快速切换快捷键:

  • firefox 对应 cmd+f
  • pd的kali机 对应 cmd+p
  • pd的iterm2 对应 cmd+i

alfred完成如下图:

以其中pd的kali机为例,HotkeyLaunch App/Files详情分别如下图:

0xb windows

autohotkey是一个win下的效率神器,可通过autohotkey来实现macOS下的相同功能,本文只涉及chrome|firefox|explorer的快速切换,其他应用程序对应的autohotkey脚本的写法可能不同

Detail
#f::switchToFirefox()
switchToFirefox(){
sendinput, {SC0E8} ;scan code of an unassigned key. Do I NEED this?
IfWinNotExist, ahk_class MozillaWindowClass
	Run, firefox.exe
if WinActive("ahk_exe firefox.exe")
	Send ^{tab}
else
	{
	;WinRestore ahk_exe firefox.exe
	WinActivate ahk_exe firefox.exe
	;sometimes winactivate is not enough. the window is brought to the foreground, but not put into FOCUS.
	;the below code should fix that.
	WinGet, hWnd, ID, ahk_class MozillaWindowClass
	DllCall("SetForegroundWindow", UInt, hWnd) 
	}
}

#g::switchToChrome()
switchToChrome()
{
IfWinNotExist, ahk_exe chrome.exe
	Run, chrome.exe --ignore-certificate-errors

if WinActive("ahk_exe chrome.exe")
	Sendinput ^{tab}
else
	WinActivate ahk_exe chrome.exe
}

#e::switchToExplorer()
switchToExplorer(){
IfWinNotExist, ahk_class CabinetWClass
	Run, explorer.exe
GroupAdd, taranexplorers, ahk_class CabinetWClass
if WinActive("ahk_exe explorer.exe")
	GroupActivate, taranexplorers, r
else
	WinActivate ahk_class CabinetWClass ;you have to use WinActivatebottom if you didn't create a window group.
}

ahk脚本代码地址在这里

alfred, 效率
home
github
archive
category