On 19/01/14 12:30, Boris Faure wrote:
> On 14-01-17 14:38, Tom Hacohen wrote:
>> 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.
>
> I like the way this new tiling module goes.
> However I have few concerns:
>    • it is not on par (yet) with the original module feature-wise,

What do you miss? I just miss a nice way of doing a proper swap, instead 
of swap adjacent.
>    • lacks a bit of stability, but that might also be related to e19
>    itself.

I think it's mostly e19. E19 is very unstable for me even without this 
module. Crashes, focus issues, rendering issues and what not.
>
> The main feature I miss is to reorganize the screen by moving tiled
> windows around (using the "move windows" under the tiling section in key
> bindings). It is shown on the video on
> http://billiob.net/blog/20110717_etiling.html .
> For example I need to be able to do the following:
>    • from "8", move the upper window to the left (or right) to have "OO";
> • from "O8", move the lower window of 8 to the right to have "OOO";
> • from "OO8", move the upper window of 8 the the left twice to have
> "8OO";
>    • more complex, from "O8", move the lower window down to have it below
> the other 2 windows.

Yeah, that's needed and not there yet. I know. I don't plan on having 
the named window thing in the near future (for the purpose of faster 
bindings), but I might do it eventually. It just adds a lot of 
complexity for what I think not useful enough.
So the only thing you are missing is the ability to promote/demote 
windows like this?
>
> I'm sure that new tiling can replace the current one pretty soon.
>
> Thank you Tom for working on it.

My pleasure. Just building on top of your work.

--
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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to