The first part of the week I spent working on the finishing touches with the tab list. I did some more backend changes on OS X, then workeded on adding the playlist list and the static tabs list. That went pretty smoothly.
After that I started working on the right hand side. I started working on code to handle switching displays in and out there, but there’s still more work to be done there. Mostly I started working on rendering items in the display. I got pretty far in that before I realized how badly we would interfact with some linux themes.
At that point I sent out an email to the list and tried to come up with some ideas on how we can work things. After thinking about it for a while, I decided to try this system:
1) Whenever the style gets set on our Window object, we check to see if we think our style is compatible with the user’s theme. Right now it’s fairly braindead. It just checks if the background is white or a really light shade of gray. If the check fails, then we don’t modify the style for widgets, and we don’t mess with the background for a widget in the custom drawing code. We do still draw things like the bubbles next to the feed tabs though.
2) When we draw things we pass in the current background color and text color to the drawing code. This lets us use the right color for the theme’s background. It especially helps when the user has a tab on the left-hand side selected.
It’s not the most elegant way of dealing with themes, but it works fine with all but one of my themes on Ubuntu.
The last thing I worked on was text handling. The initial motivation was to deal with the user changing their system font size. Then I realized that we would have to deal with resizing things based on the current font settings. Finally I realized that our text system could be really improved by adding some simple layout management similar to NSLayoutManager or PangoLayout. I just finished that today.
Next week I’m going to keep working on the item list. I think that I’ve finally dealt with all the side issues and can just work on getting everything to look good. I’m also going to be helping Andrew figure out the new system so that he can tweak things here and there.
I keep feeling psyched about the widgets branch. Take a look at this screenshot showing of it resizing the interface based on the user’s large font size. Still need to work on the video controls, but oh well…
0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment