Diff: WindowMakerThemes

Differences between version 10 and previous revision of WindowMakerThemes.

Other diffs: Previous Major Revision, Previous Author

Newer page: version 10 Last edited on February 29, 2012 11:33 am by PhilHollenback Revert
Older page: version 9 Last edited on January 30, 2009 2:19 pm by PhilHollenback Revert
@@ -1,5 +1,5 @@
-The ~WindowMaker window manager has a theme mechanisim which controls your background images, titlebar images, etc. This is controlled with the setstyle program. 
+The ~WindowMaker window manager has a theme mechanism which controls your background images, titlebar images, etc. This is controlled with the setstyle program. 
  
 I wrote the following script to invoke setstyle and give it a random theme: 
 <verbatim> 
 #!/usr/bin/tcl 
@@ -61,30 +61,4 @@
  
 To use this script, start it in your .xsession or .startxrc with the -b switch. It will then change the theme every 30 minutes. If you call it without the -b switch, it changes the theme immediately and exits. 
  
 --phil 3/7/02 
-  
------  
-<?plugin RawHtml  
-<script>  
-var idcomments_acct = '011e5665a1128cdbe79c8077f0f04353';  
-var idcomments_post_id;  
-var idcomments_post_url;  
-</script>  
-<span id="IDCommentsPostTitle" style="display:none"></span>  
-<script type='text/javascript' src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script>  
-?>  
------  
-<?plugin RawHtml  
-<center>  
-<script type="text/javascript"><!--  
-google_ad_client = "pub-5011581245921339";  
-google_ad_width = 728;  
-google_ad_height = 90;  
-google_ad_format = "728x90_as";  
-google_ad_channel ="";  
-//--></script>  
-<script type="text/javascript"  
- src="http://pagead2.googlesyndication.com/pagead/show_ads.js">  
-</script>  
-</center>  
-?>  

version 10

The WindowMaker window manager has a theme mechanism which controls your background images, titlebar images, etc. This is controlled with the setstyle program.

I wrote the following script to invoke setstyle and give it a random theme:

#!/usr/bin/tcl
# A script to randomly select a new windowmaker theme.

# Phil Hollenback
# philiph_at_pobox.com
# 4/29/03

set Background [ lindex $argv 0 ]
set ScriptName [ file tail $argv0 ]

set dir "~/GNUstep/Library/WindowMaker/Themes"
set styleprog /usr/X11R6/bin/setstyle
set SleepTime 3600
set themelist [ readdir $dir ]


proc PrintUsage {} {
    global ScriptName SleepTime
    puts "Usage: $ScriptName \[-b\]"
    puts "optional b switch causes program to stay running and wake up every $SleepTime"
    puts "seconds to change the background."
}

if { $argc > 1 } {
    PrintUsage
    exit 1
}

# Pick a random theme from the list.
random seed
set picknum [ random [ llength $themelist ] ]
set theme [ lindex $themelist $picknum ]

#echo "theme is $theme"

if [ file exists "$dir/$theme" ] {
    set result [system $styleprog $dir/"$theme"]
    if [ expr $result != 0 ] {
      puts stderr "$styleprog failed!"
      puts stderr "Theme was $dir/$theme"
      exit 1
    }
    if { [ string compare $Background "-b" ] != 0 } {
        # quit unless user specified "-b" persistent switch.
        exit 0
    }
} else {
    echo "Can't find theme $dir/$theme! Where did it go?"
    exit 1
}

# Sleep for a while, then respawn to change the background again.
sleep $SleepTime
execl $argv0 "-b"

To use this script, start it in your .xsession or .startxrc with the -b switch. It will then change the theme every 30 minutes. If you call it without the -b switch, it changes the theme immediately and exits.

--phil 3/7/02



Our Founder
ToolboxClick to hide/show