python desktop

  • Thread starter Riccardo Attilio Galli
  • Start date
K

km

Hi all,
Are there any plans for a pure python desktop for linux ?
are there any similar projects ?
regards,
KM
 
M

Maurizio Colucci

km said:
Hi all,
Are there any plans for a pure python desktop for linux ?
are there any similar projects ?
regards,
KM

This desktop environment

http://segusoland.sourceforge.net

is being rewritten in python, with a different name (probably "Logical
Desktop") and some important changes (KDE integration as a kicker applet,
integrated web browsing, no abstraction from the concept of location
anymore).

(Although I must admit if prolog supported Qt and KDE, I'd use that
instead :) Prolog is incredibly underrated.)
 
V

Ville Vainio

Maurizio> Here it is. Finally a usable version has been
Maurizio> released. Spread the word! ;-)

I get the error:
"""
axp:/home/ville/prj/logicaldesktop# python logicaldesktop.py
Traceback (most recent call last):
File "logicaldesktop.py", line 2975, in ?
selectedLabel = FlashingLabel('This text will change', selectedHBox)
File "logicaldesktop.py", line 212, in __init__
QPushButton.__init__(self, text, parent)
TypeError: unbound method __init__() must be called with QPushButton instance as first argument (got FlashingLabel instance instead)
"""


I presume python-qt3 packages in Debian Sid don't cut it?

I'd also suggest informing at least dot.kde.org and osnews.com of the
release, seems just like the stuff those sites would enjoy - if it
works for mainstream distros, that is. I recall segusoland getting a
very positive response...
 
M

Maurizio Colucci

Hi Ville,

Ville said:
Maurizio> Here it is. Finally a usable version has been
Maurizio> released. Spread the word! ;-)

I get the error:
"""
axp:/home/ville/prj/logicaldesktop# python logicaldesktop.py
Traceback (most recent call last):
File "logicaldesktop.py", line 2975, in ?
selectedLabel = FlashingLabel('This text will change', selectedHBox)
File "logicaldesktop.py", line 212, in __init__
QPushButton.__init__(self, text, parent)
TypeError: unbound method __init__() must be called with QPushButton
instance as first argument (got FlashingLabel instance instead) """


I presume python-qt3 packages in Debian Sid don't cut it?


I really can't help you... the message makes no sense to me :p
I've only used python for a couple of weeks.

FYI, I use suse 9.1 with the packages on the PyQt site.
I'd also suggest informing at least dot.kde.org and osnews.com

Good idea, thanks!
 
M

Maurizio Colucci

Ville said:
"""
axp:/home/ville/prj/logicaldesktop# python logicaldesktop.py
Traceback (most recent call last):
File "logicaldesktop.py", line 2975, in ?
selectedLabel = FlashingLabel('This text will change', selectedHBox)
File "logicaldesktop.py", line 212, in __init__
QPushButton.__init__(self, text, parent)
TypeError: unbound method __init__() must be called with QPushButton
instance as first argument (got FlashingLabel instance instead) """

Ok, fixed in CVS. :) But the change should take a while to appear on
anonymous CVS. If you want to run it now, you just need to replace
QPushButton.__init__ with QLabel.__init__.


By the way, I still don't understand why the code was working perfectly on
my machine:

class FlashingLabel(QLabel):
def __init__(self, text, parent):
QPushButton.__init__(self, text, parent)

???
 
V

Ville Vainio

Maurizio> Ok, fixed in CVS. :) But the change should take a while
Maurizio> to appear on anonymous CVS. If you want to run it now,
Maurizio> you just need to replace QPushButton.__init__ with
Maurizio> QLabel.__init__.

Yep, I can confirm that the fix works.

Nice work, BTW :). The navigability still needs some work (scroll
wheel for scrolling instead of clickable buttons, and keyboard
navigation), but the potential seems great. This would seem especially
handy for providing a "free" UI for various command line programs that
don't really need anything more complicated than "select a bunch of
files and mode of operation".

Is it possible to provide additional paremeters for the operations? It
might be occasionally handy to pop up a dialogue asking for more
options to be passed for the program...
 
D

David Fraser

Maurizio said:
km wrote:





Here it is. Finally a usable version has been released. Spread the word! ;-)

http://logicaldesktop.sourceforge.net

great to see this, was looking at the old version before...
could you perhaps split the logicaldesktop.py into separate modules? it
makes it a bit difficult to find code to do improvements when its 3200
lines long...
Anyway what I was going to try and do:
- make filters work as you type, not just when you press Enter ala
Thunderbird's mail filters
- Try and work out why it thinks my HP CD writer is a Plextor CDROM -
where do you pick up this information?

Anyway I love some of the concepts and its looking nice...

David
 
S

seguso

David said:
great to see this, was looking at the old version before...
:)

could you perhaps split the logicaldesktop.py into separate modules? it
makes it a bit difficult to find code to do improvements when its 3200
lines long...

Why? I mean, actually it is easier in a single file if you use emacs,
because you use IM-Python to browse the classes. And if you use eric3, you
don't care about how many files, since you use the class browser to move.

Maybe I don't realize some advantage of splitting the code...

Anyway, I will need to partition the code in some way, because I want to
make two versions eventually: a gnome-panel applet and a kicker applet.
Anyway what I was going to try and do:
- make filters work as you type, not just when you press Enter ala
Thunderbird's mail filters

This was my first thought, but then I thought 1) it would be too slow 2) you
type only once anyway. The preferred method is to use the recent filters
list.
- Try and work out why it thinks my HP CD writer is a Plextor CDROM -
where do you pick up this information?

I am a bit ashamed, but here it is:

THE DEVICES ARE COMPLETELY INVENTED. I need to scan the devices in the
computer, but I am clueless how to do that.
Anyway I love some of the concepts and its looking nice...

Are you implying that there is some concept you don't like?

Thanks a lot for the feedback!
 
D

David Fraser

seguso said:
David Fraser wrote:




Why? I mean, actually it is easier in a single file if you use emacs,
because you use IM-Python to browse the classes. And if you use eric3, you
don't care about how many files, since you use the class browser to move.

Maybe I don't realize some advantage of splitting the code...

Anyway, I will need to partition the code in some way, because I want to
make two versions eventually: a gnome-panel applet and a kicker applet.

One of the main reasons it that it makes easier for people to contribute
changes... Also a lot of what is in the code is really configuration,
not code, for example the list of programs, verbs etc.
And as you said, making different programs that use the code would be
easier. For example, I use XFCE not KDE or Gnome.
Also there could be a bit more clarity on what is logical code
(filtering the lists) and what is user interface code. That way somebody
could quickly write a non-Qt version.
Not complaining here - I think its great, just trying to give helpful
suggestions. An open source project is more than the code, and if you
can make it easier for others to participate it will move forward more
quickly.
This was my first thought, but then I thought 1) it would be too slow 2) you
type only once anyway. The preferred method is to use the recent filters
list.

If you have some clever method to do lazy filtering a short time after
someone stops typing it will work nicely. This is how the thunderbird
search boxes work. And I can't use the recent filters list for something
I haven't typed yet :) The advantage of my proposal is the quick
feedback while you are typing...
I am a bit ashamed, but here it is:

THE DEVICES ARE COMPLETELY INVENTED. I need to scan the devices in the
computer, but I am clueless how to do that.

OK, well it got most of them right :) If we put the detection code in a
separate module maybe it can use some of the freedesktop.org stuff to
handle devices
Are you implying that there is some concept you don't like?

Well I have thought for a long time that something similar to this needs
to happen and am very pleased to find someone doing it in Python :) :) :)
What I am not sure about is the categorisation into verb, file, program,
device ... for example device may not be relevant for a lot of actions.
If this could be more dynamic it would be really nice. Also a way for
users to define programs, devices etc...
Thanks a lot for the feedback!

Sure! One more thing - initially it comes up on my machine only
displaying verbs. A means to switch which categories are available would
be cool

David
 
S

seguso

Hi David :)

Maybe we should continue the discussion on the mailing list...

David said:
One of the main reasons it that it makes easier for people to contribute
changes... Also a lot of what is in the code is really configuration,
not code, for example the list of programs, verbs etc.
And as you said, making different programs that use the code would be
easier. For example, I use XFCE not KDE or Gnome.
Also there could be a bit more clarity on what is logical code
(filtering the lists) and what is user interface code. That way somebody
could quickly write a non-Qt version.

Yes, this is important.
Not complaining here - I think its great, just trying to give helpful
suggestions. An open source project is more than the code, and if you
can make it easier for others to participate it will move forward more
quickly.


If you have some clever method to do lazy filtering a short time after
someone stops typing it will work nicely.


That's an idea! A timer. Yes, of course. :) Thanks!
This is how the thunderbird
search boxes work. And I can't use the recent filters list for something
I haven't typed yet :) The advantage of my proposal is the quick
feedback while you are typing...

OK, well it got most of them right :)
:-D

If we put the detection code in a
separate module

The problem is, we don't have detection code :)
maybe it can use some of the freedesktop.org stuff to
handle devices

You mean HAL? I hope it can be accessed in python...
Well I have thought for a long time that something similar to this needs
to happen and am very pleased to find someone doing it in Python :) :)
:) What I am not sure about is the categorisation into verb, file,
program, device ... for example device may not be relevant for a lot of
actions.

Of course. Just close the device panel. Is there something obvious I am
missing? :)
If this could be more dynamic it would be really nice.

Maybe you want to close the dev panel automatically? That's reasonable... it
could be done.
Also a way
for users to define programs, devices etc...

That'a a difficult territory... in a sense, you can already doing it by
modifying the python code :) So what exactly is the problem we want to
eliminate?
Sure! One more thing - initially it comes up on my machine only
displaying verbs. A means to switch which categories are available would
be cool

Categories? What do you mean?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,202
Messages
2,571,057
Members
47,661
Latest member
sxarexu

Latest Threads

Top