Merge lp:~flowblok/universal-applets/core-sidebar into lp:universal-applets

Proposed by Peter Ward
Status: Merged
Merged at revision: not available
Proposed branch: lp:~flowblok/universal-applets/core-sidebar
Merge into: lp:universal-applets
To merge this branch: bzr merge lp:~flowblok/universal-applets/core-sidebar
Reviewer Review Type Date Requested Status
Universal Applets Core Pending
Review via email: mp+2322@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Peter Ward (flowblok) wrote :

It's a sidebar!

I don't mind people changing:
 * Icons (the rotation icons at the moment are very unintuitive)
 * DBUS stuff (I haven't used DBUS before)

Revision history for this message
Peter Ward (flowblok) wrote :

Also,
 * Using a background image. The images should go into /src/share/ua-sidebar/, or perhaps a subfolder named "backgrounds" or "themes". The reason why I wouldn't choose "themes" though, is because it may confuse some users to thinking that it's the same as screenlet themes.
 * Moving the applet area down below the rotation and close icons.

A sidenote: I'll probably end up doing the icon stuff myself. I think I'll take the rotation icons, make extra versions of them for the different orientations (0, 90, 180, 270, for both left and right), and put them into /src/share/ua-sidebar/icons. Optionally, these can be installed into /usr/share/pixmaps, using the Makefile.
I've got an idea for how the icons should be positioned - hopefully I'll make a mockup and show a screenshot before actually implementing it.

Oh, just because I'm saying that there's still a heap of work to be done doesn't mean it shouldn't be merged into trunk! It's currently in a reliable, working state, and all of this stuff is just low-priority extras.

Revision history for this message
Natan Yellin (aantny) wrote :

I've been testing this and it seems stable enough to merge in. Go for it!

A few quick notes regarding the implementation:

1. You might want to reuse the screenlets theming module for sidebar themes. It provides all of the necessary functionality and is totally independent of the Screenlet class.

2. Right now, the user can drag the sidebar around the screen with the mouse. It would make more sense to lock it to the screen edge and ignore all attempts to move it unless the user drags it all the way to another screen edge. (This is how, for example, how the Windows' start toolbar behaves.)

3. Sidebar.draw currently redraws the entire window when a composited child socket changes. The most efficient to handle this would be to only redraw the applet that changed and not all other applets.

Even with the above issues in mind, this is still a very big improvement over the sidebar in extras and something extremely neat to have in trunk. Good job!

Revision history for this message
Peter Ward (flowblok) wrote :

1. Sure - I'll have a look at it, and work out how to integrate it.

2. Yes! (I was thinking about the behaviour of dragging Gnome Panels) The only problem is, that I would like to have gtk (and thereby the window manager) handle the moving as much as possible (because moving needs to be an fast operation), and I couldn't work out how to get it without manually writing the movement code.

3. I'm not familiar enough with Cairo to do this myself (at the moment), but if someone would like to, I don't think it would be particularly hard.

I'll merge this with trunk, and further development can happen there, since others may wish to contribute.

Subscribers

People subscribed via source and target branches