Home Store Blog Development

Developers wanted to work on Budgie Desktop 10.x


#1

Hi,
we are looking for people who have a reasonable experience of GTK+3 in any language who are willing to throw their hat in to help out with fixing various small issues and possibly enhancing budgie-desktop 10.4.x

Budgie Desktop is written in Vala - but don’t let that scare you - if you have experience writing GTK+ stuff in - for example python - it is fairly easy to use your skills for Budgie Desktop.

The hardest part is how to compile and install budgie-desktop on Ubuntu … and that is pretty straightforward as well.

So please put you hand up and we’ll help you through the initial bits and bobs to get started.

cheers


#2

hand up o/

how could I get started?


#3

Hi - have a look here about how to compile budgie desktop.

Basically have a look at compiling the code. Maybe just have a look at some of the compilation warnings - see if you can spot where in the code those warnings are produced and see if one or two of those can be fixed.

Once you are feeling a bit more confident then we can dig in a bit more - working with upstream, having a look at some of the easier stuff on the upstream tracker etc etc.

Cheers


#4

Can I work on Budgie Desktop too, although I have no experience in Vala/GTK+3?
I guess in the internet there a lot of tutorials to learn it?

Regards


#5

Yep - Vala is covered really well here https://valadoc.org/

Start off with the videos on that site


#6

thx;) I’ll get started


#7

I am interested in helping. Couple questions.

  1. Do most of the develoeprs use a VM to work on the code?
  2. Do you develop using a stable release of Budgie, like 18.x or just use the latest testing release.
  3. I was able to build budgie-desktop using the How to hack instructions. The instructions say to use apt-get source budgie-desktop, can you just use git instead? I’m not sure how apt-get source budgie-desktop works.

Thanks,
Jeff


#8

apt-get source budgie-desktop takes the current debian package for your ubuntu version and unpacks the source that was used to build the various binaries. It also applies all the patches in ./debian/patches to the source so that you now you have an exact copy of the source used to build everything.

git clone takes a copy of the current upstream source repository. It may or may not build for your ubuntu version. You may have to manually create/apply additional patches to ensure it builds.

For example - at this moment in time - the upstream git repository only builds for the mutter version in Ubuntu Budgie 18.04. It will not build for 18.10. For 18.10 I had to create an extensive number of patches to ensure it builds. There is a pending pull-request upstream to merge this set of patches.

I personally use virtual machines (virtualbox) to-do development in. In this way I can snapshot and build and run stuff - and if it all crashes and burns I can rollback or just delete the VM and recreate another. All without affecting my main UB host.

I know other people use a persistent LXD docker instance to compile stuff. That ensures you dont have the big overhead of a full virtualbox virtualmachine. You though don’t have the safety valve of something going wrong if you install the built binaries.