-
Notifications
You must be signed in to change notification settings - Fork 2
Design
The goal of frame-workflow is to provide a framework to make your work (or possibly even life) flow flawlessly. At least it should provide effective help with that.
This section describes features frame-workflow needs to implement to achieve the goal. It does not mean the current version has all of the features listed in here, but they will be implemented in the meantime.
For simplicity, each frame should be dedicated to one task. This is useful for the following reasons:
- Frames are visible and concrete.
- Each frame can have a set of states as frame parameters.
- Each frame can have a history of layout with winner-mode.
Frame-purpose lets you focus on particular things in frame-oriented workflow. Frame-workflow should be integrated with it.
This is a problem with EXWM and was solved by framegroups.el. Frame-workflow needs to reimplement most of framegroups. It may or may not need further enhancements for integration with EXWM.
Frame-workflow allows you to define per-frame actions, and they can be persisted across sessions.
Although each frame is usually responsible for a single task, it may sometimes be useful to maintain a sub-state in it. Frame-workflow supports this feature. Each frame has an observer object that can hold user-defined states, and you can use the states to indicate your task-specific work status. A summary of the states is displayed on the mode line. This is optional, and you don’t have to explicitly define states for all of your task contexts.