Releases: flyingpie/windows-terminal-quake
v2.0.12
Updated hashes, version bump
v2.0.11
- Support for KDE Plasma 5 & 6 (KWin, currently Wayland only).
- Reworked how apps are started (mostly when WTQ starts), should fix a lot of cases where multiple instances of an app (such as Windows Terminal) are started (fixes 145).
- Added WindowTitleOverride, which attempts to set the title of a window. Useful for "tagging" a window as being managed by WTQ, so they can be filtered out in other applications (see #144).
{
"Apps": [
{
"Name": "Terminal",
"WindowTitleOverride": "The New Window Title"
},
...
]
}
- Added other off screen locations, to support vertically-stacked monitors (see #146).
WTQ will look for an empty space outside of the screen, starting above, then below, then to the left, then to the right. Whichever location that does not overlap with a screen wins, in order.
The order can be changed using the "OffScreenLocations" setting:
{
"Apps": [
{
// Per app:
"Name": "Terminal",
"OffScreenLocations": ["Above", "Below", "Left", "Right"]
},
...
],
// ..or globally:
"OffScreenLocations": ["Above", "Below", "Left", "Right"]
}
v2.0.10
-
Correctly handle multiple monitor setup, where apps that got toggled off lingered around at the top of the screen (fixes #133).
-
Added options to control the animation speed and style:
- AnimationDurationMs How long the animation takes.
- AnimationDurationMsWhenSwitchingApps How long the animation takes, when switching between WTQ-attached apps.
- AnimationTargetFps How often to attempt to move an application window per second.
- AnimationTypeToggleOn Easing used for toggling on an app.
- AnimationTypeToggleOff Easing used for toggling off an app.
-
Reworked how apps are tracked
Previously, a background worker was constantly looking for configured apps, and starting processes for ones that weren't running (by default, unless the AttachMode was set to something other than FindOrCreate).
Now, finding and creating app processes only happens when WTQ starts (configurable) and when a hot key is pressed.
As a result, an app that is manually closed is no longer automatically restarted. And perhaps more relevant, when starting an app doesn't succeed, it no longer results in an infinite retry loop.
This was especially problematic when starting a conhost-hosted app (such as PowerShell), while Windows Terminal was configured to be the default console host. In such cases, Windows Terminal would take over PowerShell, the conhost process would exit, and WTQ assumed the process failed to start.
- Added AlwaysOnTop, which forces an app to always be above other windows, even if it doesn't have focus.
v2.0.9
- When an app is toggled up, it retains its original screen (fixes #64).
- Reworked how windows are tracked and attached to, should fix a lot of "Main window handle not available yet"-issues.
- Added support for multiple configuration file locations (see docs for more info).
- Moved default log location to temp directory.
- Added "Open logs" button to tray icon.
- Added "HideOnFocusLost", which controls whether an app should be toggled out if another app gains focus.
Globally, for all apps:
{
"HideOnFocusLost": true | false
}
Or per app:
{
"Apps": [
{
"Name": "Terminal",
"HideOnFocusLost": true | false
},
...
]
}
v2.0.8
v2.0.0-prerelease7
v2.0.0-prerelease6
Added sizing.
Globally, for all apps:
{
// Horizontal screen coverage, as a percentage (defaults to 95).
"HorizontalScreenCoverage": 95,
// Vertical screen coverage, as a percentage (defaults to 95).
"VerticalScreenCoverage": 95,
// How much room to leave between the top of the terminal and the top of the screen, in pixels.
"VerticalOffset": 0
}
Or per app:
{
"Apps": [
{
"Name": "Terminal",
// Horizontal screen coverage, as a percentage (defaults to 95).
"HorizontalScreenCoverage": 95,
// Vertical screen coverage as a percentage (defaults to 95).
"VerticalScreenCoverage": 95,
// How much room to leave between the top of the terminal and the top of the screen, in pixels.
"VerticalOffset": 0
},
...
]
}
v2.0.0-prerelease5
Initial support for auto-starting apps.
BREAKING CHANGES
The configuration file has been simplified.
Old syntax:
"Apps": [
{
"Name": "Terminal",
"HotKeys": [ { "Modifiers": "Control", "Key": "D1" } ],
"FindExisting": {
"ProcessName": "WindowsTerminal"
},
"StartNew": {
"FileName": "wt"
}
}
]
The "ProcessName"-property is optional for processes where they are the same.
New syntax:
"Apps": [
{
"Name": "Terminal",
"HotKeys": [{ "Modifiers": "Control", "Key": "D1" }],
"FileName": "wt",
"ProcessName": "WindowsTerminal"
}
]
Auto-starting apps to toggle
Currently exploring the direction where an app has an "AttachMode", which dictates how WTQ grabs an app:
- FindOrStart (default)
Looks for an existing process as specified by the "FileName"- and/or "ProcessName"-properties. If no process was found, a new one will be started using the value under the "FileName"-property. - Find
Just looks for existing processes as specified by the "FileName"- and/or "ProcessName"-properties. No new processes will be started (previous version behavior, where you always had to manually start the app. - Start (very experimental)
Always starts a new process, specifically to be used by WTQ. Meant for apps that have multiple open instances. Initially meant for (among other things) browsers, but these turn out to be more complicated. This will be documented later. - Manual
Attaches whatever app has focus, when the hot key is pressed. Keeps the app attached until WTQ is closed.
The mode can be specified per app (note that "FindOrStart" is the default:
"Apps": [
{
"Name": "Terminal",
"AttachMode": "Find", // Only attach to process that is already running, don't auto-start one.
"HotKeys": [{ "Modifiers": "Control", "Key": "D1" }],
"FileName": "wt",
"ProcessName": "WindowsTerminal"
}
]
v2.0.0-prerelease3
WinGet preperation
v2.0.0-prerelease4
Added "PreferMonitor" and "MonitorIndex" to control what monitor apps are toggled on.
The setting is available at the root config level, and can be overridden per application.
{
"PreferMonitor": "WithCursor", // WithCursor | Primary | AtIndex
"MonitorIndex": 0,
"Apps": [
{
"PreferMonitor": "WithCursor", // WithCursor | Primary | AtIndex
"MonitorIndex": 0,
}
]
}