Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I want to create a new application.
I need to learn how to program for modern linux desktop environments.
Someone once told me to read through tar source code and man pages for examples of both good and bad command-line (CLI) C/C++ effort. I did, and I learned a lot. That was way back when.
Please recommend an existing linux/GNU application that might make a good "learn from" pattern for my own efforts. I'm not talking about a project fork. Rather, if I read their code and docs and such, I will see a "pretty good example" of how to do my own work "well enough."
I'm looking for something small enough to absorb quickly yet large enough to cover a wide selection of application features. I'm looking for scripted (python, etc) as well as C/C++ applications (QT, GTK, etc).
Thanks in advance,
~~~ 0;-Dan
Last edited by SaintDanBert; 01-22-2015 at 01:44 PM.
That's quite interesting, never heard of a recommendation to read the tar source. I should take a look at it and see what I think of it.
Qt has a very wide selection of examples with their package and just on the web such as here, plus you can search further for Qt examples and see what suits you.
IMHO it goes the one step further, which is that you need to understand the intent of your application and how it will operate. My point being that any somewhat competent programmer can do the "Main Window -> Hello button widget" application. The question are whether or not you need to be full screen, a'la kiosk, if you have images to replace widgets, if you have text fields which require entry and controls, if you have pop-ups, or added screens for things like settings and such, or something like if you would be putting graphs up. However, Qt has a great deal of examples to show things like an expanded 3D style stick and ball shape, or an example drawing app, plus many others. What you don't always see are examples of things like replacement of the draw function in order to make a style option change, things like that. For those sorts of examples it may be best to web search for projects done by other people to see how they tackled particular requirements they had.
That's quite interesting, never heard of a recommendation to read the tar source. I should take a look at it and see what I think of it.
While in graduate school (Computer Science, Georgia Tech 1979) a professor told the class, "Working code makes a great specification." We had access to source code for Unix® System-III™ and Primos®. I read a lot of code and learned a lot of good and bad about coding.
Quote:
Originally Posted by rtmistler
Qt has a very wide selection of examples with their package and just on the web such as here, plus you can search further for Qt examples and see what suits you.
These are examples to inform the process of using the various components of Qt. I'm looking for applications in the wild. I want to see examples of how real developers have assembled their application suite. Not only do I want to see how they made use of the various framework (Qt, GTK, etc) parts but also details like how their project is organized: code vs. headers, comments vs. developer docs vs. end-user docs, build tool chain (make, ant, eclipse, etc.), and so on.
Quote:
Originally Posted by rtmistler
IMHO it goes the one step further, which is that you need to understand the intent of your application and how it will operate. My point being that any somewhat competent programmer can do the "Main Window -> Hello button widget" application. The question are whether or not you need to be full screen, a'la kiosk, if you have images to replace widgets, if you have text fields which require entry and controls, if you have pop-ups, or added screens for things like settings and such, or something like if you would be putting graphs up.
I call this Problem Space Analysis and Design. I did this sort of work for a lot of years before entering "management" then "retirement." While I blow the dust from those skills, I posted this question to help me learn about how contemporary Linux™ Desktop-Environment application's suites get built and packaged.
Quote:
Originally Posted by rtmistler
However, Qt has a great deal of examples to show things like an expanded 3D style stick and ball shape, or an example drawing app, plus many others. What you don't always see are examples of things like replacement of the draw function in order to make a style option change, things like that. For those sorts of examples it may be best to web search for projects done by other people to see how they tackled particular requirements they had.
The typical linux distro install includes dozens, if not hundreds of library, utility and application packages. Every linux end-user makes routine use of some sub-set of these packages. I'm asking that my LinuxQuestions (LQ) colleagues suggest, "Take a look at package ABC" as something that works well but is small enough to grab the source package and learn from the code and as-built files.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.