Themes like GnoMenu?

Bug #594629 reported by Launchpad
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cardapio
Won't Fix
Undecided
Unassigned

Bug Description

It would be nice if there are other layouts to choose, I actually like the way how GnoMenu handle this, see attachment for an example menu.

I think the current theme of Cardapio has too much scrollbars, and looks less atractive then GnoMenu for example. ( not that bad, but improvements would be cool :P )

Revision history for this message
Launchpad (launch-pad-net) wrote :
Revision history for this message
Thiago Teixeira (tvst) wrote :

About themes:

I plan on making Cardapio more gtkrc-friendly, so you would be able to change the look of all widgets from your gtkrc theme file.

But this is not the same as you are asking for. Full-fledged themeing, a la GnoMenu, is probably not going to happen. I want Cardapio to stay simple, fast, and effective, and high levels of themability don't go well with that mantra. Sorry.

   ~

About scrollbars:

There are three scrollbars that can appear in Cardapio at any time:
1) Vertical scrollbar on the app list (right side panel)
2) Horizontal scrollbar on the app list
3) Vertical scrollbar on the category list (left side panel)

Scrollbar (1) must stay.

Scrollbar (2) only appears when there are button labels that are too wide to fit (usually in search results), but there is a plan to fix this problem (see bug 592470).

Finally, scrollbar (3) should only appear when you have too many categories to list. In which case, there is nothing I can do -- and no amount of theming would be able to fix this either. You should consider resizing the Cardapio window (by dragging the edges) until that scrollbar goes away.

The end results, though, is that the default situation for most people should be that there is only one scrollbar visible.

Revision history for this message
Thiago Teixeira (tvst) wrote :

Oh, one more thing: there is a Cardapio blueprint about making the category list shorter, and it needs more discussion before I can consider implementing it. So, if you are interested, please contribute to the discussion at https://blueprints.launchpad.net/cardapio/+spec/make-filter-dynamic

Changed in cardapio:
status: New → Won't Fix
Revision history for this message
Launchpad (launch-pad-net) wrote :

Thank you for your clear explanation on this,

I think Scrollbar (2) could be prevented by automatically setting the width of the window big enough? (if possible of course)

Scrollbar (3) would indeed be solved by adding '..' at the end of the text if it's too long with the current window width (which is not important right now)

Revision history for this message
Jan (jancborchardt-deactivatedaccount) wrote :

@KP Stolk:
Automatically setting the width is not an option because web search result titles are very long. Also (plugins aside), the width would have to be adjusted every time a new item (folder or application) is added. And the position of the »splitter« (the border between left side and right side) is movable.

As for scrollbar (3), setting the height for new installations automatically high enough for it not to show up would be a start. But at the same time not fussing around with anyone’s existing config is important: If they want it smaller, the scrollbar is inevitable. I don’t know how much of height would be necessary because I have some categories removed and the Tracker plugin not working.

Revision history for this message
Thiago Teixeira (tvst) wrote :

More info about gtkrc themeing:

Cardapio now plays nice with gtkrc themes. Of course, as a native GTK app, Cardapio was *always* themeable -- but now it make themers' lives easier by assigning names to the most important widgets.

The reason why this feature was not present before is because of a bug in Glade (http://lists-archives.org/gtk/11497-gtk-2-20-glade-and-name-object-property.html), but I bypassed it in the Python code. For future reference, the exact piece of code that fixed this was:

for widget in self.builder.get_objects():
    if 'set_name' in dir(widget):
        widget.set_name(gtk.Buildable.get_name(widget))

If you find any bugs, please open a new bug report. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.