LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 11-01-2011, 12:37 PM   #1
Mr. Alex
Senior Member
 
Registered: May 2010
Distribution: Arch + X.org + IceWM
Posts: 1,203

Rep: Reputation: Disabled
Question How much time is needed to create a UNIX Window Manager?


Simplistic Window Manager for *nix like IceWM/OpenBox/WindowMaker/Sawfish - how much time does one programmer need to create it? And how difficult this task is?
 
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 11-01-2011, 12:44 PM   #2
Thor_2.0
Senior Member
 
Registered: Nov 2007
Location: Somewhere on my hard drive...
Distribution: Manjaro
Posts: 2,217
Blog Entries: 23

Rep: Reputation: 279Reputation: 279Reputation: 279
It depends of how far you want/need to go. It does'nt stop at the window manager, it's when it's done that the real work starts. Maintaining, testing if everything works, does the creation supply the services for software to run on?

Then there's the toil of doing that alone...dont...life's too short for this...

Anything cosmic you had in mind?

Thor
 
Old 11-01-2011, 12:54 PM   #3
Mr. Alex
Senior Member
 
Registered: May 2010
Distribution: Arch + X.org + IceWM
Posts: 1,203

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Thor_2.0 View Post
Anything cosmic you had in mind?
Not that big. I just have an idea to fix IceWM and made some minor changes of this WM because it's unstable and sometimes not exactly what I want. So I was wondering if this is complicated to do considering the fact that I don't code C++. I coded Delphi about a decade ago and now code PHP. And what I learned after practicing PHP is that you don't even have to learn a whole programming language to be able to create something particular. IceWM (as far as I know) is created by one man. Is it difficult for another man to learn C++ and make IceWM stable (+ some minor changes)?
 
Old 11-01-2011, 01:00 PM   #4
Thor_2.0
Senior Member
 
Registered: Nov 2007
Location: Somewhere on my hard drive...
Distribution: Manjaro
Posts: 2,217
Blog Entries: 23

Rep: Reputation: 279Reputation: 279Reputation: 279
Quote:
the fact that I don't code C++. I coded Delphi about a decade ago and now code PHP.
In one simple word? Dont. No offense (please DO NOT take offense), I'm a Java progger, I would'nt even consider going near the sourcecode of such a complex piece of software. That excerice is way out of our league... believe me.
How...ever, what is in the realm of the feasable is you conceputalising and letting the actual hacking be done by a C++ buff. But, you'd have to work in tandem with someone...is that a problem?
 
Old 11-01-2011, 01:29 PM   #5
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by Mr. Alex View Post
Simplistic Window Manager for *nix like IceWM/OpenBox/WindowMaker/Sawfish - how much time does one programmer need to create it? And how difficult this task is?
Well, let's see. icewm has 57815 lines of code and 1703859 characters. I'd say from 1 to 3 years working alone every day 8 hours per day without holidays, if you're skilled C++ programmer and know exactly what you want to get. If you're not skilled or don't have clear goal add 5..10 years. That's a very rough estimate, and the project might actually take longer. Please note that icewm has been in development for 13 years.

Quote:
Originally Posted by Mr. Alex View Post
Is it difficult for another man to learn C++ and make IceWM stable?
Yes it is. Mastering C++ takes at least 2 years. With codebase of this size, you'll spend next 8 months trying to understand how this thing works and what is the logic behind this program structure - because in order to "stabilize" you need at least partial understanding of program logic. To my experience, there's a limit to amount of code you can keep in your mind at any given moment ("keep in mind" means remember every single implementation detail). The limit is around 200 (maybe 500) kilobytes, and IceWM is bigger than that. Once program becomes larger than that, you have to be careful and maintain clean coding style, naming conventions and document everything you can using doxygen, because while you work on one piece of code, you'll be slowly forgetting how another piece of code works - you'll be forgetting implementation details, quirks, etc, and you'll need many reminders. Coding style and documentation are a programming habits that take time to develop. Without those skills you'll eventually get a horrible unmaintainable piece of code that apparently was written by eldritch abomination, and you'll have to waste more time fixing this mess again and again.

Quote:
Originally Posted by Mr. Alex View Post
And what I learned after practicing PHP is that you don't even have to learn a whole programming language to be able to create something particular.
Doesn't exactly apply to C++. In this case even once you've learned entire language, there will be unlimited amount of information you don't know, because of language flexibility. With such attitude, you'll bravely start your project, mess up, and give up 10 months later with no results.

So the bottom line is that your idea of writing wm from scratch without previous programming experience with C/C++ is pretty much unrealistic. Try something simpler. MUCH simpler.

Last edited by SigTerm; 11-01-2011 at 01:41 PM.
 
7 members found this post helpful.
Old 11-01-2011, 04:15 PM   #6
Cedrik
Senior Member
 
Registered: Jul 2004
Distribution: Slackware
Posts: 2,140

Rep: Reputation: 242Reputation: 242Reputation: 242
Download the sources of a simple wm and see for yourself, get concepts/ideas, maybe try make some change, you will figure out quickly how much time and programming level that would take
 
Old 11-02-2011, 01:28 PM   #7
Mr. Alex
Senior Member
 
Registered: May 2010
Distribution: Arch + X.org + IceWM
Posts: 1,203

Original Poster
Rep: Reputation: Disabled
Thor_2.0, thanks. SigTerm gave me very detailed answer.
 
Old 11-02-2011, 01:31 PM   #8
Thor_2.0
Senior Member
 
Registered: Nov 2007
Location: Somewhere on my hard drive...
Distribution: Manjaro
Posts: 2,217
Blog Entries: 23

Rep: Reputation: 279Reputation: 279Reputation: 279
Yup, he has a way of being very detailed indeed...
Good luck in whatever next project you embark.
 
  


Reply

Tags
manager, programmer, window


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
create new gnome session profile with xmonad as window manager? vinhdizzo Linux - Desktop 0 08-29-2011 10:24 AM
ICE window manager tweak help needed Old_Fogie Slackware 7 04-02-2007 04:16 PM
Beryl Window Manager / Emerald Theme Manager Not Changing With ATi Drivers. Z3R0o Linux - Desktop 2 01-06-2007 11:23 PM
help needed...wanna create my unix rajankz Linux - Newbie 1 09-22-2005 11:25 PM
Logging into window manager without password needed? baczer Linux - Software 1 05-09-2004 03:14 PM


All times are GMT -5. The time now is 08:58 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration