Any osdevers here who copied the Windows 9x GUI?
Any osdevers here who copied the Windows 9x GUI?
I'm not really a osdever at this stage, but i wonder if anyone ever copied the look of Windows 9x. I know that this is so complex, but did anyone manage to get it "part" done? May i see some possible screenshots?
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Re: Any osdevers here who copied the Windows 9x GUI?
Yeah one that isn't ReactOs.
- Bender
- Member
- Posts: 449
- Joined: Wed Aug 21, 2013 3:53 am
- Libera.chat IRC: bender|
- Location: Asia, Singapore
Re: Any osdevers here who copied the Windows 9x GUI?
Were you talking about LikeOS?
http://forum.osdev.org/viewtopic.php?f= ... 62&start=0
http://forum.osdev.org/viewtopic.php?f= ... 62&start=0
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
(R3X Runtime VM)(CHIP8 Interpreter OS)
-
- Member
- Posts: 307
- Joined: Wed Oct 30, 2013 1:57 pm
- Libera.chat IRC: no92
- Location: Germany
- Contact:
Re: Any osdevers here who copied the Windows 9x GUI?
GUIs are pretty complex. It also gets really messy when doing it with C. Thus, not many out here have a OS with a running GUI.
Copying something else (in this case Win9x) is really boring, as we're creating our own OS. You'll see some fancy custom GUIs, but almost no copies.
Copying something else (in this case Win9x) is really boring, as we're creating our own OS. You'll see some fancy custom GUIs, but almost no copies.
Re: Any osdevers here who copied the Windows 9x GUI?
And having utterly different and incompatible UIs in different OSes is all exciting and refreshing. Not.no92 wrote:GUIs are pretty complex. It also gets really messy when doing it with C. Thus, not many out here have a OS with a running GUI.
Copying something else (in this case Win9x) is really boring, as we're creating our own OS. You'll see some fancy custom GUIs, but almost no copies.
Re: Any osdevers here who copied the Windows 9x GUI?
What do you mean by "copied the look"? If you are talking about just appearance of windows, then there are a lot of GUIs with similar design: from extreme perversions like Miraculix and KolibriOS to GTK themes "Raleigh" and "Redmond". It's rather simple to draw similar rectangles.SeanMc wrote:I'm not really a osdever at this stage, but i wonder if anyone ever copied the look of Windows 9x. I know that this is so complex, but did anyone manage to get it "part" done? May i see some possible screenshots?
If you mean deeper things (e.g.: queue of WM_ messages for all kind of events, or maybe organization of virtual folders such as "My Computer", "Networking", "Control Panel", or maybe Active Desktop), then you should be more specific, please.
Re: Any osdevers here who copied the Windows 9x GUI?
By copy i specifically meant the appearance of specific GUI objects like the 3D borders framing the windows.
And if you implement a unique GUI, wouldn't it be difficult coming up with a unique design. I can imagine copying at least some elements of an existing GUI design to make things a bit easier on me. Then again, I probably shouldn't be talking here yet.
And if you implement a unique GUI, wouldn't it be difficult coming up with a unique design. I can imagine copying at least some elements of an existing GUI design to make things a bit easier on me. Then again, I probably shouldn't be talking here yet.
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: Any osdevers here who copied the Windows 9x GUI?
"Creating our own operating systems is exciting and refreshing. Not."alexfru wrote:And having utterly different and incompatible UIs in different OSes is all exciting and refreshing. Not.no92 wrote:GUIs are pretty complex. It also gets really messy when doing it with C. Thus, not many out here have a OS with a running GUI.
Copying something else (in this case Win9x) is really boring, as we're creating our own OS. You'll see some fancy custom GUIs, but almost no copies.
Be careful what you say. We all have different passions.
My OS is Perception.
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
Re: Any osdevers here who copied the Windows 9x GUI?
I think there are times when we can't inevidably help but copy what is already done - maybe because that way is familiar, or it is actually a decent way of doing things.SeanMc wrote:By copy i specifically meant the appearance of specific GUI objects like the 3D borders framing the windows.
And if you implement a unique GUI, wouldn't it be difficult coming up with a unique design. I can imagine copying at least some elements of an existing GUI design to make things a bit easier on me. Then again, I probably shouldn't be talking here yet.
I've been working on a tabbing/tiling window manager- where most windows can't overlap (like with a stacking window manager). I needed someway to 'grip' a window or dialog box (without clicking the contents inside of it), so my windows have a header tab that functions look and function like a title bar. I'm not trying to copy other GUIs, it's just the best way I could come up to represent what I was trying to do.
My OS is Perception.
Re: Any osdevers here who copied the Windows 9x GUI?
That is done through composition.
I AM USING C++ IN USERLAND -- IT IS TOO MESSY TO DO IN C
So this is how i do it in my OS.
You have "layers". If you'd done any Phoshopping, you probably know what I am talking about.
So basically every object on the screen that you can move is a layer.
A window is a layer, a text is a layer, a button is a layer, ...
And basically this is how this is done:
1. You make a structure to represent a layer (I use classes... I put every GUI stuff in userland)
2. You write algorithms to move the layers when they are overlapping. Every layer will have a parent, which can either be a parent or a Screen, the representative of the entire screen. The algorithms will figure out which pixels were overwritten by the layer in its parent buffer and "restore" those pixels that are "freed".
3. You take this structure (again, I am using classes as my compositor is a class library) and extend it into different things
For instance,
Layer --> Button
Layer --> Window
A window will have more stuffs added to it, like title header, bgcolor, exitevent, ... just don't go too wild on it.
So as I told you, a layer's parent could be another layer, in which case the layer is a "sub-layer", a layer bounded inside of a layer.
So a button will be a sub-layer of a window and so on... And when a layer is moved, all of its containing sub-layers must also be moved. (you don't want want a button to be stuck in a corner without the window after you move the window)
This is not the Win 9.x approach, I assume, but mine works quite fast and smoothly.
P.S. If you have userspace and executable loading procedures, I highly recommend you to NOT put ANY gui-compositing-related stuffs into the kernel. You should only keep low-level routines (like vm86 mode switching) in the kernel and pull all the high-level (things that can be implemented without hardware access) stuffs out to userland. I am using a library structure where apps will be dynamically linked against my window-compositing library.
Hope it was helpful!
I AM USING C++ IN USERLAND -- IT IS TOO MESSY TO DO IN C
So this is how i do it in my OS.
You have "layers". If you'd done any Phoshopping, you probably know what I am talking about.
So basically every object on the screen that you can move is a layer.
A window is a layer, a text is a layer, a button is a layer, ...
And basically this is how this is done:
1. You make a structure to represent a layer (I use classes... I put every GUI stuff in userland)
2. You write algorithms to move the layers when they are overlapping. Every layer will have a parent, which can either be a parent or a Screen, the representative of the entire screen. The algorithms will figure out which pixels were overwritten by the layer in its parent buffer and "restore" those pixels that are "freed".
3. You take this structure (again, I am using classes as my compositor is a class library) and extend it into different things
For instance,
Layer --> Button
Layer --> Window
A window will have more stuffs added to it, like title header, bgcolor, exitevent, ... just don't go too wild on it.
So as I told you, a layer's parent could be another layer, in which case the layer is a "sub-layer", a layer bounded inside of a layer.
So a button will be a sub-layer of a window and so on... And when a layer is moved, all of its containing sub-layers must also be moved. (you don't want want a button to be stuck in a corner without the window after you move the window)
This is not the Win 9.x approach, I assume, but mine works quite fast and smoothly.
P.S. If you have userspace and executable loading procedures, I highly recommend you to NOT put ANY gui-compositing-related stuffs into the kernel. You should only keep low-level routines (like vm86 mode switching) in the kernel and pull all the high-level (things that can be implemented without hardware access) stuffs out to userland. I am using a library structure where apps will be dynamically linked against my window-compositing library.
Hope it was helpful!
Joonyoung Lee
Student at 한성과학고등학교(Hansung Science High School) & Ambitious OSDever
Arcrascent OS | Source <-- My OSDev Project
“One of my most productive days was throwing away 1000 lines of code.” - Ken Thompson
Student at 한성과학고등학교(Hansung Science High School) & Ambitious OSDever
Arcrascent OS | Source <-- My OSDev Project
“One of my most productive days was throwing away 1000 lines of code.” - Ken Thompson