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

Hopefully, its fixed in 1.2.8

Report

motyR

15 years ago

just want to say that the new version works perfect with the none english names, my all time favorite karamba theme:)

Report

C

kovidgoyal

15 years ago

Thanks...glad you like it.

Report

rokkford

15 years ago

is it possible to change the icon for 'set status'? i guess it's generated from kopete, right? which one is it, so that i can change it? (;

Report

rokkford

15 years ago

found it (:

Report

rokkford

15 years ago

ok, i now compiled sk against python2.4 and i see skopete, but it still doesn't work. i have the same probs as the people posted before.

-the buddylist just appeared once and i was listed as buddy myself (now it's just loading...)
-can't access the configure menu
-reloading let's skopete jump back to the right of my screen
-skopete tells me, that i've chosen not to use PyKde (?)

in order to help you getting this to work, i posted the output.

http://rokkford.ro.funpic.de/skopete_log.txt

Report

C

kovidgoyal

15 years ago

Thanks, I have coded a possible workaround in 1.2.7 (see changelog). Please try it and let me know if it helps. Also since this error is an intermittent one (caused by system signals), you should try reloading the theme and even rebooting once.

Report

rokkford

15 years ago

well, looks good now (:

only trying to configure brings

Traceback (most recent call last):
File "configure.py", line 16, in ?
import sys, traceback, re, operator, os, subprocess
ImportError: No module named subprocess


although sk is compiled against python2.4

Report

C

kovidgoyal

15 years ago

Oh that's because the python in your PATH is still pointing to the 2.3 python. The config dialog is launched ina separate python process. 2 possible worarounds:
1) Add the bin directory of python 2.4 for to the beginning of your PATH variable, in ~/.bashrc. something like
export PATH=/path-to-2.4/bin:$PATH will do the trick.
2) Edit line 45 of config_backend.py and replace python with python-2.4

Report

rokkford

15 years ago

brilliant! thank you for your help!
seems to work no.
only two more things:

1) every time skopete reloads, it jumps back to his prior position to the right of the desktop, i guess that's very annoying

2)in line 45 of config_backend.py it has to be python2.4 (not python-2.4)


thanks again - great work buddy!!

Report

C

kovidgoyal

15 years ago

Thanks.

in the config dialog choose layout manual to prevent skopete from automatically repositioning itself.

Report

agopino

15 years ago

good work.
i take the pyQt3.14 and the installation was good.
But when skopete runs i can read just 1 or 2 contacts (depends by font) because the dimension of window is too small. How can I change the dimension?

Report

C

kovidgoyal

15 years ago

Skopete resizes itself automatically when more contacts come online. Do you mean that there are some contacts that are shown as online in Kopete but not in SKopete?

Report

agopino

15 years ago

yes.
now i have 5contact online in kopete, but i can see only 1 in skopete..the skopete area in desktop seems cut..

Report

agopino

15 years ago

Sorry.
I check the box use pykde for dcop calls and now skopete works good.
thanks for all.
ago

Report

C

kovidgoyal

15 years ago

Is it being cut-off by another SK theme? Try moving it around the desktop and reloading it.

Report

rokkford

15 years ago

although i have all requirements installed skopete doesn't show anything. starting via konsole, i get no error-output.the configure menu isn't available. all my other karamba-themes work perfectly. any ideas what that could be?
kopete is running as well.

Report

C

kovidgoyal

15 years ago

When you say it doesn't show anything, you mean absolutely nothing? A blank patch? You can try unzipping the .skz file like so
unzip *skopete*.skz
Then change DEBUG=False to True near the top of kopete.py and run it using
superkaramba skopete.theme

Report

rokkford

15 years ago

unfortunatly i get nothing but the blank screen. i can update and move, but no configuration is possible...

Report

C

kovidgoyal

15 years ago

Also after unzipping as i said in my previous post, try running python kopete.py. You should get a list of contacts/accounts from kopete output to the terminal

Report

rokkford

15 years ago

brings me to this:

superkaramba kopete.py
Could not read config file.
sys.path.insert(0, '/home/rokkford/tmp/skopete/')
Traceback (most recent call last):
File "/home/rokkford/tmp/skopete/skopete.py", line 12, in ?
import subprocess, sys, traceback
ImportError: No module named subprocess
------------------------------------------------------
What does ImportError mean?

It means that I couldn't load a python add-on skopete.py
If this is a regular theme and doesn't use python
extensions, then nothing is wrong.
------------------------------------------------

Report

C

kovidgoyal

15 years ago

Oh yeah you have to have the statements before the import subprocess statement, which means putting them into skopete.py right at the top.

Good luck with getting it to works with python 2.4

Report

rokkford

15 years ago

thanks for your time (:

Report

C

kovidgoyal

15 years ago

Just run superkaramba skopete.theme in a terminal...the version will be printed out

Report

rokkford

15 years ago

same problem

superkaramba skopete.theme
sys.path.insert(0, '/home/rokkford/tmp/skopete/')
Traceback (most recent call last):
File "/home/rokkford/tmp/skopete/skopete.py", line 12, in ?
import subprocess, sys, traceback
ImportError: No module named subprocess


i guess i try to reinstall superkaramba, maybe it's gonna compile against2.4!

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