mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 14:40:25 +01:00
TCP socket in addition to Unix Domain? #108
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SF-300 on GitHub (Jul 12, 2022).
Originally assigned to: @LGUG2Z on GitHub.
Hello,
First of all thanks to the author and all the contributors for this wonderful piece of software! Indeed it's the best tiling manager implementatin for Windows I've seen to the day!
I'm using komorebi with custom input handler written in Python and based on Interception driver. All is great but there is small, (mostly) Python-specific issue: for UDS on Windows there is neither stdlib support, nor any well-known third-party implementation (at least I wasn't able to find one). There are some workarounds (like using Cython or ctypes to interact directly with WinAPI) but it's too much work for me to resort to them right now.
As for now I just spawn komorebic process from my python code to interact with UDS socket. Problem is, there is some noticable ovehead related to spawning new process on Windows OSes. And as I mostly live on battery-powered notebook burning any extra CPU cycles for each lesser navigation operation is the thing I would like to avoid.
So I was wondering: is there any chance for komorebi to use localhost-bound TCP socket in addtion to (or instead of - as older and more widely-supported solution) UDS socket? Right now I have no desire to learn Rust to contribute this myself so just bringing this to spotlight with this issue =)
Cheers!
@LGUG2Z commented on GitHub (Jul 23, 2022):
This is on my list of things to do, I hope to get around to implementing it next month when I'm home alone. 🤞
@LGUG2Z commented on GitHub (Aug 11, 2022):
For anyone who is interested I have started working on this in the early access repository for monthly sponsors:
https://github.com/LGUG3Z/komorebi-dev/tree/feature/tcp-listener
Still quite a bit of outstanding work to make the port configurable, track connected and purge disconnected clients, and probably export a JSON Schema of all available socket messages to allow people to generate type-safe code in Python/Node etc to send commands to
komorebiover TCP.@LGUG2Z commented on GitHub (Aug 15, 2022):
@SF-300 if you end up sharing what you build on GitHub, let me know and I'll add a link to the README!