This is a brief introduction to the tools needed to maintain a personal fork of ZMK (or QMK or really whatever). It covers:
# NOTE(zeronineseven): Heavily based on https://gist.github.com/denBot/4136279812f87819f86d99eba77c1ee0 | |
import asyncio | |
import contextlib | |
import json | |
from contextlib import AsyncExitStack | |
from pathlib import Path | |
from typing import AsyncContextManager, Protocol, AsyncIterator, Never | |
import win32event | |
import win32pipe |
This patch lets you set a config option such that the layer widget on the e-ink display of Corne-ish Zen won't update when you switch to/from layers that are activated momentarily, for instance when using &mo
or <
behaviors. The layer widget will only update for layers that are activated "permanently", i.e. using behaviors like &to
or &tog
. This reduces the amount of refreshes the e-ink display has to make during normal typing.
To use this feature, you can apply the patch to your ZMK repo on top of the Board-Corne-ish-Zen-dedicated-work-queue branch then enable the feature by adding CONFIG_ZMK_DISPLAY_HIDE_MOMENTARY_LAYERS=y
to your corne-ish_zen.conf
file.
import win32pipe | |
import win32file | |
import pywintypes | |
import subprocess | |
import json | |
import time | |
KOMOREBI_BUFF_SIZE = 64 * 1024 | |
KOMOREBI_PIPE_NAME = "yasb" |
Internet connection and DNS routing are broken from WSL2 instances, when some VPNs are active.
The root cause seems to be that WSL2 and the VPN use the same IP address block, and the VPN routing clobbers WSL2's network routing.
This problem is tracked in multiple microsoft/WSL issues including, but not limited to:
bind -T root F12 \ | |
set prefix None \;\ | |
set key-table off \;\ | |
set status-style "fg=$color_status_text,bg=$color_window_off_status_bg" \;\ | |
set window-status-current-format "#[fg=$color_window_off_status_bg,bg=$color_window_off_status_current_bg]$separator_powerline_right#[default] #I:#W# #[fg=$color_window_off_status_current_bg,bg=$color_window_off_status_bg]$separator_powerline_right#[default]" \;\ | |
set window-status-current-style "fg=$color_dark,bold,bg=$color_window_off_status_current_bg" \;\ | |
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ | |
refresh-client -S \;\ | |
bind -T off F12 \ |
git clean -xfd | |
git submodule foreach --recursive git clean -xfd | |
git reset --hard | |
git submodule foreach --recursive git reset --hard | |
git submodule update --init --recursive |