Open quake mode terminal in current directory #15415

Closed
opened 2026-01-31 04:37:59 +00:00 by claunia · 4 comments
Owner

Originally created by @bramhaag on GitHub (Oct 1, 2021).

Description of the new feature/enhancement

Currently, when the startingDirectory option is set to ".", a terminal in quake mode is still opened in the default directory. It would be a nice QoL feature to have this terminal window open in the current directory if the current foreground window is an explorer window.

I made a quick PoC: Preview

Proposed technical implementation details (optional)

The implementation would be relatively simple:

  1. Find the current foreground window
  2. Get all open ShellWindows and find the foreground window as described here

If the current foreground window is not an explorer window, simply open the terminal window in the default starting directory.

Originally created by @bramhaag on GitHub (Oct 1, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement Currently, when the startingDirectory option is set to `"."`, a terminal in quake mode is still opened in the default directory. It would be a nice QoL feature to have this terminal window open in the current directory if the current foreground window is an explorer window. I made a quick PoC: ![Preview](https://owo.whats-th.is/7S9ZsPx.gif) # Proposed technical implementation details (optional) The implementation would be relatively simple: 1. Find the current foreground window 2. Get all open ShellWindows and find the foreground window as described [here](https://devblogs.microsoft.com/oldnewthing/20040720-00/?p=38393) If the current foreground window is not an explorer window, simply open the terminal window in the default starting directory.
claunia added the Issue-FeatureResolution-DuplicateProduct-Terminal labels 2026-01-31 04:37:59 +00:00
Author
Owner

@j4james commented on GitHub (Oct 2, 2021):

Is this not the same request as #10202?

@j4james commented on GitHub (Oct 2, 2021): Is this not the same request as #10202?
Author
Owner

@zadjii-msft commented on GitHub (Oct 4, 2021):

Yea this sounds like /dup #10202

@zadjii-msft commented on GitHub (Oct 4, 2021): Yea this sounds like /dup #10202
Author
Owner

@ghost commented on GitHub (Oct 4, 2021):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Oct 4, 2021): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@ZahidHasan commented on GitHub (Dec 4, 2025):

Here you are (Autohotkey)

F12:: {
    ; Check if Windows Terminal Quake window is already open
    if (WinExist("ahk_exe WindowsTerminal.exe")) {
        ; If it's open, close it
        WinClose("ahk_exe WindowsTerminal.exe")
    } else {
        ; If it's closed, open it with current directory
        try {
            shell := ComObject("Shell.Application")
            for window in shell.Windows {
                if (window.HWND = WinExist("A")) {
                    Run('wt -w _quake -d "' window.Document.Folder.Self.Path '"')
                    ; Wait for window to appear and activate it
                    WinWait("ahk_exe WindowsTerminal.exe", , 3)  ; Wait up to 3 seconds
                    WinActivate("ahk_exe WindowsTerminal.exe")
                    WinShow("ahk_exe WindowsTerminal.exe")  ; Ensure it's visible
                    return
                }
            }
        }
        ; Fallback if no Explorer window detected
        Run("wt -w _quake")
        WinWait("ahk_exe WindowsTerminal.exe", , 3)
        WinActivate("ahk_exe WindowsTerminal.exe")
        WinShow("ahk_exe WindowsTerminal.exe")
    }
}```
@ZahidHasan commented on GitHub (Dec 4, 2025): Here you are (Autohotkey) ```ps F12:: { ; Check if Windows Terminal Quake window is already open if (WinExist("ahk_exe WindowsTerminal.exe")) { ; If it's open, close it WinClose("ahk_exe WindowsTerminal.exe") } else { ; If it's closed, open it with current directory try { shell := ComObject("Shell.Application") for window in shell.Windows { if (window.HWND = WinExist("A")) { Run('wt -w _quake -d "' window.Document.Folder.Self.Path '"') ; Wait for window to appear and activate it WinWait("ahk_exe WindowsTerminal.exe", , 3) ; Wait up to 3 seconds WinActivate("ahk_exe WindowsTerminal.exe") WinShow("ahk_exe WindowsTerminal.exe") ; Ensure it's visible return } } } ; Fallback if no Explorer window detected Run("wt -w _quake") WinWait("ahk_exe WindowsTerminal.exe", , 3) WinActivate("ahk_exe WindowsTerminal.exe") WinShow("ahk_exe WindowsTerminal.exe") } }```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#15415