Oh, the Gratuitousness

I have been spending most of my time in the last few weeks working on the new pieces of Banshee, namely the DBus support and the list view. The SourceManager and its sources are now fully exposed over DBus. Exposing their artist/album/track models over DBus is next.

Mostly though I’ve been working on fixing up the drawing code, general refactoring, and cleaning up of the list view. There is now essentially a theme class that does all of the drawing, much like what GTK+ should provide. Implementing cute drawing of contiguous selections last night made me quite happy.


Gratuitous. Yummy.

23 Replies to “Oh, the Gratuitousness”

  1. That sure looks totally great! Can’t wait to have a working banshee using this tech… awesome!

    Sure you noticed this already: the last entry in the artist list is not displayed correctly. Otherwise: Wow!

  2. That looks great, although I would be concerned it does not look consistent with other tree list views – could you confirm this?

    The contiguous selects look really good and a definite improvement, it would be great if this was put into the GTK+ tree view as default.

  3. Awesome work Aaron! When can we expect a release? In your next posting, can you theorize when the next release showing your work will happen?


  4. Glad everyone seems to approve of the look!

    @Jon: The whole point behind all of this theming is that it does not exactly replicate the look of GTK, because this is *impossible*. See my post below about why I came to this conclusion and am not looking back:


    So, no, the GtkTreeView does not look like this :-) Regarding behavior, I am replicating the GtkTreeView, and the look of my list is close enough to the GtkTreeView that I don’t expect it to be any sort of usability issue. It also still fits in with other GTK widgets. They just aren’t as bling.

    @Jeff: I am not theorizing any release date at this point. There’s a lot of work to do, but it is happening rapidly.

    Also, the code is in SVN, just not in the main trunk. I am sort of purposefully not exposing the location right now, but if you are eager enough, it is easy enough to find. Nothing is private and I commit often.

  5. Good stuff! Am looking forward to it. Mostly looking forward to writing a different front end of my own. I wrote a few small demo plugins a while back to tinker around with ideas for 1-up’ing the browser style and this’ll give me the ability to throw it together (and actually have it do something!)

  6. @Mathias: It’s not alien. The fact is, and I have pointed this out many times, that I cannot replicate the look of stock GTK with the theming API provided by GTK itself. Thus I am refusing to play into the situation dictated by its problems at this point. I hate sounding harsh, but that’s the reality at this point in time. If I have to roll my own theming code, I might as well make it look pretty.

    If anything I hope the bright but subtle divergence of this widget might finally inspire some work in the core GTK theme engine. The situation today is the same one we were in 10 years ago. Not good.

  7. Btw, does the coverart show up for anyone running the current code? It just shows the placeholder icon for all albums for me…

  8. @Michael: The cover art is pulled from a directory that is in a different place than the trunk Banshee expects.

    You can get it working by either linking or copying ~/.config/banshee/covers to ~/.local/share/album-art

    The idea is to make the cover art not specific to Banshee.

  9. Everyone else has already said it, but these widgets are SO much nicer. In fact, I thought I was looking at some other specific toolkit…

    Nice work! Please keep pushing on this to get it (or something like it) mainlined into GTK+!

  10. The scrollbar should still, in my opinion, be changed to be inside the element it is scrolling, as it is in other OSes. It’s the only thing I dislike in this screenshot. Otherwise nice :)

  11. Good read Aaron! Your post makes me totally not want to look deeper at theme-writing. With the general desire to see gtk+ get beefed up in terms of rendering and display capabilities anyway, your investigation on this topic comes with a good timing I think (or rather: hope). Maybe an approach like CCS for theming-needs makes sense for gtk+. Qt is using this as far as I know.

  12. Wow!
    Thanks for keeping your eye on gtk beautification . Those selections look great.

    If that border could be scaled down to 1px and shifted to align exactly with the visible pixels on the screen it would look even crisper!

    Still stoaked this is possible.

  13. I am always impressed with the care you show for UI in Banshee and this really takes it to the next level.

    Please keep up the excellent work!

    BTW, we await your full gtk theme. :)

  14. Omg! Very nice, I wish all the selections looked that awesome on my Gnome desktop by default!

  15. This looks awesome and with the speed-ups you were speaking of the new Banshee should be sweet.

  16. I just saw that screenshot on the Ars Technica interview…wow, somebody else who knows As Cities Burn!

    Maybe some other people who like anberlin/armor for sleep/as i lay dying will see this and as cities burn can gain some new fans ;)

Comments are closed.