Do you think it would be hard to verify a custom layout  in tmux as part of
parsing without a checksum?  Like what kind of format could a user create
that would crash the server?

It seems like it would be possible to use syntax to make sure that the
layout is complete such as adding parenthesis around the complete layout
format.

-FR

On Fri, Nov 28, 2014 at 11:58 AM, Nicholas Marriott <
nicholas.marri...@gmail.com> wrote:

> The checksum is so that people don't make copy/paste errors or try to
> tweak the layout manually and crash tmux.
>
>
> -------- Original message --------
> From: Steven Lu
> Date:22/11/2014 10:20 (GMT+01:00)
> To: Felix Rosencrantz
> Cc: tmux-users ,Thomas Adam
> Subject: Re: Reverse-Engineering Layout Format
>
> I have not had a chance to dig into this code yet but I do agree that
> there is a large amount of untapped potential in this functionality and
> that can only be helped by making it easier to interface with.
>
> I can see that a set of even not very intelligent layout mutating scripts
> should be able to improve usable screen real-estate by a large factor, by
> effectively blurring the line between panes and windows by just
> auto-expanding the focused pane, letting unfocused panes get smaller but
> still remain visible. It helps that all terminal programs I have used (with
> few exceptions, such as man pages) are rather robust to resizing, because
> we would now be resizing on pane changes!
>
> Anyway, I think the simple fact that it's possible at all to do such
> interfacing is 90% of the engineering work, so hats off to whoever decided
> to put this capability into the design.
> On Sat, Nov 22, 2014 at 3:10 AM Felix Rosencrantz <f.rosencra...@gmail.com>
> wrote:
>
>> I've wondered why is the checksum needed?  It seems like it would be
>> easier for tmux users to write simple tools to tweak a custom layout
>> without the checksum being there.  As best I can tell from a comment in the
>> code, it is a quick way to check if a layout is valid. I'm not familiar
>> enough with the format or its issues, is checking the validity something
>> that is hard to do from code without the checksum?
>>
>> It seems like it would be useful to have a simpler format, perhaps not as
>> flexible as the current format, but one that was easier to parse, and
>> validate.  For example, one that just took pane_ids and used the same
>> grouping via the braces and brackets like the current custom layout to
>> build the cells structure, evenly distributing space among the child cells
>> of a parent.  Less control of pane placement, but easier to create more
>> complicated patterns than the defaults.
>>
>> -FR.
>>
>>
>>
>> On Wed, Nov 19, 2014 at 10:24 AM, Steven Lu <stevenlu...@gmail.com>
>> wrote:
>>
>>> Hi Thomas, thanks for the hint!
>>>
>>> layout-custom.c reveals a lot of things, I am now imagining that if I
>>> can properly replicate the computation of the layout string along with the
>>> checksum then I'll actually be able to do processing independent of
>>> mutating the pane sizes within tmux, so that i can e.g. resize a particular
>>> pane to make it bigger and then apply that change in one fell swoop by
>>> feeding a brand new layout string.
>>>
>>> I just wanted to know if this is actually how you have designed the
>>> "select-layout" command to work.
>>>
>>> I was taking a quick look at the source code (just poking around on
>>> github) but it's strange that I cannot find the actual declaration for
>>> "struct layout_cell"...
>>>
>>> On Sat Jul 27 2013 at 7:28:43 AM Thomas Adam <tho...@xteddy.org> wrote:
>>>
>>>> On 15 July 2013 23:06, Steven Lu <stevenlu...@gmail.com> wrote:
>>>> > 3: zsh  (1 panes) [274x76] [layout cc63,274x76,0,0,6] @3
>>>> > 4: zsh  (1 panes) [274x76] [layout cc65,274x76,0,0,8] @4
>>>> >
>>>> > I'm hoping someone in the know could give me some hints about how to
>>>> parse
>>>> > this so that I can compute what the result would be to warp any pane
>>>> to one
>>>> > of the directions.
>>>>
>>>> You need to look in layout-custom.c
>>>>
>>>> -- Thomas Adam
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
>>> with Interactivity, Sharing, Native Excel Exports, App Integration & more
>>> Get technology previously reserved for billion-dollar corporations, FREE
>>>
>>> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> tmux-users mailing list
>>> tmux-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/tmux-users
>>>
>>>
>>
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to