grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GITGRUB] New menu interface (implementation)


From: Bean
Subject: Re: [GITGRUB] New menu interface (implementation)
Date: Tue, 6 Oct 2009 21:14:58 +0800

On Tue, Oct 6, 2009 at 7:46 PM, Michal Suchanek <address@hidden> wrote:
> 2009/10/6 Bean <address@hidden>:
>> Hi,
>>
>> Update:
>>
>> Support fill character in graphic mode, this can be used to draw rect
>> box using ascii character, for example:
>>
>>    top_left = ",,cyan/blue,#0x250F:,,green/blue,#0x2554"
>>    top = ",tiling,cyan/blue,#0x2501:,,green/blue,#0x2550"
>>    top_right = ",,cyan/blue,#0x2513:,,green/blue,#0x2557"
>>    left = ",tiling,cyan/blue,#0x2503:,,green/blue,#0x2551"
>>    right = ",tiling,cyan/blue,#0x2503:,,green/blue,#0x2551"
>>    bottom_left = ",,cyan/blue,#0x2517:,,green/blue,#0x255A"
>>    bottom = ",tiling,cyan/blue,#0x2501:,,green/blue,#0x2550"
>>    bottom_right = ",tiling,cyan/blue,#0x251B:,,green/blue,#0x255D"
>>
>> It draws double rect box when selected, single rect box when not
>> selected. Works both in text and graphic mode.
>
> This is an interesting feature but I was more interested in
> controlling the border in text mode independently of graphics mode.
>
> For example, I would want something like:
>  - graphics: 3px outer space, 2px border, 16px inner space
> (unfortunately there is no character unit usable because the character
> size is different when measured horizontally and vertically)
>  - text: single border using the box drawing characters, inner space
> vertical 1character
>
> AFAIK this is not possible.

Hi,

Well, to achieve that, we need some special syntax to allow users to
skip the border bitmaps optionally in graphic mode, perhaps something
like this:

top_left = "null,,cyan/blue,#0x250F:,,green/blue,#0x2554"

>> valign, halign:
>> Now align property control the position of current widget, instead of
>> its children, each have four values:
>> left/top
>> center
>> right/bottom
>> extend - Extend the widget to the full width/height of parent.
>>
>> margin_left, margin_right, margin_top, margin_bottom
>> This properties set the inner space reserved by the panel
>>
>> padding_left, padding_right, padding_top, padding_bottom
>> This set the outbound box of the panel
>>
>> attach_left, attach_right, attach_top, attach_bottom
>> Stick the widget to one of the border of parent, once this is set, the
>> widget is no longed controlled by the layout manager and therefore can
>> overlap with other widget.
>>
>
> This sucks. Since overlap is not properly handled it should not happen.
>
> I am not sure what is the use of this property anyway.

This can be used to implement the auto hide toolbar. We can use a
hotkey to show/hide the bar. In this case, we definitely don't want to
add the widget to the layout manger otherwise all widgets on screen
would need to be resized after the show/hide operation.

-- 
Bean

gitgrub home: http://github.com/grub/grub/
my fork page: http://github.com/bean123/grub/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]