[Geany-devel] Sidebar and MsgWindow Notebook Patches
Colomban Wendling
lists.ban at xxxxx
Tue Mar 22 15:24:48 UTC 2011
Le 21/03/2011 23:10, Matthew Brush a écrit :
> On 03/21/11 10:38, Colomban Wendling wrote:
>> Le 20/03/2011 22:35, Matthew Brush a écrit :
>>> I have not thoroughly tested the implications of this, like if somewhere
>>> Geany is using the tab order or location within a specific notebook to
>>> access the children. If this is the case, it will be an opportunity to
>>> fix the code that is doing that.
>>
>> I think it need to be better tested before adding it, but I agree that
>> fixing code depending on tab ordering would be good (it there is some).
>
> I've been using since I patched it, so far so good, but it's still very
> little testing. I did notice Webhelper doesn't remove his tab if it's
> been moved to the other notebook, FYI (I didn't check gwh code to
> investigate).
Nothing really surprising unfortunately; and this will be a real problem
for many plugins... any plugin using gtk_notebook_remove_page(), or even
gtk_container_remove(nb, child) -- basically everyone that don't simply
gtk_widget_destroy(child).
Actually after some thinking, one should use
gtk_container_remove(gtk_widget_get_parent(child), child), e.g. don't
expect the child to be in a particular parent.
Then we need not to make a tab detachable if the plugin don't expect it,
e.g. if it haven't set the tab name we need for restoring.
>>> I need some guidance on how to make the order and location of the tabs
>>> to be persistent so it it's saved/loaded with the session. Any hints
>>> would be appreciated.
>>
>> This is the big problem I guess, and it probably need to be addressed
>> before applying the patches, because it's likely to need some tuning.
>>
>> I think the problem is that we need to be able to identify a tab in
>> order to save its state. Maybe simply needing the child to have a name
>> (set with gtk_widget_set_name()) would work, though it'd need plugins to
>> be adapted to benefit of the change.
>
> Not all tabs in a notebook need to be detachable/reorderable, and it
> still works fine if only some are, so plugins could adapt anytime in the
> future. So really we could only care about the "core" tabs for now, if
> that would make it easier.
Right, agreed.
> Moving forward, do you think I should keep working on this? If so, is
> it best to just keep sending patches to the ML, or should I setup a
> repository+branch for this on GitHub and just let you pull out what you
> want?
I think it's an interesting feature that moves forward to a better UI
customization, so if you're interested by it, I definitely say "yes,
keep working on it" :)
I think patches are better, at least for now we're supposed to use SVN;
this will make easier for other people (Nick, Enrico, even interested
users) to get the patches.
And since when you pushed a patch to a remote Git repository you can't
ammend it anymore (well, you willn't be able to push the modified one),
it'll be easier for you to update your patches ^^
> Thanks for looking at the patches and thanks especially for the feedback
> on the other stuff. If no one tells me, I'd just keep making those
> mistakes :)
No problem :) And I know, my patches had the same kind of problems when
I started sending some ^^
Cheers,
Colomban
More information about the Devel
mailing list