[MonoDevelop] Stripped down GTK# notebook tabs for monodevelop

"Andrés G. Aragoneses" knocte at gmail.com
Thu Apr 9 09:01:58 EDT 2009

Anirudh wrote:
> Andrés: I think that's a pretty neat idea, to have the icon and close
> button on the active tab and removed on the other tabs. I'll try to hack
> together a proof of concept in the evening. This seems to be similar to
> how most other applications do their tab functionality. It also seems to
> avoid accidental closing from stray clicks on the close button.
> The behaviour will be: Current tab would look like how a regular tab
> looks in MD now. An inactive tab would have no icon or close button,
> thus shaving that few precious pixels off.
> Mike, I realize that the icon should tell you what type of file it is,
> but except for .cs files which are open most of the time I haven't
> really seen too many icons. Moreover, showing a close button on hover
> will change the width and layout of the tabs, leading to some very ugly
> and jerky behaviour.
> Andreia: I understand your point, I did notice that clipping the title
> after seven characters did make it difficult to find out what's where.
> How would it be if we strip the ".cs" portion instead? Every pixel
> counts especially on smaller monitors.
> I will try to make a patch based on Andrés' suggestion. Title won't be
> clipped, but icons and close buttons will be present only for active
> document, so you guys can try it out.
> Any other suggestions or thoughts?

Let's try to think about another "best of both worlds" concept
surrounding Andreia's use case:

a) Use a certain amount of characters by default in non-current tabs
(for instance 7, as the first proof of concept).
b) For every tab that, for the default amount of characters, has any
coincidence with the stripped-name of other tab, increase the amount of
shown characters by N + 3 (being N the number of characters left for
still being the same).
c) Repeat (b) until there are no coincidences.


Files: Main.cs, ProcessOpener.cs, FileOrderStructure.cs,

Result (supposing all are non-current tabs): Main.cs, Process...,
FileOrderRes..., FileOrderStr...

(in this case, N == 2)

Andreia, would that fit your point of view?




More information about the Monodevelop-list mailing list