icedate.sh - Shows a calendar and the current date/time. Works best with a monospace font. The least useful one of the bunch but still cool.

icempd.sh - Control music player daemon from the menu. Requires a running mpd and the mpc command line client.

icefb.sh - Walk the directory tree from a menu. I use it on the toolbar. Open a filemanager or terminal in a given directory, or open any file that "xdg-open" understands. The terminal must understand the --working-directory= option (gnome-terminal, xfce4-terminal, lxterminal, maybe others). This could be hacked a bit for better portability.

These are WIP ports of my own openbox pipe menus. The scripts all have a user configuration section to set things like your favored external programs. To install, edit the configuration section with a text editor and place in your $PATH. Then add something similar to the following to your icewm menu:

Code:

menuprogreload Places user-bookmarks 0 iceplaces.sh

Where menuprogreload tells icewm to create a menu using this script, Places is the label you want the menu to have, user-bookmarks is the icon, 0 means "refresh this menu every time it's opened", and the name of the script is the command to execute.

Feedback welcome. These are also available in a similar form for pekwm and openbox.
=======================================
UPDATE - version 0.3 uploaded
=======================================

Version 0.3
iceplaces.sh
* ROX-Filer bookmark support
* Bugfix for better rox support (removal of 'file://' from uri's)
* Now catches removable media mounted in /media or the new /run/media via udev
* Bugfixes for various path mangling corner cases (spaces and special chars in pathnames)

Version 0.2
* Support for a browsable home directory in iceplaces.sh (calls icefb.sh).
* Supports opening urxvt from icefb.sh and can now scroll upwards in icefb.sh

Icewm's menu framework is about the easiest to work with of any wm IMO. It's even smart enough to ignore entries, and in fact entire submenus, if the corresponding programs aren't in your $PATH.

To get the same functionality out of openbox required quite a bit more code and some strange workarounds. The directory browser gagged on any file or directory names containing the '&' character, for instance (which is quite common in my music collection dammit).

I've always though icewm was overlooked. It's fast as hell, had pipe menus for quite some time, can be controlled completely from the keyboard if you desire, etc. What I think is missing are nice themes that don't look like Motif or Win95, particularly in the default install._________________Bring on the locusts ...

Yeah, I've snagged a few from there. I was thinking if a few more attractive themes were included with the release tarball, or if they put together a collection of extra themes, people might not so easily get scared off when they install it and start thinking "this looks too retro..."_________________Bring on the locusts ...

I also have a wallpaper setting pipe menu for pekwm and openbox, that I could port to icewm. Any takers?

Not me... That's quite a surprising offer from the author of an excellent wallpaper setter, isn't it?! Unless of course you can outdo yourself in the form of a new icewm pipe-script? Or maybe you're trying to do away with ROX?

On a tangent subject, the latest pekwm offers a snapshot utility. But with SFR's "Take-a-shot", and probably a dozen more snapshot utilities that have been generated on/for Puppy, it falls short. Maybe on other distros, though. Or for the fun of it! But as I implied, that particular need has already been catered to.

Keep 'em coming, though!

I believe that a pipe-script within the icewm menu which could reach the most obscure parts of the Puppy hierarchy (sub-sub-sub-folders, for ex.) in a somewhat thematic fashion would be most useful for beginners and developers alike. It would speed up access tremendously.

Yeah, I've snagged a few from there. I was thinking if a few more attractive themes were included with the release tarball, or if they put together a collection of extra themes, people might not so easily get scared off when they install it and start thinking "this looks too retro..."

Not me... That's quite a surprising offer from the author of an excellent wallpaper setter, isn't it?! Unless of course you can outdo yourself in the form of a new icewm pipe-script? Or maybe you're trying to do away with ROX?

I don't use Puppy exclusively anymore, actually not for quite some time. I alternate between FreeBSD and Arch, and mess with Puppy out of habit and fun. So I like to program with portability in mind. Not to mention the fact that Barry has talked about making Puppy a little less dependent on Rox-Filer in his blog. Plus the fact that Rox hasn't been updated in quite some time, which is getting a bit scary.

Quote:

I believe that a pipe-script within the icewm menu which could reach the most obscure parts of the Puppy hierarchy (sub-sub-sub-folders, for ex.) in a somewhat thematic fashion would be most useful for beginners and developers alike. It would speed up access tremendously.

Something like the "places" script, but customized for Puppy? Or maybe add in support for Rox-Filer bookmarks to the iceplaces.sh script? Either of those would be reasonably easy. Or maybe a configuration variable in the iceplaces script where you could add custom directories?

Quote:

On a tangent subject, the latest pekwm offers a snapshot utility. But with SFR's "Take-a-shot", and probably a dozen more snapshot utilities that have been generated on/for Puppy, it falls short. Maybe on other distros, though. Or for the fun of it! But as I implied, that particular need has already been catered to.

The wallpaper setter pipe-menu works particularly well in pekwm, incidentally. Pekwm can configure the size of icons on a per-submenu basis, so you can display a 64x40 thumbnail preview (for instance) and actually see what it is you're setting. The downside is in it's current form it opens slow the first time, as it's working hard to scale all the images into preview size.

Quote:

Keep 'em coming, though!

I posted the openbox scripts earlier today, and the pekwm varients are almost finished. Just got the file browser working right under pekwm. I'll try to post those tommorrow.

My other thoughts are as follows.

If this grows any more, it would be worthwhile to move the configuration to a separate file (maybe ~/.config/pipemenusrc or the like) and think of them as a suite of programs. That way any customizations would apply to all of the scripts, and also accross all supported WM's.

That strategy means less editing of the scripts, and it can be done on a per-user basis meaning that the scripts can be in /usr/bin and each user can choose they'ds own preferred apps for integration with their own desktop (thinking again of portability to other distros/os's).

That strategy also opens the possibility of creating a gui tool to set prefs, although I don't want to promise something that I may not have the time or inclination to write._________________Bring on the locusts ...

The screenshot shows my development model. I'm running openbox on my desktop and have another window with pekwm running via Xephyr (nested X server) so I can catch any error messages easily while testing things out.

Kinda crazy I know. But it works for me. This kind of flexibility is what I love about *nix.

Where menuprogreload tells icewm to create a menu using this script, Places is the label you want the menu to have, user-bookmarks is the icon, 0 means "refresh this menu every time it's opened", and the name of the script is the command to execute.

iceplaces.sh displays the entries when introduced with the menuprogreload command in the menu.

However, here are a few suggested edits to make it work with ROX-Filer in Puppy :

Code:

#!/bin/sh
# Simple places script for your pekwm menu
# 06.20.2013 by Nathan Fisher (nfisher dot sr at gmail)
# Edits by Christian L'Écuyer (aka musher0), July 23, 2013,
# for use with ROX-Filer on PuppyLinux.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
#
#####################################################
# User configuration section

Just an idea:
on first run of iceplaces.sh perhaps ask the user which file manager (s)he is using, make that into a flag file in /tmp. Then provide variants of the building part as
case "`cat /tmp/fm`" in
rox) blabla ;;
x) bleble ;;
y) blibli ;;
and so on
esac_________________"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)