Lenovo IdeaPad Flex 550 を頂いたので Windows 11 環境を整えるためにしたことをまとめる。
デバイス名
Passiflora(トケイソウ、パッションフラワー)にした。デバイス名は植物から取ることにしているので、型番から 550 に関連する植物を調べたら 550 種あるらしいトケイソウがヒットした。時計につけたくなる名前をパソコンにつけるのはどうかと思ったが、他に探すのも大変そうなのでこれを使うことにした。
レジストリー
コンテキストメニュー
Windows 11 ではエクスプローラーのコンテキストメニューが見づらくなっていたので昔と同じものに戻す。Shift + 右クリックでも昔のものを表示できるが、毎回そんな事やっていられないのでレジストリーをいじる。
reg.exe add HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /f /ve
便利ツール
PowerToys
PowerToys Run
Mac の Spotlight と違ってアプリケーションを勝手に探してくれない。スタートメニューにあるものは見てくれるようなので、PowerToys Run から起動したいアプリケーションはショートカットを"C:\ProgramData\Microsoft\Windows\Start Menu\Programs"
に作る。
FancyZones
Windows 11 にもともとあるウィンドウのスナップはありえん使いにくいので無効化して、代わりにFancyZonesを使う。FancyZones の設定のWindows スナップのオーバーライド
をオンにすると Windows + ↑/↓/←/→ でウィンドウを動かせるようになって快適になる。
Keyboard Manager
VK 244
は半角/全角
で、このキーを無効化している。IME のオンオフ切り替えはは Google 日本語入力の設定で変換
、無変換
をIME を有効化
、IME の無効化
に割り当てている。
¥
はキーボード右下のろ
のキーで、Shift なしでアンダーバーが入力されるように設定している。Mac では Shift なしでアンダーバーを入力できて便利だったため、Windows でも同様の挙動をするようにした。再マップで左 Shift
を使った設定にしていると、左 Shift を押しながらアンダーバーを入力したあと、Shift を押したまま英字を入力すると小文字になってしまう。これを避けるために右 Shift
を使うように設定してある(打ち初めから終わりまで左 Shift を押しながらABC_DEF
と入力したとき、ABC_def
となってしまう)。
Greenshot
スクリーンショットに使うアプリケーションはもとから入っている Snipping Tool でも良かったが、選択範囲の撮影とウィンドウの撮影を切り替えるときにマウス操作が必要なのが面倒だった。指定したモードで起動できるならそれぞれショートカットを割り当てようと思ったが、それはできなそうなので別のアプリケーションを使うことにした。
Snipping Tool のクリップボードにコピーしつつファイルにも保存できるのが体験良かったため、同じことができる Greenshot を使う。
選択範囲の撮影とウィンドウの撮影にそれぞれショートカットを割り当てている。デスクトップ全体のスクリーンショットは Windows 本来の Windows + PrtScr で十分なので Greenshot は使わない。
AltSnap
後述の端末のタイトルバーを非表示にしていてウィンドウの移動ができないので、タイトルバー以外でも掴んで移動ができるようになる AltSnap を入れる。
開発環境
基本的には WSL を使い、Windows 環境では開発しない。
環境変数
WSL の中からも使いそうな環境変数をWSLENV
に入れて見えるようにしておく。
setx.exe WSLENV APPDATA/up:USERPROFILE/up
WSL
$USERPROFILE/.wslconfig
を作成編集する。
[wsl2] memory=4GB swap=8GB [experimental] autoMemoryReclaim=gradual sparseVhd=true%
ディストリビューション
Arch Linux を使う。
systemd
/etc/wsl.conf
で systemd を有効にする。
[boot] systemd=true
有効にはなるが、サービスの開始にしばらく時間がかかる。acpid
とsystemd-networkd-wait-online
が原因みたいだったので無効化したら正常に動くようになった。
sudo systemctl disable systemd-networkd-wait-online.service
端末
Alacritty を使う。WezTerm とどっちにするか迷ったが、WezTerm は Alacritty に比べてメモリー使用量が多かったのと、アンダーカールが正しく表示されなかったため Alacritty にした。とはいえ、WezTerm が Lua で設定をかけるのは魅力的なので今後の更新次第で乗り換える可能性はある。
設定でタイトルバーを非表示にしてみたが、端末が広く見えて気持ちいいし、スクリーンショットを撮るときも余計な情報が入りこまないのでなかなか良かった。
端末起動時に WSL を起動して tmux にアタッチする。デタッチや終了したときに端末が終了しないように Zsh が起動するようにもしておく。
[shell] program = 'C:\Windows\system32\wsl.exe' args = [ '--cd', '~', '--distribution', 'arch', '--exec', '/bin/zsh', '-c', '"tmux new -A && exec zsh -i"', ]
アンダーカール対応
アンダーカール表示のために下記リンクからconpty.dll
とOpenConsole.exe
をダウンロードし、Alacritty の実行ファイルがある場所に突っ込む。
Windows Terminal を自分でビルドして該当ファイルを持ってきてもいいと思うが、Visual Studio と関連コンポーネントのインストールに時間がかかるし、吐かれたエラーの解決が面倒だったので諦めた。
README に書いてあるとおり、そのうち不要になるかもしれない。
これで tmux の外ではアンダーカールが表示されるようになったが、tmux 上では表示されないため tmux の設定もいじる。
set -g default-terminal 'tmux-256color' set -ga terminal-overrides ",xterm-256color:RGB" set -ga terminal-features ",*:usstyle" # Enables underline color set -ga terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
ゲーム
グラブル
SRWare Iron 105 を入れる。
ブラウザーの横幅制限を解除するために、chrome.dll
の0138193C
から01381942
をBA 40 01 00 00
に変える。
グラブル ブラウザ横幅制限解除
— Nocrew (@nocrew_) 2023年12月26日
対象/SRWare Iron ver: 105.0.5350.0
ブラウザ横幅制限で発生する画面右側余白の消去に必要なIron内のchrome.dllバイナリ値変更箇所
01 CD [39 F2 0F 4E D6] 85 ED(初期値500px)
01 CD [BA 40 01 00 00] 85 ED(変更後320px)
01 CD [BA 5E 01 00 00] 85 ED(変更後340px) pic.twitter.com/G5WGwvJF2J
次のフラグを変える
- Enable にする
- chrome://flags/#ignore-gpu-blocklist
- chrome://flags/#overlay-scrollbars
- chrome://flags/#enable-quic
- chrome://flags/#enable-gpu-rasterization
- chrome://flags/#enable-experimental-web-platform-features
- chrome://flags/#enable-zero-copy
- chrome://flags/#enable-parallel-downloading
- Disable にする
- chrome://flags/#tab-groups-save
- chrome://flags/#tab-hover-card-images
- chrome://flags/#calculate-native-win-occlusion