Tags are accessible as s.tags on a screen object. Yup, that's harder to find
than a variable that is defined in the default config, but such is life.
Now that awful.rules supports specifying tags by name, I guess that the number
one reason for needing the tags table is gone.
Signed-off-by: Uli Schlachter <psychon@znc.in>
There was many unfixable race conditions that could only be
solved by better integrating the request:: system and
awful.rules. This has the side effect to make rules mandatory.
Tag names really are strings. Numbers just work accidentally since the C code
uses luaL_checklstring() to access the tag name and this function silently
converts numbers to strings.
This also has a nice documentation effect, making it easier for people to figure
out that they can change the name of a tag. Plus, with this the changes done by
previous commits make more sense (specifying an awful.rules-rule that identifies
a tag by name).
Signed-off-by: Uli Schlachter <psychon@znc.in>
gears modules usually don't depend on Awesome C-API. This code has
been placed there for unclear reasons.
Also, there is ongoing work to unify each "concepts" API into one
single page. Having `gears.screen` go against this effort.
This makes it possible to have the systray only visible on the primary screen,
which is the new default value. This also makes it possible to configure
directly on which screen the systray should be visible.
This breaks the API in the sense that people who use "the old method" to
configure the systray's screen possibly don't have a systray.
Fixes: https://github.com/awesomeWM/awesome/issues/724
Signed-off-by: Uli Schlachter <psychon@znc.in>
This means that titlebars, which are an important feature, get more testing. As
was recently shown, they don't get enough testing currently. Also, new users
will likely expect titlebars these days.
Everyone who doesn't want titlebars can easily disable them.
Signed-off-by: Uli Schlachter <psychon@znc.in>
I've noticed that `Pango.parse_markup` returns "userdata" instead of a
string in case of errors [1], which then causes the `debug::error`
handler to not handle it correctly:
W: awesome: luaA_dofunction:77: error while running function
stack traceback:
[C]: in ?
[C]: in function 'error'
/usr/local/share/awesome/lib/wibox/widget/textbox.lua:63: in function 'set_markup'
[string "require("wibox").widget.textbox():set_markup(..."]:1: in function 'f'
/usr/local/share/awesome/lib/awful/remote.lua:25: in function </usr/local/share/awesome/lib/awful/remote.lua:21>
error: attempt to concatenate a userdata value
This patch makes sure that `err` is a string when passing it to
naughty.notify in the default `debug::error` handler.
Closes#302.
1: https://github.com/pavouk/lgi/issues/115
After using sloppy mouse focus to select a client (which does not raise
it already), maximizing/fullscreening it should then raise it.
This also uses the new shortcut `c.maximized = not c.maximized`.
Closes https://github.com/awesomeWM/awesome/pull/270