SlickBar for SuperKaramba

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:

SlickBar 0.9.2 for SuperKaramba
------------------------------------------------
Copyright 2003 Matthew Kay ([email protected])
Licensed Under GPL
------------------------------------------------
http://www.unrandom.com/Projects/slickbar.php
------------------------------------------------


--------------------------------------------
NEW VERSION 0.9.2!

This version includes a few bug fixes, and some small feature improvements. I haven't actively worked on SlickBar for about 2 months, so I'm "getting back into it" with a small updated release in the 0.9 series. (On that note, anyone who has tried to email me and hasn't gotten a response, it is because of my "hiatus" in SlickBar development -- just drop me another message). Don't worry, 1.x is still coming, it's just a matter of how/when/in what form.

Anyway, this new version makes the config menu more obvious with a tooltip (middle-click on the K-Button), improves on the systray auto-resize and moving, and fixes an XMMSPanel crash that was caused by streaming media.

Also: for everyone who's been asking for it forever, KICKER AUTO-HIDING IS HERE! Simply go into the configurator and turn the "Hide Kicker" option to On. Then, SlickBar will hide the main kicker panel when started and re-show it when closed. Note that this does NOT disable dcop access to kicker functions!

--------------------------------------------

SlickBar is intended to go a little farther than just being a SuperKaramba "theme". It consists of individual "Panel"s, which can be placed independently of one another using the XML configuration file. As of v0.9, SlickBar now includes a config GUI so you no longer have to edit the config file by hand. The config GUI includes a preview display (with drag and drop panels), and the ability to apply changes without restarting SuperKaramba! To take a look at some of the features lined up for future versions, see the TODO section on the slickbar website: http://www.unrandom.com/Projects/slickbar.php#todo.

Features
--------

- each Panel can be placed independently of the others (the last screenshot has an example of a configuration different than the default)
- the NoatunPanel and XMMSPanel allow you to: go back/fwd, stop, play/pause, open/close the playlist, and do a song seek using the progress bar.
- The QuickLaunchPanel creates an auto-sized panel using KDE links in the QuickLaunch directory, and finds the *right* icons using PyKDE!
- The TaskPanel can be set to any size, and each task button sizes itself to fit inside the bar. As well, it automatically finds the appropriate icon for each task (and is pretty successful) as well as grouping related tasks into single buttons (see screenshot #2).
- The PagerPanel automatically detects the number of desktops you are using and sizes itself to fit!
- Fonts and colours are customizable all from one configuration file.

Known Bugs
----------

I am aware of the following bugs, and will work to fix them soon, don't worry :)

1. If the title of an application changes, the TaskPanel will not update it until another task-related change occurs.

2. The Config GUI preview will not update when you change the size of a panel -- you must apply your changes, close the GUI, and start it again for width-related changes to affect the panels in the preview

4. There are no icons for grouped tasks if you don't have the addMenuTaskItem superkaramba patch installed. This isn't really a bug, but an FIY :).

Screenshots
-----------

1. Shows the default configuration with the config GUI alongside
2. Shows use of grouped tasks
3. Shows another configuration I threw together, also demonstrates having a different number of desktops. As well, it shows the configuration panel open.

I welcome people to try their hand at writing SlickBar Panels, however I would suggest waiting for version 1.0 to be released. Version 1.0 will be (or is, if you consider the unstable version on my computer) based on Skoot, and therefore has a number of API changes. There will be complete SlickBar API documentation for version 1.0, along with a useful tutorial.

If you create a nice Panel that could be useful to lots of people, I'd be glad to distribute it with SlickBar (with your permission, of course).

Requirements
------------

SlickBar requires SuperKaramba 0.33, the Python XML libraries, and Tkinter (Tcl/Tk) for the config GUI. Most people probably have the python libs already, most python installations should have them.

The XMMSPanel requires the PyXMMS module. It is available here: http://www.via.ecp.fr/~flo/. Don't worry if you don't have it and you intend to use the NoatunPanel.

NoatunPanel (but not NoatunPanelSlow) requires the PyKDE module. You can get it here: http://www.riverbankcomputing.co.uk/pykde/. Alternatively, you can use NoatunPanelSlow, but the "Slow" means REALLY REALLY SLOW. You have been warned.

QuickLaunchPanel, TaskPanel, and PagerPanel also require PyKDE.

TODO
----

The TODO is now much larger and more extensive. It has moved to the SlickBar website, here:
http://www.unrandom.com/Projects/slickbar.php#todo
Last changelog:

16 years ago

- Jan 08 2004 - 0.9.2
* added a "Hide Kicker" option which will automatically hide the kicker
main panel when SlickBar starts, and re-show kicker when SlickBar
closes. Note that this does NOT disable dcop access to kicker funtions.
* Auto-resizing of the Systray now works better (should not obscure
other panels as much). The Systray will now also move properly if you
move/resize the SystrayPanel without restarting SlickBar. I think there
might still be a subtle bug in the auto-resizing, but I haven't had a
chance to track it down yet.
* Added a tooltip to the K-menu that makes the existence of the config
menu a little more obvious.
* fixed a minor bug introduced in the handling of my TkToggle ("on/off")
widgets and boolean config options in Python 2.3.
* fixed a crash caused by listening to streaming media in XMMS while
using XMMSPanel (thanks to Chu Chu for the fix).
* "Sans" is now the default font for most text instead of "Verdana".
(Hopefully this better-reflects most people's font settings).

- Oct 19 2003 - 0.9.1
* SlickBar should now be able to detect when a previously opened config
GUI has closed abnormally, and will not prevent you from opening
another GUI in this case.
* The TaskPanel now includes an option to disable task grouping.
* QuickLaunchPanel now uses a home-grown kdesktop file parser because
PyKDE's was causing some weird bugs in SuperKaramba. (Note that it
still requires PyKDE for icon discovery)
* SlickBar now includes a mechanism that allows panels to trigger a
reloading of all the panels. This is a quick-n-dirty, *temporary*
solution that will allow panels to resize on-the-fly. A much better
inline resizing solution has already been implemented in the SlickBar
1.0 development code, but unfortunately it isn't in a state to be
released yet :(.
* first version of (buggy) auto-resize code implemented in SysTrayPanel.
This won't work well until superkaramba introduces a way to resize
system trays.
* The PagerPanel now automatically resizes when the number of virtual
desktops changes.
* The PagerPanel display routines have been reorganized to make it more
responsive.
* The TaskBar now uses createTaskIcon() and addMenuTaskItem() to handle
task icons, thus making them much more accurate (and has also improved
the general responsiveness of the taskbar). Task icons for grouped tasks
are only available if you have applied the addMenuTaskItem superkaramba
patch.
* The TaskBar now provides a visual indication of which window is
currently in focus. I am not sure I like how it looks at the moment,
I will think about it more (and hopefully get some feedback from
users..... hint hint :) ), so it might change.
* SlickBar now handles errors/exceptions in panels' updating routines
gracefully -- panels that do not have errors are still able to update
despite other panels having problems.
* SlickBar now handles exceptions in panel display() routines much
more gracefully (ie, all other panels are still displayed; as well,
the offending panel is not allowed to update() anymore)
* All output is now saved in a logfile (slickbar.log) for easy access
(This should help with troubleshooting errors)
* A dialog now pops up to inform you if any of the panels failed to load
successfully. This should help people who aren't running from a
terminal and therefore can't see the error messages right away.
* Minor font tweaks due to the new SuperKaramba pixel-based font sizing.
* All code using KWinModule that can instead use KWin now uses Kwin.


The rest of the changelog (back to v0.2) is available here: http://www.unrandom.com/Projects/slickbar-changelog.php

maranik

16 years ago

When i try to start slickbar i receive:
[email protected] maranik $ superkaramba slickbar.theme
superkaramba: TaskManager::TaskManager()
WARNING: Could not load PyKDE. TaskPanel will not run without it. It is available at: http://www.riverbankcomputing.co.uk/pykde/download.php
Traceback (most recent call last):
File "/home/maranik/temi/slickbar-0.9.2/SlickBar/Panels/__init__.py", line 36, in isPanel
return hasattr(__import__("SlickBar.Panels." + name, globals(), locals(), [name]), "__PanelInfo__")
File "/home/maranik/temi/slickbar-0.9.2/SlickBar/Panels/TaskPanel.py", line 16, in ?
from qt import QString
ImportError: No module named qt

But I installed sip, PyQt and PyKDE (examples work).
Please help me.
Thanks

Report

carruth98

16 years ago

When I try to open Slickbar theme, it gives me an error that it cannot open SysTray Panel. Here is what the log says:
WARNING: Could not display panel SysTrayPanel:
Traceback (most recent call last):
File "/home/james/themes/karamba/slickbar-0.9.2/SlickBar/__init__.py", line 121, in load
panel.display(row)
File "/home/james/themes/karamba/slickbar-0.9.2/SlickBar/Panels/SysTrayPanel.py", line 84, in display
karamba.moveSystray(SlickBar.widget, self.x, self.y, self.width, 24)
AttributeError: 'module' object has no attribute 'moveSystray'

I have version 3.8 of PyKDE andI installed all the other files, sip, PyQT, etc. Please help as I am dying to get it to work. THanks

Report

tkeeler

16 years ago

I get this output in the terminal when I attempt to configure slickbar... any thoughts?

Thanks!

---
CONFIG GUI: Traceback (most recent call last):
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 1115, in ?
CONFIG GUI: openConfigWindow()
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 95, in openConfigWindow
CONFIG GUI: window = TkConfigWindow(root)
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 262, in __init__
CONFIG GUI: self.selectorFrame = TkPanelSelectorFrame(self)
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 507, in __init__
CONFIG GUI: self.selector = TkPanelSelector(self)
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 572, in __init__
CONFIG GUI: tkPanel = TkPanel(self, panels[row][panelIndex], self.rowInfo[row][panelIndex])
CONFIG GUI: File "/home/tkeeler/downloads/superkaramba/themes/slickbar-0.9.2//config.py", line 722, in __init__
CONFIG GUI: self.text = self.create_text(5, 15, width=self.panel.width + 27, anchor=W, fill="#00276B", text=panel.type) # , font=("Helvetica", 11))
CONFIG GUI: File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 1988, in create_text
CONFIG GUI: return self._create('text', args, kw)
CONFIG GUI: File "/usr/lib/python2.2/lib-tk/Tkinter.py", line 1963, in _create
CONFIG GUI: (self._w, 'create', itemType)
CONFIG GUI:
CONFIG GUI:

Report

jpcohen

16 years ago

Hi, i finally got this theme working :-)
I juste wanted to suggest to add somewhere on the task pannel a "show desktop" button who could use the "toggleShowDesktop(widget)" function to work. I have tinked making a little panel for that but it seems not to work correctly and i'm quite busy so i just put here an idea.
Thks.

Report

markinator

16 years ago

Hi guys!

I've successfully installed superkaramba-0.33 and slickbar-0.92 on suse linux 8.2. slickbar works, partially. i only have a small panel on the top left corner of the desktop with the time laying over the date and right beside the k-menu. thats all, no more. now i can't determine the problem. i read about about the pykde-module, but where can i get it? another problem is the configuration-gui. i can only edit the values for font and size, and so on, but whethere i can click on the buttons (ok, apply, cancel) nor add panel and remove panel. did anyone has an idea to solve my problem?

sorry, my english is very bad, but i hope you can understand what i wrote!?

greetz markinator

Report

bluelambda

16 years ago

Thanks for your answer !

I type export PYTHONHOME=[:]
next I type superkaramba :

[[email protected] bluelambda]$ export PYTHONHOME=[:]
[[email protected] bluelambda]$ superkaramba
'import site' failed; use -v for traceback

and i open slickbar :

superkaramba: TaskManager::TaskManager()
Traceback (most recent call last):
File "/home/bluelambda/config/slickbar-0.9.2/slickbar.py", line 10, in ?
import os
ImportError: No module named os
------------------------------------------------------
What does ImportError mean?

It means that I couldn't load a python add-on for slickbar.theme
If this is a regular theme and doesn't use python
extensions, then nothing is wrong.
------------------------------------------------------
Config File ~/.superkaramba/slickbar.rc written.


superkaramba seens works better, but with slickbar i obtain the same error... and i have only the time and date.

Eslse, thanks for your answer, and I go on the superkaramba forums for my problem :-)

Report

bluelambda

16 years ago

I searched for months how to install and use Slickbar with Mandrake 9.2.

I installed superkaramba 0.33, python 2.3 (d

Report

C

optikSmoke

16 years ago

Can you use *any* superkaramba themes? this sounds more like a problem with python and/or superkaramba than with slickbar. Off the top of my head, I would try 2 things:

1. type
export PYTHONHOME=[:]
in a terminal and then try running superkaramba again, and if that doesn't work...

2. type
unset PYTHONHOME
in a terminal and then try running superkaramba.

If neither of these work, and no superkaramba themes work, I'd suggest posting your problem to the superkaramba forum, here: http://sourceforge.net/forum/forum.php?forum_id=67470

Hope that helps, at least somewhat :)

---Matt

Report

jpcohen

16 years ago

sorry no pykde and pyqt installed i'm going to try with this....

Report

jpcohen

16 years ago

Ok it was a problem with SIP. Now it seems to work correctly exept the function that allow to automatically resize the systray panel: it flash the hour all the time on it :s

Report

jpcohen

16 years ago

... hum how can i set up the taskbar panel ? I only have possibility to set the helloworld, systray and noatun slow panels. Have i someting to configure befor e or something like that ?

However i wanted to congratulate for this incredible karamba theme and for the possibilities that it offers.
Very nice and usefull... but would be more usefull with the taskbar panel...

Help, thanks.

Report

C

optikSmoke

16 years ago

Thanks for the congradulations :).

The TaskPanel, NoatunPanel, QuickLaunchPanel, and PagerPanel require PyKDE (which you can get here: http://www.riverbankcomputing.co.uk/pykde/download.php) Without it, they will not run.

If you setup PyKDE and it still does not work, try looking in the file "slickbar.log" -- it should list any errors that occurred in SlickBar. Feel free to post the errors or email them to me for more help.

---Matt

Report

walkman

16 years ago

when i press the : Configure Slickber
i get : CONFIG GUI

and nothing happenning.

Report

nanosphere

16 years ago

I've been trying to get this theme to work on my Slackware 9.0 box. After some research I found out I had to recompile QT since the libs that came with Slack were stripped.

Anyways I downloaded QT 3.1.2 (same version that is bundled with Slack 9.) I disabled stripping, enabled multi-threading and recompiled QT (need I mention this pain?)

KDE boots up fine with the new QT libs and everything appears to work except the Keramik widget style is no longer availible and I cannot use alpha-blending or drop shadows in my menus anymore. I'm assuming I missed a feature or switch or something when I configured and recompiled QT, but I have no idea what.

Report

scrooge

16 years ago

when i run python importTest.py i receive this error:

ImportError: /usr/lib/python2.3/site-packages/libkdecorecmodule.so: undefined symbol: _ZN19KAcceleratorManager6manageEP7QWidget

how to fix?

Report

C

optikSmoke

16 years ago

What distribution are you using?

Report

scrooge

16 years ago

I'm using slack 9.1 with standard bare.i kernel at this time.The bar work fine altought the systray and quick launch bar that are not showed.Now i've found another problem:whe i see a vid with the latest mplayer,i could see a bounch of orizontal lines and under the slickbar an orizontal green line appear (tell me if u wanna a s.shot);if i close the bar,everithing goes fine!Anyway,thanx for this kick-ass stuff! ;-)

Report

angus

16 years ago

I know this could be quite OT but .. what style and window decorations are you using? I like it, windows have shadows too! And.. why that global (?) 'Verdana' (I noticed it from the 'Date' font setting in the config screenshot and the one used in TaskPanel seems to be the same..) in the SlickBar looks narrower than mine..? o_O

And well.. it'd be nice to help you in this *very* nice work, but first I've to learn Python. :)

Report

C

optikSmoke

16 years ago

The window decoration is Plastik (its available on this site, it comes with the Plastik Style).

Can't really help with font troubles, sorry :(. I just use what Mandrake gives me :).

As for helping with SlickBar..... that'd be great! I'll welcome any help on SlickBar! I've been busy lately and haven't done much work on it, but I intend to start up again soon so that I can finish up v1.0 and release it.

Report

iLLuSionZ

17 years ago

why the fuck are these stupid ass programs so hard to figure out? cant you just have everything you need in one fuckin package?

i keep getting this error....

[[email protected] new install]$ patch < addMenuTaskItem.patch
can't find file to patch at input line 4
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -rup superkaramba-0.33/src/karamba.cpp superkaramba-0.33-new/src/karamba.c pp
|--- superkaramba-0.33/src/karamba.cpp 2003-10-19 16:02:45.000000000 -0400
|+++ superkaramba-0.33-new/src/karamba.cpp 2003-10-19 21:12:17.000000000 -0 400
--------------------------
File to patch: 7774-superkaramba-0.33-1.i386.rpm
patching file 7774-superkaramba-0.33-1.i386.rpm
Hunk #1 FAILED at 8.
Hunk #2 FAILED at 557.
Hunk #3 FAILED at 2150.
3 out of 3 hunks FAILED -- saving rejects to file 7774-superkaramba-0.33-1.i386. rpm.rej
[[email protected] new install]$

what does this mean?>
and what are those sip3.7 and other files we need? everytime i turn around i need a libblah file or some shit.

Report

iLLuSionZ

17 years ago

and when i try to install pyqt3.7 it says this
Some package requested cannot be installed:
PyQt-3.7-alt2.i586 (due to unsatisfied sip[== 3.7-alt2])
do you agree ?
whats that mean?
i have sip3.7 installed ....

Report

iLLuSionZ

17 years ago

ok i got all those installed but i still cant figure out how to do the patch.....

Report

C

optikSmoke

16 years ago

You have to be in the src/ directory of karamba in order to apply the patch.

Report

jpcohen

17 years ago

Hello. Geat theme !! But just a litle problem, your SlickBar config utility not able me to set up a task panel. Is this connected to a pyKDE problem or something ?? Please help!

Report

ltcmdrdata

17 years ago

WARNING: Could not load PyKDE. TaskPanel will not run without it.
...
ImportError: /usr/lib/python2.2/site-packages/libkdecorecmodule.so: undefined sy
mbol: _ZN10KAccelBase12virtual_hookEiPv
...
ImportError: cannot import name KWin
WARNING: Could not load panel 'PagerPanel'

and so on, and finally the bar comes to visible, but it can only steal a couple of those trashray icons, and no taskbar entries, and others.
I read that someone had a pretty similar problem, however he said that installing PyQT 3.6 and PyKDE solved his problem, i am in trouble with that, coz there is no PyKDE 3.6, the first before 3.7 is 3.3.2 which (with all the necessary rpms) produces the very same problem.
PyKDE 3.8 has the problem that it needs python 2.3 and i dont want to take the bother and install it, since i am not really sure it would work anyways so i guess i'd solve that some other way.

i'm curious how you guys got that thing installed properly on mandrake 9.1

Report

16 years ago

- Jan 08 2004 - 0.9.2
* added a "Hide Kicker" option which will automatically hide the kicker
main panel when SlickBar starts, and re-show kicker when SlickBar
closes. Note that this does NOT disable dcop access to kicker funtions.
* Auto-resizing of the Systray now works better (should not obscure
other panels as much). The Systray will now also move properly if you
move/resize the SystrayPanel without restarting SlickBar. I think there
might still be a subtle bug in the auto-resizing, but I haven't had a
chance to track it down yet.
* Added a tooltip to the K-menu that makes the existence of the config
menu a little more obvious.
* fixed a minor bug introduced in the handling of my TkToggle ("on/off")
widgets and boolean config options in Python 2.3.
* fixed a crash caused by listening to streaming media in XMMS while
using XMMSPanel (thanks to Chu Chu for the fix).
* "Sans" is now the default font for most text instead of "Verdana".
(Hopefully this better-reflects most people's font settings).

- Oct 19 2003 - 0.9.1
* SlickBar should now be able to detect when a previously opened config
GUI has closed abnormally, and will not prevent you from opening
another GUI in this case.
* The TaskPanel now includes an option to disable task grouping.
* QuickLaunchPanel now uses a home-grown kdesktop file parser because
PyKDE's was causing some weird bugs in SuperKaramba. (Note that it
still requires PyKDE for icon discovery)
* SlickBar now includes a mechanism that allows panels to trigger a
reloading of all the panels. This is a quick-n-dirty, *temporary*
solution that will allow panels to resize on-the-fly. A much better
inline resizing solution has already been implemented in the SlickBar
1.0 development code, but unfortunately it isn't in a state to be
released yet :(.
* first version of (buggy) auto-resize code implemented in SysTrayPanel.
This won't work well until superkaramba introduces a way to resize
system trays.
* The PagerPanel now automatically resizes when the number of virtual
desktops changes.
* The PagerPanel display routines have been reorganized to make it more
responsive.
* The TaskBar now uses createTaskIcon() and addMenuTaskItem() to handle
task icons, thus making them much more accurate (and has also improved
the general responsiveness of the taskbar). Task icons for grouped tasks
are only available if you have applied the addMenuTaskItem superkaramba
patch.
* The TaskBar now provides a visual indication of which window is
currently in focus. I am not sure I like how it looks at the moment,
I will think about it more (and hopefully get some feedback from
users..... hint hint :) ), so it might change.
* SlickBar now handles errors/exceptions in panels' updating routines
gracefully -- panels that do not have errors are still able to update
despite other panels having problems.
* SlickBar now handles exceptions in panel display() routines much
more gracefully (ie, all other panels are still displayed; as well,
the offending panel is not allowed to update() anymore)
* All output is now saved in a logfile (slickbar.log) for easy access
(This should help with troubleshooting errors)
* A dialog now pops up to inform you if any of the panels failed to load
successfully. This should help people who aren't running from a
terminal and therefore can't see the error messages right away.
* Minor font tweaks due to the new SuperKaramba pixel-based font sizing.
* All code using KWinModule that can instead use KWin now uses Kwin.


The rest of the changelog (back to v0.2) is available here: http://www.unrandom.com/Projects/slickbar-changelog.php

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
0.9.2
updated Jan 08 2004
added Apr 09 2003
downloads 24h
0
mediaviews 24h 0
pageviews 24h 9