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
With no selected tag (e.g. during startup, as long as no client with a
rule has been processed), cur_tag would be nil and then the match for
exclusive would be ~= true.
Honestly, I don't really like this commit, but I do agree that Tyrannical
cannot just ignore bugs to keep the code simple forever. I tried this code
for 1 week and it doesn't seem to cause regressions, so I commit it. Please
report bugs on github if you experience degraded functionalities.
Globals:
* tyrannical.settings.block_children_focus_stealing = true --Block popups ()
* tyrannical.settings.group_children = true --Force popups/dialogs to have the same tags as the parent client
Tags:
* no_focus_stealing --Prevent new clients from selecting the tags (good for chat windows), make the new client "urgent" instead
Also update the documentation to match those additions