diff --git a/bootstrap.ps1 b/bootstrap.ps1 index 4dd19a4..ccc9cc2 100644 --- a/bootstrap.ps1 +++ b/bootstrap.ps1 @@ -388,9 +388,6 @@ function setupShellEnvs { # & reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /d 0000000000000000020000001D003A0000000000 /t REG_BINARY /f | Out-Null # Write-Host "CapsLock remapped, will be effective after next system reboot." - # TODO: initialize Terminal, but its .json file won't exist until after the first launch - # $env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json - Write-Host "setting up PowerShell profiles:" $pscoreProfile = (& pwsh -NoProfile -Command '$PROFILE.CurrentUserAllHosts') copyFile (Join-Path 'win' 'profile.ps1') $pscoreProfile diff --git a/win/configWinTerm.ps1 b/win/configWinTerm.ps1 index b09a754..9600583 100644 --- a/win/configWinTerm.ps1 +++ b/win/configWinTerm.ps1 @@ -23,7 +23,6 @@ function winTermConfiguration { $_s = Get-Content -Path $wtSettingsFile -Encoding utf8 | ConvertFrom-Json - # sigh, PS is weird, need to add non-existing properties to the object before setting them $_s | Add-Member -MemberType NoteProperty -Force -Name confirmCloseAllTabs -Value $false $_s | Add-Member -MemberType NoteProperty -Force -Name copyFormatting -Value "none" $_s | Add-Member -MemberType NoteProperty -Force -Name copyOnSelect -Value $false @@ -34,6 +33,19 @@ function winTermConfiguration { $_s | Add-Member -MemberType NoteProperty -Force -Name useAcrylicInTabRow -Value $true $_s | Add-Member -MemberType NoteProperty -Force -Name defaultProfile -Value "{574e775e-4f2a-5b96-ac1e-a2962a402336}" + # https://harrymin.dev/posts/fix-terminal-keybindings-csi-u/#calculating-and-sending-csi-u-codes + # https://github.com/neovim/neovim/issues/19575#issuecomment-2888309292 + $_csiCtrlSpace = "`u{001b}[32;5u" + $_found = $_s.actions | Where-Object { $_.command.input -eq $_csiCtrlSpace } + if (-not $_found) { + $ctrlSpace = New-Object PSObject + $ctrlSpace | Add-Member -MemberType NoteProperty -Force -Name keys -Value 'ctrl+space' + $ctrlSpace | Add-Member -MemberType NoteProperty -Force -Name command -Value (New-Object PSObject) + $ctrlSpace.command | Add-Member -MemberType NoteProperty -Force -Name action -Value "sendInput" + $ctrlSpace.command | Add-Member -MemberType NoteProperty -Force -Name input -Value $_csiCtrlSpace + $_s.actions += $ctrlSpace + } + $_s.profiles.defaults | Add-Member -MemberType NoteProperty -Force -Name adjustIndistinguishableColors -Value "always" $_s.profiles.defaults | Add-Member -MemberType NoteProperty -Force -Name bellStyle -Value "taskbar" $_s.profiles.defaults | Add-Member -MemberType NoteProperty -Force -Name cursorShape -Value "vintage" diff --git a/win/settings.json b/win/settings.json deleted file mode 100644 index ef00c37..0000000 --- a/win/settings.json +++ /dev/null @@ -1,329 +0,0 @@ -{ - "$help": "https://aka.ms/terminal-documentation", - "$schema": "https://aka.ms/terminal-profiles-schema", - "actions": - [ - { - "command": - { - "action": "copy", - "singleLine": false - }, - "keys": "ctrl+c" - }, - { - "command": "paste", - "keys": "ctrl+v" - }, - { - "command": "find", - "keys": "ctrl+shift+f" - }, - { - "command": - { - "action": "splitPane", - "split": "auto", - "splitMode": "duplicate" - }, - "keys": "alt+shift+d" - } - ], - "alwaysShowTabs": true, - "confirmCloseAllTabs": false, - "copyFormatting": "none", - "copyOnSelect": true, - "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", - "focusFollowMouse": true, - "initialCols": 200, - "initialRows": 60, - "largePasteWarning": true, - "multiLinePasteWarning": false, - "profiles": - { - "defaults": - { - "antialiasingMode": "cleartype", - "backgroundImage": null, - "backgroundImageOpacity": 0.19, - "bellStyle": "none", - "colorScheme": "One Half Dark", - "font": - { - "face": "Hack Nerd Font", - "size": 10 - }, - "intenseTextStyle": "all", - "opacity": 80, - "padding": "8", - "useAcrylic": true - }, - "list": - [ - { - "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", - "hidden": false, - "name": "PowerShell", - "source": "Windows.Terminal.PowershellCore" - }, - { - "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", - "hidden": false, - "name": "Windows PowerShell" - }, - { - "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}", - "hidden": false, - "name": "Command Prompt" - }, - { - "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}", - "hidden": false, - "name": "Azure Cloud Shell", - "source": "Windows.Terminal.Azure" - }, - { - "guid": "{59b72ad2-09f7-55ec-af87-65d062af8472}", - "hidden": false, - "name": "Ubuntu 20.04.5 LTS", - "source": "CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc" - } - ] - }, - "schemes": - [ - { - "background": "#0C0C0C", - "black": "#0C0C0C", - "blue": "#0037DA", - "brightBlack": "#767676", - "brightBlue": "#3B78FF", - "brightCyan": "#61D6D6", - "brightGreen": "#16C60C", - "brightPurple": "#B4009E", - "brightRed": "#E74856", - "brightWhite": "#F2F2F2", - "brightYellow": "#F9F1A5", - "cursorColor": "#FFFFFF", - "cyan": "#3A96DD", - "foreground": "#CCCCCC", - "green": "#13A10E", - "name": "Campbell", - "purple": "#881798", - "red": "#C50F1F", - "selectionBackground": "#FFFFFF", - "white": "#CCCCCC", - "yellow": "#C19C00" - }, - { - "background": "#012456", - "black": "#0C0C0C", - "blue": "#0037DA", - "brightBlack": "#767676", - "brightBlue": "#3B78FF", - "brightCyan": "#61D6D6", - "brightGreen": "#16C60C", - "brightPurple": "#B4009E", - "brightRed": "#E74856", - "brightWhite": "#F2F2F2", - "brightYellow": "#F9F1A5", - "cursorColor": "#FFFFFF", - "cyan": "#3A96DD", - "foreground": "#CCCCCC", - "green": "#13A10E", - "name": "Campbell Powershell", - "purple": "#881798", - "red": "#C50F1F", - "selectionBackground": "#FFFFFF", - "white": "#CCCCCC", - "yellow": "#C19C00" - }, - { - "background": "#282C34", - "black": "#282C34", - "blue": "#61AFEF", - "brightBlack": "#5A6374", - "brightBlue": "#61AFEF", - "brightCyan": "#56B6C2", - "brightGreen": "#98C379", - "brightPurple": "#C678DD", - "brightRed": "#E06C75", - "brightWhite": "#DCDFE4", - "brightYellow": "#E5C07B", - "cursorColor": "#FFFFFF", - "cyan": "#56B6C2", - "foreground": "#DCDFE4", - "green": "#98C379", - "name": "One Half Dark", - "purple": "#C678DD", - "red": "#E06C75", - "selectionBackground": "#FFFFFF", - "white": "#DCDFE4", - "yellow": "#E5C07B" - }, - { - "background": "#FAFAFA", - "black": "#383A42", - "blue": "#0184BC", - "brightBlack": "#4F525D", - "brightBlue": "#61AFEF", - "brightCyan": "#56B5C1", - "brightGreen": "#98C379", - "brightPurple": "#C577DD", - "brightRed": "#DF6C75", - "brightWhite": "#FFFFFF", - "brightYellow": "#E4C07A", - "cursorColor": "#4F525D", - "cyan": "#0997B3", - "foreground": "#383A42", - "green": "#50A14F", - "name": "One Half Light", - "purple": "#A626A4", - "red": "#E45649", - "selectionBackground": "#FFFFFF", - "white": "#FAFAFA", - "yellow": "#C18301" - }, - { - "background": "#002B36", - "black": "#002B36", - "blue": "#268BD2", - "brightBlack": "#073642", - "brightBlue": "#839496", - "brightCyan": "#93A1A1", - "brightGreen": "#586E75", - "brightPurple": "#6C71C4", - "brightRed": "#CB4B16", - "brightWhite": "#FDF6E3", - "brightYellow": "#657B83", - "cursorColor": "#FFFFFF", - "cyan": "#2AA198", - "foreground": "#839496", - "green": "#859900", - "name": "Solarized Dark", - "purple": "#D33682", - "red": "#DC322F", - "selectionBackground": "#FFFFFF", - "white": "#EEE8D5", - "yellow": "#B58900" - }, - { - "background": "#FDF6E3", - "black": "#002B36", - "blue": "#268BD2", - "brightBlack": "#073642", - "brightBlue": "#839496", - "brightCyan": "#93A1A1", - "brightGreen": "#586E75", - "brightPurple": "#6C71C4", - "brightRed": "#CB4B16", - "brightWhite": "#FDF6E3", - "brightYellow": "#657B83", - "cursorColor": "#002B36", - "cyan": "#2AA198", - "foreground": "#657B83", - "green": "#859900", - "name": "Solarized Light", - "purple": "#D33682", - "red": "#DC322F", - "selectionBackground": "#FFFFFF", - "white": "#EEE8D5", - "yellow": "#B58900" - }, - { - "background": "#000000", - "black": "#000000", - "blue": "#3465A4", - "brightBlack": "#555753", - "brightBlue": "#729FCF", - "brightCyan": "#34E2E2", - "brightGreen": "#8AE234", - "brightPurple": "#AD7FA8", - "brightRed": "#EF2929", - "brightWhite": "#EEEEEC", - "brightYellow": "#FCE94F", - "cursorColor": "#FFFFFF", - "cyan": "#06989A", - "foreground": "#D3D7CF", - "green": "#4E9A06", - "name": "Tango Dark", - "purple": "#75507B", - "red": "#CC0000", - "selectionBackground": "#FFFFFF", - "white": "#D3D7CF", - "yellow": "#C4A000" - }, - { - "background": "#FFFFFF", - "black": "#000000", - "blue": "#3465A4", - "brightBlack": "#555753", - "brightBlue": "#729FCF", - "brightCyan": "#34E2E2", - "brightGreen": "#8AE234", - "brightPurple": "#AD7FA8", - "brightRed": "#EF2929", - "brightWhite": "#EEEEEC", - "brightYellow": "#FCE94F", - "cursorColor": "#000000", - "cyan": "#06989A", - "foreground": "#555753", - "green": "#4E9A06", - "name": "Tango Light", - "purple": "#75507B", - "red": "#CC0000", - "selectionBackground": "#FFFFFF", - "white": "#D3D7CF", - "yellow": "#C4A000" - }, - { - "background": "#300A24", - "black": "#171421", - "blue": "#0037DA", - "brightBlack": "#767676", - "brightBlue": "#08458F", - "brightCyan": "#2C9FB3", - "brightGreen": "#26A269", - "brightPurple": "#A347BA", - "brightRed": "#C01C28", - "brightWhite": "#F2F2F2", - "brightYellow": "#A2734C", - "cursorColor": "#FFFFFF", - "cyan": "#3A96DD", - "foreground": "#FFFFFF", - "green": "#26A269", - "name": "Ubuntu-20.04-ColorScheme", - "purple": "#881798", - "red": "#C21A23", - "selectionBackground": "#FFFFFF", - "white": "#CCCCCC", - "yellow": "#A2734C" - }, - { - "background": "#000000", - "black": "#000000", - "blue": "#000080", - "brightBlack": "#808080", - "brightBlue": "#0000FF", - "brightCyan": "#00FFFF", - "brightGreen": "#00FF00", - "brightPurple": "#FF00FF", - "brightRed": "#FF0000", - "brightWhite": "#FFFFFF", - "brightYellow": "#FFFF00", - "cursorColor": "#FFFFFF", - "cyan": "#008080", - "foreground": "#C0C0C0", - "green": "#008000", - "name": "Vintage", - "purple": "#800080", - "red": "#800000", - "selectionBackground": "#FFFFFF", - "white": "#C0C0C0", - "yellow": "#808000" - } - ], - "showTabsInTitlebar": true, - "tabSwitcherMode": "mru", - "useAcrylicInTabRow": true -} \ No newline at end of file