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

I'm sorry you're having so much trouble with it. Could you post the topmost error from the list of repeating errors. After that error occurs, future calls to widgetUpdated fail causing the repeated errors. Thanks.

At the moment there is no ability to choose your own pictures, but I will probably add that feature in the future.

The reason SKopete does not remember its position/allow manual positioning is that it doesn't have a fixed size, as more an more of you monitored contacts come online, it will resize itself automatically. This makes manual positioning a little difficult.

Report

hds

15 years ago

hi!
well, nothing to be sorry about. your work is appreciated - really!!

unfortunately i removed your theme just a few minutes ago. i will be back playing with it if time permits.

you know how it is.. i just try some new things out, on this sunny afternoon (pretty cold outside, but nice sitting at the PC and looking out of the window).

the resizing is pretty important to me, because i have other themes as well (of course). just working on a kubicaramba update :
http://www.kde-look.org/content/show.php?content=20847
´cause my latest work is about 1/2 a year ago. time to get a fresh desktop

OTOH, keep up your good work!
TTYL,
hds

Report

C

kovidgoyal

15 years ago

Well sure, take your time. I have other themes on my desktop as well, but I tend to reserve one column of space for SKopete.

I really like kubicaramba, I used to use it extensively, however, I switched to Aero AIO recently, to save on some desktop real estate.

Its been raining a lot here, which is why I'm spending so much time on this ;-)

Report

hds

15 years ago

Loaded Skopete
sys.path.insert(0, '/home/hds/Karamba/skopete.skz')
Traceback (most recent call last):
File "/home/hds/Karamba/skopete.skz/skopete.py", line 359, in __init__
File "/usr/lib/python2.4/site-packages/dcopext.py", line 30, in ?
from dcop import DCOPClient
ImportError: cannot import name DCOPClient

Report

hds

15 years ago

oh - i just realize kopete has to be running. works now.
though - i didnt expect it to crash superkaramba if kopete isnt running ;)

Report

C

kovidgoyal

15 years ago

It doesn't crash if kopete is not running for me. The traceback you posted in your previous post, is basically because your pykde implementation isn't working (are you using the kde-base/pykde-3.5.0 ebuild?) At any rate that should not cause an error as pykde support is optional and that exception is caught.

Report

hds

15 years ago

hmm, i am using dev-python/pykde

dev-python/pykde-3.12_pre20051013

but it wasnt detected by skopete anyway.

well, if i configure skopete, it stays with status "loading" and doesnt do much. something wrong here, probably. no roblemes with other themes, though..

Report

C

kovidgoyal

15 years ago

Wow...how on earth did you get that to compile? Are you using KDE 3.5.0? PyQt 3.14.1-r1? sip 4.2.1? If you want to use the riverbank bindings, then I would recommend using the latest snaphot from http://www.riverbankcomputing.co.uk/pykde/
You need to make one small change to get it to compile. See this thread
http://www.mail-archive.com/pykde%40mats.imk.fraunhofer.de/msg05768.html

Alternatively just use the kde-base/pykde ebuild. It uses the official bindings from the kdebindings module.

Report

hds

15 years ago

yes, i am using kde 3.5.0

dev-python/PyQt-3.15.1
dev-python/sip-4.3.2

and as i already wrote, i am using the latest snap from riverbank:
dev-python/pykde-3.12_pre20051013

its in portage, btw. just unmask it, if you are on gentoo.
it compiles fine, btw.. no need to patch. it does also compile fine on my pure x86 gentoo (with some minor ~x86 ebuilds)

i dislike to use "kde-base/pykde" because i would have to *downgrade* sip, qscintilla, and whatnot.

well, to make a long story short: is skopete supposed to work with my current environment? for example, soundmania is using pykde as well, and it does fine here. so i suspect a problem with your theme (no pun intended, just questioning).

Report

C

kovidgoyal

15 years ago

Oh sorry...I didn't notice the _pre20051013

Well I haven't tested SKopete in your environment. The traceback you posted is an ImportError, python is unable to import dcop which is part of the pykde bindings, that is why I suspect the integrity of your pykde installation.

However, SKopete, like soundmania should work without pykde. So just to be clear, what exactly happens when you run SK...

As I understand it, it loads the config dialog fine and then when you add contacts to the monitor list and click apply, it freezes with the loading message? What happens if you try to reload the theme manually? Also are the any tracebacks, debug messages in ~/.xsession-errors or a terminal?

Report

hds

15 years ago

i am using gentoo ~x86, if this is of any help?

Report

motyR

15 years ago

Hi,
after solving the pyqt comtability issue i've played a little bit with your app and it's really cool one. after seeing alot of kind of useless karamba themes this one is really prctical and uesable, really one of the niceiest karamba themes i've seen till now.

any way i was wondering if there's a way to present some user defined contact names insted of there real ptotocol name, since i have a lot of hebrew names contacts they get messed up on my desktop, maybe there's away to map contact email's(allways in english) to a user defined name?

10x alot for all your effort:)

Report

C

kovidgoyal

15 years ago

Thanks...it is good to be appreciated. I believe you can define custom display names for contacts in Kopete, SKopete uses these display names. You can change the display name by right clicking a meta contact in Kopete and selecting properties.

Report

shabbadu

15 years ago

Hi
I´m running 1.0.3 on Suse 10.0 and I have an AIM and an ICQ account working in Kopete.I reeally like the idea of this theme but in the moment I just can set my online-status with SKopete.
Is it workig for others with this two protocols? (Just checked the requirements)
Peter

Report

C

kovidgoyal

15 years ago

Could you try the latest version. If it still doesn't work, unzip the .skz file like this
unzip *skopete*.skz
Then edit kopete.py and change DEBUG=False to DEBUG=True near the top and run python kopete.py in a terminal, with Kopete running in the background

Report

xxtobi

15 years ago

Hi Peter, I am running approximately the same config. I can only see those contacts (includes ICQ ones) that are *not* linked to KAddressbook entries (see my post directly above yours). Might this, too, be the case with your buddies?

Report

xxtobi

15 years ago

Hi! First of all a big THANK YOU for version 1.0.2. - it solves my "not being able to run configure dialog" problem reported earlier this week.

Now I have a new one, though: In the configure dialog, I can only choose between 10 different contacts to be displayed, although I have 30 contacts in Kopete's list. I could not find a pattern as to which contacts are in-/excluded in SKopete's list. Without any contact selected for display, you said SKopete would show all online-contacts. This, too, does not work for contacts that don't appear in the list of 10.

Hope this is my last problem before I can fully deploy your awesome app!

Report

C

kovidgoyal

15 years ago

OK well lets try to debug...
Do the excluded contacts belong to a particular protocol? Do they have non-alphanumeric characters in the display names?

Could you mail me a list of the display names of the excluded contacts. I only need the display names not the account IDs. Also what protocols are you using? You can find my email address in my kde-look profile.

Report

xxtobi

15 years ago

Hi Kovid,
thanks for your offer, but I found the reason for contacts not appearing in SKopete: as soon as a Kopete contact is linked to a KAddressbook entry ("Address Book Link" in features dialog) it does not show up in SKopete anymore.
I just reproduced this: I added one of the contacts from Kopete that would show up in SKopete to his address book entry -> "Reload this theme" for SKopete -> boom, contact is gone from the list.
Let me know if you can reproducce this behaviour. And, again, thanks so much for your great support!
Cheers, xxtobi

Report

C

kovidgoyal

15 years ago

Can you send me the output of the following command (to debug your crashing with Yourself as a contact problem)

In a terminal:
dcop kopete qt find MetaContact | grep -B5 ICQMyself

Thanks

Report

xxtobi

15 years ago

Hi Kovid, here we go:

qt/KXMLGUIClient-KActionCollection/viewMetaContactHistory
qt/kopete/KopeteContactList/unnamed1(Kopete::MetaContact, 0x8254cd8)
qt/kopete/KopeteContactList/unnamed1(Kopete::MetaContact, 0x8254cd8)/unnamed1(MSNContact, 0x83a4f78)
qt/kopete/KopeteContactList/unnamed1(Kopete::MetaContact, 0x8254cd8)/unnamed2(ICQMyselfContact, 0x833b490)

Let me know if I can be of any help.

Report

C

kovidgoyal

15 years ago

The latest version should fix this behavior. However, since the fix required a change in the contact parsing logic, it may have introduced some bugs.

Report

xxtobi

15 years ago

Hi Kovid,

seems it introduced a new bug for me. I Just installed v1.1.0 -> SKopete stalls with the "loading your contacts" message. My PyKDE is v3.11.3, PyQT is 3.14.1 - I figured these are the latest versions.
Could you send me v1.0.4 via e-mail if you still have it somewhere? I skipped that one...
Let me know if I can help debug somehow.

Thanks again for your great support! It is awesome to see a new version of SKopete almost every day. Hats off!

Cheers, xxtobi

Report

C

kovidgoyal

15 years ago

I've added a link to 1.0.4 in the download section. I use the the version of pykde that comes in the kdebindings module of kde 3.5.0. I believe thats of the 3.12 branch, but I'm not sure.

Report

C

kovidgoyal

15 years ago

You are correct! Thanks for finding this. I'm looking into this problem. In the meantime I have put a warning into the caveats section.

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 2