All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning regarding documented command line interfaces and configuration files.
1.0.1 - 2024-05-28
- Set
SHIKANE_LOG_TIME
environment variable to1
to enable timestamps in logs. By default no timestamps are logged. - Document the
SHIKANE_LOG
,SHIKANE_LOG_STYLES
andSHIKANE_LOG_TIME
env vars.
- Change log filter to print state machine changes by default
- daemon in oneshot mode not shutting down on NoVariantApplied state
1.0.0 - 2024-05-27
shikanectl export
export current display setup as shikane configshikanectl reload
instruct the daemon to reread the config fileshikanectl switch
ad-hoc profile switching
- Overhauled, more complex matching procedure which enables the generation of all possible profile variants based on connected displays and sorting those variants by exactness.
- config: Add
search
field to replace thematch
field- Compare
search
patterns against specific display attributes - Define multiple
search
es per output - New search kind substring matching in
search
es
- Compare
- config: Add parsing of
position
s in the formx,y
- config: Add parsing of
mode
s like1920x1080@60Hz
- Selecting and setting of
best
andpreferred
modes - Optional
timeout
to wait after certain events from the compositor
- Use the kanshi-converter snippet to convert kanshi config to shikanes config.toml.
- Testing for parts of the config parser (e.g.
search
,mode
) - flake.nix for building shikane and documentation with nix
- HTML documentation
- Automated deployment of HTML documentation using .gitlab-ci.yml
- Regex comparison behavior.
Previously, display attributes were concatenated to a single string before
being checked against a regex. Now, display attributes are independently
compared with the regex. Refer to the
documentation of the
search
field for usage instructions. - Parsing of regexes in config.toml.
Previously ignored trailing slashes will now be seen as part of the regex.
See below on how to migrate to the new
search
field syntax. - Update documentation to describe variants,
search
es andmode
parsing. - Default log level to
warn
- Accept an empty config.toml file
- Update MSRV to 1.70
- config: Defining a
position
as a table{ x = 0, y = 0 }
. Use a string instead"x,y"
.
- config: The
match
field has been replaced by thesearch
field.
Migration from 0.2.0
Use the commands below in order to migrate from the match
field syntax
to the search
field syntax.
Note: Due to the mentioned changes in how display attributes are supplied to regexes, your regexes might not work even after removing the trailing slashes.
# First, remove the trailing slash from regexes in the toml file.
sed -r -i 's#match.*=.*"/(.*)/"#match = "/\1"#' path/to/shikane/config.toml
# Second, rename all match fields to search fields.
sed -r -i 's#match.*=.*"(.*)"#search = "\1"#' path/to/shikane/config.toml
0.2.0 - 2023-04-30
- Support for
adaptive_sync
option
0.1.2 - 2023-04-29
- docs: Missing version increment
0.1.1 - 2023-04-29
- docs: Add acknowledgements, usage and feature comparison
0.1.0 - 2023-02-10
- shikane daemon
- documentation in man pages
- MIT License