mikedee
February 24th, 2007, 05:49 PM
There is now a framework in core for matching windows and a plugin which wraps it to provide regex matching for various window parameters.
The state plugin as it is serves 2 functions, matching windows and setting window attributes (based on these matches).
What I am thinking is to split the current state plugin and move the matching functionality into the regex plugin.
Once this is done we should be able to write another state plugin which uses the window matching from core rather than the built in stuff. I propose that we use KDE's window matching functionality as a base and aim for state to have that functionality.
The benefit of this way is that we can have multiple match expressions (eg. window is firefox and title matches *compiz*). Having this is core and the regex plugin means that other plugins will be able to use the same pattern matching without having to reinvent the wheel. This will make it possible to put window animations onto very specific windows. The window matching we have now is rather basic.
The main problem that I can see is serializing the logic and values to compiz option value types. We do not have to worry about how the user will enter this raw data since the settings manager should deal with that.
I think I could do it by myself, but I am looking to see if anyone else would like to help (particularly with the state plugin side).
The state plugin as it is serves 2 functions, matching windows and setting window attributes (based on these matches).
What I am thinking is to split the current state plugin and move the matching functionality into the regex plugin.
Once this is done we should be able to write another state plugin which uses the window matching from core rather than the built in stuff. I propose that we use KDE's window matching functionality as a base and aim for state to have that functionality.
The benefit of this way is that we can have multiple match expressions (eg. window is firefox and title matches *compiz*). Having this is core and the regex plugin means that other plugins will be able to use the same pattern matching without having to reinvent the wheel. This will make it possible to put window animations onto very specific windows. The window matching we have now is rather basic.
The main problem that I can see is serializing the logic and values to compiz option value types. We do not have to worry about how the user will enter this raw data since the settings manager should deal with that.
I think I could do it by myself, but I am looking to see if anyone else would like to help (particularly with the state plugin side).