- Implemented the beginnings of named workspaces
- Massively refactored how workspaces function by holding the list of workspaces in the outputs themselves and no longer making the list be static
- Refactored FilesystemConfiguration big time to process errors all at once with a reference to line and column number
- Renamed MiracleConfig to Config
- Logging the errors when they happen, but prepared to write them to a process as well
- Most movement commands for windows/containers between workspaces now function appropriately
- Integration tests for moving windows between workspaces
- Add support for "workspace next/prev/next_on_output/prev_on_output"
- Add support for "workspace back_and_forth"
- Add support for "workspace <name>"
- Add support for "workspace number <name>"
- Integration tests
* Refactored GET_TREE tremendously so that it returns a tree with proper, parseable values
* Wrote IPC tests but had to disable them in CI until further notice
- We always set the initial size when placing in the tiling grid
- We always place windows that want to be in any state other than "regular" as floating windows
Miracle now supports running through systemd, including logging to the
journal and invoking processes as transient units through systemd-run.
This is controlled as a build-time feature in CMake.
With b4fa88e9fa, the main method for
initializing default configuration copies over a whole configuration
directory for the purpose of being able to handle a full set of
configuration all at once. This is the much more coherent and
expected method for seeding default configuration.
Thus, we do not need the method for copying a single file anymore,
and this change drops it to simplify the understanding of seeding
configuration in MiracleWM.
We assumed that the user configuration directory hierarchy always
exists, but with a completely fresh installation, it does not.
Consequently, populating the default configuration silently failed
and the environment is broken.
To resolve this issue, we now check to see if the directory the
configuration file lives in exists, and we create it if it does not.
Additionally, we now support populating a full set of default
configuration in case multiple files and folders are required for
initial configuration.
Miracle now supports running through systemd, including logging to the
journal and invoking processes as transient units through systemd-run.
This is controlled as a build-time feature in CMake.
With b4fa88e9fa, the main method for
initializing default configuration copies over a whole configuration
directory for the purpose of being able to handle a full set of
configuration all at once. This is the much more coherent and
expected method for seeding default configuration.
Thus, we do not need the method for copying a single file anymore,
and this change drops it to simplify the understanding of seeding
configuration in MiracleWM.