折腾WindowsTerminal

工位电脑重装系统,折腾一下WindowsTerminal。
内网环境安装起来也比较麻烦
好像win10不是最新版,直接用AppPackage安装是不能运行的?而且也不能设置成默认终端
WindowsTerminal github发布页面下载.zip文件解压之后可以使用
Powershell下载地址可以在微软官网找到msi安装包

开机后启动

打开任务计划程序(taskschd.msc), 创建基本任务,触发器登录时,操作启动wt

启动后执行

"文档"文件夹下(我这里是"D:\Documents")创建配置文件,
D:\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
启动pwsh后会自动执行这个脚本
(powershell5.x是另一个配置文件D:\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1, 如果想要公用可以拉一个软链接)
通过这个脚本可以创建一些cmdlet用来快捷操作

快捷键唤醒窗口

想达到的效果是如果没有wt正在运行,打开窗口,否则显示窗口
使用PowerToys来定义快捷键
键盘管理器 -> 重映射快捷键
操作"运行程序", 输入wt的路径,如果正在运行"显示窗口"
但PowerToys好像没有那么给力,每次按快捷键都会打开一个新窗口

新建脚本

# openwt.ps1

$script = @"
    [DllImport("user32.dll")]
    public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
"@

$_T = Add-Type -MemberDefinition $script -Name TempUtils -PassThru
$SW_SHOWNORMAL = 1
$SW_MINIMIZE = 6

function local:Main()
{
  $open = $true
  Get-Process "WindowsTerminal" -ErrorAction SilentlyContinue | ForEach-Object {
    $hWnd = $_.MainWindowHandle
    $_T::ShowWindow($hWnd, $SW_MINIMIZE) | Out-Null
    $_T::ShowWindow($hWnd, $SW_SHOWNORMAL) | Out-Null
    $open = $false
  }
  if ($open)
  {
    wt
  }
}
Main

快捷键修改为启动powershell执行这个脚本,如果正在运行"启动另一个",可见性"隐藏"

posted @ 2024-08-17 10:32  lunoctis  阅读(17)  评论(0编辑  收藏  举报