Hey guys, I've been writing a new tiling module for enlightenment, which I think is an improvement over the current one. I've based it on the current tiling module (thanks a lot billiob!), but redesigned some of the internals and the behaviour. I like the result and would like to share it here and see what you guys think.
TL;DR: It's e19 based, get it from the devs/tasn/e19_tiling2 branch on enlightenment.git I currently use it, so it's stable enough for that, but there might still be bugs. It's e19 so you need latest elementary and watch out for all of the things you need to watch out for if you are upgrading from e18. So what does the module do? It's a tree-based tiling module, which means you can tile whatever and wherever. When you create a window, it splits the currently focused window according to the tile mode (can be toggled via key bindings). So for example: 'O' will become '8' if you split vertically and 'OO' if you split horizontally. You can also swap windows using key bindings. Swapping is directional, so you can only swap windows that share a border with the key bindings (might add another swap mode in the future). You can also toggle a window's floating state (either from the border menu or a key binding) which will make a window float over the tiled windows (behave like e would normally treat a window). It shares the config with the tiling v1.0 module which is probably a bad thing, but just makes it easier for new people to start using it. While tiling v2.0 can load tiling v1.0 config, making changes might reset some of the v1.0 config values when you switch back (hopefully never). Please let me know if you encounter any issues or have any suggestions. Many thanks to billiob for writing Tiling v1.0 and zmike for e related advice. What doesn't work: * Everything is not centred when using "don't show window borders" mode (thanks to cippp for reporting). * Live loading of the module - You'd have to recreate the windows for the tiling module to "catch them". (Should be easy to fix, will fix soon). * E restarts: the windows will be re-tiled :( and sometimes wouldn't be "caught". The former issue is annoying to fix, the latter is easy and will be fixed along with the live loading issue. * You can't "live change" the "show border" option. You'd need to recreate the windows (super easy to fix, will do soon). * Moving a window from an untiled desktop to a tiled desktop doesn't work. You'd need to disable/enable floating in order to refresh it (easy to fix, found out while writing this email). * Some resizing cases have visual artefacts that solve themselves when resizing ends. * Minimum/maximum size of windows is ignored. - I don't know what's the best way to handle that. Awesome just closes the window if it can't fit it, I just ignore it. I could potentially make it floating if I can't fit it, but I'd rather just ignore the size hints. Ideas are welcome. * Code clean-ups and log clean-ups. Both are a mess as I was hacking while learning the code. -- Tom. ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
