Author Topic: One layer, to translate between them all  (Read 646 times)

solo

  • Member
  • **
  • Posts: 344
  • Kudos: 1
    • http://www.komodolinux.org/
One layer, to translate between them all
« on: 6 February 2003, 03:16 »
What if you could open XMMS and have all of it's dialogs be consistent with KDE, then start a GNOME session and XMMS will use GTK? What if the old kernel xconfig (2.5 and under) wasn't the boring and slow Tk but instead KDE or GNOME or whatever desktop environment/GUI style you use? What if WINE apps had the same look as your other Linux apps?

This is possible, and admit it, it would be cool! It's pretty obvious that (for expandability) the best way to do this, though not necessarily speed efficient would be to have two layers. One, the API layer, aka the library that talks to the KDE/GNOME/Tk/Motif etc programs and translates GUI information to a central format. Then it would send the data along to the display layer (the layer that renders the GUI system).
Events are picked up by the display layer, then sent to the API layer, where it is distributed to the application in the format it can understand.

Previously I said 3 layers, but that may have confused some people who read it, as it sounded like the middle layer (translation layer) would convert all of the data from every toolkit. this is not the case I was trying to point to. You see people make modules for their toolkit that represent the API layer and the Rendering layer and contribute them to the project (or if they wanted to, as seperate modules).

The user would use an X tool to choose which toolkit to use to display applications. Perhaps we could have a symlink to the current gui set? but that wouldnt let you change while you were running and it would be unportable. We could just build it into the code...

Now speed may be a problem but it might not, I'm not sure, if anybody does, post and tell me about it, if you want to.

Is anyone interested in this project? It would be innovation! we could do quite a bit with it, including making WINE apps seem less confined and have them look more like compatibility support (like support for old MacOS apps in OSX etc).
Komodoware, moving Linux to your desktop.
http://www.komodoware.com/

billy_gates

  • Member
  • **
  • Posts: 801
  • Kudos: 0
    • http://www.skinner.com/jeffberg
One layer, to translate between them all
« Reply #1 on: 6 February 2003, 03:22 »
I love this idea.  However, I have almost no programming knowledge and so I couldn't help on the coding side.  I am experienced with Photoshop, so I can make pictures and stuff.  

Also some wanted items in this are

Make it so that a programmer can't turn off his program's ability to use this,

make it so all current and olf programs use this (no conversion of programs necissary)

and possibly even a central icon database, so that
        1 all of your icons would be consistant, and
        2 so the programmer wouldn't have to worry about icons.

[ February 05, 2003: Message edited by: Billy Gates: Mac Commando ]


solo

  • Member
  • **
  • Posts: 344
  • Kudos: 1
    • http://www.komodolinux.org/
One layer, to translate between them all
« Reply #2 on: 6 February 2003, 03:25 »
Oh yeah thats VERY important, see the API layer modules will be able to just replace the current libraries the apps use

As for the icon thing, the system wouldnt even know about icons, that would be the API/Render layers problems. I kinda see your point though and im on the fence

[ February 05, 2003: Message edited by: Solo ]

Komodoware, moving Linux to your desktop.
http://www.komodoware.com/

flap

  • Member
  • **
  • Posts: 1,268
  • Kudos: 137
One layer, to translate between them all
« Reply #3 on: 6 February 2003, 03:35 »
What would the point of this be? Just to make all your apps look the same? If you want to make your kde apps look like GTK apps, use a GTK theme. And vice versa.
But if you're talking about literally translating from one toolkit to the other, it's not as simple as each one looking different; there will be other significant differences, e.g. how each system handles inter-process communication and so on. Not to mention the fact that some widgets may be present in one set with no equivalent in the other.
"While envisaging the destruction of imperialism, it is necessary to identify its head, which is none other than the United States of America." - Ernesto Che Guevara

http://counterpunch.org
http://globalresearch.ca


solo

  • Member
  • **
  • Posts: 344
  • Kudos: 1
    • http://www.komodolinux.org/
One layer, to translate between them all
« Reply #4 on: 6 February 2003, 03:47 »
yes thats true, but converting between IPC can obviously be done

as for the widget thing, im not sure yet but there is a way

and theming isnt a rational solution, you cant theme dialogs, etc. we are looking for unity here (while keeping simplicity and choice involved)

[ February 05, 2003: Message edited by: Solo ]

Komodoware, moving Linux to your desktop.
http://www.komodoware.com/

Master of Reality

  • VIP
  • Member
  • ***
  • Posts: 4,249
  • Kudos: 177
    • http://www.bobhub.tk
One layer, to translate between them all
« Reply #5 on: 6 February 2003, 04:10 »
uhhh.. there is already 2 layers to the graphic part of linux. There is the X server and then the GUI.
right now its like:
Code: [Select]
so where are you saying you want another layer?

[ February 05, 2003: Message edited by: The Master of Reality / Bob ]

Disorder | Rating
Paranoid: Moderate
Schizoid: Moderate
Linux User #283518
'It takes more than a self-inflicted gunshot wound to the head to stop Bob'

solo

  • Member
  • **
  • Posts: 344
  • Kudos: 1
    • http://www.komodolinux.org/
One layer, to translate between them all
« Reply #6 on: 6 February 2003, 04:34 »
output(monitor) and input (keyboard/mouse) <-> xserver <-> here <-> GUI

The idea is that all applications would be consistent with the current desktop environment. or if a user wanted everything to be gnome/gtk they could just go into a configuration tool, choose it, click ok and then every app is suddenly gnome.
Komodoware, moving Linux to your desktop.
http://www.komodoware.com/

mobrien_12

  • VIP
  • Member
  • ***
  • Posts: 2,138
  • Kudos: 711
    • http://www.geocities.com/mobrien_12
One layer, to translate between them all
« Reply #7 on: 6 February 2003, 04:36 »
Solo, you might be interested in the GUI independence page of LyX.

http://www.devel.lyx.org/guii.php3
In brightest day, in darkest night, no evil shall escape my sight....

solo

  • Member
  • **
  • Posts: 344
  • Kudos: 1
    • http://www.komodolinux.org/
One layer, to translate between them all
« Reply #8 on: 6 February 2003, 04:48 »
Thank you (adds to bookmarks) ive been wondering if anyone has been doing this, and im guessing that list refers to gui-independent interfaces? This could be of very good use.
Komodoware, moving Linux to your desktop.
http://www.komodoware.com/