Hello Planet Gnome!

Firstly, hello to all that are reading on Planet Gnome as this will be my first post that has been syndicated there. And by way of introduction, I’m a 23 year old student in my final year at York University studying Computer Science and Maths. I’m working on bug 48004 to implement individual workspace wallpapers. (For those that are interested you can find my previous posts at http://gsocblog.jsharpe.net/.)

I’ve spent the last couple of weeks finishing up my masters project, and gave my presentation on that last Friday. Its good to get it all out of the way, although my supervisor has suggested submitting my project to the S+SSPR conference which means I need to edit my paper by the end of the month. I also have a computer graphics assignment to complete and three exams to revise for before the official start of GSOC on 26th May, so quite a bit to do before then. I suspect I’ll be juggling my time between uni and GSOC up till the 10th June which is the date of my last exam at uni.

In the mean time I’ve been looking through the code that I’m going to be working on; the desktop wallpaper code seems to be spread across numerous modules: gnome-desktop, gnome-control-center, libeel, libwnck and libgnomeui. Initially I’ll be working on getting the backend part working for which the following criteria need to be fulfilled:

  • Support wallpaper per workspace (and possibly extending this to be a workspace profile/state see bug 113640)
  • Update the GnomeBG api to support multiple workspaces - hopefully this will help stabilise the api and remove the need to explicitly define use of the api.
  • Support desktop wallpaper rotation. (The code to do this is largely there since there is already support for animated backgrounds which rotate over a given period of time)
  • Support wallpapers per desktop - this will involve adding support for Xrandr and Xinerama (although I’m tempted to argue that we should just support Xrandr since Xinerama is no longer in development)

I’ve also been hacking a little at jhbuild; I’ve setup jhbuild to use git-svn in place of svn but it’s handling of externals is painful! I’ve put in a hack that checks the current svn revision of the git-svn tree before and after the rebase, and conditionally updates the externals only if the svn revision version has changed. Now this works fine if the svn:external is for a given revision number in the external repository, but if its not then we still need to do an update because the external may have changed whilst the current repository hasn’t. This kind of breaks the notion of a revision number in svn as it means that a revision in the repository is dependent upon the state of an external repository i.e. it will change over time! Not a good thing for repeatability in the future. I’m thinking about storing some metadata within the git-svn checkout dir relating to the location of externals(if any) as a way of avoiding walking the whole svn directory structure which is particularly slow! The alternative is to implement the externals as git submodules, as noted in a fixme within the code. There’s also a number of other features missing from the git-svn code too that I may roll patches for:

  1. doesn’t return to current branch after switching to master for rebase
  2. doesn’t unstash working copy changes that have been stashed
  3. proper support for using svn branches i.e. assumes you want a git repo with only either trunk or a single branch in it

Tags: , , , , , , , , , , ,

13 Responses to “Hello Planet Gnome!”

  1. ethana2 Says:

    Screensavers make great desktop backgrounds but I can never get them to work with compiz and I have to use the terminal to start them every time.

    I also went out with my camera and made a bunch of loopable videos in nature so that when I can finally set my desktop background as a video I’m ready for it. They’re pretty nice too, a lot of water, waving grass and whatnot.

    So the sooner I can do that kind of thing, the happier I can be, and if KDE4.1 does it before gnome, well, that’s where I’ll be.

  2. ethana2 Says:

    The above post was horribly written but you get the point. I just forgot to say that I’m in Alaska, and if anybody wants the videos I mentioned in a month, just email me: ethana2@gmail.com
    They’re all mine, and they’ll be CC-BY-SA. –heads up on the resolution, it’s kind of low.. and the sound, you may just want to replace the sound with your own thing, some fishermen have noisy kids.

    Diatonis has some good desktop background videos too.

  3. Chris Lord Says:

    Will you also be implementing wallpapers per screen too? Of course, it’s easy enough to just stitch two images together, but it’d be nice to not have to :)

  4. Nicolas Deschildre Says:

    Ubuntu Brainstomers are watching you!
    http://brainstorm.ubuntu.com/idea/93/

    ;)

  5. elmarco Says:

    Please submit patch for git-svn support in jhbuild. The current solution is far from idea, I hope it will be improved, your help is welcome :)

  6. Johan Svedberg Says:

    Good to hear I’m not the only GSoC student being totally svamped with university until a week into June… :-) Hopefully we can bribe our mentors to cut us some slack in the beginning, we’ll probably end up doing plenty of overtime anyway… :-)

  7. Karl Lattimer Says:

    I hope you do something like the full screen selector I was musing over in http://bugzilla.gnome.org/attachment.cgi?id=89620&action=view that mockup. Would be pretty easy to make work on multiple monitors too, just have a fullscreen window for each screen.

    FYI, the idea with that mockup was that it would overlay on top of everything, i.e. a single fullscreen window, so transparency wouldn’t be required.

    If you want to discuss then please drop me a line.

  8. pel Says:

    wohoo!
    i’m really looking forward to support for wallpaper rotation!

    a nice way to integrate apps such as xearth would be really handy too.
    this can be done today - but the rotation seems to lock up for me after a while.

  9. James Sharpe Says:

    Chris Lord: yes per screen is planned

    elmarco: I’ve put up patches for the changes I’ve made so far for git-svn support: http://bugzilla.gnome.org/show_bug.cgi?id=532673 and http://bugzilla.gnome.org/show_bug.cgi?id=532674. Also filed another enhancement request: http://bugzilla.gnome.org/show_bug.cgi?id=532675 which I may implement if I have time, but this really is one that would speed up the git-svn usage as it won’t have to walk the whole tree using svn to find the svn:externals anymore.

  10. pt Says:

    Good Luck James, happy to see Gnome open to this idea.

  11. hd wallpapers Says:

    [...] [...]

  12. Tina Russell Says:

    Bwaaah, thanks! I found this entry through the Ubuntu Brainstorm. This is a feature I’ve been wanting forever. Thanks so much for being the one to finally crack this open. I’m looking forward to the result!

  13. David Prieto Says:

    Hey James,

    It’s great to hear that wallpaper rotation is finally going to be possible. I made a simple mockup of how the interface of the wallpaper manager could allow the user to use the feature, do you think something like that would be possible?

    http://img401.imageshack.us/img401/4461/pantallazo1td9.png

Leave a Reply