4 Oct 2011 18:44
[awesome bugs] #929 - thunderbird doesn't react on layout changes
awesome <julien <at> danjou.info>
2011-10-04 16:44:27 GMT
2011-10-04 16:44:27 GMT
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added: FS#929 - thunderbird doesn't react on layout changes User who did this - Gino Heusdens (ginoheusdens) ---------- This indeed solves the weird behaviour. It it possible the state remembered from an other window manager? ---------- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=929#comment2742 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- -- To unsubscribe, send mail to awesome-devel-unsubscribe <at> naquadah.org.
):
> Uli Schlachter wrote:
>> people are annoying me that they want luajit support in awesome[1].
> A JIT compiler for a window manager? What a quaint idea.
>
> Not surprisingly, nobody has benchmarked whether this is actually
> helpful (I seriously doubt this). The X11 API and the C/Lua
> bindings probably waste much more CPU time, anyway.
>
>> /* Just some random light user data */
>> lua_pushlightuserdata(L, L);
>> luaL_newmetatable(L, "screen");
>> lua_setmetatable(L, -2);
> Lightuserdata doesn't have per-object metatables. This is setting
> the per-type metatable for _all_ lightuserdata objects. Doing this
> more than once is rather pointless.
>
> A quick look at luaA_pushscreen() in the (not so) awesome sources
> confirms my suspicion that someone doesn't know what they are
> doing ...
>
> In fact, since you're mutating special global state, the JIT compiler
> flushes all compiled code. For every call (!) -- this is costly.
>
>> printf("%p\n", luaL_checkudata(L, 1, "screen"));
> The Lua manual states that luaL_checkudata() checks for userdata.
I remember metatables as
"for tables and full userdata only" from 5.0, and then 5.1 added "oh and a
global one for each type" so we could have shortcuts like foo = "hello world",
bar = foo:gsub("world", "bar")
[snip]
> IMHO this fact is a little hidden inside lua's doc and apparently
> neither me nor JD knew this.
I can see why you found it hard to find.
> This test case comes from awesome's screen code. Since awesome
> handles screen changes via restarts, the set of screen objects never
> changes while awesome is running. So when lua asks for a screen with
> screen[1], it just gets our internal screen_t* as a light user
> datum. (see luaA_pushscreen)
>
RSS Feed