Differences between version 7 and predecessor to the previous major change of Pekwm.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 7 | Last edited on Saturday, February 19, 2005 7:35:52 am | by JyriJokinen | Revert |
Older page: | version 4 | Last edited on Monday, December 8, 2003 9:18:02 pm | by AristotlePagaltzis | Revert |
@@ -15,9 +15,9 @@
With all of this, it still attempts to concentrate on its task, and not offer features that can be had by way of using external tools.
See also:
* http://pekwm.org
-* http://wiki
.pekwm.org
+* http://adresh
.com/
pekwm
----
!!Hints
@@ -35,6 +35,71 @@
}
This will give you a new window menu entry called __Info__ which brings up a box with the information and properties of the associated window.
+----
+!! Recursive Dynamic Wallpaper Menu
+
+Here's one to do a recursive, dynamic wallpaper menu. I found this searching google and then modified it to use feh so that I can maintain wallpapers across sessions. Here's the script:
+
+ #!/usr/bin/perl
+ #
+ # Script Based on the pekwm_themeset.pl script Copyright © 2003 by the pekwm
+ # development team. Small bits added/changed to show wallpapers by Rds
+ # Recursive and link bit added by Enrique < http://welcome.to/Webbench > with
+ # the help of linux_weenie.
+ #
+ # Add this to your menu, if you have pekwm's dynamic menu support:
+ #
+ # !SubMenu = "Backgrounds" {
+ # Entry = "" {
+ # Actions = "Dynamic /path/to/this/file /path/to/wallpapers"
+ # }
+ # }
+ #
+ # This script uses feh to set the wallpaper by default. You may have to modify
+ # this. If you use feh, you can get wallpapers persistent across sessions by
+ # adding the following line to your ~/.pekwm/start file:
+ #
+ # source ~/.fehbg
+ #
+
+ use warnings "all";
+ use strict;
+
+ my $paper_changer = "feh --bg-scale";
+
+ if (scalar(@ARGV) == 1) { # Specifying a directory
+ print("Dynamic {\n");
+ &listpic($ARGV[[0]); # Call the subroutines with the dir as arg
+ print("}\n");
+ }
+
+ sub listpic {
+ my $dir = $_[[0];
+
+ opendir(DIR, "$dir") || die "Can't opendir $dir: $!";
+ my @papers = readdir(DIR); # Put all files/dirs into the @papers array
+ closedir DIR;
+
+ foreach my $x (@papers) {
+ if(-d "$dir/$x" && !("." =~ /$x/ || ".." =~ /$x/)) {
+ # Run recursively through all sub directories
+ print("Submenu = \"$x\" {\n");
+ &listpic("$dir/$x");
+ print("}\n");
+ } elsif (!-d "$dir/$x") {
+ my @file = grep { (! /^\./) && ( /^.*\.[[pPjJgG][[nNpPiI][[gGfF]/ )} $x;
+ print("Entry = \"@file\" { Actions = \"Exec $paper_changer $dir/@file\" }\n");
+ }
+ }
+ }
+
+Put the following in your pekwm menu:
+
+ Submenu = "Wallpapers" {
+ Entry { Actions = "Dynamic pekwm_wp_menu.pl /path/to/wallpapers/" }
+ }
+
+Enjoy.
----
Part of CategoryWindowManager