Kim Gräsman wrote:
Hi Shawn,

On Wed, Jun 4, 2008 at 11:32 AM, Shawn K. Hall
<[EMAIL PROTECTED]> wrote:
I reinstalled on my XP Pro SP 2 machine at work where I have a
multiline taskbar (3 levels). I still had the issue where it only
shows on one line with a grey readonly section underneath.
Changes have now been committed to resolve this. New release coming very
shortly.

Thanks! I'm waiting for Brian's comx changes as well,

  ...attached.  Sorry for the delay in getting it to ya.  :/   work (ie: real 
world) intervened.


  Also, sadly, I cannot get DQSD working for many pieces (comx included.. :/ ) 
on my work machine.
I keep getting "Access denied".  I tried the "register the dll" trick, and it 
didn't seem to help.

:sigh:  probably some danged "security policy" that they swept through and set, 
somewhere (either in
WindowsXP [SP2], or in IE [6.x]).   :(


<search function="comx">
    <name>Comic Strip</name>
    <description>Displays comic strip(s) in a single window.
    <table class="helpboxDescTable">
    <tr><td colspan="2"><div class="helpboxDescLabels">Note:</div> All the comic switches can be abbreviated and multiple switches can be specified at one time.</td></tr>
    <tr><td>--</td></tr><tr><td><div class="helpboxDescLabels">Switches:</div></td></tr>
    <tr><td>9 Chickweed Lane</td><td>/9chickweed</td></tr>
    <tr><td>A Case in Point</td><td>/caseinpoint</td></tr>
    <tr><td>Adam at Home</td><td>/adamathome</td></tr>
    <tr><td>Agnes</td><td>/agnes</td></tr>
    <tr><td>Alex</td><td>/alex</td></tr>
    <tr><td>Alley Oop</td><td>/alleyoop</td></tr>
    <tr><td>Andy Capp</td><td>/andycapp</td></tr>
    <tr><td>Animal Crackers</td><td>/animalcrackers</td></tr>
    <tr><td>Annie</td><td>/annie</td></tr>
    <tr><td>Arlo and Janis</td><td>/arloandjanis</td></tr>
    <tr><td>B.C.</td><td>/bc</td></tr>
    <tr><td>Baldo</td><td>/baldo</td></tr>
    <tr><td>Ballard Street</td><td>/ballardstreet</td></tr>
    <tr><td>Ben</td><td>/ben</td></tr>
    <tr><td>Betty</td><td>/betty</td></tr>
    <tr><td>Big Nate</td><td>/bignate</td></tr>
    <tr><td>Big Picture</td><td>/bigpicture</td></tr>
    <tr><td>Big Top</td><td>/bigtop</td></tr>
    <tr><td>Bo Nanas</td><td>/bonanas</td></tr>
    <tr><td>Boondocks</td><td>/boondocks</td></tr>
    <tr><td>Bound and Gagged</td><td>/boundandgagged</td></tr>
    <tr><td>Brenda Starr</td><td>/brendastarr</td></tr>
    <tr><td>Broomhilda</td><td>/broomhilda</td></tr>
    <tr><td>Bulls N Bears</td><td>/bullsnbears</td></tr>
    <tr><td>CEO Dad</td><td>/ceodad</td></tr>
    <tr><td>Calvin and Hobbes</td><td>/calvinandhobbes</td></tr>
    <tr><td>Cats With Hands</td><td>/catswithhands</td></tr>
    <tr><td>Candorville</td><td>/candorville</td></tr>
    <tr><td>Cathy</td><td>/cathy</td></tr>
    <tr><td>Cheap Thrills</td><td>/cheapthrills</td></tr>
    <tr><td>Cleats</td><td>/cleats</td></tr>
    <tr><td>Close to Home</td><td>/closetohome</td></tr>
    <tr><td>Committed</td><td>/committed</td></tr>
    <tr><td>Cornered</td><td>/cornered</td></tr>
    <tr><td>Dick Tracy</td><td>/dicktracy</td></tr>
    <tr><td>Dilbert</td><td>/dilbert</td></tr>
    <tr><td>Dinosaur Comics</td><td>/dinosaurcomics</td></tr>
    <tr><td>Doonesbury</td><td>/doonesbury</td></tr>
    <tr><td>Drabble</td><td>/drabble</td></tr>
    <tr><td>Dr. Fun</td><td>/drfun</td></tr>
    <tr><td>Duplex</td><td>/duplex</td></tr>
    <tr><td>Fat Cats</td><td>/fatcats</td></tr>
    <tr><td>Ferdnand</td><td>/ferdnand</td></tr>
    <tr><td>Flight Deck</td><td>/flightdeck</td></tr>
    <tr><td>Flo and Friends</td><td>/floandfriends</td></tr>
    <tr><td>For Better or for Worse</td><td>/forbetterorforworse</td></tr>
    <tr><td>FoxTrot</td><td>/foxtrot</td></tr>
    <tr><td>Frank and Ernest</td><td>/frankandernest</td></tr>
    <tr><td>Frazz</td><td>/frazz</td></tr>
    <tr><td>Fred Basset</td><td>/fredbasset</td></tr>
    <tr><td>Fusco Brothers</td><td>/fuscobrothers</td></tr>
    <tr><td>Garfield</td><td>/garfield</td></tr>
    <tr><td>Gasoline Alley</td><td>/gasolinealley</td></tr>
    <tr><td>Geech</td><td>/geech</td></tr>
    <tr><td>Get Fuzzy</td><td>/getfuzzy</td></tr>
    <tr><td>Go Fish</td><td>/gofish</td></tr>
    <tr><td>Graffiti</td><td>/graffiti</td></tr>
    <tr><td>Grand Avenue</td><td>/grandavenue</td></tr>
    <tr><td>Heart of the City</td><td>/heartofthecity</td></tr>
    <tr><td>Heathcliff</td><td>/heathcliff</td></tr>
    <tr><td>Helen of the Internet</td><td>/helenoftheinternet</td></tr>
    <tr><td>Herb and Jamaal</td><td>/herbandjamaal</td></tr>
    <tr><td>Herman</td><td>/herman</td></tr>
    <tr><td>Housebroken</td><td>/housebroken</td></tr>
    <tr><td>In the Bleachers</td><td>/inthebleachers</td></tr>
    <tr><td>Janes World</td><td>/janesworld</td></tr>
    <tr><td>Jump Start</td><td>/jumpstart</td></tr>
    <tr><td>Kit N Carlyle</td><td>/kitncarlyle</td></tr>
    <tr><td>Kudzu</td><td>/kudzu</td></tr>
    <tr><td>La Cucaracha</td><td>/lacucaracha</td></tr>
    <tr><td>Liberty Meadows</td><td>/libertymeadows</td></tr>
    <tr><td>Lil Abner</td><td>/lilabner</td></tr>
    <tr><td>Lola</td><td>/lola</td></tr>
    <tr><td>Loose Parts</td><td>/looseparts</td></tr>
    <tr><td>Lost Sheep</td><td>/lostsheep</td></tr>
    <tr><td>Luann</td><td>/luann</td></tr>
    <tr><td>Lucky Cow</td><td>/luckycow</td></tr>
    <tr><td>Lupo Alberto</td><td>/lupoalberto</td></tr>
    <tr><td>Marmaduke</td><td>/marmaduke</td></tr>
    <tr><td>Meatloaf Night</td><td>/meatloafnight</td></tr>
    <tr><td>Meehan Streak</td><td>/meehanstreak</td></tr>
    <tr><td>Meg!</td><td>/meg</td></tr>
    <tr><td>Mister Boffo</td><td>/misterboffo</td></tr>
    <tr><td>Mixed Media</td><td>/mixedmedia</td></tr>
    <tr><td>Moderately Confused</td><td>/moderatelyconfused</td></tr>
    <tr><td>Momma</td><td>/momma</td></tr>
    <tr><td>Monty</td><td>/monty</td></tr>
    <tr><td>Motley</td><td>/motley</td></tr>
    <tr><td>Mullets</td><td>/mullets</td></tr>
    <tr><td>Nancy</td><td>/nancy</td></tr>
    <tr><td>Natural Selection</td><td>/naturalselection</td></tr>
    <tr><td>Nonsequitur</td><td>/nonsequitur</td></tr>
    <tr><td>Off The Mark</td><td>/offthemark</td></tr>
    <tr><td>One Big Happy Classics</td><td>/onebighappyclassics</td></tr>
    <tr><td>Out of the Gene Pool</td><td>/outofthegenepool</td></tr>
    <tr><td>Over the Hedge</td><td>/overthehedge</td></tr>
    <tr><td>Overboard</td><td>/overboard</td></tr>
    <tr><td>PC and Pixel</td><td>/pcandpixel</td></tr>
    <tr><td>Peanuts</td><td>/peanuts</td></tr>
    <tr><td>Pearls Before Swine</td><td>/pearlsbeforeswine</td></tr>
    <tr><td>Pibgorn</td><td>/pibgorn</td></tr>
    <tr><td>Pickles</td><td>/pickles</td></tr>
    <tr><td>Pluggers</td><td>/pluggers</td></tr>
    <tr><td>Pooch Cafe</td><td>/poochcafe</td></tr>
    <tr><td>Pop Culture</td><td>/popculture</td></tr>
    <tr><td>Preteena</td><td>/preteena</td></tr>
    <tr><td>Raising Duncan</td><td>/raisingduncan</td></tr>
    <tr><td>Real Life Adventures</td><td>/reallife</td></tr>
    <tr><td>Reality Check</td><td>/realitycheck</td></tr>
    <tr><td>Red and Rover</td><td>/redandrover</td></tr>
    <tr><td>Reynolds Unwrapped</td><td>/reynoldsunwrapped</td></tr>
    <tr><td>Ripleys Believe It or Not</td><td>/ripleysbelieveitornot</td></tr>
    <tr><td>Rose Is Rose</td><td>/roseisrose</td></tr>
    <tr><td>Rubes</td><td>/rubes</td></tr>
    <tr><td>Rudy Park</td><td>/rudypark</td></tr>
    <tr><td>Sheldon</td><td>/sheldon</td></tr>
    <tr><td>Shirley And Son</td><td>/shirleyandson</td></tr>
    <tr><td>Shoe</td><td>/shoe</td></tr>
    <tr><td>Soup To Nutz</td><td>/souptonutz</td></tr>
    <tr><td>Speed Bump</td><td>/speedbump</td></tr>
    <tr><td>Spot The Frog</td><td>/spotthefrog</td></tr>
    <tr><td>Stone Soup</td><td>/stonesoup</td></tr>
    <tr><td>Strange Brew</td><td>/strangebrew</td></tr>
    <tr><td>Tank Mcnamara</td><td>/tankmcnamara</td></tr>
    <tr><td>Tarzan</td><td>/tarzan</td></tr>
    <tr><td>Thats Life</td><td>/thatslife</td></tr>
    <tr><td>The 5th Wave</td><td>/5thwave</td></tr>
    <tr><td>The Born Loser</td><td>/bornloser</td></tr>
    <tr><td>The Buckets</td><td>/buckets</td></tr>
    <tr><td>The Grizzwells</td><td>/grizzwells</td></tr>
    <tr><td>The Joy of Tech</td><td>/joyoftech</td></tr>
    <tr><td>The Other Coast</td><td>/othercoast</td></tr>
    <tr><td>The Sunshine Club</td><td>/sunshineclub</td></tr>
    <tr><td>Top of the World!</td><td>/topoftheworld</td></tr>
    <tr><td>User Friendly</td><td>/userfriendly</td></tr>
    <tr><td>Willy n Ethel</td><td>/willynethel</td></tr>
    <tr><td>Wizard of Id</td><td>/wizardofid</td></tr>
    <tr><td>Working Daze</td><td>/workingdaze</td></tr>
    <tr><td>Working It Out</td><td>/workingitout</td></tr>
    <tr><td>xkcd</td><td>/xkcd</td></tr>
    <tr><td>Ziggy</td><td>/ziggy</td></tr>
    <tr><td>Zits</td><td>/zits</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Editorials (not published every day):</div></td></tr>
    <tr><td>All editorials for today</td><td>/editorials</td></tr>
    <tr><td>Animated Oliphant</td><td>/animatedoliphant</td></tr>
    <tr><td>Ann Telneas</td><td>/anntelneas</td></tr>
    <tr><td>Barbara Brandon</td><td>/barbarabrandon</td></tr>
    <tr><td>Ben Sargent</td><td>/bensargent</td></tr>
    <tr><td>Bill Deore</td><td>/billdeore</td></tr>
    <tr><td>Chan Lowe</td><td>/chanlowe</td></tr>
    <tr><td>Chip Bok</td><td>/chipbok</td></tr>
    <tr><td>Chuck Asay</td><td>/chuckasay</td></tr>
    <tr><td>Dana Summers</td><td>/danasummers</td></tr>
    <tr><td>Dana Wasserman</td><td>/danawasserman</td></tr>
    <tr><td>David Horsey</td><td>/davidhorsey</td></tr>
    <tr><td>Dick Locher</td><td>/dicklocher</td></tr>
    <tr><td>Dick Wright</td><td>/dickwright</td></tr>
    <tr><td>Don Wright</td><td>/donwright</td></tr>
    <tr><td>Doug Marlette</td><td>/dougmarlette</td></tr>
    <tr><td>Drew Sheneman</td><td>/drewsheneman</td></tr>
    <tr><td>Faces In The News</td><td>/facesinthenews</td></tr>
    <tr><td>Gary Varvel</td><td>/garyvarvel</td></tr>
    <tr><td>Glenn McCoy</td><td>/glennmccoy</td></tr>
    <tr><td>Jack Higgins</td><td>/jackhiggins</td></tr>
    <tr><td>Jack Ohman</td><td>/jackohman</td></tr>
    <tr><td>Jeff Danziger</td><td>/jeffdanziger</td></tr>
    <tr><td>Lalo Alcaraz</td><td>/laloalcaraz</td></tr>
    <tr><td>Matt Davies</td><td>/mattdavies</td></tr>
    <tr><td>Mike Luckovich</td><td>/mikeluckovich</td></tr>
    <tr><td>Nick Anderson</td><td>/nickanderson</td></tr>
    <tr><td>Pat Oliphant</td><td>/patoliphant</td></tr>
    <tr><td>Paul Conrad</td><td>/paulconrad</td></tr>
    <tr><td>Paul Szep</td><td>/paulszep</td></tr>
    <tr><td>Signe Wilkinson</td><td>/signewilkinson</td></tr>
    <tr><td>Steve Sack</td><td>/stevesack</td></tr>
    <tr><td>Stuart Carlson</td><td>/stuartcarlson</td></tr>
    <tr><td>Ted Rall</td><td>/tedrall</td></tr>
    <tr><td>Tom Toles</td><td>/tomtoles</td></tr>
    <tr><td>Tony Auth</td><td>/tonyauth</td></tr>
    <tr><td>Walt Handelsman</td><td>/walthandelsman</td></tr>
    <tr><td>Wayne Stayskal</td><td>/waynestayskal</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Extra Switch:</div></td></tr>
    <tr><td>comx /popup</td><td>Open the comics in a popup window instead of the default browser.</td></tr>
    <tr><td colspan="2"><div class="helpboxDescLabels">Examples:</div></td></tr>
    <tr><td>comx /wiz   </td><td>(Wizard of Id)</td></tr>
    <tr><td>comx /workingit  </td><td>(Working it Out)</td></tr>
    <tr><td>comx /rip   </td><td>(Ripleys Believe it or Not)</td></tr>
    <tr><td>comx /wiz /workingit /rip</td><td>(Opens all three)</td></tr>
    <tr><td>comx /wiz /workingit /rip /popup</td><td>(Opens all three) in a popup window</td></tr>
    <tr><td>comx /dil /editorials</td><td>Opens Dilbert and all editorial cartoons for today</td></tr>
    </table>
    </description>
    <category>Fun</category>
    <script><![CDATA[

  function comx(q){
     if( q == "" || q == "?"){
        qsfind("comx /function");
        return false;
     }
     var comxoutfile = DQSDLauncher.AppDataDirectory + '\\comx.html';     
     var pagebody="<html>\n<head>\n<style>h4 {color:#900000;margin:0;}img {margin-bottom:16px;}</style>\n</head>\n<body>\n";
     var fileout=1;     
     //if the fileout switch was used, set the fileout flag to true and remove it from the list of comics to fetch
     if (q.search("/popup") >= 0) {
        fileout=0;
        q = q.replace("/popup", "");
     }

     var editorial_switches = new Array(
     "animatedoliphant","anntelneas","barbarabrandon","bensargent", "billdeore","chanlowe",
     "chipbok","chuckasay","danasummers","danawasserman","davidhorsey","dicklocher",
     "dickwright","donwright","dougmarlette","drewsheneman","facesinthenews","garyvarvel",
     "glennmccoy","jackhiggins","jackohman","jeffdanziger","laloalcaraz", "mattdavies",
     "mikeluckovich","nickanderson","patoliphant","paulconrad","paulszep","signewilkinson",
     "stevesack","stuartcarlson","tedrall","tomtoles","tonyauth","walthandelsman","waynestayskal"
     );

     if (q.search("/editorials") >= 0) {
        q = q.replace("/editorials", "/" + editorial_switches.join(" /"));
     }

     var args = parseArgs(q, "5thwave,9chickweedlane,agnes,alex,alleyoop,andycapp,arloandjanis,bc,\
     ballardstreet,ben,betty,bignate,bonanas,bornloser,buckets,bullsnbears,candorville,\
     caseinpoint,ceodad,cheapthrills,committed,dinosaurcomics,drabble,drfun,fatcats,ferdnand,\
     flightdeck,floandfriends,forbetterorforworse,frankandernest,frazz,geech,getfuzzy,\
     gofish,graffiti,grandavenue,grizzwells,heathcliff,herbandjamaal,herman,\
     janesworld,jumpstart,kitncarlyle,libertymeadows,lilabner,luann,lupoalberto,marmaduke,\
     meatloafnight,meg,moderatelyconfused,momma,monty,motley,nancy,naturalselection,\
     offthemark,onebighappyclassics,othercoast,outofthegenepool,overthehedge,pcandpixel,\
     pearlsbeforeswine,pibgorn,pickles,raisingduncan,realitycheck,redandrover,\
     ripleysbelieveitornot,roseisrose,rubes,rudypark,sheldon,shirleyandson,souptonutz,\
     speedbump,spotthefrog,strangebrew,sunshineclub,tarzan,thatslife,topoftheworld,\
     wizardofid,workingdaze,workingitout,peanuts,dilbert,animalcrackers,adamathome,annie,\
     baldo,bigpicture,bigtop,boondocks,boundandgagged,brendastarr,broomhilda,calvinandhobbes,\
     catswithhands,cathy,cleats,closetohome,cornered,dicktracy,doonesbury,duplex,foxtrot,fredbasset,\
     fuscobrothers,garfield,gasolinealley,heartofthecity,helenoftheinternet,housebroken,\
     inthebleachers,joyoftech,kudzu,lacucaracha,lola,looseparts,lostsheep,luckycow,meehanstreak,\
     middletons,misterboffo,mixedmedia,mullets,nonsequitur,overboard,pluggers,poochcafe,popculture,\
     preteena,reallife,reynoldsunwrapped,shoe,stonesoup,tankmcnamara,userfriendly,willynethel,xkcd,ziggy,\
     zits" + editorial_switches.join(','));

     if ( args.switches.length > 0 ){
        //get the current date
        var dat = new Date();
        for (i=0; i < args.switches.length; i++){
           var site=null;
           var endurl=null;
           var imgtitle=null;
           var imgkey=null;
           var urlstart=null;
           var endurl=null;
           var urlcat=null;
           var urldir=null;
           var editorial=false;
                      
           //default regex for finding the image in the page source..
           var rx = /.+(\/archive\/images\/\w+\.\w+)"\s+ALT="Today's\s+Comic"/i;
           switch( args.switches[i].name ){
              case "9chickweedlane": endurl="comics/chickweed/index.html";break;
              case "agnes": endurl="creators/agnes/index.html";break;
              case "alleyoop": endurl="comics/alleyoop/index.html";break;
              case "andycapp": endurl="creators/andycapp/index.html";break;
              case "arloandjanis": endurl="comics/arlonjanis/index.html";break;
              case "bc": endurl="creators/bc/index.html";break;
              case "ballardstreet": endurl="creators/ballardst/index.html";break;
              case "ben": endurl="comics/ben/index.html";break;
              case "betty": endurl="comics/betty/index.html";break;
              case "bignate": endurl="comics/bignate/index.html";break;
              case "bonanas": endurl="wash/bonanas/index.html";break;
              case "bornloser": endurl="comics/bornloser/index.html";break;
              case "buckets": endurl="comics/buckets/index.html";break;
              case "bullsnbears": endurl="comics/bullsnbears/index.html";break;
              case "candorville": endurl="wash/candorville/index.html";break;
              case "caseinpoint": endurl="comics/acaseinpoint/index.html";break;
              case "ceodad": endurl="creators/ceodad/index.html";break;
              case "cheapthrills": endurl="wash/cheapthrills/index.html";break;
              case "committed": endurl="comics/committed/index.html";break;
              case "dilbert": endurl="comics/dilbert/index.html"; imgtitle="Dilbert"; break;
              case "drabble": endurl="comics/drabble/index.html";break;
              case "fatcats": endurl="comics/fatcats/index.html";break;
              case "ferdnand": endurl="comics/ferdnand/index.html";break;
              case "flightdeck": endurl="creators/flightdeck/index.html";break;
              case "floandfriends": endurl="creators/floandfriends/index.html";break;
              case "frankandernest": endurl="comics/franknernest/index.html";break;
              case "frazz": endurl="comics/frazz/index.html";break;
              case "geech": endurl="comics/geech/index.html";break;
              case "getfuzzy": endurl="comics/getfuzzy/index.html";break;
              case "gofish": endurl="comics/gofish/index.html";break;
              case "graffiti": endurl="comics/graffiti/index.html";break;
              case "grandavenue": endurl="comics/grandave/index.html";break;
              case "grizzwells": endurl="comics/grizzwells/index.html";break;
              case "heathcliff": endurl="creators/heathcliff/index.html";break;
              case "herbandjamaal": endurl="creators/herbnjamaal/index.html";break;
              case "herman": endurl="comics/herman/index.html";break;
              case "janesworld": endurl="comics/janesworld/index.html";break;
              case "joyoftech": imgtitle="The Joy of Tech";site="joyoftech";imgkey="jot";break;
              case "jumpstart": endurl="comics/jumpstart/index.html";break;
              case "kitncarlyle": endurl="comics/kitncarlyle/index.html";break;
              case "libertymeadows": endurl="creators/liberty/index.html";break;
              case "lilabner": endurl="comics/lilabner/index.html";break;
              case "luann": endurl="comics/luann/index.html";break;
              case "lupoalberto": endurl="comics/lupo/index.html";break;
              case "marmaduke": endurl="comics/marmaduke/index.html";break;
              case "meatloafnight": endurl="comics/meatloaf/index.html";break;
              case "meg": endurl="comics/meg/index.html";break;
              case "moderatelyconfused": endurl="comics/moderatelyconfused/index.html";break;
              case "momma": endurl="creators/momma/index.html";break;
              case "monty": endurl="comics/monty/index.html";break;
              case "motley": endurl="comics/motley/index.html";break;
              case "nancy": endurl="comics/nancy/index.html";break;
              case "naturalselection": endurl="creators/naturalselection/index.html";break;
              case "offthemark": endurl="comics/offthemark/index.html";break;
              case "onebighappyclassics": endurl="creators/onebighappy/index.html";break;
              case "othercoast": endurl="creators/othercoast/index.html";break;
              case "outofthegenepool": endurl="wash/genepool/index.html";break;
              case "overthehedge": endurl="comics/hedge/index.html";break;
              case "pcandpixel": endurl="wash/pcnpixel/index.html";break;
              case "pearlsbeforeswine": endurl="comics/pearls/index.html";break;
              case "pibgorn": endurl="comics/pibgorn/index.html";break;
              case "pickles": endurl="wash/pickles/index.html";break;
              case "raisingduncan": endurl="comics/raisingduncan/index.html";break;
              case "realitycheck": endurl="comics/reality/index.html";break;
              case "redandrover": endurl="wash/redandrover/index.html";break;
              case "ripleysbelieveitornot": endurl="comics/ripleys/index.html";break;
              case "roseisrose": endurl="comics/roseisrose/index.html";break;
              case "rubes": endurl="creators/rubes/index.html";break;
              case "rudypark": endurl="comics/rudypark/index.html";break;
              case "sheldon": endurl="comics/sheldon/index.html";break;
              case "shirleyandson": endurl="comics/shirleynson/index.html";break;
              case "souptonutz": endurl="comics/soup2nutz/index.html";break;
              case "speedbump": endurl="creators/speedbump/index.html";break;
              case "spotthefrog": endurl="comics/spotthefrog/index.html";break;
              case "strangebrew": endurl="creators/strangebrew/index.html";break;
              case "sunshineclub": endurl="comics/sunshineclub/index.html";break;
              case "tarzan": endurl="comics/tarzan/index.html";break;
              case "thatslife": endurl="wash/thatslife/index.html";break;
              case "topoftheworld": endurl="comics/topofworld/index.html";break;
              case "wizardofid": endurl="creators/wizardofid/index.html";break;
              case "workingdaze": endurl="comics/workingdaze/index.html";break;
              case "workingitout": endurl="creators/workingitout/index.html";break;
              // the oddball one.. has to have its own rx pattern
              case "peanuts": endurl="comics/peanuts/index.html";rx=/.+(\/archive\/images\/\w+\.\w+)"\s+ALT="Today's Strip"/;imgtitle="Peanuts";break;
              // comics from ucomics.com
              case "5thwave": imgtitle="The 5th Wave";site="ucomics";imgkey="fw";break;
              case "animalcrackers": imgtitle="Animal Crackers";site="ucomics";imgkey="tmani";break;
              case "adamathome": imgtitle="Adam at Home";site="ucomics";imgkey="ad";break;
              case "annie": imgtitle="Annie";site="ucomics";imgkey="tmann";break;
              case "baldo": imgtitle="Baldo";site="ucomics";imgkey="ba";break;
              case "bigpicture": imgtitle="Big Picture";site="ucomics";imgkey="bi";break;
              case "bigtop": imgtitle="Big Top";site="ucomics";imgkey="bt";break;
              case "boondocks": imgtitle="Boondocks";site="ucomics";imgkey="bo";break;
              case "boundandgagged": imgtitle="Bound and Gagged";site="ucomics";imgkey="tmbou";break;
              case "brendastarr": imgtitle="Brenda Starr";site="ucomics";imgkey="tmbre";break;
              case "broomhilda": imgtitle="Broom Hilda";site="ucomics";imgkey="tmbro";break;
              case "cathy": imgtitle="Cathy";site="ucomics";imgkey="ca";break;
              case "catswithhands": imgtitle="Cats With Hands";site="ucomics";imgkey="tmcat";break;
              case "cleats": imgtitle="Cleats";site="ucomics";imgkey="cle";break;
              case "closetohome": imgtitle="Close to Home";site="ucomics";imgkey="cl";break;
              case "cornered": imgtitle="Cornered";site="ucomics";imgkey="co";break;
              case "dicktracy": imgtitle="Dick Tracy";site="ucomics";imgkey="tmdic";break;
              case "doonesbury": imgtitle="Doonesbury";site="ucomics";imgkey="db";break;
              case "duplex": imgtitle="Duplex";site="ucomics";imgkey="dp";break;
              case "foxtrot": imgtitle="Foxtrot";site="ucomics";imgkey="ft";break;
              case "fredbasset": imgtitle="Fred Basset";site="ucomics";imgkey="tmfba";break;
              case "forbetterorforworse": imgtitle="For Better Or For Worse";site="ucomics";imgkey="fb";break;
              case "fuscobrothers": imgtitle="Fusco Brothers";site="ucomics";imgkey="fu";break;
              case "garfield": imgtitle="Garfield";site="ucomics";imgkey="ga";break;
              case "gasolinealley": imgtitle="Gasoline Alley";site="ucomics";imgkey="tmgas";break;
              case "heartofthecity": imgtitle="Heart of the City";site="ucomics";imgkey="hc";break;
              case "helenoftheinternet": imgtitle="Helen of the Internet";site="ucomics";imgkey="tmhel";break;
              case "housebroken": imgtitle="Housebroken";site="ucomics";imgkey="tmhou";break;
              case "inthebleachers": imgtitle="In the Bleachers";site="ucomics";imgkey="bl";break;
              case "kudzu": imgtitle="Kudzu";site="ucomics";imgkey="tmkud";break;
              case "lacucaracha": imgtitle="La Cucaracha";site="ucomics";imgkey="lc";break;
              case "lola": imgtitle="Lola";site="ucomics";imgkey="tmlol";break;
              case "looseparts": imgtitle="Loose Parts";site="ucomics";imgkey="tmloo";break;
              case "lostsheep": imgtitle="Lost Sheep";site="ucomics";imgkey="lost";break;
              case "luckycow": imgtitle="Lucky Cow";site="ucomics";imgkey="luc";break;
              case "meehanstreak": imgtitle="Meehan Streak";site="ucomics";imgkey="tmmee";break;
              case "middletons": imgtitle="Middletons";site="ucomics";imgkey="tmmid";break;
              case "misterboffo": imgtitle="Mister Boffo";site="ucomics";imgkey="mb";break;
              case "mixedmedia": imgtitle="Mixed Media";site="ucomics";imgkey="tmmix";break;
              case "mullets": imgtitle="Mullets";site="ucomics";imgkey="mul";break;
              case "nonsequitur": imgtitle="Nonsequitur";site="ucomics";imgkey="nq";break;
              case "overboard": imgtitle="Overboard";site="ucomics";imgkey="ob";break;
              case "pluggers": imgtitle="Pluggers";site="ucomics";imgkey="tmplu";break;
              case "poochcafe": imgtitle="Pooch Cafe";site="ucomics";imgkey="poc";break;
              case "popculture": imgtitle="Pop Culture";site="ucomics";imgkey="pop";break;
              case "preteena": imgtitle="Preteena";site="ucomics";imgkey="pr";break;
              case "reallife": imgtitle="Real Life";site="ucomics";imgkey="rl";break;
              case "reynoldsunwrapped": imgtitle="Reynolds Unwrapped";site="ucomics";imgkey="rw";break;
              case "shoe": imgtitle="Shoe";site="ucomics";imgkey="tmsho";break;
              case "stonesoup": imgtitle="Stone Soup";site="ucomics";imgkey="ss";break;
              case "tankmcnamara": imgtitle="Tank Mcnamara";site="ucomics";imgkey="tm";break;
              case "willynethel": imgtitle="Willy n Ethel";site="ucomics";imgkey="wes";break;
              case "ziggy": imgtitle="Ziggy";site="ucomics";imgkey="zi";break;
              case "calvinandhobbes": imgtitle="Calvin And Hobbes";site="ucomics";imgkey="ch";break;
              // misc
              case "userfriendly": imgtitle="User Friendly";site="userfriendly";imgkey="uf";break;
              case "zits": imgtitle="Zits";site="seattlepi";imgkey="Zits";break;
              case "drfun": imgtitle="Dr. Fun"; site="drfun";imgkey="df";break;
	      case "alex": imgtitle="Alex";site="alex";imgkey="ax";break;
	      case "xkcd": imgtitle="xkcd";site="xkcd";imgkey="xk";break;
	      case "dinosaurcomics": imgtitle="Dinosaur Comics";site="dino";imgkey="dino";break;
	      // editorials from ucomics.com
              case "animatedoliphant": imgtitle="Animated Oliphant";site="ucomics";imgkey="oa";editorial=true;break;
              case "anntelneas": imgtitle="Ann Telneas";site="ucomics";imgkey="tmate";editorial=true;break;
              case "barbarabrandon": imgtitle="Barbara Brandon";site="ucomics";imgkey="bb";editorial=true;break;
              case "bensargent": imgtitle="Ben Sargent";site="ucomics";imgkey="bs";editorial=true;break;
              case "billdeore": imgtitle="Bill DeOre";site="ucomics";imgkey="bd";editorial=true;break;
              case "chanlowe": imgtitle="Chan Lowe";site="ucomics";imgkey="tmclo";editorial=true;break;
              case "chipbok": imgtitle="Chip Bok";site="ucomics";imgkey="crcbo";editorial=true;break;
              case "chuckasay": imgtitle="Chuck Asay";site="ucomics";imgkey="crcas";editorial=true;break;
              case "danasummers": imgtitle="Dana Summers";site="ucomics";imgkey="tmdsu";editorial=true;break;
              case "danawasserman": imgtitle="Dana Wasserman";site="ucomics";imgkey="tmdwa";editorial=true;break;
              case "davidhorsey": imgtitle="David Horsey";site="ucomics";imgkey="tmdho";editorial=true;break;
              case "dicklocher": imgtitle="Dick Locher";site="ucomics";imgkey="tmdlo";editorial=true;break;
              case "dickwright": imgtitle="Dick Wright";site="ucomics";imgkey="tmdiw";editorial=true;break;
              case "donwright": imgtitle="Don Wright";site="ucomics";imgkey="tmdow";editorial=true;break;
              case "dougmarlette": imgtitle="Doug Marlette";site="ucomics";imgkey="tmdma";editorial=true;break;
              case "drewsheneman": imgtitle="Drew Sheneman";site="ucomics";imgkey="tmdsh";editorial=true;break;
              case "facesinthenews": imgtitle="Faces in the News";site="ucomics";imgkey="kw";editorial=true;break;
              case "garyvarvel": imgtitle="Gary Varvel";site="ucomics";imgkey="crgva";editorial=true;break;
              case "glennmccoy": imgtitle="Glenn McCoy";site="ucomics";imgkey="gm";editorial=true;break;
              case "jackhiggins": imgtitle="Jack Higgins";site="ucomics";imgkey="jh";editorial=true;break;
              case "jackohman": imgtitle="Jack Ohman";site="ucomics";imgkey="tmjoh";editorial=true;break;
              case "jeffdanziger": imgtitle="Jeff Danziger";site="ucomics";imgkey="jd";editorial=true;break;
              case "laloalcaraz": imgtitle="Lalo Alcaraz";site="ucomics";imgkey="la";editorial=true;break;
              case "mattdavies": imgtitle="Matt Davies";site="ucomics";imgkey="tmmda";editorial=true;break;
              case "mikeluckovich": imgtitle="Mike Luckovich";site="ucomics";imgkey="crmlu";editorial=true;break;
              case "nickanderson": imgtitle="Nick Anderson";site="ucomics";imgkey="wpnan";editorial=true;break;
              case "patoliphant": imgtitle="Pat Oliphant";site="ucomics";imgkey="po";editorial=true;break;
              case "paulconrad": imgtitle="Paul Conrad";site="ucomics";imgkey="tmpco";editorial=true;break;
              case "paulszep": imgtitle="Paul Szep";site="ucomics";imgkey="crpsz";editorial=true;break;
              case "signewilkinson": imgtitle="Signe Wilkinson";site="ucomics";imgkey="wpswi";editorial=true;break;
              case "stevesack": imgtitle="Steve Sack";site="ucomics";imgkey="tmssa";editorial=true;break;
              case "stuartcarlson": imgtitle="Stuart Carlson";site="ucomics";imgkey="sc";editorial=true;break;
              case "tedrall": imgtitle="Ted Rall";site="ucomics";imgkey="tr";editorial=true;break;
              case "tomtoles": imgtitle="Tom Toles";site="ucomics";imgkey="tt";editorial=true;break;
              case "tonyauth": imgtitle="Tony Auth";site="ucomics";imgkey="ta";editorial=true;break;
              case "walthandelsman": imgtitle="Walt Handelsman";site="ucomics";imgkey="tmwha";editorial=true;break;
              case "waynestayskal": imgtitle="Wayne Stayskal";site="ucomics";imgkey="tmwst";editorial=true;break;
              default:endurl=null;imgkey=null;break;
           }//switch

           //default to www.comics.com
           switch(site){
              case "altcomics": //not yet implemented
				break;
              case "drfun": imgurl = "http://www.ibiblio.org/Dave/Dr-Fun/latest.jpg";break;
              case "seattlepi":
                 if (typeof wgetExe == "undefined") {
                    pagebody += '<br><h4>' +imgtitle+'</h4><br>This comic requires <a href="http://xoomer.virgilio.it/hherold/";>wget</a> and uses WScript.Shell to invoke it.  Please set wgetExe in your localprefs.js file to the location of your wget.exe. For example:<br><br>wgetExe="c:\\\\bin\\\\wget";';
                    imgurl = "";
                 } else {
                    var mday = dat.getDate();
                    var month = dat.getMonth()+1;
                    var year = dat.getYear();
                    if (mday<10) mday= '0'+mday;
                    if (month<10) month= '0'+month;
        
                    imgurl = "http://pst.rbma.com/content/"; + imgkey + "?date=" + year + month + mday;
                    var output_file = DQSDLauncher.AppDataDirectory + '\\' + imgkey + '.gif';
                    var cmd = '"' + wgetExe + '" --referer="http://seattlepi.nwsource.com/fun/"; --output-document="' + output_file + '" "' + imgurl + '"';
                    var shell = new ActiveXObject("WScript.Shell");
                    shell.Run(cmd, 0, true);
                    imgurl = "file:///"+output_file;
                }
                break; 
              case "joyoftech":
                 var sUrl="http://www.geekculture.com/joyoftech/index.html";;
                 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                 xmlHttp.open("GET", sUrl, false);
                 xmlHttp.send();

                 //get the response content from the remote site
                 var sBody = xmlHttp.responseText;

                 // what I'm looking for
                 //<img src="joyimages/555.png" height="431" width="485" border="0">
                 var pattern = /joyimages\/\S+.[jpg|png|gif]" alt="The Joy/ig;
                 var result = sBody.match(pattern)[0];
                 var imgurl = "http://www.geekculture.com/joyoftech/"+result;
                 break;

              case "userfriendly":
                 var urlstart="http://ars.userfriendly.org/cartoons";;
                 // format the date param for today's comic
                 var mday = "0" + dat.getDate().toString();
                 var month = "0" + (dat.getMonth()+1);
                 var year = dat.getYear();

                 var sUrl=urlstart;
                 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                 xmlHttp.open("GET", sUrl, false);
                 xmlHttp.send();

                 //get the response content from the remote site
                 var sBody = xmlHttp.responseText;

                 // what I'm looking for
                 //<IMG ALT="Latest Strip" height="219" WIDTH="576" BORDER=0 SRC="http://www.userfriendly.org/cartoons/archives/04may/xuf006703.gif";>
                 var pattern = /http\:\S+userfriendly\.org\/cartoons\/\S+\.gif/ig;
                 var result = sBody.match(pattern);
                 var imgurl = result[0];
                 break;

              //http://www.telegraph.co.uk/money/graphics/2006/07/21/calex21.gif
              case "alex":
                 var urlstart="http://www.telegraph.co.uk/money/graphics";;
                 
                 //no comic is available for Sat or Sun.. default to Friday on these occasions
                 var dow=dat.getDay();
                 
                 //get a new instance of the date object to play with
                 var today=new Date();
                 
                 //day is Sunday - set the date object back two days
                 if (dow == 0) {
                     today.setDate(today.getDate()-2); 
                 }
                 //Day is Saturday - set the date object back one days
                 if (dow == 6) {
                    today.setDate(today.getDate()-1); 
                 }
                 // fetch the date elements from the local date object
                 var mday = today.getDate();
                 var month = today.getMonth()+1;
                 var year = today.getYear();  
                                
                 if (mday<10) mday= '0'+mday;
                 if (month<10) month= '0'+month;
                 
                 var sUrl=urlstart;
                 var imgurl = urlstart+'/'+year+'/'+month+'/'+mday+'/calex'+mday+'.gif';
		 break;

	      case "xkcd":
		 var sUrl="http://www.xkcd.com";
                 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                 xmlHttp.open("GET", sUrl, false);
                 xmlHttp.send();

                 //get the response content from the remote site
                 var sBody = xmlHttp.responseText;

                 // what I'm looking for
		 //<img src="http://imgs.xkcd.com/comics/image_name.png"; title="Constantly stopping [...]" alt=
		 // 21May07 - BSD: sometimes, half (or more) of the humor is in the pop-up text on the image, so
		 //           I've expanded the regex pattern to include the title text...
                 var pattern = /comics\/\S+.[jpg|png|gif]\" title=\".*\" alt=/ig;
                 var result = sBody.match(pattern)[0];
		 var imgurl = "http://imgs.xkcd.com/"+result+"\"";;
		 break;

	      case "dino":
	         var sUrl="http://www.qwantz.com";
		 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
		 xmlHttp.open("GET", sUrl, false);
		 xmlHttp.send();

		 //get the response content from the remote site
		 var sBody = xmlHttp.responseText;

		 // what I'm looking for
		 // <img src="http://www.qwantz.com/comics/image_name.gif"; title="blah blah blah [...]" border=0
		 // 22May07 - BSD:  what?? this one, too?  am I sensing a trend?  anyway, updated regex
		 // var pattern = /comics\/S+.[jpg|png|gif]/ig;
		 var pattern = /comics\/\S+.[jpg|png|gif]\" width=\".*\" height=\".*\" title=\".*\" border=\"0\"/ig;
		 var result = sBody.match(pattern)[0];
		 var imgurl = "http://www.qwantz.com/"+result;
		 break;

              case "ucomics":
                 var urlstart="http://images.ucomics.com/comics/";;
                 if (editorial) {
                    urlstart="http://picayune.uclick.com/comics/";;
                 }
                 //get the other date parameters for the ucomics image urls
                 var mday = dat.getDate();
                 var month = dat.getMonth()+1;
                 var year = dat.getYear();
                 var subyear = year.toString();
                 subyear = subyear.substr(2,2);
                 if (mday<10) mday= '0'+mday;
                 if (month<10) month= '0'+month;

                 //special handling for the calvinandhobbes comic.. It displays for year 1993 in 2004
                //if (args.switches[i].name == "calvinandhobbes") {
                //  var year_offset = -11;
                //  year += year_offset;
                //  subyear = year % 100; 
               //}
                 
                 var imgurl = urlstart+imgkey+"/"+year+"/"+imgkey+subyear+month+mday+".gif";
                 if (editorial) {
                    var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                    var tries = 1;  // 1 == just try today's comic, > 1 look for previous days comics
                    var status = -1;
                    var cur_mday = mday;
                    while (status != 200 && tries > 0) {
                       imgurl = urlstart+imgkey+"/"+year+"/"+imgkey+subyear+month+cur_mday+".gif";
                       xmlHttp.open("HEAD", imgurl, false);
                       xmlHttp.send();
                       status = xmlHttp.status;
                       if (status == 200) {
                          // found it
                          break;
                       }
                       // none for today try previous day
                       imgurl = "";
                       tries--;
                       cur_mday--;
                       // should be smarter here and go to end of previous month
                       if (cur_mday < 1)
                          break;
                       if (cur_mday<10) cur_mday= '0'+cur_mday;
                    }
                 }
                 break;
              default:
              
                 var urlstart="http://www.comics.com/";;

                 var sUrl=urlstart+endurl;
                 urlmatch = endurl.match(/^(\w+)(\/\w+)/);
                 var urlcat=urlmatch[1];
                 var urldir=urlmatch[2];

                 var xmlHttp = new ActiveXObject("Microsoft.XmlHttp");
                 xmlHttp.open("GET", sUrl, false);
                 xmlHttp.send();

                 //get the response content from the remote site
                 var sBody = xmlHttp.responseText.replace(/[\r\n]/g, ' ');

                 //run the regex to parse out the image url
                 var relativeImgUrl = '';
                 var imgmatch = rx.exec(sBody);
                 if (imgmatch != null)
                 {
                    relativeImgUrl = imgmatch[1];
                 }
                 
                 var imgurl = urlstart+urlcat+urldir+relativeImgUrl;

                 if (imgtitle==null) {
                    //regex for finding the image title in the page source..
                    var tx = /<title>(.+)<\/title>/i;
                    var imgtitle = tx.exec(sBody)[1];
                 }
                 break;
           }// switch on "site"

           //put up the window
           if (imgurl != ""){
                pagebody += '<h4>'+imgtitle+'</h4>\n<img src="' +imgurl +'">\n';
           }//if imgurl
        }// for i <...
     }else{
           setSearchWindowText("Bad Comic Name..  try 'comx ?' to see a list");
           setTimeout("setSearchWindowText('comx ')", 2000);
           return;
     }//else
     pagebody += '\n</body>\n</html>';
     
     if (fileout == 1) {
        writeFile(comxoutfile, pagebody);
        openSearchWindow("file://" + comxoutfile);
     }else{
        myWindow = window.open("", "comx", 'resizable,scrollbars,width=1000,height=700')
        myWindow.document.write(pagebody)
     }

  } //function

  ]]></script>
</search>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
To unsubscribe visit:
https://lists.sourceforge.net/lists/listinfo/dqsd-users
DQSD-Users@lists.sourceforge.net
http://sourceforge.net/mailarchive/forum.php?forum_id=8601

Reply via email to