Xfce Forum

Sub domains
 

You are not logged in.

#1 2016-04-14 21:27:19

antoniovj1
Member
From: España
Registered: 2016-04-14
Posts: 2
Website

I'd like to help developing, but I don't know how to start.

Hi, I'm studying computer science in Spain. I'm wanting to help develop an open source project. I have never helped in a project and I think that XFCE is a good point to start to learn how to contribute to a open source project( because I like this desktop environment smile ). I'd like to help with the simplest task because I don't feel enough safe to develop complex task at this moment.

Can someone help me to start ?


I'm ready to learn and developing. Thanks!

Offline

#2 2016-04-14 22:35:14

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,949

Re: I'd like to help developing, but I don't know how to start.

A few suggestions to get your feet wet:

1. Read and work through the xfce:building guide. Compile something from source (an app or panel plugin). This process will get your development environment set up.

2. Pick a component of Xfce that interests you. Review the existing code. Make some small changes to get a feel of how it works.

3. Have a look at the bug tracker. Pick a bug that seems easy to fix or an enhancement to add. Have a go at it. You'll need to review the existing code to get an understanding of how it works - but this is the best way to understand it.

4. Create a panel plugin. Have a look at the sample panel plugin code and base something on it.

5. Fire up an IRC client and connect to #xfce-dev on freenode. Thats were the developers hang out. Post questions there or to the xfce4-dev mailing list.

And thanks for your interesting in helping develop Xfce.


Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

#3 2016-04-14 23:13:04

antoniovj1
Member
From: España
Registered: 2016-04-14
Posts: 2
Website

Re: I'd like to help developing, but I don't know how to start.

Thank you very much for the advices, soon I will put them into practice. big_smile

Offline

#4 2016-04-18 12:02:52

ungutknut
Member
Registered: 2014-04-12
Posts: 52

Re: I'd like to help developing, but I don't know how to start.

antoniovj1 wrote:

I'd like to help with the simplest task because I don't feel enough safe to develop complex task at this moment.

How about making xfmpc better?
http://goodies.xfce.org/projects/applications/xfmpc

It's really a tiny, very simple and fast MPD client that IMO just lacks of one basic feature: rearrange songs.

It looks like there's just one active dev for this program and he hasn't commited code since 2013 (probably because there are much more important projects he's involved in, like thunar).

xfmpc is currently not in the ubuntu repos anymore - maybe making it better could bring it back?

Offline

#5 2016-04-27 20:06:22

pavl
Member
Registered: 2016-04-24
Posts: 1

Re: I'd like to help developing, but I don't know how to start.

ToZ wrote:

A few suggestions to get your feet wet:

1. Read and work through the xfce:building guide. Compile something from source (an app or panel plugin). This process will get your development environment set up.

2. Pick a component of Xfce that interests you. Review the existing code. Make some small changes to get a feel of how it works.

3. Have a look at the bug tracker. Pick a bug that seems easy to fix or an enhancement to add. Have a go at it. You'll need to review the existing code to get an understanding of how it works - but this is the best way to understand it.

4. Create a panel plugin. Have a look at the sample panel plugin code and base something on it.

5. Fire up an IRC client and connect to #xfce-dev on freenode. Thats were the developers hang out. Post questions there or to the xfce4-dev mailing list.

And thanks for your interesting in helping develop Xfce.

I'm interested to contribute as well. I found an annoying bug a few days ago and reported it (bug 12550) and suggested a patch (probably wrong, but apparently doesn't hurt and works for me).
Looking at the list I noticed that some bugs, a couple resembling  the one I've found, are still NEW after years. How long it will take to fix these bugs ? Otherwise said, it's worth to report a bug in the hope it will get fixed quickly?

Besides this, I would like to know if there is a  preferred IDE, languages and tools to use for XFCE development or if there is the freedom to use e.g., cmake instead of autotools or c++ or rust instead of C for development.
Are there docs about development guidelines or better someone to ask without getting a RTFM like answer?

Thank you

Offline

#6 2016-04-28 00:29:50

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,949

Re: I'd like to help developing, but I don't know how to start.

pavl wrote:

I'm interested to contribute as well. I found an annoying bug a few days ago and reported it (bug 12550) and suggested a patch (probably wrong, but apparently doesn't hurt and works for me).

Thanks for contributing.

Looking at the list I noticed that some bugs, a couple resembling  the one I've found, are still NEW after years. How long it will take to fix these bugs ? Otherwise said, it's worth to report a bug in the hope it will get fixed quickly?

It's always worth reporting bugs. Unfortunately, there aren't too many Xfce developers available to fix all of the bugs - hence the need for more people to step forward. Plus, the current development emphasis is on version 4.14 and the developer effort focused there.

Besides this, I would like to know if there is a  preferred IDE, languages and tools to use for XFCE development or if there is the freedom to use e.g., cmake instead of autotools or c++ or rust instead of C for development.

I'm not aware of a preferred IDE. The bulk of the development is done using C, but some apps (example the Whisker Menu) is developed in C++ using cmake. I'm don't think it really matters.

Are there docs about development guidelines or better someone to ask without getting a RTFM like answer?

I think the best place to ask this question is directly to the Xfce developer's themselves via the xfce4-dev mailing list.


Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

#7 2016-04-28 21:32:41

xyzdragon
Member
Registered: 2015-12-06
Posts: 17

Re: I'd like to help developing, but I don't know how to start.

I also think about contributing (more). I already tried my luck with some projects like Thunar, conky or glib and tried submitting patches (and many bug reports), but generally I can't really get used to it, because I feel like an outsider who has no right to make deeper changes to decade old code bases and I don't wanna work on something several days which doesn't get accepted anyway.

Also the general feel I get is that everything is heavily bugged in Linux (old Windows user) and bug reports are processed very slowly, sometimes taking multiple years or even decades. libpoppler was quite fast in addressing my two segfault problems, that was one of the rare positive experiences with Linux.

Offline

#8 2016-04-29 00:03:22

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 10,949

Re: I'd like to help developing, but I don't know how to start.

xyzdragon wrote:

I also think about contributing (more). I already tried my luck with some projects like Thunar, conky or glib and tried submitting patches (and many bug reports), but generally I can't really get used to it, because I feel like an outsider who has no right to make deeper changes to decade old code bases and I don't wanna work on something several days which doesn't get accepted anyway.

This might be some useful feedback for the Xfce developers. You might consider posting this feedback to the xfce4-dev mailing list.


Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

#9 2016-04-30 00:31:33

mikodo
Member
Registered: 2011-05-03
Posts: 14

Re: I'd like to help developing, but I don't know how to start.

Hi, more developers are needed as mentioned above. Nice to see you.

I see repeatedly suggested to people who want to start helping out with the Xfce project to, start with having the daily digest of reports emailed to them.

Here it is again as ToZ has linked above to register for it:

https://mail.xfce.org/mailman/listinfo/xfce4-dev

Oh, have you seen this page:

http://docs.xfce.org/contribute/start

+1 for all the suggestions so far.

Last edited by mikodo (2016-04-30 00:39:33)

Offline

#10 2016-05-05 13:30:42

Steve
Member
From: London
Registered: 2014-11-19
Posts: 7
Website

Re: I'd like to help developing, but I don't know how to start.

pavl wrote:

I'm interested to contribute as well. I found an annoying bug a few days ago and reported it (bug 12550) and suggested a patch (probably wrong, but apparently doesn't hurt and works for me).

Your patch obviously disables something that might be necessary, e.g. when people plug in screens, change their resolution, and so on and so forth. You'd need to find what this function was here for and what it is you might have broken exactly. It's a pity the code doesn't contain an explanation but we can't go back and read the original developer's mind.

A less dangerous approach would be to save relevant user state, perform the reset, and re-apply the relevant user state. I suppose the "per window" layout is an Xfconf key? Why is it not properly bound / not applied any more after a reset? Fixing the reset function rather than hiding it would ensure that functionality is maintained and improved, rather than one bug traded for another.

Of course it's fine to ask for help and expertise on this code, either on the IRC channel or mailing list.

pavl wrote:

Looking at the list I noticed that some bugs, a couple resembling  the one I've found, are still NEW after years. How long it will take to fix these bugs ? Otherwise said, it's worth to report a bug in the hope it will get fixed quickly?

The best is to ask relevant people on #xfce-dev or on the ML to have a quick glance and give you an initial estimate whether the patch is proper. Often, some devs will maintain a git branch and ask others to test it informally before they bring the feature to the main code base or post a request for inclusion on the Bugzilla. This is primarily because right now, we're all working on various bits of the code base to complete a port to GTK+3 rather than looking at feature requests. In the next release cycle, Bugzilla should get more attention.

pavl wrote:

Besides this, I would like to know if there is a  preferred IDE, languages and tools to use for XFCE development or if there is the freedom to use e.g., cmake instead of autotools or c++ or rust instead of C for development.
Are there docs about development guidelines or better someone to ask without getting a RTFM like answer?

Use what you like! The only requirements are that:

- you must privilege our existing set of dependencies: GTK+ 3, the GLib and GIO, Xfce4Util, Xfce4UI, Xfconf, Garcon, Exo, and the C language preferably (C++ fine, interpreted languages introduce extra package requirements for our distributors so I would discourage you from using them), as well as xdt-autogen if you use Autotools (if you prefer CMake, have a look at WhiskerMenu)
- you must respect the 'Xfce philosophy': keep code simple, keep Xfce flexible by not introducing new mandatory dependencies, no special features that add siginificant maintenance / performance overhead for very few users' benefit, respect our coding guidelines, make sure to cater for all UNIXes (says the guy sitting on 50k lines of Linux-only code)
- it's FOSS ;-)

We never give a RTFM answer because we're a close knit community of people who are nice to each other (even when we argue!) and keep in mind that we're all working for the same goal: the betterment of Xfce rather than our own personal glories :-)

Offline

#11 2016-05-05 13:38:17

Steve
Member
From: London
Registered: 2014-11-19
Posts: 7
Website

Re: I'd like to help developing, but I don't know how to start.

xyzdragon wrote:

I also think about contributing (more). I already tried my luck with some projects like Thunar, conky or glib and tried submitting patches (and many bug reports), but generally I can't really get used to it, because I feel like an outsider who has no right to make deeper changes to decade old code bases and I don't wanna work on something several days which doesn't get accepted anyway.

Also the general feel I get is that everything is heavily bugged in Linux (old Windows user) and bug reports are processed very slowly, sometimes taking multiple years or even decades. libpoppler was quite fast in addressing my two segfault problems, that was one of the rare positive experiences with Linux.

GLib surely is a special case, given how many projects rely on it... Honestly, I'm super happy when people open up the rotten code I wrote 7 years ago and tell me they found a way to fix something I couldn't back in the day. If you want to introduce new features, it's always worth asking the developers what they think. The most common causes for rejection would be:

1. it already exists, but we do a poor job of showing it does: so let's work on the UI instead

2. it's helpful, but for very few users and it significantly increases the code maintenance cost or the performance: can we provide it with a compile-time flag, or as a separate Xfce project (e.g. xfce4-volumed separated from xfce4-mixer)? We can expose some internal libraries of the project you're hooking on, if it helps you to build a smaller, separate binary, daemon, library...

3. it goes against our general approach to design. I promised multiple times to write a HIG and failed, so I won't promise this time. Generally speaking, if you introduce UI changes and need an expert eye to see if it can cause problems or could be done better, at least ochosi or myself (and surely many other members) will be competent to help you.

Often if a bug report stays open for a decade it's because nobody could reproduce the problem, and the original reporter vanished without giving additional information or providing the data we need.

Offline

Board footer

Powered by FluxBB