Commit Graph
4 Commits
Author SHA1 Message Date
LGUG2Z 580f70a5a1 feat(komokana): initial commit
This is the initial commit of a minimal working version of komokana, a
daemon that I'm starting to use both as a kanata current layer
notification widget, and as a way to automatically change kanata layers
when different conditions are met in the komorebi subscriber event
stream.

I'm not sure if this will finally be merged into the master branch or
not, but for now I'll keep the code here.
2022-07-21 14:24:41 -07:00
LGUG2Z 43b2366378 feat(config): allow users to define config dir
This commit introduces a change to allow users to set a custom
configuration directory for Komorebi to address concerns about $HOME
getting cluttered.

The custom directory can be set with the environment variable
$Env:KOMOREBI_CONFIG_HOME (this should probably be done in $PROFILE).

If this variable is not set, komorebi will default to using
the $HOME directory.

resolve #61
2022-01-28 09:35:42 -08:00
LGUG2Z 7fd545ca35 fix(wm): handle cross-monitor drag/move events
This commit ensures that when a window is dragged across a monitor
boundary, the ownership of the window container will be transferred to
the target monitor's currently focused workspace.

In order to achieve this, a new WindowManagerEvent variant has been
added, MoveResizeStart, which will store an optional pending_move_op on
the WindowManager struct. This must be consumed at the beginning of the
handler for MoveResizeEnd.

This is necessary because as soon as the window is dragged across a
monitor boundary, an event is sent (and handled) to update the currently
focused monitor and workspace as the target monitor and workspace, and
we still need to have the information about the original monitor,
workspace and container in order to make comparisons and ultimately
remove the origin container to be able to transfer it.

fix #58
2021-10-29 09:32:36 -07:00
LGUG2Z 2f7ae6f15f build(just): add justfile for common tasks 2021-10-27 19:21:54 -07:00