Some configuration is irrreversible
I think it would be nice if all configuration options exposed via riverctl / the river-control protocol would be reversible. That way, any possible configuration state could be reached from any other possible configuration state without restarting river. Currently that is not possible and to reach certain configuration states river needs to be restarted.
Irreversible options:
- ~~
float-filter-add~~ - ~~
csd-filter-add~~ declare-mode- configuring inputs
Also the filter commands do not affect already existing windows, which is inconsistent with the rest of rivers commands.
I agree that having all configuration be reversible is desirable as needing to restart the compositor is annoying. One idea I had with regards to this was a command that returns river to its initial state with regards to config. This would include restoring things like border color, key/pointer mappings, etc. but would not change the currently focused tags for example. Putting this command first in one's init script would essentially make re-running the init script effectively the same as sway's in-place reload command.
Also the filter commands do not affect already existing windows, which is inconsistent with the rest of rivers commands.
I think this behavior is correct as-is. These filters do not force matched views to remain floating or whatever, they merely change the default on mapping the view.