Skip to content

Instantly share code, notes, and snippets.

@SF-300
SF-300 / komorebi_async_events.py
Last active November 17, 2023 21:12
async reading of win32 named pipe containing komorebi window manager events
# 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
@urob
urob / git_for_zmk.md
Last active June 3, 2024 03:49
Maintaining a personal ZMK fork
@caksoylar
caksoylar / hide-momentary-layers.md
Last active July 14, 2022 04:06
A patch to disable layer widget updates for temporary layer changes

Hiding momentarily activated layers for Corne-ish Zen

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 &lt 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.

@da-rth
da-rth / komorebi_named_pipe.py
Created October 25, 2021 18:09
An example of how to have komorebi subscribe and send events to a named pipe in python
import win32pipe
import win32file
import pywintypes
import subprocess
import json
import time
KOMOREBI_BUFF_SIZE = 64 * 1024
KOMOREBI_PIPE_NAME = "yasb"
@machuu
machuu / WSL2_VPN_Workaround_Instructions.md
Last active June 24, 2024 16:36
Workaround for WSL2 network broken on VPN

Overview

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:

@samoshkin
samoshkin / toggle_keybindings.tmux.conf
Last active June 8, 2024 23:04
tmux.conf excerpt to toggle on/off session keybindings and prefix handling
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 \
@nicktoumpelis
nicktoumpelis / repo-rinse.sh
Created April 23, 2014 13:00
Cleans and resets a git repo and its submodules
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