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

kcomplex

17 years ago

You think you could give any more details on getting PyKDE to compile on Mandrake 9.1? I've looked around, and haven't found much information anywhere else.

Report

C

optikSmoke

17 years ago

Oops...... I was meaning to respond to you sooner.

Anyway, I posted a fix for this a few comments down :)

Report

unionJack

17 years ago

I wonder, if there is a possibility to change the font type and colour of the xmms-control part. I looked for it but I couldn't find it anywhere.

When having a bright background I almost can't see the xmms display.

Report

C

optikSmoke

17 years ago

I'll make it a config option in the next release. In the meantime, look in MusicPanel.py, it controls the font stuff for the XMMSPanel if you want to change it manually........

Which (BTW) will include (when I finish it) a slick, fast TaskPanel as well..... that's right, I haven't *completely* forgotten about SlickBar, even though I haven't released one in awhile :)

Report

unionJack

17 years ago

Thanks it works. I thought MusicPanel was a sample for own extensions. It obviously is not :).

Report

C

optikSmoke

17 years ago

Heh, yeah..... :) the MusicPanel class is inherited by XMMSPanel and NoatunPanel. It handles most of the visual stuff, the code in XMMSPanel and NoatunPanel just handles communication with xmms/noatun. Basically, it means if wanted to implement your own MusicPanel, you could inherit from the MusicPanel class and have most of the work already done for you :) And consequently, it also means if you chose to use NoatunPanel now the modifications you made would already work with NoatunPanel.

Report

p0z3r

17 years ago

To autostart this in kde, make a bash script and put it into your ~/.kde/Autostart directory.

#!/bin/bash
cd /home/p0z3r/karambathemes/
superkaramba slickbar.theme

It works for me with other themes, someone wanted to know how to do this.
-p0z3r

Report

m1cr0wav3

17 years ago

This theme is great....but im having one problem...when I start the theme up all it shows is the time/date bar. It doesnt show the big-K, nor the XMMS bar (and yes I have pyXMMS installed). Can someone help me fix this problem. thanks. And oh yea, I am running SuperKaramba.

Report

soulrebel

17 years ago

i have EXACTLY the same problem on both a suse 9.0 box and rh9.0 box and both with karamaba and with superkaramba 3.2
older versions of slickbar (0.2) work with karamba.

Report

Stroboscopic

17 years ago

Check the ownership and permissions on your slickbar/ directory. I just fixed the same problem on my box by chown'ing the theme directory to myself.

Hope this helps.

Report

RobbiK

17 years ago

Hi, I just installed SuperKaramba and I really like this theme. However when I start it I get this error:

File "slickbar.py", line 13, in ?
import SlickBar
File "SlickBar/__init__.py", line 15, in ?
from SlickBar.Panels.XMMSPanel import *
File "SlickBar/Panels/XMMSPanel.py", line 9, in ?
import time
ImportError: /usr/lib/python2.2/lib-dynload/timemodule.so: undefined symbol: PyInt_FromLong
------------------------------------------------------
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, than nothing is wrong.
------------------------------------------------------

And the theme only displays the clock and the date...as only they are specified in the .theme file I guess. Since I'm not a Python expert I have absolutely no idea what to do about this import error....any suggestions are appreciated. I'm running a fresh install of Red Hat 9!

Thanks

Report

C

optikSmoke

17 years ago

I'm not sure, but this could be a problem with your python libraries. Frankly, I only have a little experience solving these problems; I only learned python to write a SuperKaramba version of SlickBar. However, from what I can see you are having a problem importing the time module (which is used to parse the seconds into useful time in the XMMSPanel). I only used it as a quick solution, I'll do it manually in the next version and that should (hopefully) solve your problem.

Report

RobbiK

17 years ago

I updated to SuperKaramba 0.25...now everything works fine ;)

Thanks!

Report

srfric

17 years ago

Just to let you know I got desktops working and a converted some pngs from another theme for superkaramba, made them transparent. Here is what it looks like. http://216.11.32.4/desktops/desktop.png
I Added shortcuts under the xmms section so now I can launch Xmms, Mozilla, Konqueror, and pretty much anything else. When I get home I will post the code for the configuration files. Hope you all enjoy!! Oh yeah one more thing I love this theme keep it up.

Report

srfric

17 years ago

Here is the code for the desktop switchs and how to add the app icons. The one thing I noticed is if I middle click the Big K then click edit menu the apps under it also launch. This is a minor problem but I still wanted to point it out. If you want the desktop pngs let me know and I will e-mail them to you.

Note: the word group needs to be surrounded by a greater than and a less than. There is a group at the top and bottom of each part. You just add those lines into the main configuration file.

#change desktop
GROUP X=800 Y=0
IMAGE X=0 Y=4 PATH="pics/1.png"
CLICKAREA X=0 Y=4 W=16 H=16 ONCLICK="dcop kwin KWinInterface setCurrentDesktop 1"
IMAGE X=18 Y=4 PATH="pics/2.png"
CLICKAREA X=18 Y=4 W=16 H=16 ONCLICK="dcop kwin KWinInterface setCurrentDesktop 2"
IMAGE X=36 Y=4 PATH="pics/3.png"
CLICKAREA X=36 Y=4 W=16 H=16 ONCLICK="dcop kwin KWinInterface setCurrentDesktop 3"
IMAGE X=54 Y=4 PATH="pics/4.png"
CLICKAREA X=54 Y=4 W=16 H=16 ONCLICK="dcop kwin KWinInterface setCurrentDesktop 4"
/GROUP

#apps
GROUP X=203 Y=29
IMAGE X=0 Y=4 PATH="pics/mozilla.png"
CLICKAREA X=0 Y=4 W=16 H=16 ONCLICK="mozilla"
IMAGE X=18 Y=4 PATH="pics/kfm_home.png"
CLICKAREA X=18 Y=4 W=16 H=16 ONCLICK="kfmclient openProfile filemanagement"
IMAGE X=36 Y=4 PATH="pics/konqueror.png"
CLICKAREA X=36 Y=4 W=16 H=16 ONCLICK="kfmclient openProfile webbrowsing"
IMAGE X=54 Y=4 PATH="pics/xmms.png"
CLICKAREA X=54 Y=4 W=16 H=16 ONCLICK="xmms"
IMAGE X=72 Y=4 PATH="pics/gaim.png"
CLICKAREA X=72 Y=4 W=16 H=16 ONCLICK="gaim"
/GROUP

Report

Naschkatze82

17 years ago

In which part of the file do I have to input this text? But it has to be the "slickbar.py", doesn't it?

Report

C

optikSmoke

17 years ago

Its nice to see this, but I'd like to point out it should only be considered a temporary solution (indeed, the old SlickBar had code similar to this). My goal for SlickBar, since v0.7, is to have all the panels written using the python API I am developing. This will mean that users can move panels around and configure them however they want, using a GUI configuration dialog (to be written). It will also allow people to easily write more interactive panels without worrying too much about them interfering with each other.

Report

C

optikSmoke

17 years ago

The more people that help me work on this theme, the better!
I will be posting detailed SlickBar development docs later, too.

Report

srfric

17 years ago

Sorry about the double post, I hit refresh and it reposted.

Report

srfric

17 years ago

Just to let you know I got desktops working and a converted some pngs from another theme for superkaramba, made them transparent. Here is what it looks like. http://216.11.32.4/desktops/desktop.png
I Added shortcuts under the xmms section so now I can launch Xmms, Mozilla, Konqueror, and pretty much anything else. When I get home I will post the code for the configuration files. Hope you all enjoy!! Oh yeah one more thing I love this theme keep it up.

Report

genneth

17 years ago

Any plans to beat the slicker team to getting a working slicker out of the door? :p

Report

dr3node

17 years ago

but xmms buttons aren't working at all. and it would be great if that empty space under xmms bar were filled with configurable number of desktop buttons just like those on kicker. thank you for your work.

Report

C

optikSmoke

17 years ago

Yeah, desktop buttons are one of my next ventures, don't worry. Like I said, this is a kind of pre-release at the moment :) As for XMMS buttons.... crap. Thanks, I just realized the problem. I'll fix it and release it right away.

Report

WhitePanther5000

17 years ago

this is great! I just have one problem, is there a way to have it start up on login automatically? right now I have an icon on my desktop to start it but I wish I didnt have to do that. Please let me know.

Report

p0z3r

17 years ago

test...

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 2