Skip to content

A dynamic tiled window management that bridges the gap between yabai and krohnkite

License

Notifications You must be signed in to change notification settings

I-Want-ToBelieve/yakite

Repository files navigation

Currently there are only development versions.

The release of npm, crates.io, brew, nix and github still requires some time to configure github actions and changesets.

Kapture.2023-11-19.at.11.17.16.mp4

DEV VERSION

Prerequisites

Necessary:

Optional:

Compile and Run

In your terminal:

mkdir ~/git.workspace
cd ~/git.workspace
git clone https://github.com/I-Want-ToBelieve/yakite.git
cd yakite
direnv allow .
one-click

asciicast

After successfully compiling once, if you want to start yakite again, you only need to run:

cd ~/git.workspace/yakite
yakite-daemon:run

Configuration

Please refer to the examples folder to learn how to interact with skhd and the yabai configuration items I am using.

The configuration of yakite itself is in ~/.config/yakite/yakite.json It will automatically generate this configuration file with default configuration on first run.

TODO

  • Changesets
    • Implementing non-node package version management through ChangesetsExtra
  • Github Actions
    • Version
    • Release
  • Mouse support(Yabai's window does not have the moving and resizing attributes. To judge the behavior of mouse movement or window resizing, additional information must be obtained from the monitoring of mouse events.)
  • Trigger recalculation of available screen space after dock and global menu are hidden
  • Communicates directly with yabai via socket(the current communication is via command line forwarding)
  • Wait for bun to resolve the compatibility issue first and switch the javascript runtime to bun
  • If necessary, wait for GPT to evolve and have it transpile all code to rust, ditching scripts and using native binaries.