Penguin

Differences between current version 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
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 
The following authors of this page have not agreed to the WlugWikiLicense. As such copyright to all content on this page is retained by the original authors.
  • JayBromley
The following authors of this page have agreed to the WlugWikiLicense.

PHP Warning

lib/plugin/WlugLicense.php (In template 'html'):99: Warning: Invalid argument supplied for foreach()

lib/plugin/WlugLicense.php (In template 'html'):111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument

lib/plugin/WlugLicense.php (In template 'html'):111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument