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

lvikstro

17 years ago

I get this kind of error message when loading slickbar:
WARNING: Could not display panel TaskPanel:
Traceback (most recent call last):
File "/home/lvikstro/temp/kde-looks/karamba/slickbar-0.9.1/SlickBar/__init__.py", line 117, in load
panel.display(row)
File "/home/lvikstro/temp/kde-looks/karamba/slickbar-0.9.1/SlickBar/Panels/TaskPanel.py", line 183, in display
self.loadTasks()
File "/home/lvikstro/temp/kde-looks/karamba/slickbar-0.9.1/SlickBar/Panels/TaskPanel.py", line 306, in loadTasks
taskGroup[0].display(currentX, self.y, self.taskWidth, self.height, len(taskGroup) > 1)
File "/home/lvikstro/temp/kde-looks/karamba/slickbar-0.9.1/SlickBar/Panels/TaskPanel.py", line 89, in display
self.iconImage = karamba.createTaskIcon(SlickBar.widget, x + 5, y + 4, self.wId)
AttributeError: 'module' object has no attribute 'createTaskIcon'

I use superkaramba 0.32b

Any ideas?

Report

C

optikSmoke

17 years ago

You need superkaramba 0.33. The createTaskIcon function that is now used to draw icons has only been available since that version.

Report

scream

17 years ago

I love it!
The best Karamba Theme ever!!!

Report

azrael811

17 years ago

After installing PyXMMS I got the follwing right after install.

warning: install: modules installed to '/usr/local/lib/python2.2/site-packages/', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself

So I looked on the net to find out how to do it. I changed my PYTHONPATH system varible by typing PYTHONPATH=/usr/local/lib/python2.2/site-packages/;.sys.path. or something similar and now slickbar wont load at all !!!!!

I get this when I try to open slickbar:

[[email protected] slickbar-0.9]$ superkaramba slickbar.theme
superkaramba: TaskManager::TaskManager()
WARNING: Could not load PyKDE. QuickLaunchPanel will not run without it. It is available at: http://www.riverbankcomputing.co.uk/pykde/download.php

I have reinstalled pyKDE, pyXMMS, pyQT, pyQTdevel, and python-libs. But it has not fixed the problem. Slickbar was working fine until I changed my PYTHONPATH varible. Liquid weather ++ still works OK.

Report

C

optikSmoke

17 years ago

Change PYTHONPATH back to what it was. I don't think the problem is a bad pythonpath, its more likely that you have installed the python libs to the wrong spot.

You have to edit setup.cfg in the pyxmms directory (or pykde directory or whatever you are installing) to insure that it is installing to the right place (by changing the "prefix" option). For example, on my system the python libraries are in /usr/lib/python-2.2, so my prefix is /usr. Find out where python is installed and then adjust your prefix accordingly.

Report

s3pt1k

17 years ago

Your Font does not work when in it's right location. It worked for me before I installed PyQT, PyKDE, and PySomething-or-other.

Might want to look into this. No error is generated.

Being that PyXMMS is no longer support, and SuSE 8.2 isn't playing well, perhaps it might be best to find another way for the xmms widget to work. I don't even know if that's ossible.

Report

s3pt1k

17 years ago

OK, I got PyKDE install, and supposedly PyXMMS, but I get the follwing right after install:

warning: install: modules installed to '/usr/local/lib/python2.2/site-packages/', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself

Then the xmms panel will still NOT load. I have no idea how to change Python to search here.

Report

azrael811

17 years ago

I had this aswell and looked on the net to find out how to do it. I changed my PYTHONPATH system varible and now slickbar wont load at all !!!!!

I get this when I try to open slickbar:

[[email protected] slickbar-0.9]$ superkaramba slickbar.theme
superkaramba: TaskManager::TaskManager()
WARNING: Could not load PyKDE. QuickLaunchPanel will not run without it. It is available at: http://www.riverbankcomputing.co.uk/pykde/download.php

I have reinstalled pyKDE, pyXMMS, pyQT, pyQTdevel, and python-libs. But it has not fixed the problem. Slickbar was working fine until I change my PYTHONPATH varible. Liquid weather ++ still works OK.

Report

C

optikSmoke

17 years ago

You appear to be installing it to the wrong spot. You have to edit setup.cfg in the pyxmms directory to insure that it is installing to the right place (by changing the "prefix" option). For example, on my system the python libraries are in /usr/lib/python-2.2, so my prefix is /usr. Find out where python is installed and then adjust your prefix accordingly.

Report

soulrebel

17 years ago

superkaramba crashes when i open slickbar.
i get this:
#0 0xffffe002 in ?? ()
#1 0x405e257d in KCrash::defaultCrashHandler(int) ()
from /usr/lib/libkdecore.so.4
#2
#3 0x080ea757 in PyErr_NormalizeException ()
#4 0x080f756b in PyErr_PrintEx ()
#5 0x080f7260 in PyErr_Print ()
#6 0x0807e0b0 in karamba::step() ()
#7 0x0807dbd9 in karamba::updateBackground(KSharedPixmap*) ()
#8 0x40493abf in KRootPixmap::slotDone(bool) () from /usr/lib/libkdeui.so.4
#9 0x40494376 in KRootPixmap::qt_invoke(int, QUObject*) ()
from /usr/lib/libkdeui.so.4
#10 0x409720c9 in QObject::activate_signal(QConnectionList*, QUObject*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#11 0x4097248d in QObject::activate_signal_bool(int, bool) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#12 0x403a4f6a in KSharedPixmap::done(bool) () from /usr/lib/libkdeui.so.4
#13 0x403a3fe2 in KSharedPixmap::x11Event(_XEvent*) ()
from /usr/lib/libkdeui.so.4
#14 0x408b7c95 in QApplication::x11ProcessEvent(_XEvent*) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#15 0x408ccbda in QEventLoop::processEvents(unsigned) ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#16 0x40927cf6 in QEventLoop::enterLoop() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#17 0x40927b98 in QEventLoop::exec() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#18 0x40914151 in QApplication::exec() ()
from /usr/lib/qt-3.1/lib/libqt-mt.so.3
#19 0x0806d156 in main ()
#20 0x420156a4 in __libc_start_main () from /lib/tls/libc.so.6

what can i do? everything else works with superkaramba.

Report

Chinmay

17 years ago

Hello,

I've downloaded the slickbar and all of its dependencies, but when I load it with superkaramba I don't see it anywhere on the screen. Also, it keeps telling me that xmms.py couldn't be found but I installed PyXMMS. Is there somewhere I need to specifically place the xmms.py file so slickbar will find it?

Thanks.
Chinmay

Report

Chinmay

17 years ago

In fact, I can't seem to see any SuperKaramba themes. I tried LiquidWeather but I can't see that either.

Report

Chinmay

17 years ago

They work now, but I still would like to be able to use the XMMSPanel. Where should I place the xmms.py file so that Slickbar will find it?

Thanks.

Chinmay

Report

C

optikSmoke

17 years ago

Hmmm, you should not have to "place" it anywhere, it should be installed in the correct location in PyXMMS's installation procedure. Have you compiled it from source and followed all the install steps?

Report

mesman00

17 years ago

hi, it will not use the captain podd font that is in the slickbar folder. do i have to place this font somewhere else, because it doesn't detect it just in the regular folder. instead it uses some default font which is to big and overlaps the time. thanks.

Report

net-geek-steff

17 years ago

Hi

This Bar is great. (So I can see of the Screenshots)

I think I'm stupid.

How to configure the Slickbar?
I have only the Date, and the K menue button.
I have found the config GUI. And then?
How I add the Screen Switcher, Tasks etc?
did I survey a Manual File?

*g*

Thank's

Steef

Report

amitshah

16 years ago

How did you get even the configUI !! I don t know how to get that either ...

THis is a sleek bar though !!! Dying to get it on my desktop

Report

C

optikSmoke

17 years ago

Indeed, as mentionned by the above poster, you must install PyKDE. All of the panels you have listed are trying to load, but cannot, likely because PyKDE is not installed and/or working. Also, XMMSPanel requires PyXMMS.

Report

net-geek-steff

17 years ago

hmm.
My problem was, i haven't install the PyKDE packet.
Sorry&Thanks

Report

rodviking

17 years ago

Is it possible to avoid the apps we open hiding the slickbar? (or any karamba-taskar, for that matter)

When I press the "maximize" button on a window, I would like the window to dock under the slickbar instead of getting the whole window.

Report

C

optikSmoke

17 years ago

You can add

TOPBAR=TRUE

to the "KARAMBA" line in slickbar.theme to make it act as a "panel" (apps will not maximize over top of it). Also, IIRC, ONTOP=TRUE will make it always-on-top.

This works with any superkaramba theme.

Report

matiman

17 years ago

Sometimes when I run slickbar, clock is not on it's position but it covers the date, what's wrong?

Report

C

optikSmoke

17 years ago

Is it just sometimes or is it all the time?

Report

matiman

17 years ago

It's not happening every time I run slickbar, I wolud say 1 out of 4 times I run it.

Report

C

optikSmoke

17 years ago

Hmm.... Have you changed the font size using the config GUI? If so, it may occasionally be using the default size for some reason -- perhaps it is a bug in superkaramba's handling of .theme text objects (as as opposed to text objects created from python).

If that is the case, I don't think there's much I can do :(

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