Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: SirCmpwn on May 07, 2011, 06:55:46 pm

Title: DwarfWM
Post by: SirCmpwn on May 07, 2011, 06:55:46 pm
Hello,
I've been working on a new shell in Axe for a while now.  The Axe Terminal I made before was simply a proof of concept that a shell could be done with Axe, and it was leading up to this latest app of mine - TI-Gnome.  TI-Gnome aims to be a complete recreation of the Gnome desktop environment for the TI-83+ family.  It features a fully fledged GUI system, as well as the basic layout for simulated multitasking eventually.  It works with a GUI tree, where GUI is recursively rendered with support for any number of nested containers (within the restraints of memory).  The following GUI elements are supported (and shown in the screenshot below):
-Window: A window is a customizable entity that can be moved about the screen, with optional close, minimize, and maximize buttons, all of whom have their functions enabled by the shell itself.  You may also choose to not show it in the taskbar, and to control it's initial location, size, and maximized/minimized state.
-Text: This provides a simple display of text
-Button: An interactive button that, when clicked, calls a registered event handler's address
-Checkbox: This displays text and a box (which may be checked or unchecked) whose state toggles upon being clicked
-Progress Bar: A progress bar shows an empty box, filled somewhat (a value out of 256)
-Static Image: A static image displays an 8x8 image
-Image Button: An image buttons shows an 8x8 image that shares the same behaviour as a button
-Context Menu: A context menu has a rectangular area of sensitivity that may be right clicked and display a developer-specified set of menu options, each with it's own registered event handler address to be called when it's clicked
-Message Box: A message box is shown when the MessageBox shell function is called and simply alerts the user to text.  The event handlers that are hooked up to the GUI in the demo display such a message box.

Planned Controls:
-Radio Buttons
-List Box
-Combo Box (partially done)
-Text Box
-Window Menus (like the File...Edit...etc menus)
-Timers (these have an event handler that is called every so often for logic to be performed)

Planned Features:
-Multiple desktops
-Getting the Applications, Places, and Settings menus actually working
-Oh, I don't know, perhaps actually launching programs from the shell? ;)

On a side note, this runs at 6 MHz.
Title: Re: TI-Gnome
Post by: Yeong on May 07, 2011, 06:58:27 pm
 :w00t:
Looks epic!
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:01:45 pm
Thanks yeongJIN_COOL!  Glad you like it.  As I'm working on this, I've also been keeping documentation written fairly well up-to-date with the current version.
Title: Re: TI-Gnome
Post by: Yeong on May 07, 2011, 07:03:00 pm
question: is dragging screen doesnt work well yet?
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:03:33 pm
question: is dragging screen doesnt work well yet?
No, it works fine, WabbitEmu just has issues when running from Wine.
Title: Re: TI-Gnome
Post by: Yeong on May 07, 2011, 07:06:42 pm
Oh, I don't know, perhaps actually launching programs from the shell?
This should defenitely be included
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:07:39 pm
This should defenitely be included
I agree :P I'll get that in as soon as possible.
Title: Re: TI-Gnome
Post by: FinaleTI on May 07, 2011, 07:11:40 pm
Awesome!

I can't wait to try it!
Title: Re: TI-Gnome
Post by: Freyaday on May 07, 2011, 07:17:21 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
Title: Re: TI-Gnome
Post by: BrownyTCat on May 07, 2011, 07:21:11 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:21:33 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
NO.
Title: Re: TI-Gnome
Post by: Freyaday on May 07, 2011, 07:22:24 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
I can dream, Can't I?
Something slightly easier then:
Using #omnimaga?
Title: Re: TI-Gnome
Post by: BrownyTCat on May 07, 2011, 07:24:05 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
I can dream, Can't I?
Something slightly easier then:
Using #omnimaga?
I still think that would be difficult to implement.
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:24:42 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
I can dream, Can't I?
Something slightly easier then:
Using #omnimaga?
It might be possible, but it won't be supported by the shell itself.
Title: Re: TI-Gnome
Post by: Freyaday on May 07, 2011, 07:25:55 pm
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
I can dream, Can't I?
Something slightly easier then:
Using #omnimaga?
I still think that would be difficult to implement.
It's already possible to connect a calc to the Internet, right?
IRC is just text, so I think It shouldn't be that hard.
Then again, I could be wrong. <_<
Title: Re: TI-Gnome
Post by: ruler501 on May 07, 2011, 07:40:03 pm
I thought I heard that someone had connected to #cemetech with a calc before. shouldn't be much different to connect to #omnimaga instead should it
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:42:20 pm
I thought I heard that someone had connected to #cemetech with a calc before. shouldn't be much different to connect to #omnimaga instead should it
While it is true that it is possible, it is outside the scope of TI-Gnome itself and not of concern for this thread.
Title: Re: TI-Gnome
Post by: Ashbad on May 07, 2011, 07:49:53 pm
besides GUI and graphical commands, what subroutines will the shell support?  I'm assuming at the very least Ion and MOS routines.
Title: Re: TI-Gnome
Post by: Freyaday on May 07, 2011, 07:50:41 pm
Will it work with the Axe token hooks?
Will it allow us to create and edit programs?
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:51:35 pm
besides GUI and graphical commands, what subroutines will the shell support?  I'm assuming at the very least Ion and MOS routines.
If I can fit them.

Will it work with the Axe token hooks?
Will it allow us to create and edit programs?
Depends on how much space I have.
Title: Re: TI-Gnome
Post by: Freyaday on May 07, 2011, 07:53:07 pm
besides GUI and graphical commands, what subroutines will the shell support?  I'm assuming at the very least Ion and MOS routines.
If I can fit them.

Will it work with the Axe token hooks?
Will it allow us to create and edit programs?
Depends on how much space I have.
But that's what multiple pages are for, right?
Title: Re: TI-Gnome
Post by: Ashbad on May 07, 2011, 07:53:25 pm
Will it allow a way to compact Axe programs?  Such as compatibility to hold large routines so an axe program would only need to call to them through a wrapper-axiom?
Title: Re: TI-Gnome
Post by: SirCmpwn on May 07, 2011, 07:54:19 pm
But that's what multiple pages are for, right?
Not in Axe it isn't :P

Will it allow a way to compact Axe programs?  Such as compatibility to hold large routines so an axe program would only need to call to them through a wrapper-axiom?
That's what shells are for :D
Title: Re: TI-Gnome
Post by: Deep Toaster on May 08, 2011, 12:02:53 am
Whoa.

Someone should totally base an OS like that off of your kernel.
Title: Re: TI-Gnome
Post by: Munchor on May 08, 2011, 06:00:49 am
(http://www.omnimaga.org/index.php?action=dlattach;topic=8258.0;attach=7650;image)

You just embarrassed my GUI Library.
/me claps.

Nice job SirCmpwn, I look forward to using this.
Title: Re: TI-Gnome
Post by: turiqwalrus on May 08, 2011, 09:04:33 am
[offtopic] whenever I say 'gnome', I pronounce it 'nom' :)[/offtopic]
but seriously, nice job, sir
this looks very nice.
Title: Re: TI-Gnome
Post by: Munchor on May 08, 2011, 09:04:58 am
[offtopic] whenever I say 'gnome', I pronounce it 'nom' :)[/offtopic]
but seriously, nice job, sir
this looks very nice.

I also forgot to say it's REALLY fast.
Title: Re: TI-Gnome
Post by: willrandship on May 08, 2011, 09:24:08 am
so, does it running at 6 mhz limit other progs from running at 15 mhz? I don't think it should, but I'm not sure.
Title: Re: TI-Gnome
Post by: JosJuice on May 08, 2011, 10:10:12 am
so, does it running at 6 mhz limit other progs from running at 15 mhz? I don't think it should, but I'm not sure.
There's no way to prevent assembly code from running in 15 MHz other than making programs not work at all on 83+SE and newer.
Title: Re: TI-Gnome
Post by: Runer112 on May 08, 2011, 10:28:11 am
JosJuice, assembly programs will run at 6MHz by default on every calculator model. They are fully capable of running at either 6MHz or 15MHz on the 83+SE and newer, as chosen by the programmer.
Title: Re: TI-Gnome
Post by: JosJuice on May 08, 2011, 11:03:48 am
JosJuice, assembly programs will run at 6MHz by default on every calculator model. They are fully capable of running at either 6MHz or 15MHz on the 83+SE and newer, as chosen by the programmer.
Yes. What I was saying was that there was no way for the shell to prevent programs from running in 15 MHz.
Title: Re: TI-Gnome
Post by: Deep Toaster on May 08, 2011, 11:32:25 am
There's no way to prevent anything from happening.
Title: Re: TI-Gnome
Post by: Broseph Radson on May 08, 2011, 12:37:15 pm
This. Is. EPIC.

That is all.
Title: Re: TI-Gnome
Post by: Freyaday on May 08, 2011, 02:14:32 pm
Wait, is that an Axe I see as a window icon in the second window?
Title: Re: TI-Gnome
Post by: shmibs on May 08, 2011, 03:18:50 pm
if you want to 'compete' with other shells it would probably need to be a multi-page app, especially because axe is a bit larger than asm. i love the way it looks, though, and would probably use this regardless =D
Title: Re: TI-Gnome
Post by: DJ Omnimaga on May 08, 2011, 03:23:50 pm
IMHO to compete it would have to be the opposite. Certain people dislike using DCS regularly because of its size, but they like to use it for its features. DCS pretty much outmatches MirageOS now.

This looks nice by the way and I like the look, but with Doors CS it will be hard to compete, so my suggestions is to make your shell do things that DCS doesn't, such as fitting in one single page app. It doesn't necessarily need as many features, but try to provide enough, while sticking to a 1 page app and some appvars (which might be the challenge, especially that Axe code is larger than ASM sometimes).

I think DCS will still be the most popular shell regardless, but it would be nice to see how this turns out, plus this would be another alternative to the existing shells.
Title: Re: TI-Gnome
Post by: SirCmpwn on May 08, 2011, 05:31:10 pm
Yeah, I'm going for smallness and other constraints.  And programs run differently under Gnome than they do from TIOS.  I'll wait to explain how it works until later, cause it's quite complex.

EDIT: This project is hereby rechristened to DwarfVM.
Title: Re: DwarfWM
Post by: jnesselr on May 08, 2011, 07:47:09 pm
You may have already said this, but what is the API for this like? (Note, if that is under how it works, then by all means, wait)
Title: Re: DwarfWM
Post by: DJ Omnimaga on May 08, 2011, 07:50:09 pm
I see. However could you explain a bit what you mean by running differently? Does it means that your shell will not support any of the existing ASM programs and games compiled for other shells?

As for the name changes I assume it is due to the name criticism on Cemetech? Unfortunately I do not know how Gnome looks like, since I am not a Linux user, so I am not one to judge on the name. The new one seems nice too, but what does WM stands for?
Title: Re: DwarfWM
Post by: Juju on May 09, 2011, 01:19:15 am
WM = Window Manager right? Also nice project Sir.

Lol Dwarf, Gnome, nice pun here :P
Title: Re: DwarfWM
Post by: Munchor on May 09, 2011, 07:24:28 am
Dwarf and Gnome, XD I like the new name too ;D
Title: Re: DwarfWM
Post by: SirCmpwn on May 09, 2011, 05:15:24 pm
WM = Window Manager right? Also nice project Sir.

Lol Dwarf, Gnome, nice pun here :P
WM == Window Manager indeed.
Also, the name was thought up by none other than the infamous nikky.
Title: Re: DwarfWM
Post by: DJ Omnimaga on May 09, 2011, 05:22:01 pm
Ah ok. I thought it was a shell, though? ??? (In this case it would have to be DwarfShell or something like that?) Or maybe I am missing the relation between WM and this program.
Title: Re: DwarfWM
Post by: SirCmpwn on May 09, 2011, 05:24:02 pm
Ah ok. I thought it was a shell, though? ??? (In this case it would have to be DwarfShell or something like that?) Or maybe I am missing the relation between WM and this program.
It is a shell that provides the ability to use it's built in window manager.
Title: Re: DwarfWM
Post by: DJ Omnimaga on May 09, 2011, 05:28:04 pm
Ah ok I see now. I wasn't sure because both shell and vm names seemed to be totally different things.
Title: Re: DwarfWM
Post by: BrownyTCat on May 13, 2011, 10:50:28 am
This looks to be awesome!
So, um, will we be able to use Omnimaga from it?
I find that highly unlikely.
I can dream, Can't I?
Something slightly easier then:
Using #omnimaga?
I still think that would be difficult to implement.
It's already possible to connect a calc to the Internet, right?
IRC is just text, so I think It shouldn't be that hard.
Then again, I could be wrong. <_<
I have an Arduino, which you need for CalcNet support, and making a terminal looks really hard.
Title: Re: DwarfWM
Post by: SirCmpwn on May 13, 2011, 03:59:04 pm
Terminal would not be too difficult, and CalcNet support is a ways off.
Title: Re: DwarfWM
Post by: BrownyTCat on May 13, 2011, 09:33:54 pm
Terminal would not be too difficult, and CalcNet support is a ways off.
I love GNOME. Dwarf is a good parody as Windows is to Doors CS
Title: Re: DwarfWM
Post by: ralphdspam on May 13, 2011, 11:53:48 pm
The interface looks great!  Can you add stuff like changing TI-OS settings or something like that?
Title: Re: DwarfWM
Post by: SirCmpwn on May 14, 2011, 03:18:54 pm
The interface looks great!  Can you add stuff like changing TI-OS settings or something like that?
Eventually, yes.