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

motyR

15 years ago

here's what i get on kubuntu breezy with kde-3.5(all the requirements were installed) when trying to configure

Configuring SKopete...
Traceback (most recent call last):
File "configure.py", line 279, in ?
w = ConfigDialog(contacts)
File "configure.py", line 124, in __init__
Configure_Skopete.__init__(self,parent, name, modal, fl)
File "/home/moty/down/32677-skopete-1.0.1.skz/configure_skopete.py", line 1066, in __init__
TypeError: argument 1 of QSizePolicy() has an invalid type

and another one, when ever trying to reload the theme it allways appear on the right side of the screen even if i moved it to another place...

any way i writing this words in hope u can fix this cause this is a very useable theme for SK:)

Report

C

kovidgoyal

15 years ago

In fact, it looks like the error was caused because you have Qt 4.0. The QSizePolicy constructors are incompatible between Qt 3.0 and 4.0

Report

motyR

15 years ago

my qt version is 3.3.4

Report

C

kovidgoyal

15 years ago

Should be fixed in latest version, see changelog

Report

motyR

15 years ago

yep, does the trcik, 10 alot:)

Report

C

kovidgoyal

15 years ago

Hmm...I can't really see whats going wrong here. That line is automatically generated code by QT Designer. It's pretty generic, all its doing is setting a sizePolicy. What versions of Qt and PyQt are you running?

The theme is designed to automatically position and resize itself as contacts go online/offline. You can change the positioning policy from the config dialog...though ofcourse it isn't working for you.

Report

xxtobi

15 years ago

I would love to use this amazing plugin. However, I cannot access the config dialog. Everytime I select "Configure Skopete...", my HDD will work for a few secs, but nothing happens. PyQT and PyKDE are installed, as well as SK0.37.
The plugin itself works fine (switching kopete from offline to online etc.), but without the contacts showing it's quite useless.

Any ideas how I could access the config dialog? Or is there a way to add contacts manually to some config file?

Thanks, xxtobi

Report

C

kovidgoyal

15 years ago

By default, it should show a list of all online contacts. Is it stuck on the loading contacts message? Or does that disappear after a short time?

Report

xxtobi

15 years ago

Hi, thanks for your quick reply! With your information, I have conducted some more experiments. What usually happens is the following:
1. I can see only one of my online contacts in SKopete, although several of my contacts are online.
2. Upon reloading SKopete ("Reload" in context menu) it throws an error message:
Traceback (most recent call last):
File "/home/tobi/.kde/share/apps/superkaramba/themes/32677-skopete-1.0.1.skz/skopete.py", line 470, in widgetUpdated
File "/home/tobi/.kde/share/apps/superkaramba/themes/32677-skopete-1.0.1.skz/skopete.py", line 443, in update
File "/home/tobi/.kde/share/apps/superkaramba/themes/32677-skopete-1.0.1.skz/skopete.py", line 314, in sync
File "/home/tobi/.kde/share/apps/superkaramba/themes/32677-skopete-1.0.1.skz/skopete.py", line 200, in __init__
KeyError: ICQMyself
Now I myself appear in the list twice, Karamba eats up 15% of my CPU until I close SKopete. ICQ is offline at that moment (appears in error message).
To come back to my original problem, the config dialog is not accessible in any of these states.

System is Suse10.0 with KDE3.5

Let me know if you have any idea. If not I'll give up, seems to be quite weird...

Report

C

kovidgoyal

15 years ago

OK I got myself an ICQ account, seems to work fine so far, but I don't have any ICQ contacts, so could you give me you ICQ #, so that I can test.
Thanks

Report

xxtobi

15 years ago

Hi Kovid, so far Kopete hasn't asked me to add you to my buddies. Have you tried?

Anyway, I kind of "solved" the problem now: Since v1.0.2 I can access the config dialog which listed my MSN (not ICQ!) identity as a buddy. So I removed myself from the monitored contacts and now the crash-error reported above is gone.

Very strange, hope this helps if someone else has the same problem.

Report

C

kovidgoyal

15 years ago

I can't seem to get the ICQ plugin of Kopete working...which is why you haven't seen me as a contact. At any rate it looks like your problems weren't a result of ICQ anyway...

Report

C

kovidgoyal

15 years ago

You have yourself as a contact in Kopete? Why would you do that?

Report

xxtobi

15 years ago

He he, I love to chat with myself! ;-)

Just kidding, of course I don't have myself as a contact in Kopete - just SKopete lists my MSN screen name as a buddy, don't ask me why.

If I don't exclude it from the SKopete buddies, SKopete crashes with the "ICQMyself" error reported above.

Report

C

kovidgoyal

15 years ago

Hmm...it seems to be a problem with the way kopete returns information about ICQ accounts. I'll get myself an ICQ account and test it...

Report

f1dave

15 years ago

initially, how long do you have to wait while it loads your list, etc?

Report

C

kovidgoyal

15 years ago

Under 5 mins...unless you have a truly huge contact list

Report

f1dave

15 years ago

hmm, after 3 hours I may have a bug then :P I have kubuntu breezy, running kde 3.5 and I only have

Report

C

kovidgoyal

15 years ago

First try reloading the theme, then try running SK in a terminal and post the output. Thanks. Kovid.

Report

f1dave

15 years ago

Wow! this time i got a crash! And not even with a terminal involved anywhere :P

Traceback (most recent call last):
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete.py", line 470, in widgetUpdated
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete.py", line 436, in update
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete_gui.py", line 156, in update
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete_gui.py", line 131, in update
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete.py", line 346, in update
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/skopete.py", line 298, in sync
File "/home/meacod01/Karamba/32677-skopete-1.0.0.skz/kopete.py", line 344, in updateStatus
File "/usr/lib/python2.4/sre.py", line 134, in search
return _compile(pattern, flags).search(string)
File "/usr/lib/python2.4/sre.py", line 227, in _compile
raise error, v # invalid expression
error: unexpected end of regular expression

The contact list seems to sort of be half-loaded, but thats about it... there's no real functionality about it either.

Report

C

kovidgoyal

15 years ago

Looks like the problem is being caused by one of your contacts having special characters in its display name. I've uploaded a new version that hopefully handles it.

Report

PLowran

15 years ago

what is the CPU meter you are using that is tight...
Also the IM is DOPE I use Trilliam 3Pro and it has the Image Feature, so not to say you are copying dont get me wrong, you did a great job

Report

C

kovidgoyal

15 years ago

Thanks.

Thats the cpu/mem v2 plugin for aero aio that I wrote.

Report

Superstoned

15 years ago

but its hard to use with lots of online contacts.

looks cool, tough ;-)

Report

C

kovidgoyal

15 years ago

The idea is you only monitor a subset of all your contacts. I, for one, don't care about the status of 2/3 of my contact list.

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