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

matiman

17 years ago

As a matter of fact, I've changed the size of the font by GUI. Now I know what's the reason. Thanks. This little bug won't stop me using this theme! :)

Report

fluxboxer

17 years ago

It's a pity the KDE team didn't implement something like this *natively* instead of Kicker. It's just so original, aesthetic and has an amazing wow factor (certainly when I'm using KDE 3.1.3 on my notebook in front of winders users). ;)

Interesting to see how it's come along too. I first noticed it a few months ago but found it awkward to configure. The new config.py makes it so much easier, and with a drop shadow on the clock and white fonts on the taskbar, it's unreal.

Only problems remaining (for me) are, the final second of the track (noatun/xmms bar) is concealed by the prev-track arrow. Presumably a font issue on my system. And the taskbar doesn't update with apps (like when Konqueror browses to a different site) but I can live with that. It would be great if it displayed the sites favicon instead of Konq's default icon though. Not sure how possible that is under current (superkaramba 0.32) limitations.

Report

C

optikSmoke

17 years ago

Thanks...... now, lets wee if I can help you with some of those problems :)

the final second of the track (noatun/xmms bar) is concealed by the prev-track arrow. Presumably a font issue on my system.

Hmmm... yeah, thats sounds like fonts. You should be able to change the font and font size of the track time using the config GUI.

And the taskbar doesn't update with apps

Ah yes.... a known bug :) Actually, I will probably submit a patch to superkaramba that will allow me to fix this without using a lot of CPU (which is why it currently is not fixed)

It would be great if it displayed the sites favicon instead of Konq's default icon though.

Interestingly, I have already submitted a patch that will allow SlickBar (and any taskbar) to get accurate task icons ;). Unfortunately, the latest version of superkaramba hasn't been released yet, so I can't unleash the next SlickBar (which already has these changes) yet :(

Plus (just to sweeten the anticipation :) ) the TaskBar now indicates which task is currently active, and also functions much better (as far as responding to clicks) due to another superkaramba patch I submitted.

Report

RedNalie

17 years ago

I love this program, but I'm having serious issues doing streams (ie. Shoutcast) in XMMS.

As soon as I open a stream Slickbar disappears (not exactly sure if it crashes, but I think it does).


Error code from Slicker:
./slicker: line 3: 27087 Segmentation fault superkaramba slickbar.theme

I dunno how to fix this, tried to re-emerge all the deps (pyXMMS, XMMS etc etc.) but had no effect

Report

C

optikSmoke

17 years ago

Hmmmm.... I'll look into this. Gimme a little bit of time and I'll get back to you :)

It could be a problem in PyXMMS..... but I could just be making that up ;)

Report

matiman

17 years ago

I like the bar very much and now I don't need the standard KDE panel - how can I turn it off completely?

Report

anderruiz

17 years ago

I've been working in a little new module for your great bar!. I've put three buttons that I think are usefull.

- A Desktop Show Button
- A Logout Button
- An email notification button

It's my first "theme" and I'm still working to have a better configuration, and I want to add another button for apt command but if you want I can send this module to you, to try it.

Ander

Report

C

optikSmoke

17 years ago

Cool! feel free to email it to me.

I am often busy with school, so getting more people working on SlickBar is great!

Thanks!

Report

anderruiz

17 years ago

Ok I've sent it to you ;-)

Report

peppelorum

17 years ago

tried to get it to work on debian/woody bu tno, just downloaded the latest package of superkaramba (0.32) and apt-get:ed python-tk. This is the output

[email protected]:~/download/temp/karamba/superkaramba/themes/slickbar-0.9$ ./config.py
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
from: can't read /var/mail/threading
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
./config.py: line 23: try:: command not found
from: can't read /var/mail/Tkinter
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
import: Unable to grab the mouse.
import: Unable to read X window image ().
import: Missing an image file name.
./config.py: line 28: sys.argv: command not found
./config.py: line 29: configGui: command not found
./config.py: line 30: except:: command not found
Warning: unknown mime-type for "WARNING: Could not load Tkinter python module. The SlickBar Config GUI requires it to run. It is available here: http://www.python.org/topics/tkinter/." -- using "application/*"
Error: no such file "WARNING: Could not load Tkinter python module. The SlickBar Config GUI requires it to run. It is available here: http://www.python.org/topics/tkinter/."
./config.py: line 32: configGui: command not found
./config.py: line 34: try:: command not found
from: can't read /var/mail/kdecore
./config.py: line 36: syntax error near unexpected token `('
./config.py: line 36: ` kapp = KApplication(sys.argv, "SlickBar Configurator")

Report

C

optikSmoke

17 years ago

It looks like config.py is attempting to be run by something other than python. Try "python ./config.py" instead of just "./config.py"

As well, to be fully useful you should open the config GUI from within slickbar by middle-clicking on the K-button then clicking "Configure SlickBar". If you run the GUI outside of SlickBar, it will save changes but it will not auto-update SlickBar.

Report

pviglucci

17 years ago

Do I have to do anything special to get the system tray to work properly? I have it set up to display 8 icons but I only see a blank panel and nothing in it. The regular system tray applet on the the KDE panel operates without a problem. It is displaying the gaim, kmixer, and klipper icons. Should I not have them running at the same time? Or must they be? I am runnig redhat 9, superkaramba v.32 and slickbar v.9. Thanks.

Pete

Report

C

optikSmoke

17 years ago

I am pretty sure you can only have 1 running at a time... 2 or more and they will try to "steal" icons from each other. Also, make sure you are running superkaramba 0.32, as the systray requires it to function.

If it still doesn't work, run superkaramba from a terminal and see if it gives any error output.

Report

pviglucci

17 years ago

You are correct. Klipper and Kmix work fine so long as the slickbar systray is the only one running. I can't get gaim or the redhat notification icons to display though.

By the way, your work on this theme is fantastic. Keep it up! Thanks.

Report

C

optikSmoke

17 years ago

I can't get gaim or the redhat notification icons to display though.

This might be more of a problem with superkaramba's systray implementation. I'd try posting about this bug on the slickbar discussion board. On the other hand, I could be crazy and it might be my fault.... does the system tray work for you in any other themes? If not, it's likely superkaramba.

By the way, your work on this theme is fantastic. Keep it up! Thanks.

Thanks.... I'm always trying to push the limits of whatever I work on. So what started as a simple theme, has kind of mushroomed into this huge project! It's fun to work on, though, and great to get feedback :)

Report

pviglucci

17 years ago

You are correct. Klipper and Kmixer work fine so long as the slickbar systray is the only one running. I haven't had any luck getting the gaim or redhat notification applets working though.

By the way, you are very talented. Your work on this theme is unmatched. Keep up the good work!

Report

Cwiiis

17 years ago

This is what SuperKaramba themes should be like - this is an excellent theme, easily the best I've seen so far. No over-complication or fancy effects, yet still looks lovely... Hopefully this is the direction that SK themes are going in and we'll soon see many kicker replacements like this.
The only complaints I can level at it are either in the To-do list, or are inherent to SK itself. Well done :)

Report

C

optikSmoke

17 years ago

All I can say is ..... thanks :)

its great to get feedback like this :)

Report

catch22

17 years ago

With the new version, even more packages join the list of packages needed. Are you planning to realease a speciel "slicker-linux" distro ?? or maybe selling a CD with the ekstra packages needed for this to run ?? Honestly,is it really nescecary for a config gui to use some strange python module when u have karamba at your disposal??? Dont get me wrong, im not trying to flame you, but i think youre making this far more complicated then you have to.

Report

rufinus

17 years ago

Tkinter is integrated in most of the python installations, its more or less the standard for gui's in python.

Rufinus

Report

C

optikSmoke

17 years ago

Hmmm.. I chose Tkinter because it is the standard GUI for python -- thus it should either be installed on your machine already, or readily available as a package from your distro.

I didn't use karamba because, quite frankly, its API is extremely limited for full-fledged GUIs. The panel preview would simply not have been possible.

It seemed like a good idea at the time :)

Report

nold

17 years ago

Have a problem installing pyXMMS on Suse. Get a lot of errors like this: '_xmmsmodule.c:329:1: missing terminating " character'. Didn't have any problem with pyKDE. Does anybody know what's wrong?

thanks (nice theme!)

Report

C

optikSmoke

17 years ago

Hmmm.... weird. First thing to do is make sure you have xmms-devel (or the SuSE equivalent) installed, if there is one. If that doesn't help, I don't think there's much I can do to assist you. I'm currently considering switching XMMSPanel to something other thatn PyXMMS, since some people have been having problems with it, but at the moment it seems to be the best (in speed/features) for what I need.

Report

nold

17 years ago

it seems that there is no xmms-dev available from the suse-CD. I'll have to find another way (e.g. install xmms from the source).

thx

Report

RedNalie

17 years ago

God I love this thing, I use it as Taskbar instead of the ugly one that comes with KDE ;).

Anyhow, besides really liking it, I have a minor problem
http://home.quicknet.nl/qn/prive/thf.eilander/slicker.png
See the picture, see the time/date being on top of each other :(
I dunno how to fix this, changing the font didn't help, so that rules out all of my own discovered options ;)

And I have a few feature-requests:
=Systray, according to superkaramba it's now possible, so I'd really like to see it implemented (cause I need it for Kopete and such :))
=On top, apps kan move over slicker now, which is a tadbit annoying (since maximizing them hides my slicker :'()

Other than that, I love it :)

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