screenlets-dev team mailing list archive
-
screenlets-dev team
-
Mailing list archive
-
Message #00306
Re: Screenlets developpement ?
Hello everybody,
As you may have noticed, I have created a new branch of Screenlets and a
new team to drive it (see https://launchpad.net/~screenlets-stayinalive
and https://launchpad.net/~screenlets-stayinalive). I didn't plan to
start a new branch for good. I already had some fixes and mods for
Screenlets in the pocket, because I adapted it to an Estonian localized
Ubuntu distro called Estobuntu (see
http://estobuntu.org/estobuntu-english). I just didn't want to loose all
this work and reading the Screenlets mailing list and bug reports, it
appeared to me that this project is dead for more than two years and
nobody cares. So this is my apology for splitting up.
Seeing now some movement on Screenlets main branch, I think it would be
good for me to merge my changes and continue with one original
Screenlets. However, there will be a problem whether to continue from
Screenlets or Universal Applets. For my part I chose Screenlets for my
mods, because Screenlets worked "out-of-the-repo" and U-A had problems
with really basic things (and was not tested in wild). Since I have by
now an updated and quite reasonably well working modification of
Screenlets branch (at least in Ubuntu Maverick), I suppose this can be
merged first, and then part by part, U-A can be added (while Natan
cleans up the U-A source tree and gives some basic comments on what is
good and stable and what is just a sketch).
What is that I have done for Screenlets? I have tried not to add any
functionality that would break anything, just in order to use the
current iteration the best way. I even avoided fixing things which were
straightforwardly stupid in the code, but still worked.
Screenlets Core
* Applied the fixes I thought reasonable from the bug tracker (but
not all of them).
* Fixed the UI to work with latest Ubuntu distros and did some
cosmetics (tray icons, tray menu icons, icons on some buttons, some menu
updates etc).
* Fixed the bugs with loading themes and Screenlets with the same
name (implemented versioning).
* Implemented logger.py from U-A.
* Doubled some variables and added some functions in order to make
Screenlets eat both from the pot of U-A and its own.
* Updated (and reworked) part of the translation strings and made
it cooperate with Launchpad translations (auto-updates and stuff).
* Created a command line Screenlets Debianizer (more to follow).
* Implemented already present Screenlets class __requires__ field
to point to required packages.
* Moved most of the Screenlets from the Core package to Extras
package and left only six of them (Calc, Clock, Flower, Notes,
Slideshow, Trash).
* Linked "Get more Screenlets" to
http://www.screenlets.org/index.php/Get_more_screenlets instead of the
Screenlets.org own Screenlets list.
The hottest news is debianizing and installing from repo, which hasn't
been really available before. Installing straight from the repository is
the safest way of installing anything and users will receive updates of
course, dependencies are tracked etc. I made all this relevant and
available for the Screenlets. The user has now four different sockets
for Screenlets:
1) /usr/share/screenlets is the place where the basic example
Screenlets are installed. These are really for the example and should be
generally usable or fun. Now they are part of Screenlets Core package,
but maybe it should be made something like screenlets-basic-pack. It
includes only six Screenlets now, but I suppose if we find suitable
Screenlets which work fine and are polished enough we can raise the
number to 16 or something like that. More would be already hard to grasp
to users who want to just check it out (no need for too specific
screenlets).
2) /usr/share/screenlets-packs is the place where Screenlets
additional packs would be isntalled. These would be thematic I suppose,
for example screenlets-clocks-pack, screenlets-networking-pack,
screenlets-weather-pack etc. These packs have the same status as the big
screenlets-extra-pack, which presently contains almost all the U-A
screenlets I made to, if not to work then at least run with Screenlets
Core (last generation Screenlets are screenlets-extra-pack-old). These
packs cannot overwrite each others contents. If extra-pack is installed,
user generally cannot have overlapping smaller packs and vice versa.
3) /usr/share/screenlets-indiv is the place where individual
debianized Screenlets are installed. This should be actually the main
line for installing Screenlets. The big packs mentioned in the last
paragraph are more like to have a look what are the possibilities and
which Screenlet seems to be most usable. But when this is decided for
user, it would be meaningful to uninstall the big package and not waste
the disk space, and more important the UI space for the garbage that is
not needed. Just to install the individual ones really needed and get
the automatic updates for them.
4) ~/.screenlets/ will stay the place where user will manually (or
from Screenlets Manager) install the Screenlets and themes. By now
themes are not installed from repositories, so this is the only place
where user-installed themes will be. Themes can be installed there
without having a Screenlet itself installed in ~/.screenlets/ directory.
All these four sockets are checked for the latest version of an
individual Screenlet by Screenlets Manager and daemon. So if user
installs a newer version in any of those places, it will be used. So the
correct version string in the Screenlet class header will be really
essential. Themes will be checked from all system directories and, from
the Screenlet's own directory and from the user home
(~/.screenlets/*/themes/). Theme versions will not be checked, but the
theme in user's home directory will be preferred to the ones in system
directories (the order is: user -> individual deb -> deb from package ->
core package).
Individual debianized Screenlets are created automatically by Screenlets
Debianizer and uploaded to PPA. Debianized Screenlets have proper
versioning and the dependencies will be added from Screenlet class
header. It will be convenient to find desired Screenlet quickly from
package manager by the pattern foobar-screenlet[-foo] (the last part
would be for the modifications of the Screenlet).
All this makes Screenlets a quite usable piece for my mind and still
worth being alive for couple of years (although I have some ideas about
the future). I don't know how much all this helps the development, but
it is at least something.
What I did notice and not fix:
* Menus doubleing when adding same Screenlets from cache. I just
didn't bother, because this happened too seldom.
* Some strange issue with the theme loading and overriding. The
colors overidden by theme were not always used and this flickered during
one session couple of times because of some unidentified action.
* Many individual Screenlets need to be updated to work fine and
even to function (for example network speed Screenlets do not work
really etc). I didn't bother to fix all this at once. This was not my goal.
Results of my work can be checked out in reality from Screenlets Stayin
Alive PPA (ppa:screenlets-stayinalive/screenlets,
https://launchpad.net/~screenlets-stayinalive/+archive/screenlets). I
have put there the Screenlets Core 0.1.3 and all the individual
Screenlets from screenlets-extra-pack as well as the extra-pack itself
(and extra-pack-old). Have a look and give your feedback!
To be honest, I don't plan to get really into developing Screenlets into
something amazing. I just wanted to fix it for use. So I might do
something in the future, but I don't know if I have time to spend. If
that's OK by your mind, I will first just merge my code with main
branch. I can later try to merge the code with U-A and manage things a
bit, but I don't give any promises.
I have also created some documentation with the Stayin' Alive project...
Some explanations and installation instructions
http://www.screenlets.org/index.php/Screenlets_Stayinalive
What's not written up here has probably got marked in
http://www.screenlets.org/index.php/Screenlets_Stayinalive_Documentation
Now the main questions for me are, if this stuff is good enough:
1) to be put into Screenlets Team's main PPA as legitimate
Screenlets 0.1.3... ?
2) to be merged with Screenlets main code branch... ?
3) and if the idea of having the structure of separate a)
screenlets, [a1) screenlets-basic-pack,] b) screenlets-extra-pack [c)
and screenlets-dev containing screenlets-packager/debianizer] is good
enough to be realized for the main Screenlets project... ?
If any of this sounds reasonable to you, please give comments and your
preferences about the specifics of it. Otherwise I have to keep my thing
separately as the Screenlets' last retro-nostalgic Stayin' Alive
project. But as I think my modifications really work, I want to publish
them to the community anyway. I believe that publishing under main
Screenlets project would be good, because it would bring some publicity
to the project and maybe some new people would be interested in development.
And the last word...
Actually I believe that in the coming future Screenlets need to be
developed more as a Compiz plugin than a standalone system (or set of
plugins or/and combined with some applet/application
install/configuration system). Nowadays absolutely every application can
be a widget on the screen. There is no need for Screenlets framework
like the present one. I believe, the point is to make it easy for
applications to offer a widget mode for users. So there will be no need
for separate Screenlets or Universal Applets. I believe so-to-call
Screenlets should be more integrated into the desktop and window
manager. I believe this needs some really good thinking and design and
I'm not sure if that's too much connected with the current Screenlets or
even Universal Applets (at least not the source code I believe). But for
sure having Screenlets ready and working is a stepping stone to some
wilder future developments.
Maybe Natan can comment on how Universal Applets positions among these
things. The project anyway cries for proper documentation as I believe,
there are basically only some vague blueprints.
Sincerely "etc",
Guido Tabbernuk
29.10.2010 04:15, Natan Yellin kirjutas:
Maybe. I'll try to look at it next week.
On Thu, Oct 28, 2010 at 9:10 PM, Julien Lavergne
<julien.lavergne@xxxxxxxxx <mailto:julien.lavergne@xxxxxxxxx>> wrote:
Do you have the possibility to quickly isolate the part of the
code using GtkPlug/GtkSocket ? So it will be easier to merge the code.
Otherwise, I'll try to look at it, but I think it will take less
time if you look at it (you know the code more than me :)). I can
manage the code merge once it's isolate.
Regards,
Julien Lavergne
On Thu, 28 Oct 2010 20:38:54 +0200
Natan Yellin <aantny@xxxxxxxxx <mailto:aantny@xxxxxxxxx>> wrote:
> Hi Julien,
> I don't have time to work on this atm, but I think we should base
> development off the UA branch. A lot of the code has been
refactored and
> there are a number of bugfixes and new applets/screenlets that
aren't
> present in Screenlets.
>
> I propose taking the UA branch and stripping out all of the
Universal
> Applets functionality. (For now, at least.) I think you'll get a
faster and
> more stable product that way in only a fraction of the time.
(Most of UA's
> shortcomings and bugs are due to problems with the GtkPlug/Socket
> architecture that's used to embed applets anywhere. If we remove
that code
> then everything should be stable.)
>
> Regards,
> Natan
>
> On Thu, Oct 28, 2010 at 5:37 PM, Julien Lavergne
> <julien.lavergne@xxxxxxxxx <mailto:julien.lavergne@xxxxxxxxx>>wrote:
>
> > Hi,
> >
> > Recently, some people show interest to continue the
developpement of
> > Screenlets. I really would like this happens, as the Debian
and Ubuntu
> > Maintainer, an upstream project active is a very good thing :)
> >
> > To avoid confusion, fragmentation etc ... I really think we
should all
> > focus on the main project on Launchpad
(https://launchpad.net/screenlets),
> > and only on one branch (
> > https://code.launchpad.net/~screenlets-dev/screenlets/trunk
<https://code.launchpad.net/%7Escreenlets-dev/screenlets/trunk>).
> >
> > Do you have plan to restart developpement ? There is no
progress since more
> > than 1 year, so I suppose you don't have a plan for the future ?
> >
> > What I can propose, is to give someone else Admin rights on the
> > screenlets-dev team, so we can accept more developers, and
re-start the
> > developpement in only one place.
> >
> > Note that the UA branch is something different, as it's quite
different, we
> > need more time to review it and possibly integrate it. But at
least,
> > re-starting the developpement of the currrent branch will be a
huge
> > improvement.
> >
> > Thanks in advance for your answer.
> >
> > Regards,
> > Julien Lavergne
> >
--
Julien Lavergne <julien.lavergne@xxxxxxxxx
<mailto:julien.lavergne@xxxxxxxxx>>