how do we create a desktop environment from scratch?
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
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.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
how do we create a desktop environment from scratch?
me and my team wants to create a new distro from scratch using the linux from scratch books now in a recent meeting we were discussin' about the desktop environment and have decided to build up our own desktop environment from scratch but now we don't know where to start about desktop environment creation what should be the structure and if there should be something like motif or something like that to begin
and which tools should be used to build a desktop environment from scratch ?
which is the main structure of a complete desktop environment ?
we tried to use google for infos but unsuccessfully
this is not related to the Linux From Scratch distribution in any way. please try to choose your forums more carefully next time.
and as for your question... i guess you need to understand xlib inside and out and go from there. you won't get any tools to do it for you at the base level. you might want to look at existing minimal desktops like ion and ratpoison to get an idea of what goes on.
Last edited by acid_kewpie; 03-05-2005 at 04:27 AM.
i'm sorry i'm very new to this forum next time i pay more attention in choosin' the right forum section
but shall i use some kinda of programming language such as C++ or similar to build at least the base?
i mean the desktop and the window manager or shall i use something which is already existing and tryin' to modify it or to adapt it to have a complete different look in the final work?
if i have any other question i will post
so the xlib is where i shall to start and then go step by step through my development project till i have at least created the window manager right? and then the rest should be easy to do just the core side is the hardest thing to build
do u know if there are some tutorials or how-to or guides which explains something about it?
i googled but i didn't found anything really interesting just some general stuff which doesn't explain me more about how to program from scratch things like window manager etc
it is just to have some example to have such an idea of what i am going to do
for now i will start to have a look at the xlib libraries that u 've mentioned it's a good point to start
Last edited by FireFox8173; 03-05-2005 at 05:57 AM.
I disagree with the previous posters althought I never made a desktop enviroment myself.
However, what constitutes a desktop, at least visually? You need a window manager, a file manager, a panel, utility programs like a calculator etc., and some dialogs for configuration and stuff.
Then, why start with xlibs and reinvent another toolkit? In fact, GNOME, XFCE, and ROX share the same underlying toolkit (GTK+) and all are complete but different desktops.
For a successful desktop enviroment, you'll need additional applications. By reinventing the toolkit, you'll basically need to reinvent the applications, too. See GNUStep as an example: It is developed for years already but still need additional apps for appearing 'visually integrated'. And it's still ugly. If you'd use an existing toolkit, you can also use existing applications.
In fact, with an existing toolkit some of the software needed for a desktop does already exist. Using the GTK+ example, there are panels, file managers, calculators, and stuff, already that are not used as standard in another desktop. The fonts look good, and additional themes exists. Use them, add a few config dialogs, and rewrite if neccessary, I'd say.
This will also show if your team can agree on a common idea for your desktop.
gnome only uses gtk to a certain extent, the underlying manager, metacity, the functionality which is what i assume we're supposed to be looking to replicate, only have very minimal gtk+ usage, instead it is concerned with the lower level window and event handling.
you won't find a howto on writing a window manager, as it's not the sort of thing that people generally do, and those that do do it are generally working far beyond the realms of a howto. it's c programming, not clicking a few buttons. people will referece xlib api's directly and look at other source code.
so your suggestions are to use something that already exists by using existing toolkit like gtk+ and have an already written source code as base right? and then try to modify the aspect which should interest us right?
yes of course there should be C programming behind such a thing like this
and not a somple clickin' and picking up dialogs and buttons
but the problem is that i don't know where to start in programming those components
P.S: sorry for replyin' so late but i've been away for a while from my comp
Last edited by FireFox8173; 03-05-2005 at 08:07 AM.