SKopete

Karamba & Superkaramba

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
5.0
Description:

SuperKaramba interface to Kopete. Intended to diplay a subset of your most important contacts on the desktop.
Note: The first time it runs, it will show all online contacts. Once you run the config dialog and click OK, it will only show the contacts you have selected to be monitored.

REQUIREMENTS:
- KDE >= 3.5.0
- SK >= 0.37
- Python >= 2.4
- PyQt >= 3.14
- PyKDE (Optional): Only tested with PyKDE from the kdebindings module. Gentooers please use the (kde-base/pyde-3.5.0 ebuild)
- kttsd (Optional): Enables speaking out of notifications

FEATURES:
- Displays the Kopete contact list on the desktop. Support automatic and configurable positioning/resizing
- Displayed contacts are configurable
- Has the buddy pounce/notification feature. See screenshot of config dialog
- Has basic Kopete controls (Online, Offline, Away and Start Chat)
- Indicates basic presence status (online, offline and away) for all contacts
- Resource (dcop calls) usage is independent of number of contacts
- For theme developers. I have built on the SKoot API to create basic layout management and event dispatching classes. They are independent of SKopete (see skopete_gui.py). If there's interest, I'll post a link to the API docs. Similarly the communication with Kopete is in a independent backend (kopete.py)

USAGE:
- Ensure Kopete is running
- In the config dialog, you can specify which contacts should be monitored, and also whether to display offline contacts
- By default SKopete, automatically resizes and repositions itself as contacts go online/offline. If you want it to stay in place, choose the manual layout policy in the Look&Feell section of the config dialog
- You can select custom photos as well a notifications and pounces for all contacts in the Buddies section of the config dialog.
- If you make any changes to the contact list in Kopete, you should reload SKopete via the right click menu

CAVEATS:
- If you have a non-english KDE desktop and no PyKDE, contact status updates will take O(n) queries
- Uses undocumented/unnamed Kopete DCOP interfaces.
- Resource (dcop calls) usage is O(n) in number of accounts you have
- Only tested with the MSN and Yahoo protocols, feedback on other protocols is welcome.
- Popup menu icons won't show if you don't have PyKDE, this is limitation of SuperKaramba, that I don't care enough to work around. One possible, (untested) workaround is to unzip the .skz file and run the theme using the .theme file

TROUBLESHOOTING
- Ensure you satisy all the REQUIREMENTS from above
- Is Kopete running?
- If you have enabled PyKDE in the config dialog, please try disabling it first, as PyKDE seems to cause a lot of bugs.
- In order to help me debug it, please run superkaramba in a terminal like so:
superkaramba skopete.skz > skopete-log 2>&1
Post the top 20 lines from the file skopete-log
Last changelog:

13 years ago

ver 1.3.1
- Patch to add support for pykde >= 3.16.0

ver 1.3.0
- Added support for away/available messages

ver 1.2.10
- Added support for Gadu-Gadu

ver 1.2.9
- Fixed IRC bug with kopete 0.12

ver 1.2.8
- Fixed (I hope) problems with IRC contacts

ver 1.2.7
- The subprocess.Popen.communicate() method is not signal safe, added a workaround. For those of you that get 'Interrupted system call' errors on running SKopete in a terminal, this release should be of help. If you continue to get them, try installing the latest PyKDE and enabling PYKDE for DCOP calls in the config dialog.
- Patched so that the above error doesn't prevent the config dialog from loading.

ver 1.2.6
- Fixed memory leak caused by incorrect use of PyKDE for DCOP calls. This will only have affected you if you enabled PyKDE for DCOP calls in the config dialog

ver 1.2.5
- Display pics are now centered if they are smaller than the configured picture size
- Added localization support via KLocale. If you have a non-english desktop and a working PyKDE, you should upgrade to this release

ver 1.2.4
- Fixed bug that was causing all contacts to be displayed, not just monitored contacts. Bug was introduced in the last release, by an indentation error of all things.

ver 1.2.3
- Switched to using KDE File chooser dialog
- Squashed a couple of bugs in the custom pic display logic
- Coded an ugly hack to achieve correct online status detection on non-english systems. I would appreciate testing of this.
- Moved to using svn and eric3 for development

ver 1.2.2
- Fixed bug where contacts status was not being correctly detected on a non-english KDE installation. Unfortunately, this makes PyKDE a requirement.
- Coded workaround to have display pictures scaled smoothly.

ver 1.2.1
- Added preliminary unicode support. This really needs testing as I don't have any contacts with non ascii characters in their display names, and I can test only so many cases by manual modification

ver 1.2.0
- Added a config option to allow manual positioning, by popular demand. Since I don't use this feature, it hasn't been tested extensively. Bug reports are welcome
- Added the ability to set a custom display picture for a contact. Again bug reports are welcome.
- Also changed the config dialog to display scaled instead of cropped pictures

ver 1.1.2
- Added a config option to toggle the use of PyKDE for DCOP calls, as people seem to be having trouble with it. It is disabled by default. Enable it for a speed-up.

ver 1.1.1
- Changed pidof kopete to ps -C kopete -o pid= as some distros (fedora) don't have pidof in the users PATH

ver 1.1.0
- Implemented the DCOP calls in PyKDE (if available). This will make the loading of the contact list much faster.
- Fixed a bug that was causing one contact (the last in the list not to be loaded)

ver 1.0.4
- Fixed addressbook contacts not displaying bug. Also changed logic for detection of self contact.

ver 1.0.3
- Code cleanups/bug fixes

ver 1.0.2
- Fixed to be compatible with PyQt versions >= 3.14

ver 1.0.1
- Added code to handle (I hope) contacts whose display names have special characters

ver 1.0.0
- Version bump to stable, since I've received no bug reports

C

kovidgoyal

15 years ago

Well if you compile it from source against python 2.4 it should use that. Alternatively, you could uninstall python 2.3

Report

rokkford

15 years ago

oops, can't remove python2.3 - this would kill my system (;

Report

C

kovidgoyal

15 years ago

Ah well then SK is using python 2.3. You can check this by adding
import sys
print sys.version
to the top of the .py file of any SK theme

Report

rokkford

15 years ago

added it to kopete.py - and than? how do i get an output of the version?
sorry for bugging you (;

Report

C

kovidgoyal

15 years ago

Nope subprocess is part of the basic python libs. Do you have an older version of python as well. Maybe SK is compiled against an older version.

Report

rokkford

15 years ago

is there any chance to let it run with python2.4??

Report

rokkford

15 years ago

yes, i have python2.3 as well

Report

C

kovidgoyal

15 years ago

You need python 2.4 for the subprocess module.

Report

rokkford

15 years ago

any special python2.4 package? because python2.4 is installed...

Report

C

kovidgoyal

15 years ago

Was this after an update? If so please try deleting ~/.superkaramba/skopete

Report

ogetbilo

15 years ago

I just saw your theme. I had the idea for doing such a theme for months but I didn't have the time to sit down and write it from scratch.

Thank you, I really needed such a theme.

Report

C

kovidgoyal

15 years ago

Thanks it's good to be appreciated.

Report

rokkford

15 years ago

using
superkaramba > skopete-log 2>&1
superkaramba starts but not skopete.
where do i have to put it?

starting skopete via gui, skopete starts but nothing is shown except for the window.
any ideas?

Report

C

kovidgoyal

15 years ago

After starting SK in a terminal you need to start SKopete in the gui, alterbatively, you can use the command superkaramba skopete.skz > skopete-log 2>&1

Report

burkina

15 years ago

Ciao,

I'm getting this error when trying to launch skopete:

Traceback (most recent call last):
File "skopete.py", line 12, in ?
import subprocess, sys, traceback
ImportError: No module named subprocess

I get a similar error with Liquid Weather.
I have Python 2.4.1 installed with PyQT, BUT it is a local install. Superkaramba was compiled against this python (is there a way to check it out?).
I also have an older python (2.2.3) in the default dir:

/usr/bin/python

I think it's possible that the problem is that skopete recalls this version and not the newer one.

What do you think?

Thanks,

Stefano

Report

C

kovidgoyal

15 years ago

You can check what version of python SK is running by adding these lines to an .py theme file
import sys
print hex(sys.hexversion)

Report

burkina

15 years ago

Ok, I did it and it happens what I thought.

When I start superkaramba skopete.py, the version is:

0x20203f0

which, as I verified, corresponds to python 2.2.3, installed on /usr/bin.
My local python (which should be the one I compiled superkaramba against) is, instead

0x20401f0

i.e. 2.4.1.
Where does the theme calls for python?
I use amaroker, which also uses python, and it works smoothly, so I guess it's not a problem with my superkaramba installation. There should be a way to tell superkaramba which python to use, not the default one!

Thanks,

Stefano

Report

C

kovidgoyal

15 years ago

The problem is that SKopete uses many things that are only available with python 2.4.

I don't know of any way to force SK to use a particular python installation, you could ask about that on the SK forums. Though I imagine compiling it with 2.4 should make it use 2.4.

Report

neversfelde

15 years ago

Hi,

got the same problem on my kubuntu 5.10, but I have KDE 3.5 running SKopete tries to load the contacts, but it never gets an result. Any idea how to fix it?


Thanks

Report

C

kovidgoyal

15 years ago

Run SK in a terminal and post the topmost error you get when starting SKopete

Report

TheAlbatross

15 years ago

Hi there,

After installing SKopete (versions 1.1, 1.1.1 or 1.0.4) I keep getting the message which says "Loading list of contacts". It just doesn't update.
I'm running SuSE 10.0 and Kopete 0.10.3.

Any idea about how to fix the problem?

Thanks in advance. :)

Report

TheAlbatross

15 years ago

Sorry, just noticed that I need KDE version 3.5.

Report

hds

15 years ago

got it to work now, but:

i cant position the theme at a place i like. i realize there is a layout option center/top/bottom - but i would like to define the position myself.

if i toggle locked position, and move the theme around, lock the position again, it doesnt remember its last position.

another problem if i reload the theme:

SKopete would be a lot faster if you had PyKDE installed
SKopete: Detected screen size: 1600x1200
Exception in thread Thread-8:
Traceback (most recent call last):
File "/usr/lib/python2.4/threading.py", line 442, in __bootstrap
self.run()
File "/usr/lib/python2.4/threading.py", line 605, in run
self.function(*self.args, **self.kwargs)
File "/home/hds/Karamba/skopete.skz/skopete.py", line 254, in loadMCL
File "/home/hds/Karamba/skopete.skz/kopete.py", line 323, in __init__
File "/home/hds/Karamba/skopete.skz/kopete.py", line 201, in __init__
File "/home/hds/Karamba/skopete.skz/kopete.py", line 61, in pipedDcopCall
File "/usr/lib/python2.4/subprocess.py", line 1041, in communicate
rlist, wlist, xlist = select.select(read_set, write_set, [])
error: (4, 'Unterbrechung w\xe4hrend des Betriebssystemaufrufs')

Report

hds

15 years ago

well, OK, i am just compiling the other pykde to see if this fixes my problems.
hold thumbs ;)

btw.. can i put in my own pictures for the contacts instead of the picture the user provided?

Report

hds

15 years ago

Traceback (most recent call last):
File "/home/hds/Karamba/skopete.skz/skopete.py", line 479, in widgetUpdated
File "/home/hds/Karamba/skopete.skz/skopete.py", line 477, in widgetUpdated
AttributeError: 'NoneType' object has no attribute 'update'

this is continuing all and all over.

kde-base/pykde-3.5.0
dev-python/sip-4.2.1
dev-python/qscintilla-1.5.1
dev-lang/python-2.4.2

i give up for today.

Report

13 years ago

ver 1.3.1
- Patch to add support for pykde >= 3.16.0

ver 1.3.0
- Added support for away/available messages

ver 1.2.10
- Added support for Gadu-Gadu

ver 1.2.9
- Fixed IRC bug with kopete 0.12

ver 1.2.8
- Fixed (I hope) problems with IRC contacts

ver 1.2.7
- The subprocess.Popen.communicate() method is not signal safe, added a workaround. For those of you that get 'Interrupted system call' errors on running SKopete in a terminal, this release should be of help. If you continue to get them, try installing the latest PyKDE and enabling PYKDE for DCOP calls in the config dialog.
- Patched so that the above error doesn't prevent the config dialog from loading.

ver 1.2.6
- Fixed memory leak caused by incorrect use of PyKDE for DCOP calls. This will only have affected you if you enabled PyKDE for DCOP calls in the config dialog

ver 1.2.5
- Display pics are now centered if they are smaller than the configured picture size
- Added localization support via KLocale. If you have a non-english desktop and a working PyKDE, you should upgrade to this release

ver 1.2.4
- Fixed bug that was causing all contacts to be displayed, not just monitored contacts. Bug was introduced in the last release, by an indentation error of all things.

ver 1.2.3
- Switched to using KDE File chooser dialog
- Squashed a couple of bugs in the custom pic display logic
- Coded an ugly hack to achieve correct online status detection on non-english systems. I would appreciate testing of this.
- Moved to using svn and eric3 for development

ver 1.2.2
- Fixed bug where contacts status was not being correctly detected on a non-english KDE installation. Unfortunately, this makes PyKDE a requirement.
- Coded workaround to have display pictures scaled smoothly.

ver 1.2.1
- Added preliminary unicode support. This really needs testing as I don't have any contacts with non ascii characters in their display names, and I can test only so many cases by manual modification

ver 1.2.0
- Added a config option to allow manual positioning, by popular demand. Since I don't use this feature, it hasn't been tested extensively. Bug reports are welcome
- Added the ability to set a custom display picture for a contact. Again bug reports are welcome.
- Also changed the config dialog to display scaled instead of cropped pictures

ver 1.1.2
- Added a config option to toggle the use of PyKDE for DCOP calls, as people seem to be having trouble with it. It is disabled by default. Enable it for a speed-up.

ver 1.1.1
- Changed pidof kopete to ps -C kopete -o pid= as some distros (fedora) don't have pidof in the users PATH

ver 1.1.0
- Implemented the DCOP calls in PyKDE (if available). This will make the loading of the contact list much faster.
- Fixed a bug that was causing one contact (the last in the list not to be loaded)

ver 1.0.4
- Fixed addressbook contacts not displaying bug. Also changed logic for detection of self contact.

ver 1.0.3
- Code cleanups/bug fixes

ver 1.0.2
- Fixed to be compatible with PyQt versions >= 3.14

ver 1.0.1
- Added code to handle (I hope) contacts whose display names have special characters

ver 1.0.0
- Version bump to stable, since I've received no bug reports

12345678910
Be the first to comment
File (click to download) Version Description Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.3.1
updated Jun 10 2007
added Dec 18 2005
downloads 24h
0
mediaviews 24h 0
pageviews 24h 1