In one of my post I have explained about how to define hotkeys in IceWM environment. As I mentioned there, it is been a while that I use this cool desktop. In this post adding some features to IceWM and applying some changes to making it better will be explained. All changes and opinions are based on my experience which I have gained during work with this window manager.
Startup applications
If you want IceWM launch and execute some applications or services on startup time, you can make a startup file and add name of your application/services there. The name of file is startup
which is located in the following path.
~/.icewm/
If the file is not existed there, you can make one startup file by yourself and put it there in that location. For instance, in my case I want Terminal application and Wireless applet will be loaded at startup, so my startup file is like below,
#!/bin/sh
nm-applet &
sleep 5
gnome-terminal &
There is sleep command in the third line of my startup file. The use of the command is that, it delays starting the next application for five seconds and then after that Terminal application will be loaded. Sleep command could be utilized in a condition which you want to load some services that are highly dependents to each other. Therefore, you could give time for a service to load completely and then run the next service.
Keep in your mind that after saving startup application, you should give execute permission to allow it to run with following command,
$ chomod +x startup
Loading Dropbox
One issue that I was facing with IceWM was Dropbox applet. In fact I wanted my Dropbox service runs when I am logging to IceWM to sync my files automatically but there is no dropbox applet for IceWM and I had to use other way with applying some tricks. For loading dropbox service, I should call dropbox command with adding start parameter in front of it like below,
dropbox start
I have added the above command on startup file which I have explained earlier but it did not worked for me and as a result I had to create just one script file to call dropbox service and then again call the script from startup file. For downloading dropbox script please click here (GitHub link).
In addition, the lines which was added to startup file is like below,
sh ~/.icewm/drop.sh &
sleep 15
Pay attention that loading dropbox service takes few seconds long and that is why sleep command is added to delay loading next service for 15 seconds.
Battery status
Unfortunately IceWM does not have any applets to indicate battery and the only way is to check battery status with upower
command which was explained in this post. The problem with manual checking of the battery is that you should repeat the task every five or ten minutes for example to see whether the battery charge is finishing or not. Additionally, when the charge of battery is too low you will not get any warning to plug the charger to your laptop which could make many problems. Thus, I have made very simple bash script to check battery status and if the battery charge was too low to show warning in GUI. Since the task of checking battery should be repeated, I made another script to run ‘battery.sh’ script every three minutes. You can download battery.sh from this link (GitHub link) and ‘wt.sh’ for running battery status each three minutes from here (GitHub link).
Finally, startup file calls wt.sh
script to run manual battery checking service with following command,
sh ~/.icewm/wt.sh &
sleep 5
Desktop icons
As you know that IceWM is a simple window manager and it is not desktop environment, so by default you cannot add icons on desktop and make them clickable. For doing this, few packages and additional are made which I have tested two of them and finally came up with Rox Desktop which you can download it from here. Rox allows you to have icons on desktop and it has very nice file manger as well which is kind of issue in IceWM. In Ubuntu you could install Rox with the following command,
$ sudo apt-get install rox-filer
In order to launch Rox desktop type following command in terminal,
$ rox –pinboard=MyPinboard &
You also could add the above command in startup file to load your desktop on logging time.
In addition, you can download many themes for Rox from the link which has given at the end of the post. You should extract downloaded file at the following path to make them accessible.
~/.icewm/themes
If themes directory is not existed just create it and then extract your themes there.
File manager
As mentioned earlier IceWM does not have file manager by default and this can be very big issue for those who are not very familiar with command line or does not want to type a lot. Fortunately, many file manager applications are available which you can install and you them. For instance, Rox Desktop has one nice file manager. I have listed few in the following list,
• Rox file manager (comes with Rox Desktop)
• Xfe
• Pcmanfm (default LXDE desktop)
• Mc (Command line equal to DOS NC)
All mentioned file managers are available in Ubuntu repository by default and you can install them by following commands,
$ sudo apt install xfe
$ sudo apt install pcmanfm
$ sudo apt install mc
For more information please refer to following links,