Hi again, I've started to dig further into this plan, and will add a number of ideas/concepts/how-it-will-be things. Feel free to discuss.
- We cares about tags only on top level object in the hierarchy: +----------+ | root win | +----------+ | +----------+----------+ | | +--------+ +--------+ | client | | wibox | <-- top level windows +--------+ +--------+ | +----------------+ | | +--------+ +--------+ | wibox | | client | +--------+ +--------+ That means all client/wibox objects can have tags, but we will only honor the top level windows one. - On .parent setting, wibox creates a X window attached to the requested parent window and is unmapped. To be mapped they should be .visible or have a tag if they are parented to a root window. - Wibox will be destroyed on .parent = nil. If they have a client as child, the client will be reparented to the root window. (Otherwise it would be destroy by the X server.) I'm thinking about having only one Lua type for wibox and client, and not use inheritance at all. The only difference would be a little flag (if needed, but I think it will), and that the xcb_window_t window will be: - in client case, created/destroyed by the application - in wibox case, created_destroyed by awesome Currently unresolved issue: - How to handle EWMH request, like fullscreen, sticky, etc? -- Julien Danjou // ᐰ <jul...@danjou.info> http://julien.danjou.info // 9A0D 5FD9 EB42 22F6 8974 C95C A462 B51E C2FE E5CD // When I get sad, I stop being sad and be awesome instead. True story.
signature.asc
Description: Digital signature