The CrocBar is a nice and configurable widget bar, written in Java and consequently mostly portable across operating systems. You group in this window all widgets you like, such as action buttons, weather, random images etc.
I use it at home and at work, honestly it's great and does not consume much CPU. The application has been developed by my husband. Congratulations !
I use it at home and at work, honestly it's great and does not consume much CPU. The application has been developed by my husband. Congratulations !
Screenshots
Have a look at my desktop's screenshot below.
Figure 1. Fvwm desktop on Linux Mint with two crocbars, one on the bottom (displaying images) and one of the right. Both crocbar are nearly transparent.
A detailed view of the two-face crocbar is shown below. Figure 2 for the second face, and Figure 3 for the second face.


CrocBar configuration file
The CrocBar's configuration is located in an XML file. The first few lines describe the global settings of the crocbar:<?xml version="1.0" encoding="ISO-8859-1" ?> <CrocBarConfiguration> <CrocBarSizeAttributes x="-5" y="50" width="110" height="625" /> <CrocBarColorAttributes bg="50,40,40, 125" fg="42,218,33" /> <CrocBarTableAttributes cellx="4" celly="31" /> <CrocBarFaceAttributes nb_of_face="2" />Note that:
- negative coordinates may be used: -5 means 5 pixels before the maximum value
- colors are specified in RGB. The fourth value corresponds to transparency. Therefore a 0 means fully transparent.
<CrocWidget type="TimeAndDate" poscellx="0" poscelly="3" nbcellx="4" nbcelly="2" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <!-- Widget dependant parameters --> </ExtraParams> </CrocWidget>The type is the name of the widget. Then you specify where this widget should show (x and y cell coordinates) and its height and width (in cells). All values are numbers of cells (not pixels). bg sets the background color and fg the foreground color. Additionally, an optional face parameter specifies on which face the widget should display. By default, it shows on all faces. In the example below, the MultiplePictures widget displays on the first face (0).
<CrocWidget type="MultiplePictures" face="0" poscellx="0" poscelly="0" nbcellx="4" nbcelly="3" bg="50,40,40" fg="255,166,38">Widgets are then configured by widget dependant parameters. Don't forget to end your configuration file:
</CrocBarConfiguration>
Sample Configuration File
Upload it here.The Time And Date Widget
This widget displays the date and time. It is also in charge of alarms. You can set several alarms. When it's time, the entire bar will shake and display the corresponding message to your alarm.<CrocWidget type="TimeAndDate" poscellx="0" poscelly="3" nbcellx="4" nbcelly="2" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <ShowSeconds value="false" /> <ShowYear value="false" /> <Alarm value="09:00" label="Go to Work !" /> <FontColor value="255, 166, 38" /> <FontSize value="16" /> <ClockLabel value="New York" /> <OffsetMinutes value="-360" /> </ExtraParams> </CrocWidget>
- ShowSeconds, ShowYear handle whether you want seconds/year to be displayed or not by the clock
- FontColor, FontSize handle the appearance of the clock's font. I'm close to blind, I use 16 px ;-)
- Alarm: use one per alarm you want to set. The value is the time to set the alarm on. The label is the text that'll be displayed when the alarm goes off.
Arrows to move between faces
You can move to the previous face by sending the command "previousface", and to the next one with "nextface".<CrocWidget type="ActionIcon" poscellx="0" poscelly="35" nbcellx="1" nbcelly="1" bg="50,40,40,0" fg="255,166,38"> <ExtraParams> <PathToNormalIcon value="images/StepBack22.png" /> <PathToActiveIcon value="images/StepBack32.png" /> <ExecutePath value="previousface" /> </ExtraParams> </CrocWidget>That for the next face:
<CrocWidget type="ActionIcon" poscellx="3" poscelly="30" nbcellx="1" nbcelly="1" bg="50,40,40, 200" fg="255,166,38"> <ExtraParams> <PathToNormalIcon value="images/StepForward22.png" /> <PathToActiveIcon value="images/StepForward32.png" /> <ExecutePath value="nextface" /> </ExtraParams> </CrocWidget>
The CPU Load Widget
This widget is similar to the famous Unix xload.Currently, this widget does not work on Windows.
<CrocWidget type="CPULoad" face="0" poscellx="0" poscelly="5" nbcellx="2" nbcelly="3" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <ShowLabel value="true" /> <Label value="Uptime" /> <UpdateTime value="5" /> <LoadCommand value="uptime" /> <OS value="Solaris" /> <FontColor value="255, 166, 38" /> </ExtraParams> </CrocWidget>
The Memory Load Widget
This widget graphically shows how much RAM you are using. Currently, this widget does not work on Windows.<CrocWidget type="MemoryLoad" face="0" poscellx="2" poscelly="5" nbcellx="2" nbcelly="3" bg="50,40,40, 125" fg="249,36,36"> <ExtraParams> <ShowLabel value="true" /> <Label value="memory" /> <UpdateTime value="10" /> <OS value="Detect" /> <FontColor value="249, 36, 36" /> </ExtraParams> </CrocWidget>
The Main Processes Widget
This widget displays the name of the most demanding process currently running. It does not work on Windows yet.<CrocWidget type="MainProcesses" face="0" poscellx="0" poscelly="8" nbcellx="4" nbcelly="2" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <WaitingTime value="2000" /> <ShowNProcesses value="3" /> <!-- The number of processes to show --> <FontColor value="255, 166, 38" /> </ExtraParams> </CrocWidget>
The Disk Size Widget
This widget shows how much free space you have on a given partition.<CrocWidget type="HDSize" face="1" poscellx="0" poscelly="24" nbcellx="2" nbcelly="3" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <Path value="/" /> <Label value="Root" /> <UpdateTime value="10" /> <FontColor value="255, 166, 38" /> </ExtraParams> </CrocWidget>
The Action Icon Widget
This widget is similar to FVWM Buttons. It creates a shortcut on the Crocbar to start an application or any shell command.<CrocWidget type="ActionIcon" face="0" poscellx="0" poscelly="10" nbcellx="2" nbcelly="2" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <PathToNormalIcon value="images/firefox-32x32.png" /> <!-- Image to show when mouse is not over --> <PathToActiveIcon value="images/firefox-48x48.png" /> <!-- Image to show when mouse is over the button --> <ExecutePath value="firefox" /> <!-- Specify the absolute path if necessary --> </ExtraParams> </CrocWidget>The ExecutePath may contain more complicated commands such as:
<ExecutePath value="xwd -root -out /tmp/screenshot.xwd" />As long as the command exists on the OS you use the CrocBar on, this widget is portable. It has been tested over Linux, OpenSolaris, Windows...
The Random Picture Widget
This widget displays a different image each time you click on it. The image is grabbed from a configurable pool of images. The images are loaded smoothly while the crocbar starts.<CrocWidget type="RandomPictureWhenClick" face="1" poscellx="0" poscelly="0" nbcellx="4" nbcelly="3" bg="50,40,40" fg="255,166,38"> <ExtraParams> <PathToImage value="images/icon-pico.jpg" /> <PathToRandomImage value="http://axelle.apvrille.free.fr/images/bdpico/97-bd-picoluge-1024.jpg" /> <!-- put other images here --> </ExtraParams> </CrocWidget>
The Weather Satellite Widget
Currently, this widget shows a satellite image over France (or Europe).<CrocWidget type="Sat24" face="1" poscellx="0" poscelly="5" nbcellx="4" nbcelly="3" bg="50,40,40" fg="255,166,38"> <ExtraParams> <UpdateRate value="600000" /> </ExtraParams> </CrocWidget>
The RSS Update Widget
This widget lets you know when there's some news on one of your favorite web sites. You specify a URL to the website's RSS feed and the widget displays a new image (update icon) when a difference is detected.Then, you may access the website with a middle or a right click (requires firefox currently + firefox must be in the path).
This widget is portable.
<CrocWidget type="ShowRSSUpdate" face="1" poscellx="2" poscelly="15" borderX="2" borderY="2" nbcellx="2" nbcelly="2" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <PathToNormalIcon value="images/rss-hq.gif" /> <PathToUpdateIcon value="blah.png" /> <!-- the image to display when an update is detected --> <RSSPath value="http://www.lightbluetouchpaper.org/feed/" /> <!-- URL of the feed --> <WebPath value="http://www.lightbluetouchpaper.org" /> <!-- URL for the website --> <UpdateTime value="3600" /> </ExtraParams> </CrocWidget>
The Twitter Widget
This widget posts a new tweet onto your account. To be able to use it, you need a script or an executable able to post on your account. I use tweepy, a Python script.The script must receive as argument the tweet message to post.
The login, posting on to your tweet account is handled by the script, not by the widget. The widget merely shows a text box to write the tweet, and then executes the command specified in the ExecutePath argument, with the tweet message as argument.
<CrocWidget type="Twitter" face="0" poscellx="2" poscelly="34" borderX="2" nbcellx="2" nbcelly="2" bg="50,40,40, 0" fg="255,166,38"> <ExtraParams> <PathToNormalIcon value="images/twitter-32x32.png" /> <PathToActiveIcon value="images/twitter-48x48.png" /> <ExecutePath value="path/to/executable" /> <!-- The command to execute --> </ExtraParams> </CrocWidget>
The Silly Strawberry Widget
This widget is very silly: you (virtually) eat strawberries. Each time you click on the strawberry, a part of it gets crunched out. And after a while, you have no more strawberry left and have to wait until it reappears.Of course, you can crunch anything else by replacing the images with any other fruit you are fond of.
<CrocWidget type="Strawberry" face="1" poscellx="1" poscelly="12" nbcellx="2" nbcelly="3" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <PathToFile value="images/fraise1.png" /> <PathToFile value="images/fraise2.png" /> <PathToFile value="images/fraise3.png" /> <PathToFile value="images/fraise4.png" /> </ExtraParams> </CrocWidget>
The To Do Widget
This widget is a kind reminder of all tasks you still have to do... You can configure tasks dynamically. This widget is portable.<CrocWidget type="ToDo" face="1" poscellx="0" poscelly="21" nbcellx="4" nbcelly="3" bg="50,40,40, 125" fg="255,166,38"> <ExtraParams> <ToDo value="WikiSec a terminer" /> <FontColor value="255, 166, 38" /> <FontSize value="12" /> </ExtraParams> </CrocWidget>
The Retrieve Picture And Display Widget
This widget runs the command in PathToCommand every UpdateRate milliseconds. That script is meant to create a picture named PathToFile and after the script is run, the widget displays the picture. The script must be executable (of course).<CrocWidget type="RetrievePictureAndDisplay" poscellx="1" poscelly="44" nbcellx="4" nbcelly="4" bg="255,255,255" fg="255,166,38"> <ExtraParams> <PathToFile value="fan.jpg" /> <PathToCommand value="myscript.sh" /> <UpdateRate value="300000" /> </ExtraParams> </CrocWidget>
The Volume Widget
You could theoretically add an icon for volume up, one for volume down and one for the current value, but this one is nicer.<CrocWidget type="VolumeCtrl" poscellx="0" poscelly="42" nbcellx="4" nbcelly="2" bg="50,40,40, 200" fg="255,166,38"> <ExtraParams> <CommandForVolumeUp value="volumeup" /> <CommandForVolumeDown value="volumedown" /> <CommandForVolumeValue value="volumevalue" /> </ExtraParams> <CrocWidget>
The Script Print Widget
You can have a script run periodically and display its output.<CrocWidget type="Script_Print" poscellx="0" poscelly="42" nbcellx="4" nbcelly="2" bg="50,40,40, 0" fg="255,166,38"> <ExtraParams> <WaitingTime value="100000" /> <ShowLines value="3" /> <Script value="path-to-your-script.sh" /> <FontColor value="249, 36, 36" /> <FontSize value="12" /> <InterlineSize value="14" /> </ExtraParams> <CrocWidget>