Skip to content

New Feature: Komorebi Service (persistent client instead of komorebic.exe)#1622

Open
loeiks wants to merge 11 commits intoLGUG2Z:masterfrom
loeiks:persistent-client
Open

New Feature: Komorebi Service (persistent client instead of komorebic.exe)#1622
loeiks wants to merge 11 commits intoLGUG2Z:masterfrom
loeiks:persistent-client

Conversation

@loeiks
Copy link
Contributor

@loeiks loeiks commented Dec 16, 2025

This PR is related with this issue: #1543

Hello!

First of all I'm not a Rust developer and %95 of the code in the commits are generated by Claude's LLM models based on my directives to AI to what to do by testing things manually etc.

I wanted to open this PR because "it works" it solved the issues I was trying to solve for past few months. For important context and general information about the issue and what I have created please read the komorebic-service.md file that I created (that's not AI xd).


But to explain shortly what I have done:

Instead of spawning a new process to run commands via komorebic package I've designed another package/system to listen for commands over pipes (I tried HTTP at first but it has weird issues) this change doesn't require any change to existing hotkey commands (view it in the documentation I referenced) they can just stay as they.

In this way I was able to get rid of the delay issue completely since no new process is created for each command run but instead each command is written to pipe and komorebic-service listens for these to run the related function.

I didn't add support for all the commands because this service is more about window management things, I found it not required other commands can still be triggered by komorebic command over CLI.

To be clear and honest as I already said %95 of the code is written by AI, I just did the research and collected related info to build the solution that I think which will work but didn't code it.

If you don't allow any AI generated code it's totally fine or if you find this not useful to repo or project it's still totally fine, because it solved my issue which I was dealing for long time I wanted to create a PR for anyone that might deal with the same issue in the future.


Changes

-> new komorebic-service package for a pipe based persistent client to listen for commands instead of using komorebic.
-> edits in komorebic to start/stop/kill komorebic-service with related commands.
-> a new documentation page to explain how to use komorebic-service and related details.

If I need to do any changes that I can do let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant