Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sat 30 Aug 2014, 16:54
All times are UTC - 4
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Desktop
pekpipes - sh pipemenu scripts for pekwm
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 1 Posts_count  
Author Message
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 25 Jul 2013, 20:20    Post_subject:  pekpipes - sh pipemenu scripts for pekwm  

These are variants of my other pipemenu scripts for icewm and openbox. All are written in sh so require nothing more than pekwm, a bourne compatible shell and basic system utilities.

pekdate.sh - Displays a submenu showing the current date and time and a monthly calendar. Works best with a monospace font.

pekfb.sh - Adds a directory browser menu to your pekwm menu. Browse-able both up and down, with hidden files and folders in separate subfolders. This allows you to jump easily to any part of the filesystem and open a filemanager or terminal, or open files directly using a mime-opener such as xdg-open,exo-open or even rox.

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

pekplaces.sh - This started out as just a mimic of the gnome2 places menu but is now substantially more comprehensive. Differences include rox bookmark support and the ability to make your home directory browse-able via pekfb.sh.

pekwp.sh - Sets your wallpaper from the pekwm menu. This can launch somewhat slowly the first time as it will be busy generating thumbnails of the images in your wallpaper directories.

All of these scripts will require the user to edit the preferences block with a text editor to set some sane defaults for your particular setup. In particular you will probably want to set your preferred filemanager and terminal, plus the directory where you keep your wallpapers. You will also have to manually add them to your pekwm menu.

Tip - for icons in the menus, add icons matching what the scripts call for into ~/.pekwm/icons (unless you have changed the default configuration). It should be possible to get full icon coverage.

This project is following closely my icepipes and obpipes projects and shares a similar roadmap. This is likely to be the only "standalone" release (unless bugfixes are needed) as I am planning on implementing a common configuration file and library of shell functions for code sharing between the scripts. However, they're functional now so feel free to try them out.
pempd.jpg
 Description   The mpd menu open displaying volume settings.
 Filesize   42.11 KB
 Viewed   337 Time(s)

pempd.jpg

pekplaces.jpg
Description  The places menu plus filebrowser menu open.
jpg

 Download 
Filename  pekplaces.jpg 
Filesize  159.77 KB 
Downloaded  223 Time(s) 
pekpipes-0.3.tar.bz2
Description 
bz2

 Download 
Filename  pekpipes-0.3.tar.bz2 
Filesize  4.81 KB 
Downloaded  216 Time(s) 

_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
simargl

Joined: 11 Feb 2013
Posts: 572

PostPosted: Thu 01 Aug 2013, 04:03    Post_subject:  

.
_________________
The Arch Way

Edited_time_total
Back to top
View user's profile Send_private_message Visit_website 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 01 Aug 2013, 06:46    Post_subject:  

I was unaware you had done that already. I did basically the same thing last week and put it up on bitbucket and Arch aur. Maybe next time some collaboration would be beneficial?

Since the thread just got bumped anyway, here's the latest status of this particular project. I've implemented bash function libraries for pipemenu creation for icewm|pekwm|openbox that allow a single script to create a menu for all three. Almost all of the standalone scripts are ported over to the new framework, just have to do the filebrowser and finish the Makefile for the "source" package.

The part I find kinda cool about how I did it is that the scripts work as multi-call executables, sort of like busybox but in sh form. Call it as "pekmpd.sh" and you get the pekwm version. And it only sources the functions for the WM it's targeting, so there's not much overhead. It actually eliminates a significant amount of size over the standalone versions, and it's more maintainable and easier to implement the same menu for all 3 WM's.

When I re-implement the filebrowser I'm going to implement some directory contents caching to speed it up on subsequent executions. That part of the code is in outline stage.

Having fun with it, and more to come.

_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 01 Aug 2013, 15:26    Post_subject:  

Current state of development is on bitbucket here. You'd need mercurial to check it out, or alternatively I'll post a tarball in a day or so. The tarball that's up already is several versions behind.

I haven't tested it "live" yet but the fb script is now properly caching directory contents, so any subsequent entrances into a directory should be nice and fast if the contents haven't changed since the last write. It currently caches the following in ~/.config/wmpipe/fb_cache:
* The modification (mtime) of the directory in the "directory" file
* The dotfiles, files, dotdirs, and subdirs in fb_cache/<inode-of-directory>{.dotfiles,.files,.dotdirs,.dirs}
* The actual menu written

Since it caches the directory contents and not just the menu, if you go to the same directory with another WM's version of the script it runs faster than it would if starting from scratch, as it doesn't have to run "find" 4 times to separate dirs/files/dotfiles/dotdirs.

I know that's all technical jibberish, sorry. The point is it's a fairly significant improvement over the old version in a lot of ways.

I also added two more nice new features over the previous standalone version. Each directory listing also has a menu entry to bookmark the directory, which creates a gtk-bookmark. And it also now supports just about any terminal you would want to use with it.

Last but not least, there are now global prefs rather than in each script, making setup a heck of a lot quicker. And out of courtesy I included a config for puppy, with the icons mapped somewhat to what Puppy actually includes.

Tarball fairly soon, and possibly packages to follow.

_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
simargl

Joined: 11 Feb 2013
Posts: 572

PostPosted: Thu 01 Aug 2013, 17:23    Post_subject:  

.
_________________
The Arch Way

Edited_time_total
Back to top
View user's profile Send_private_message Visit_website 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 01 Aug 2013, 19:25    Post_subject:  

Interesting yes, but I always start with 0.1 release and the name seemed appropriate. Newer version, yes (I checked out your source package after your post). All of the various xdg generators we used to have in Puppy no longer compile with newer libs, so I thought I'd give a go at actually maintaining this.

"Source" package for my wmpipe project is up on bitbucket now. Ran down a number of typos and bugs, seems to be working well for me now. https://bitbucket.org/nfisher1226/wmpipe/downloads/wmpipe-0.2.tar.gz
Simple installation with the included Makefile. If you like you can set PREFIX and SYSCONFDIR on the command line to install into /etc and /usr instead of the default of all in /usr/local. Also supports DESTDIR for packaging. I've made a PKGBUILD for arch but not uploading until I've tested a bit more and proofread a bit. I may make a pet package, maybe not.

_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
simargl

Joined: 11 Feb 2013
Posts: 572

PostPosted: Thu 22 Aug 2013, 08:23    Post_subject:  

.
_________________
The Arch Way

Edited_time_total
Back to top
View user's profile Send_private_message Visit_website 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 22 Aug 2013, 12:28    Post_subject:  

Must be a library version thing. I had already done an update, both of openbox-menu and of my "hack". Both work fine for me with an up-to-date Arch.

I wish I knew where Mimas had his devel repo so I could track it closer. He jumped right over 0.4 to 0.5. He made some fairly extensive changes.

This time around I stripped out his "get_safe_name" function, as it's only required to safegaurd XML against illegal characters, and the startup-notification code. I went ahead and just bumped the version of pekwm-menu to match that of openbox-menu.

_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 22 Aug 2013, 13:42    Post_subject:  

Out of curiosity I tried specifying the menu file on the command line and it doesn't work. That means you must have a menu named applications.menu in /etc/xdg/menus. So yes, it's obviously broken. I'll check into the code a bit when I have some more free time.
_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
Nathan F


Joined: 08 Jun 2005
Posts: 1760
Location: Wadsworth, OH (occasionally home)

PostPosted: Thu 22 Aug 2013, 13:45    Post_subject:  

OK, it seems that it was only if I entered the full path that it errored. I can specify gnome-applications.menu or xfce-applications.menu on the command line and it works.
_________________
Bring on the locusts ...
Back to top
View user's profile Send_private_message AIM YIM MSNM 
Display_posts:   Sort by:   
Page 1 of 1 Posts_count  
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
 Forum index » Advanced Topics » Additional Software (PETs, n' stuff) » Desktop
Jump to:  

Rules_post_cannot
Rules_reply_cannot
Rules_edit_cannot
Rules_delete_cannot
Rules_vote_cannot
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0754s ][ Queries: 13 (0.0114s) ][ GZIP on ]