Tyrannical now use awful.rules for more callbacks. It can be
better integrated, but that's enough for this commit.
This commit also drop the legacy and request sub-module, as the
legacy was dead code anyway amd requests are now mandatory.
This feature never fully worked and cannot work. It is *impossible*
to implement it with the current Awesome core design.
While I know it is often requested, I cannot and will not support
it any longer. This belong to the Awesome API, not Tyrannical.
names.
so in awful.rules.rules one can set
{
rule = { class = "URxvt", name = "dev" },
callback = function(c)
awful.client.property.set(c, "overwrite_class", "urxvt:dev")
end
}
and define tyrannical rules with class = {"urxvt:dev"}
Another useful case is to match the google hangouts client that comes
with Chrome, which has the class 'Google-chrome' just like normal
browsing window so one really have to use other properties like 'role'
or 'name' to match these clients.
* Restore the old README column width to avoid issues with some markdown
implementations
* Rename class_client and instance_client to c_rules as the old name isn't
significative anymore.
* Merge copy/pasted code back into a single block
* Remove the unused `low`, `rules_c` and`rules_i` temporary variables
It is now possible to spawn with an array of properties, see the README.md
for more details. It require Awesome 3.5.3+, some patch will get into 3.5.6
to make this even better. I also added the 'new_tag' property to be used
with spawn.
* Also fix issue #37, sorry about that one...
It used to be all over the place and using tons of undocumented variables.
This commit is quite intrusive and change a lot of things (hopefully
for the better). Please report any regression.
It is now possible to set a function that will be called
when Tyrannical will manage a new client. This function
must return an array of client properties (ontop, floating,
...). The `tag` and `tags` properties will also work. The
key is a startup notification ID. awful.util.spawn will
return this as the second return value if the command was
a success.
Example:
local pid,snid = awful.util.spawn("firefox")
tyrannical.sn_callback[snid] = funtion return {ontop=true} end