Scale


Zoxc

Still Fresh
Joined
Sep 13, 2008
Messages
73
Scale is a project I've been working on a while (you'll find threads on the other forums if you look hard enough). It's a project to replace X11 with an OpenGL ES 2.0 based window manager. You may have seen a

https://www.youtube.com/embed/lUoYaLzgC5w?feature=oembed or two for earlier prototypes. I've recently started working on it again and I'm working on a rewrite of the GUI toolkit.

One of the first steps I plan to do is to create an application launcher which interfaces with libpnd to investigate performance and generate interest in the project. I want this launcher to demostrate the abilities of Scale and use sleek animations where appropriate. I'd like some help with designing the UI for this launcher, although my own attempt isn't terrible it doesn't really fit with colored icons. Ideas on how the window manager could work are also welcome, currently I plan on doing something like webOS's.
 
Very nice! I can't help a lot on this, but I wanted to manifest my interest for this project :)
 
Is Scale a replacement for _X11_, a replacement WM for running on X, or a framework, or which?


I'm just wondering if you really meant replacing X11, or if a typo :)


jeff
 
If you're replacing X11 just make sure to port Qt... Maybe look into their Lighthouse stuff.


I know that's ridiculous, but if you can make Qt run on top of it you'd have Arora and I would have my music player and I'm planning to make more things once I have time, which I will never have.
 
Very interesting. I will be watching your progress.


I love the demo videos so far.
 
Is Scale a replacement for _X11_, a replacement WM for running on X, or a framework, or which?


I'm just wondering if you really meant replacing X11, or if a typo :)


jeff
Heh, I thought so as well.


X11 is not a window manager ;) (XINAWM?)
 
^ Zoxc commented on that in IRC, and it seems he's really trying to create an alternative for X11. IIRC he mentioned making a cairo backend, but the preferred widget toolkit would be called "River" (?). There was also talk about porting SDL to this system. Anyone else who was present want to correct any misinformation I may have unintentionally spewed here?
 
The idea is to replace X11 -> cairo -> GTK -> Application with Scale -> River -> Application. I plan on adding cairo support too for compatibility (GTK) and to get an drawing API to use.
 
It's always good to see things trying to replace X11.


I've heard bad things about X11, and it seems overly complex and obscure, and things break for no good reason. Hopefully there will be a strong competition against it some day.
 
It's always good to see things trying to replace X11.


I've heard bad things about X11, and it seems overly complex and obscure, and things break for no good reason. Hopefully there will be a strong competition against it some day.
Kristian Høgsberg's Wayland is a step further. I might even make a Scale backend for it, though I don't know how well that work on the Pandora.
 
AFAIK the video driver needs to explicitly support it, so it is no option for now. However, it will surely gain more importance in the future, especially in the mobile segment, so maybe it will happen at some point.
 
Here's a description of the modules within this project.


Prelude - C++ template library containing useful functionality used by other modules.


SWL - This is a C library to create a window and a OpenGL (ES) context. It will be used to glue Scale Daemon with the underlying system. It's also handy if you want easily set up a OpenGL context.


Reindeer - This an C++ OpenGL drawing library used by River. It can only draw rectangles and I'm currently rewriting it to be more flexible and easier to use. It also handles font rendering. It might also prove suitable for game development.


River - This is a C++ widget toolkit. It's designed to work with fluid layouts and depend little on fixed size elements.


portal - This is an C IPC library which is intended to marshall messages from Reindeer and River to scaled.


scaled (Scale Daemon) - This the compositing window manager which will do OpenGL rendering on behalf of Reindeer and handle input and windows for River.


portal and scaled are the most undeveloped parts and will probably stay that way for a while. As I mentioned earlier, I'm currently focusing on writing a launcher using Prelude, SWL, Reindeer and River. This is to evaluate the feasibility of this project and to ensure something useful comes out of this.


I'd still like to know if you have any suggestions, ideas or feature requests for the launcher and I'd also like feedback and SWL's and River's API. You can find some usage of the APIs here.
 
Back
Top