From: Carsten Haitzler (The Rasterman) <raster@ra...> - 2008-10-26 09:06:48
ok. i've been doing some heavy surgery on the todo list for e17. i have been
hacking away at the first-run wizard.
what is this? it is a module - it's job is to load sub-modules (.so files) 1
per page, and run them in sequence. it's job is to ask a few basic questions
and set e up for you then launch you in - never to need to be run again (unless
you choose so). this means e's default out-of-the-box setup is going to change.
all new users without any ~/.e config will see this. those with it will remain
blissfully unaware (though poorer for the lack of ever having met mr. wiz).
so how does this work?
1. e's default config will be hyper-minimal with NOTHING but 1 module to load -
wizard. nothing else.
2. this wizard by default has a page to select from other profiles. i've added
a "standard" profile in which is the old default. i have also added in others -
most with minor changes each from the standard, but mostly as tests/showing
what can be done.
3. please do test it though - rm -rf ~/.e/ and run e and see. it'll ask for a
language, then a profile and a "system menu". then restart e and use that
profile. that simple.
the cool bit here is we can add mountains of pre-canned profiles all we want,
or distro maintainers can add them (or split them into separate packages from e
- ll e needs is the default profile which sets up the wizard. if you have no
other profiles than default you're in trouble as you'll just be stuck talking
with the wizard forever as you won't be able to move beyond the profiles
selector until you chose one). distro integrators can also write their own
wizard modules (look at page_*.c in the wizard module dir). the wizard pages
are tiny (50-200 lines of c just to do some simple setup stuff). they are
executed in alphabetical order (eg page_000 then page_010, page_020 etc.). so
if a distro maintainer wants to add things like:
* set user password first time the are logged in
* set time and date first time logged in
* set up network first time logged in
etc. - a simple wizard page will do the job. over time e may grow some of
these, and may have them shipped and enabled by default from our source (it'd
be up to packagers to disable the modules they don't want from their packages
as well as understand dependencies of them - eg page_020 selects profile and
page_070 kind of assumes the user went and selected a profile back in page_020.
right now these are the only indirect dependencies).
some pages are invisible (070 for example) and it just "does stuff". 000 is
minimal - all it does is show a title and wait 2 seconds.
so basically - check out the new stuff, i hope it works for you. it's one of
the big TODO items that was on e17's todo list to do before being out (in terms
of features). i personally consider this a must as a way to cleanly get users
set up with a config as well as allow integrators a clean way to slot in and
make this work for them without having to do hacks - like some have done.
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster@...