Episode: 245
Title: HPR0245: Icewm
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0245/hpr0245.mp3
Transcribed: 2025-10-07 14:45:43

---

Today on Hacker Public Radio, the Ice Window Manager,
ISWM, and something technical about it,
how to get unspored dock apps to run under it.
This is DeepGeek.
Stick with us.
This is DeepGeek, and this is DeepGeek, and this is DeepGeek.
Welcome to another installment of the Lightweight App Series.
The Lightweight App Series is open to all HPR hosts.
We've used Lightweight applications and is platform and operating system agnostic.
So it was a real pleasure to have my series, a hijacked, as Klatju said,
and I did realize that I have a favorite Lightweight Window Manager too.
You know, something I've noticed is that I never mentioned why I like Lightweight apps.
Klatju talked about people who want to operate other smaller machines,
or you know, less capable machines, I should say.
But the reason I like to use Lightweight apps is because,
well, when I was a young man, I was into motorcycles,
and I got used to the power and the acceleration.
And when I run everything Lightweight, and I kick something off, and I do something,
I feel the same way I feel that take off, and I like the resources to be reserved
for what I have to get done at hand.
So for me, it's like a sports car.
You could buy a fine sports car, but if you put the automatic transmission on it,
you're going to suck away some energy for the automatic transmission.
So I'm a stand-transmission kind of guy.
And that should tell you why I like the behavior and feel of Lightweight applications.
So today we're talking about IceWR, the Ice Window Manager.
And the Ice Window Manager is a Lightweight Window Manager, is a replacement.
When you talk about Window Managers, people who are used to either coming from Microsoft Windows,
or used to coming from GNOME or KDE,
might not understand exactly what's on the table here.
And what we're talking about is those situations, those three I just mentioned,
are really integrated desktop environments.
In other words, the whole experience from logging in to logging out,
and all the apps in between is all meant to go together, and works in the same way.
And many people like the consistency of that.
But what a Window Manager is, just a way of managing the windows on your screen,
and it doesn't matter what apps you run.
Talking about replacing it, and maybe you don't like the High Bling Factor,
or maybe the Bling Factor that you're used to isn't enough,
and you want something with more bling, with Linux and Unix,
you can choose exactly what you want your experience to be.
And that's very important to me. I'm a customization junkie.
But later on, I'm going to tackle a specific problem,
because I had what's known as Doc Apps, and in the second part, I'll get into that.
And they were really meant to run under three other minor window managers.
But I wanted to run under my favorite window manager, which is Ice Window Manager.
So the second part, let's get technical. But for this part, that's just have a review.
Iced WM is known for its tightness, is known for its light weightiness,
and is known for its ability to be themed.
I was very surprised to be listening to the SourceCast podcast that we are syndicating on Hacka Public Radio,
and to have them talking about the memory footprints of their systems.
And they were happy to run 200 megabytes of RAM to be doing nothing.
After I log in and kick off Ice WM, I'm really running with about 90 megabytes,
which means that that other 110 megabytes of memory is just more memory for
discation, buffering, whatever can make my system go faster.
Ice WM is tight because of that.
Even though its light weight means that you're not using as much memory,
but that light weightiness packed into a feature rich set.
I mean, if you really want to get into a light weight window manager experience,
you can run FLWM, the fast light weight window manager.
You will just get, it's on as soon as you log in,
and you will just get a mouse on your screen.
And whatever background you log in program left there,
you will only get a menu if you right-click someplace.
That's it.
But what makes Ice WM different from that is that instead of just being light,
it's light and tightly packed features, which allow it to do a variety of things.
So you don't lose your feature set with Ice WM,
even to know that there's no applications written specifically to run on Ice WM.
That would make it into an integrated environment,
which is what Genome and KDE are.
Ice WM has a nickname.
Ice WM is known as the imitator.
It's got a granny factor, which is very good.
The theme ability factor of Ice WM allows it to mimic other situations very easily.
So to fully install Ice WM on a Debian-based system,
you would do two commands, because Debian is all modularized.
You would do apt-get install Ice WM and apt-get install Ice WM dash themes.
And Debian splits that up, so you don't have to run the 72 themes if you don't want to.
But I like to run the themes.
And the theme is amazing, because when you get to your menu,
you'll have your programs, your Windows switcher, the bomb,
it'll be right above the log, it'll be themes.
And it's just a menu that expands.
And there's a whole bunch of themes that you can pick and choose from.
So let's say you theoretically got granny to switch to Linux,
and you wanted her to feel at home.
Now if granny was a Windows 95 person or Windows XP person,
all you would have to do is, for instance,
apply the theme, fake 95,
or win 95 to get that Windows 95 feel.
Or you could choose to use the theme XP or XP new.
And Ice WM will instantly switch into an imitation of those window managers.
If she didn't like the new Vista things,
she could go back to the way she prefers.
And that's why I want to say this has a really good granny factor.
I mean, presumably because you would install it for her.
Just because it imitates the Microsoft products,
does it mean that's the end of its repertoire?
Oh no.
It can do a variety of warp themes.
It can do some pre-tiger Mac themes.
It knows how to do a Windows 3.0 themes,
as well as a motif theme.
And that's just the beginning.
You'll get your typical situation where you have a taskbar,
only you'll have a workspace switcher on the taskbar.
And the taskbar has some nice features, you know,
clocks, mail checker, you know, a stop menu, all that stuff.
But what's really great about the customization of theme ability
is that you can pick and choose what you want.
And this is something I'm going to talk about more in the second part of today's episode.
It is because one thing I really wanted was Doc Apps,
which really belonged to the window maker and window maker compatible window managers.
For a long time, I used FluxBox,
because I wanted to use those Doc Apps.
But, you know, I recently did an episode on the Rocks File Manager.
And in looking how to marry the Rocks File Manager to I.S.W.M,
I found a whole new bunch of customized configuration files
that I can apply to make things operate better.
And I saw, at that point, the way I could make it run these things called Doc Apps.
But I wanted to get into that yet.
Let's keep talking about themes.
Now, let's say, for instance, I mentioned that I used FluxBox quite a while
because I wanted to use this other feature that I.S.W.M lacked.
Now, let's say that you were a fan of the artwork theme of FluxBox.
You can go to themes.freshmeet.net search for I.S.W.M themes.
And you can find I.S.W.M themes to make I.S.W.M act like FluxBox.
The other thing is that everything can be switched off and on.
Another problem I have right now is that I've been using a taskbar since 1994 or something.
15 years of that taskbar is enough.
I want to do a taskbar of this experience.
So I can just turn it off.
That's a wonderful thing.
Also, I noticed that the workspace switching, you don't have the taskbar,
you know, you don't have that quick space switching mechanism.
So what do you do? Well, FluxBox, I went through the configuration file
and I could turn on this feature where I can move my mouse to the edge of a screen
and it'll swap to another, which was a lot better than a task workspace switcher for me.
The customization is just fantastic.
The menus can be customized.
So the Debian default menu comes up, of course.
But you can add shortcuts to your favorite thing.
Anything that you can make into a command that kicks off something,
you can put into your own customized menu.
So I really enjoyed at one point taking virtual machine commands
and making them a menu item.
So I could just choose a QMU instance
and have it kick off for a bunch of Opscord that way.
To conclude the review portion of today's episode,
Iced WM, Tight Lightweight,
Themability Beyond Belief.
I hope you get a chance to give it a shot.
It's got excellent granny factor
and you can set this thing up to fit your needs like gloves.
Alright, welcome to part two of today's episode of Hacker Public Radio.
We are discussing the Iced WM, Ice Window Manager.
Now we're coming into a technical pull-up,
where we're going to talk about making unsupported dock apps run under Iced Window Manager.
So what's this dock app thing you're talking about deep geek?
You know, we don't have to do this on Windows.
The Afterstep Window Manager,
which is the successor to the next step,
the next systems window manager,
featured a thing called dock apps.
And what these were,
were the small applications,
a remote control for your MP3 player,
a mailbox monitor,
system monitoring tools,
a clock, a calendar thing.
Each one having,
it's being written individually,
each one having its own 64 by 64 space,
its own artwork, its own function.
And you could go shopping for
the mailbox monitor that's just right for you.
And the system monitoring tool that's just right for you.
Afterstep was known for this,
window makers also known for this,
and you can pick and choose,
and you run these items separately,
and you drop them in and configure them however you want.
So for me, the right combination is to have a system monitor
that I'll talk about more indefinitely
because the system monitor was actually the most recalcitrant thing
to run the least well-behaved as I say,
a mailbox monitor,
and something to control XMMS.
Instead of having a task board,
you can have these things,
you can lay them out however you want,
you can make them six
and make them into a triangular shape,
and just pick the ones you want.
You can really geek out.
This is something that you can get lost in choosing.
These things run afterstep was the original, I believe,
and then window maker was known for this.
So if you search your package repository,
a lot of times you'll see like ASMEM,
the afterstep applet for memory monitoring,
or a WM mail,
which is an applet written window maker
that watches your mailbox and notifies you when you have new mail.
These things are popular enough that black box
and flux box have full support for them.
So you can pick and choose your apps and run those two.
But they run in a special area afterstep calls it a wharf,
black box and flux box call it the slit.
Some window managers have similar things,
like I believe Enlightenment has what's called Applets,
which is their version of this,
and I think FVWM has something called Good Stuff,
which is something very similar to this.
And what happens is you take this portion
and you run these little applets in that section.
And the reason you're doing that is to cut down on the overhead.
Because if you run them as separate applications,
you got all the overhead of an application.
Whereas by putting them in the wharf of the afterstep,
putting them in the slit of flux box,
some common functions can be consolidated and run together.
If you have an applet that's written for, say, window maker,
you know, when you log out,
the way window maker notifies different things
that's shutting down your session
is different for the window maker applets
than it is for, say, your mail interface,
your mail application you're running.
So, not all applets are written the same.
When you talk about being run in the slit or in the wharf,
you're talking about running in the withdrawn mode.
Now, some of the dock apps only work in the withdrawn mode,
whereas some are written to run both as an application
that's running on your desktop, as well as in the slit.
So, if you have one of these dock apps that are written to go both ways
with command line strings,
you would tell it to either dash W to run the withdrawn mode
to go in the slit or without some consents automatically
if you're running a slit,
some consents if you're running window maker
and will adjust themselves accordingly.
So, there's a bunch of these.
The ones that will run both ways,
natively, doing any special actual work,
if you run them under iStwM,
you'll get a regular window
and, like I said, these things are 64x64, they're small,
maybe about twice the width of a normal taskbar.
So, if you run these, you'll get this small, small window
and you'll have the button for maximize,
the button for minimize, the button for closing will pop up.
And, you know, those buttons are unobtrusive for something
that takes up three cores of your screen.
When you're talking about those buttons
being on something that's in the corner of your screen,
sometimes the buttons can be a third the size
of the whole dock app.
It's really, really ugly.
What I found out was that iStwM
has a special configuration file
called WinOptions,
where you can give it customized instructions
on how to run something,
how to present something when it's run.
And, what you can do is when you run something
as you can tell it, okay, for this,
we aren't going to have the whole window
with all these buttons on it.
And, by the way, while you're at it,
start in a certain place, you know,
so we can begin painting the screen
with a couple of our favorite apps.
So, let's talk about something that's really easy to run,
which is the WMXMMS applet.
Now, what this applet is,
is an applet that's meant to control XMMS,
the course media player.
When you click it, it turns on,
it launches XMMS,
and there's a play button, the pause button,
a next track, a previous track button,
all there for you to use.
And so, instead of having to find the application,
XMMS that's running,
bring it to the forefront,
click a button, and minimize it again,
you can have this little thing running.
And, this is very well behaved,
comes with the XMMS media player.
It seems to know when the switch running on its own.
That's a big plus.
That one's easy to run.
So, for that one,
let's say I wanted to run that.
I would go into Win Options,
and I'm going to make an accompanying article,
so don't worry about me rattling off lines of commands,
because I know it's going to be too much.
If you really want to see the commands,
see the accompanying article,
and you'll see everything.
So, you would open up in the .iswm directory,
which is where you have all your Iswm configuration files,
a new file called Win Options,
and you can start a whole bunch of commands
that apply just to .wm XMMS.
And, the format for these commands is going to be
the app name,
a period,
the option name,
a colon,
and a number like one to say,
activate the feature or deactivate the feature.
So, it's an applet.
We don't want to run like Firefox,
because if we run an application like Firefox,
we're going to have Firefox,
the body of what Firefox is giving us,
we're going to have the close,
maximized, minimized buttons on top of it.
Not only that, but when we go into our window list,
and we're going to see the name of the workspace
plus Firefox and a name of a web page,
we don't want an applet to run the same way.
We don't want those buttons,
because they're too big for this little tiny applet.
Also, when we hit the window list,
we don't want to see it.
What we're going to do is we're going to put into Win Options,
a bunch of commands that tell when I's WM how to handle this applet.
So, the commands are like this,
WMXMMS.allworkspaces, colon1.
In other words, this shows up on every workspace.
So, as I switch between my workspace,
and my favorite setup,
or I should say my current setup,
as I have is a workspace named main,
a workspace named Internet,
and a workspace named background.
So, what we want to do is, as we change workspaces,
we want this application applet to be right there on each one.
So, we say all workspaces1.
Now, we could just as easily tell it to start
in a particular workspace only if we want to.
When we go from like Firefox to our email client,
we can switch quickly with like a shift tab sequence.
So, we don't want to be cycling through applications,
and also have a dinky little applet run-up pop-up, right?
So, we're going to do WMXMMS.ignorequicks,
which colon1.
And now, it's not in that system anymore.
We don't want in the window list.
So, this one called IgnoreWindlist.
Set that to one.
And if we're using the taskbar,
we don't want to see it in the taskbar,
or taking up space down there, Ignore taskbar.
Now, to get rid of the title bar
and those buttons that we were so used to,
the maximize, minimize, and close button,
we do d-title bar zero.
And that does that.
So, now we'll have this thing running,
and it'll show up in all our workspaces,
and it won't show up in our window list,
it won't show up in a taskbar,
and we won't be switching it to if we do it a tab sequence
to be switching between tasks.
It's working right.
That's very nice.
Now, the only thing to really make the cream of the crop
is to give it its own fixed space on our desktop.
Now, in IceWM, you can move a window by holding down the Alt button,
and putting the mouse either in the body of the application
or applet, or on the title bar of the application applet,
and you can drag it around.
When we tell wind-wind options,
we're on the screen this applet belongs.
We're going to have to tell it in the numerical language
of the X-windowing system,
which is really going to suck if we have to figure it out mathematically.
But one nice default feature of IceWM is as you drag it around,
a little indicator pops up on the bomba screen
that gives you the current position in that X language,
and the X language is like the dimensions.
So, if it's 64 by 64, it'll be 64X64,
then the position in the left right will be plus number plus number.
So, we let window IceWM do the work for us
by dragging it around to the upper left hand screen
where we're going to want it,
and then we're going to take a quick note of where it is.
And in my particular instance for WMXMMS,
it was 0X0 plus 0 plus 144.
Don't worry about it's all going to be in my article.
It'll be able to see my file in my article.
So, we add a line WMXMMS.geometry colon,
and you give it this blur back.
Then when you log in, this thing pops up as soon as it's run.
Now, in order to run this upon log in,
many of these things, if you're using a Debian-based system,
you can create a file called .excession,
and you can automatically kick off programs when you log in.
And this is a lot like the stop folder in the Windows operating system,
only we do the commands in something called Xsession.
And I believe Debian-based users use a file called .exinit,
and they would run the commands.
So, the command would be WMXMMS space,
and then you put the ampersand.
Because if you don't, it doesn't continue.
It waits for that command to finish.
And since it's something that's just going to be sitting there forever,
it's not going to finish.
So, we have to be sure to include the ampersand.
Icedwm has a couple of components,
and to make our life easier.
Icedwm in the home slash username.slash.icedwm folder,
you can make your own script called Startup,
and edit that right, a regular shell script for that,
and have these commands.
So, WMXMMS space, call ampersand,
and by using the Startup script in the Icedwm,
it will be run at the right time,
as opposed to be run before.
This is so that when the component of Icedwm,
that you might set your background wallpaper through it,
so that's run in the right sequence.
But it's also a convenience,
because if we used the .x session,
we would have to have a line for each thing that we're running,
as well as at the end, an exec statement,
which would actually go for the window manager proper.
So, if you have a doclet name, a line for each doclet,
and then exec space, Icedwm,
to kick off the Icedwm window manager,
or exec Icedwm desk session,
which allows it to have all the components
automatically launched for you as needed.
In this way, we can just go into a file and out home folder.
We don't have to worry about actually kicking off the window manager.
So, I would recommend to use the Startup script
in the Icedwm folder of your home directory,
and it's all lowercase, spelling out Startup.
WMXMMS, this little applet that remotely controls your XMMS player.
If you click on the face of it,
it'll kick off the actual player,
and the default location is your current workspace.
Well, remember I said I had these three names for my workspaces?
I told it that when XMMS kicks off,
to automatically throw it in background.
So, I don't have to see it.
So, in my WinOptions page,
I have XMMS.workspace colon2.
It numbering starts at zero.
So, like I said, I customized it so I would have my main,
my internet, my background, 012,
and automatically throw this,
the applet my call,
into the third part, the background.
So, that's kind of like my garbage area
that I never really use myself.
I stick in main or I stick in internet.
That's how you make this kind of applet run.
And once you have your Danzer or a group of commands for an applet,
you can copy and paste,
you know, make multiple copies,
and change the applet name,
which is how I set up the afterstep mail.
I really like the afterstep mail monitor program.
And so, I set it up in the same way.
So, that's how I set up the first two applications
to run automatically and in the same space.
In the same space of each of my workspaces,
all three of them automatically
by manipulating those two scripts,
the Win Options Configuration File.
Let's talk about my favorite desktop applet,
which is not as well behaved
as the two documents we've discussed so far,
which is WMXMMS and AS mail.
Now, by the way, when you're looking for these things,
a lot of Doc apps for the afterstep system start with AS.
So, it's AS mail, AS M, AS CPU.
Same thing with the window maker applications.
So, you might want to search your application repository that way.
If you try this and you're looking for these things.
But one of my favorite Doc apps is called Bubble Fishy Mon.
And it's a system monitor.
And it's an interesting case because it's written exclusively to run as a Doc app,
and it's very uncooperative.
If you try to run this just by kicking it off in the stop script,
and when you go to Logout,
the X Windows system will not be able to tell it to end on its own.
And you won't be able to log out, it'll just hang.
You'll have to go in there and manually cancel it or something,
you know, with a kill command.
But I found this applet worthwhile because I think it's really
a great thing to have running because I can look in the corner,
and I know pretty much what my system is doing.
Get this Bubble Fishy Mon is an applet.
And what it is is it has a picture of a duck on a puddle of water going left and right,
left and right.
The more memory your system uses, the deeper the water.
The more CPU you're using, the water bubbles more fervently.
If you use the internet, internet packets or internet traffic is represented
by fish going left and right underneath the duck.
And if you want, you can put an analog clock over the face of the whole thing.
So I can just look up and I know what's going on.
It's a beautiful thing.
So I really wanted to run this application,
and like I said, if I ran on its own,
when I go to Logout and nice WM,
it's going to hang.
So I found a way around it.
It's a bit of a hack,
but I think you're going to like it.
In the start-up script, instead of just calling Bubble Fishy Mon,
I call up a terminal emulator.
I like m-r-x-v-t.
I call up the terminal emulator with the dash e option,
which kicks off Bubble Fishy Mon.
And Bubble Fishy Mon's options.
While I'm calling m-r-x-v-t,
I change the name so that it doesn't run as m-r-x-v-t.
I rename it Bubble Term.
You're going to see why later.
Then I have this in the store of script,
and what I do in my Win Options page is,
first, I take Bubble Term.
I give it a workspace, too.
Automatically, this x-term emulator is running in the background.
And I give it an ignore-wind list,
so it doesn't pop up in my list of windows.
So I got that terminal out of the way,
but the reason I renamed it was so that I could grab it
with the Win Options file in this manner,
because I still want to be able to kick off
the x-term terminal emulator m-r-x-v-t
from any workspace I want.
If I don't change the name,
then every instance is going to automatically go to that background space,
and I might get lost that way.
Then the normal treatment for Bubble Fishy Mon,
taking off the workspace is completely taking away the title bar,
and where it belongs.
That way, when I hit the log out key,
m-r-x-v-t does know
when the accession is ending,
and it will take down Bubble Fishy Mon without incident.
And that's how I got this thing
that doesn't want to run on this system to run this way.
Now, because of Doc-Apps,
I didn't run, I think I mentioned before,
I didn't run ISWM for like a year,
and then I came back to it.
And the reason I came back was because I got a laptop,
and I immediately fell into a deep hatred of my mouse pad.
One thing that's really nice is that when you do the top,
the system menu of any window,
all the hotkeys, alt f-8,
alt f-7 are shown for all the different things
you might want to do to a window,
minimize, maximize, full screen it, hide it, whatever.
Move it to another workspace.
So, for my laptop brought me back to this
because I can get away without using the mouse that much
if I want to.
So I had to come back.
Now I got the best of both worlds.
The only thing that was needed was to run my favorite theme
for a fluxbox was twice,
but I found by searching themes that freshme.org
that there is a twice-clone written for ISWM.
Installation was a snap back in the .iswm directory
where all my configuration files are.
You create one called themes.
You take the tar of that theme written
that you got from freshme.
Put it in there with your favorite decompression program.
You unpack the tar,
and it pops up in your themes menu.
Just choose it.
Now I have what I want.
I got ISWM running.
I got three of my favorite backups
running cleanly and neatly.
I got a color scheme.
That's my favorite from fluxbox.
And I got the taskbar.
Bye-bye to you.
Okay, today's geek tidbit.
It's good to know a little bit of command line old-fashionedness.
I was presented with a question from a friend
about getting email out from behind a restricted firewall.
His example was a cafe,
and presuming that the ports
that his graphic user interface
email client would attempt to connect to an SMTP server
were blocked.
So after trying to help his way,
he tried to do something very, very complicated,
set up a full mail server,
which was not necessary.
I found an answer,
and the reason I could find an answer was because
I knew how to do things on the command line as well
as through a graphical user interface.
I knew how to use the old-fashioned Unix mail command,
which you can use to send mail.
So what I did to solve the problem
was I secured a shell into a shell account,
ran the mail command,
read out the email I wanted to send.
So the point is not that we should convert
to command line all the time,
but it's good to be curious
and explore those command line options
so you can pull something out of a hat when you need to.
There's nothing like the command line
because you can tell that or shell
or secure shell into it from different situations.
That's today's geek tidbit.
Thank you for listening to Hack with Public Radio.
HPR is sponsored by Carol.net,
so head on over to C-A-R-O dot-N-E-T for all of us in need.
