My goal is to make sure at least the 5 most popular dock-apps work on Solaris. As of this writing, the five most popular dock-apps listed at the Dock-App Warehouse are running on Solaris!
Source code here is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
As with any patch, make a backup of the source code to the program before applying the patch.
|
WmloadWmload is my favorite Dock-app, although I might be in the minority. You can get the source for it here.I've implemented the kstat code you need to make it work under Solaris. It shows user, system and wait time, and idle-- this maps up to the output of mpstat(1M). If you have multiple CPUs, they are aggregated. In the picture at left, the dim red represents "user" time, and the bright red is "sys" time. Having high "wait" is pretty uncommon on a desktop, and you can't see it in this picture. Here is the patch. To apply it:
$ tar xf wmload-0.9.2.tar $ ls -1 wmload-0.9.2.tar wmload.solaris.patch wmload-0.9.2/ $ gpatch --strip=1 -i wmload.solaris.patch patching file wmload-0.9.2/Imakefile patching file wmload-0.9.2/wmload.c $ cd wmload-0.9.2Edit Imakefile as appropriate... $ xmkmf imake -DUseInstalled -I/usr/openwin/lib/X11/config $ make cc -O -I/usr/openwin/include -Dsun -Dsparc -DSVR4 -DSYSV -Debug -I/opt/sfw/include -I/usr/local/include -c wmload.c rm -f wmload LD_RUN_PATH=/usr/openwin/lib cc -o wmload -O -L/usr/openwin/lib wmload.o -L/opt/sfw/lib -R/opt/sfw/lib -L/usr/local/lib -R/usr/local/lib -lXpm -lXext -lX11 -lkstat -lm -lsocket -lnsl $ ./wmload |
![]() ![]() ![]() |
WmmonSomeone else ported wmmon to Solaris 2.6, but the implementation has some issues starting with Solaris 8; in short, wmmon uses the BOOT_TIME entry in the utmp database to figure out system uptime; utmp is obsoleted in Solaris 8 in favor of the long standing improvement, utmpx.
The Solaris 2.6 wmmon distribution seems to have vanished. I have an archive
of it, which you can obtain
here. To apply the patch and build wmmon, follow these steps: $ gunzip wmmon.app-solaris26.tar.gz $ tar xf wmmon.app-solaris26.tar $ ls -1 wmmon.app-solaris26.tar wmmon.app-solaris8-patch wmmon.app-solaris26/ $ gpatch --strip=1 -i wmmon.app-solaris8-patch patching file wmmon.app-solaris26/wmmon/Makefile patching file wmmon.app-solaris26/wmmon/m-solaris26.c patching file wmmon.app-solaris26/wmmon/wmmon.c $ cd wmmon.app-solaris26/wmmon $ make gcc -c -g -I/opt/sfw/include -I/usr/local/include wmmon.c -o wmmon.o gcc -o wmmon -g wmmon.o ../wmgeneral/wmgeneral.o ../wmgeneral/misc.o ../wmgeneral/list.o -L/opt/sfw/lib -R/opt/sfw/lib -L/usr/local/lib -R/usr/local/lib -lkstat -lXpm -lXext -lX11 -lsocket $ ./wmmongpatch is available in /usr/bin starting in Solaris 8. |
![]() ![]() |
BubblemonIt looks like a duck, it floats like a duck. It must be... a load meter! Phil Lu and I worked to port bubblemon to Solaris. The author worked closely with us to integrate the changes. You can get bubblemon here
|
![]() |
wmfishtimewmfishtime displays the time with some animated fish who zip around in the background. I contributed a bug fix to port wmfishtime to Solaris; the author graciously accepted the changes.
|
|
WmcdplaySam Hawker maintains the excellent wmcdplay dock-app, but hasn't had the chance to take my diffs for building under Solaris.At the time of this writing, wmcdplay-1.0-beta1 is the latest release. Get it here (go to the "C/C++" section) and then apply this patch as follows: $ tar xf wmcdplay-1.0-beta1.tar $ ls -1 wmcdplay-1.0-beta1.tar wmcdplay.solaris.patch wmcdplay/ $ gpatch --strip=1 -i ./wmcdplay.solaris.patch patching file wmcdplay/Imakefile patching file wmcdplay/cdctl.h patching file wmcdplay/wmcdplay.cc $ cd wmcdplaynow edit Imakefile, as per instructions in that file $ xmkmf mv -f Makefile Makefile.bak imake -DUseInstalled -I/usr/openwin/lib/X11/config $ make g++ -I/usr/local/include -I/opt/sfw/include -c wmcdplay.cc rm -f wmcdplay LD_RUN_PATH=/usr/openwin/lib g++ -o wmcdplay -L/usr/openwin/lib wmcdplay.o -lXext -lX11 -R/usr/local/lib -L/usr/local/lib -R/opt/sfw/lib -L/opt/sfw/lib -lXpm -lsocket -lnsl $ ./wmcdplay -d /dev/rdsk/c0t6d0s0 You can use the settings in the Imakefile to toggle between using g++ or the Sun Workshop C++ compiler. Everything in wmcdplay works fine, with the exception of the button designed to "suck in" the CD-ROM tray; the Solaris SCSI disk driver doesn't have an ioctl to do that. Don't forget that you may need to change the device permissions for your CD-ROM drive. I have not tested wmcdplay with ATAPI CD-ROM drives under Solaris; it works with my SCSI CD-ROM drive. |
|
WmcubeI ported wmcube to Solaris, and the author graciously accepted my patch. Starting with version 0.96, it should compile and work for (at least) Solaris 2.6, 7 and 8. |
![]() ![]() |
wmndMy friend Sebastian Liusnea ported wmnd to Solaris, deriving the platform specific portions from my port of wmnet. The author graciously accepted the changes. wmnd is particularly neat because it can monitor multiple interfaces.
|
|
WmnetI have ported the popular wmnet dock-app to Solaris; unfortunately, the maintainers are on hiatus from maintaining the application, and have not accepted the changes.The patch is here. To apply the patch and build wmnet, follow these steps: $ gunzip wmnet-1.06.gz $ tar xf wmnet-1.06.tar $ gpatch --strip=1 -i wmnet.solaris.patch patching file wmnet-1.06/Imakefile patching file wmnet-1.06/config.h patching file wmnet-1.06/drivers.c patching file wmnet-1.06/wmnet.c $ cd wmnet-1.06Edit Imakefile as appropriate...
$ xmkmf
imake -DUseInstalled -I/usr/openwin/lib/X11/config
$ make
...
$ ./wmmon
|
|
wmfrontier & wmlabelMy friend Stephen wrote these; they work just fine on Solaris. wmfrontier documents the continuing voyages..., and wmlabel shows the current workspace number (and a little load monitor) for the PWM window manager and other GNOME compliant WMs.You can get them at www.blueslugs.com/software/dockables. |
|
wmfstatusI found wmfstatus to be a handy status-display dock-app; however it had some issues in the file-locking code and minor problems compiling under Sun's C compiler. I fixed it and presented the patch to the author, but received no response.The patch is here. To apply the patch and build wmfstatus, follow these steps: $ gunzip wmfstatus-0.4.tar.gz $ tar xf wmfstatus-0.4.tar $ gpatch --strip=1 -i wmfstatus.solaris.patch patching file wmfstatus-0.4/INSTALL patching file wmfstatus-0.4/wmfstatus/Makefile patching file wmfstatus-0.4/wmfstatus/wmfstatus.c $ cd wmfstatus-0.4/wmfstatusEdit Makefile according to directions therein...
$ make
...
$ ./wmfstatus
|
|
WmscopeJohn Meacham wrote wmscope and ported it to Solaris, too; you can find it on his wmscope page. |
|
Mail the Page Maintainer thanks to the Rampant Group for providing web hosting. |
|