← Back to team overview

torios-dev team mailing list archive

Re: [Torios] [VOTE] ToriOS 1.xx and ToriOS 2.xx

 

On 09/15/2016 05:58 PM, Ali/amjjawad wrote:
Dear all,

I'm honoured and glad to announce the beginning of the next phase of ToriOS development cycle.

ToriOS 1.0 has been officially released:
http://torios.top/torios-1-0-has-been-released/

And now, we need to move forward and start a new page. It's time for more achievements and challenges.

I'll make this as short as possible and ask for your kind vote.

  * *ToriOS 1.xx* series/releases/versions will bring no major changes
    but bug fixes + updated packages.
  * *ToriOS 2.0* will be bring major changes or new features NOT only
    updates, fixes, etc.
  * *ToriOS 2.xx* series/releases/versions will bring updates + bug fixes.

That's a very general description and we haven't yet started to go so deep.


I just want to draw the outlines of the future. I just want to let you know what I have in mind for 1.xx series and 2.xx series.

If you have any Q, please ask :)

My vote is: +1 for the above.

If you're unsure, please ask!


Thank you so much ...


--
Remember: "All of us are smarter than any one of us."

Best Regards,
Ali/amjjawad <https://wiki.ubuntu.com/amjjawad>




Hi Ali,

The only major change I can see is a switch in the jwm-settings-manager backend. I have been working on switching it from tinyxml2 to pugixml.

The major reason is that with tinyxml2 if a node does not exist it will return NULL, which in turn (without a freakish amount of testing which made the code incredibly hard to read/maintain and made it very complicated) would make the program randomly crash or not open.

So this is a major change, but the UX will look the same. There will be a few changes to some things though. I have been fixing issues in the original code, as well as beginning to implement a few of the other features, but these changes will be minor. And once I get to the point of release I will send it out for major testing.

Currently I have these parts (mostly) working... I say mostly because I have not done any major testing yet.

autostart (I would like to handle the XDG autostart directories, as well as handle making desktop files to do this, which I already have a program for this, also using FLTK and I could easily bring the code in and adapt it to fit)

icons (only the directories are listed currently, I have most of the code to support Icon themes, and will offer the option to do either which is a big improvement IMO)

keyboard ( I *would like* to add layout/language support but this will be put off for a while)

desktop (better support for some of the file managers nautilus,thunar and of course pcmanfm.... however rox will not be supported in this version as it is no longer developed and non-standard in the way it does things)

mouse (this now shows a window without synaptic touchpad things... i.e. JWM ONLY, if there is no touchpad... which is an improvement)

fonts (this actually works much better now, as I handle choosing the 'bold' or 'italic' fonts, in the current version they do not work)

themes (everything works that I tested)

window (window grouping does not work yet)

shutdown (works just as it should, though I'd like to hide suspend/hibernate if the computer does not support it)

What is left:

panel

menu

supporting the <Inlcude> and <Dynamic> tags, as well as adding in the new features JWM has, though this last point will wait until the program is stable and well tested.


This new version is already MUCH more stable, and will not crash if something is missing. Everything now uses a common 'backend' source/include and this can make a transition to a different XML library much easier in the future (if needed). It also means that most of the UI is decoupled from the backend code, so using a different toolkit (like gtk) in the future could be implemented much more easily. Though I will need to wrap things in

#ifdef

#endif

blocks to remove FLTK code, etc...

But that is not something for anytime in the future, just a nice feature that came with making the code highly modular and much easier to maintain.


This has been long overdue, and has made for many headaches using the settings manager. The new version is faster to load, doesn't crash (ever yet) and is going to be much easier to find/fix bugs in the future, as well as add new features easily. The code to support new JWM features is probably already in place, as most of the different things use the same code base for everything.


Once this is in place I will move the scripts for configuration into a separate package, which will support PPC users (they can simply install torios from a PPA that way without the need to compile things, or download deb packages).

That covers most of my update. I have been busy with real life so I have been quite recently, but I have also been busy with c++ too.

If anyone wants to look at the code, or try a really early alpha of jwm-settings-manager 2.0 let me know, but it is NOT ready for production yet, and may mess things up (though I haven't had that happen yet).

--
Regards


Follow ups