Makeing the scripts a plugin & sharing is fun!

Hello world of scripters and fellow adobe enthusiasts. I've been tossing around the idea of making all my scripts into plugins for illustrator, and since they are all done in JS how hard would it be to do this?  Would it only be a matter of downloading eclipse and the SDK with a little copy and pasting and be done or would it mean an entire overhaul of my scripts?
As for the sharing part I know that some of the scripts I've written I've done so with the help of previously written scripts.  I've gotten a lot of help from on here and I've even helped out a bit when I can.  I think it would be a big help to everyone if we shared some of our favorite scripts so that we can all see little tips and tricks that people have learned over the years.  Some of the things I've learned on here I've learned from looking at other peoples scripts and just going, "Wow I didn't know I could do that".
I'll go first, this script is the one I created with the help of some of my fellow scripters on here but it is still a big thing for me. When the script is ran it grabs all the files that exist inside the folder that it is pointed to and creates a large list of radio buttons for the user to choose from.  Then if there is a guide box it will center the artwork inside the guide box and resize if needed.  It doesn't sound like much but it has been a big help to all of my fellow artists.
//Created by Daryl R. Smith
//This is the tab for Totes
#target illustrator
if (app.activeDocument.selection.length > 0)
    var thisDoc = app.activeDocument;
var w = new Window ("dialog", "Choose Totes Template", undefined, {closeButton: false});
w.alignChildren = "right";
              w.onShow = function()
                    for(var i=0; i<totes1.children.length; i++)
                var thisPanel2 = totes1.children[i]; 
                thisPanel2.originalLocation = [thisPanel2.location[0], thisPanel2.location[1]]; 
            }//end for
        }//end on show function
var tpanel = w.add ("tabbedpanel");
tpanel.size = [400, 520];
//******************************************************Section to setup the Totes Tab******************************************************************
//creates the Totes Tab
var totesTab = tpanel.add ("tab", undefined, "Available Totes");
totesTab.orientation = "column";
//Creates first Row Group for Totes, contains panels 1,2 and 3
var TotesGroup = totesTab.add("group",undefined);
        TotesGroup.orientation = "row";
        TotesGroup.alignChildren = "left";
//first Totes Panel
var totes1 = TotesGroup.add ("panel", undefined, "");
totes1.alignChildren = "left";
totes1.size = [300,480];
var docSelection = app.activeDocument.selection;
var newGroup = app.activeDocument.groupItems.add();
for ( i = 0; i < docSelection.length; i++ ) {
   var newItem = docSelection[i];
newItem.moveToEnd( newGroup );
newItem.name = "Art Item" + ([i]+1);
newGroup.name = "ArtGroup1";
    //hide this alert, it is for testing the selection length
  // alert (thisDoc.selection.length)
function GetToteTempNames()
    //Replace this address for the "toteTempPath" to the folder that has all the templates it in it, then the for loop will place them all
    //into a radio button array for the user to choose which one they want.  This updates everytime that this script is ran so if
    //one if removed or added it will show up reducing the amount of required time needed to update the script.
    //when replaced make sure to change the \ marks to / marks or it will not work.
  var toteTempPath = Folder ("S:/Art/ArtDept/  Vitronic Master Templates/STE2 Templates/TOTES & BAGS");  
  var toteTempFiles = toteTempPath.getFiles(); 
  var TotenamesArr = []; 
  for(var i=0; i<toteTempFiles.length; i++){ 
  var thisToteFile = toteTempFiles[i]; 
  TotenamesArr.push(thisToteFile.displayName);
  return TotenamesArr; 
var totesarr1 = GetToteTempNames();
        for(var i=0; i<totesarr1.length; i++){ 
            var lbl = totes1.add("radiobutton", undefined, totesarr1[i]); 
        var scrl = TotesGroup.add('scrollbar'); scrl.size = [20, 480]; 
        scrl.onChange = scrl.onChanging = function()
        {  //start function
            for(var i=0; i<totes1.children.length; i++)
            {  //start for
                var thisPanel2 = totes1.children[i]; 
                var xLoc = thisPanel2.originalLocation[0]; 
                var yLoc = thisPanel2.originalLocation[1]; 
                thisPanel2.location=[xLoc, yLoc-((this.value/100) * ((totes1.children.length*27.5) - (scrl.size[1]+5)))]; 
                // These numbers are my arbitrary way of setting the y location 
                }//end for loop
            }//end function
       totes1.children[0].value = true;
        var bottombuttons = w.add ("group");
        bottombuttons.orientation = "row"
        var rsize = bottombuttons.add ("panel", undefined, "Resize Artwork?");
rsize.alignChildren = "left"
rsize.orientation = "column"
rsizeyes = rsize.add ("radiobutton", undefined, "Yes");
rsizeno  = rsize.add ("radiobutton", undefined, "No");
rsize.children[1].value = true;
var kbottombuttons = bottombuttons.add ("group", undefined, "")
kbottombuttons.orientation = "column"
kbottombuttons.add ("button", undefined, "Ok");
//********************This section is for the functions to output your choice then run the function depending on the choice you made****************
if (w.show () == 1)
var templateselected = selected_rbutton
var requestedtemplate = selected_rbutton (totalgroups)
var confirmed = confirm ("You picked [ " + selected_rbutton (totalgroups) +" ]"+ "\nYou picked [ " + questionResize (rsizechoice) + " ] to resize" + "\n" +"\nContinue?");
        confirm.noAsDflt == false;
        if (confirmed == true)
            openTemp ();
            copyandmove ();
            centerArt ();
            resizeart ();
            alert ("You can now save the file");
         } /*end if */ else
         alert ("You chose not to continue, script stopped")
         }//end else
}//end if OK
}//end if selection check
else
    alert("Please select the artwork.");
  } // end else selection check
//*********This section is for the function to check which option for resize gets pressed and returns the text to a variable for output******************
var rsizechoice = [rsize]
function questionResize (rsizechoice)
{//start function
//when choice is pressed return choice text for variable output   
for (var i = 0; i < rsize.children.length; i++)
if (rsize.children[i].value == true)
return rsize.children[i].text;
}//end for
}//end function QuestionResize
//***************************************************************This is the section that will center the artwork ******************************************
     var thisDoc = app.activeDocument;
    thisDoc.rulerOrigin = [0,0];  //  Sets the coordinates of the artboard to the lower left hand corner of the document.
    thisDoc.pageOrigin = [0,0];  //  This makes sure a valid reference point is used for different sized documents.
    function centerArt()
       var thisdoc = app.activeDocument; 
        var selecteditem = app.activeDocument.groupItems[0];
        selecteditem.selected = true;
        var hasDocCoords = app.coordinateSystem == CoordinateSystem.ARTBOARDCOORDINATESYSTEM;
        var p = thisdoc.pageItems; 
        for (var i = 0, l = p.length; i < l; i++) { 
            var pID = p[i]; 
            if (pID.guides == true) { 
                var guideBox = pID 
        var wNum = guideBox.width; 
        var hNum = guideBox.height;
        var swNum = selecteditem.width;
        var shNum = selecteditem.height;
        var sxOffset = (swNum/2);
        var syOffset = (shNum/2);
        var xOffset = (wNum/2);
        var yOffset = (hNum/2);
        var xNum = guideBox.position[0]+xOffset; 
        var yNum = guideBox.position[1]-yOffset;
        var guideXCenter = xNum-sxOffset;
        var guideYCenter = yNum+syOffset;
        var sxNum = selecteditem.position[0]+sxOffset;
        var syNum = selecteditem.position[1]-syOffset;
        //to test your script for position un annotate the two alerts below
              // alert("GuideBox Data:\nWidth: "+wNum+"\nHeight: "+hNum+"\nX Position: "+xNum+"\nY Position: "+yNum);
              // alert ("Selected object Data:\nWidth: "+swNum+"\nHeight: "+shNum+"\nX Position: "+sxNum+"\nY Position: "+syNum);
        //changes the position of the selected artwork to the center of the guide box.
        selecteditem.position = [guideXCenter, guideYCenter]   
    }//end centerart
   function resizeart()
  var selecteditem = app.activeDocument.groupItems[0]; 
   if (questionResize (rsizechoice) == "Yes")
        for (var i = 0; i < app.activeDocument.pageItems.length; i++)
            if (app.activeDocument.pageItems[i].guides == true) { 
                var guideBoxSize = app.activeDocument.pageItems[i]; 
            }  //end if
        }   //end for
        var guideW = guideBoxSize.width; 
        var guideH = guideBoxSize.height;
        var itemW = selecteditem.width;
        var itemH = selecteditem.height;
         //to test your script for resize un annotate the two alerts below
      //  alert ("guide is this tall " + guideH + "\nguide is this wide " + guideW);
      // alert ("item is this tall " + itemH + "\nitem is this wide " + itemW);
        var artWidth = itemW;
        var artHeight =itemH;          
    if (artWidth > artHeight)
           var a = (guideW/artWidth)*100;
           selecteditem.resize(a,a);
    if (artHeight > artWidth)    
           var b = (guideH/artHeight)*100;
           selecteditem.resize(b,b);
var artWidth2 = selecteditem.width;
var artHeight2 =selecteditem.height;   
if (artHeight2 > guideH)
       var c = (guideH/artHeight2)*100;
      selecteditem.resize(c,c);
   if (artWidth2 > guideW)
       var c = (guideW/artWidth2)*100;
      selecteditem.resize(c,c);
     }//end if doresize
}//end function resizeart
function savefile ()
    //change this folder location for the "savescript" variable to the one where the location of the save script is located on the server,
    //This save script is for the pallet that will pop up and list the different save options, not the individual save scripts themselves.
        var savescript =  new File("S:/Art/ArtDept/Illustrator JS Palette/Scripts/Art Share Server/Save/Save Option Pallet.jsx");
            savescript.open("r");     
       var bt = new BridgeTalk;
            bt.target = "illustrator";         
       var script = savescript.read();
            savescript.close();              
       bt.body = script;
       bt.send(); 
       return true;
function copyandmove ()
var thisDoc = app.activeDocument;  
var template = app.documents[1];
var vartwork = app.documents[0];
var itemToDuplicate = template.pageItems['ArtGroup1']; 
itemToDuplicate.duplicate( thisDoc, ElementPlacement.PLACEATBEGINNING );
}//end function copyandmove
//********************This section is for the functions to check which button gets pressed and returns the text to a variable for output ****************
//all radiobutton groups must be present in this array
var totalgroups = [totes1]
//this function checks each group for the 1 radio button is clicked then returns its text
function selected_rbutton (totalgroups)
{//start function to check buttons
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Totes tab buttons
//when totes1 is pressed return text for output
for (var i = 0; i < totes1.children.length; i++)
if (totes1.children[i].value == true)
return totes1.children[i].text;
}//end if
}//end if
}//end for
//////////////////////////////////////////////////////////////////////////open template
function openTemp()
     //change the folder location of the templates here but leave the last section that is black, this will allow the script to open which
     //ever template they chose from the radiobuttons.  This location should be the same as the toteTempPath above but reduces the
     //chance for something to break by pulling the address here again instead of from the variable near the begining of the script.
var gettotetemp = File("Z:/  Vitronic Master Templates/STE2 Templates/TOTES & BAGS/" + selected_rbutton (totalgroups));
var template = open(gettotetemp);
var fileName = app.activeDocument.name
var saveName = new File ("S:/Art/ArtDept/Extras/Temp Holding Folder" + "/" + fileName);
    saveOpts = new IllustratorSaveOptions();
    saveOpts.compatibility = Compatibility.ILLUSTRATOR15;
    saveOpts.generateThumbnails = true;
    saveOpts.preserveEditability = true;
  return template;
}//end open temp function

If you don't want to use IE, which I didn't, you can follow this link and revert back to an older version of FF until a fix or work around is found for the flash issue.
http://www.mozilla.com/en-US/firefox/all-older.html
It work for me. Fireforx 3.6.16

Similar Messages

  • Any way to write code to cache the contents of the scripts menu? (or force ScriptsMenu plugin start)

    In the scripting forum I created the thread Adding custom scripts to actions revisited - Partial workaround
    Basically, you can create actions with keyboard shortcuts to execute custom javascript/vbscript, etc. and successfully reload them after restarting Illustrator but only if the user manually navigates to File->Scripts before manually loading an actions (.aia) file
    Any script menu items added to actions will be stripped from the custom actions when Illustrator is restarted because, I believe, the script menu items are not cached and are therefore invalid when the actions are automatically reloaded.
    Obviously, I'd prefer not requiring the user to navigate to the scripts menu and replace the actions every time Illustrator is started.
    Does anyone have any ideas on a way to write code so that Illustrator caches the contents of the scripts menu? Preferably this would be before the actions are loaded so they don't get invalidated and need to be reloaded in the first place. A keyboard macro would likely execute to late to be of much help.
    If anyone knows anything about the actual mechanism of caching the scripts menu or knows of anything else relevent to this please respond.
    Thanks!
    Edit: The menu is created in the Scripts Menu plugin (ScriptsMenu.aip). Perhaps there is no "cache" of the menu and the plugin just doesn't perform the startup until you browse to the File->Scripts menu?
    AIMenuGroups.h has the global definition of the group:
    #define kScriptsMenuGroup         "ScriptsMenuGroup"

    Have you looked at stored outlines ? They are for plan stability.
    Also you may want to look little deep on where your statistics are going wrong.
    I would recommend using below hint and checking where is difference in estimated(E-Rows) and actual number(A-rows) of rows. This may point out some incorrect stats.
    e.g.
    select /*+ gather_plan_statistics */ * from dual;
    D
    X
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    Plan hash value: 272002086
    | Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
    | 1 | TABLE ACCESS FULL| DUAL | 1 | 1 | 1 |00:00:00.01 | 3 |
    ------------------------------------------------------------------------------------

  • Where's the InDesign Script Listener plugin for Extendscript?

    Is there anything similar to Photoshop's Script Listener plugin for InDesign for ExtendScript?

    No, there is no such a plug-in for InDesign.

  • Error Message: "Install Step Failed:run postflight script for Plugin" When Flash Player 11.7 instal

    Don't See Question/Problem w/Flash Player Installation.  Error w/11.7.700.260 Installation had errors (dialogue box)  The following install step failed: run postflight script for Plugin.Contact the Software Manufacturer for Assistance.  Please Note:  I have read all Adobe Links related to installing Flash Player and uninstalling previous version 10.3 for MAC OS 10.5.  So I have MAC OS 10.5.8 w/Firefox Browser 16.0.1 and disabled anti-viral software.  Uninstalled previous version of Flash Player 10.3.  Confirmed uninstallation.  Downloaded Flash Player 11.7.700.260  instead of 10.3.183.90 due to Adobe stated information re:replacement of 10.3 versions with 11.7 extended support.  Installation of 84% occurs then the Error Message: Installation had errors (dialogue box)  The following install step failed: run postflight script for Plugin.Contact the Software Manufacturer for Assistance.  Please help to resolve this issue as no flash player is currently on my MAC.  Thank you so much.

    Hi Mike,
    First of all, thank you so much for responding and sorry I forgot to mention my CPU; fortunately I **DO** have the 2.6 GHz Intel Core 2 Duo Processor so I could upgrade to Mac OS X Snow Leopard.  Two Questions:
    1. Do you know whether Snow Leopard sold by Apple is an upgrade or "clean install?"  If it's not a clean install, do you know (off-hand) if there are any upgrade issues?  I'm very partiall to a clean install.
    2.  Why does Adobe state (for updating Flash Player 10.3 when Adobe knows that [most likely] the 10.3 versions run on Mac OS 10.5.x?  See statement and link below...
    Kindest thoughts - Karolynn_1
    http://blogs.adobe.com/flashplayer/2013/05/extended-support-release-updated-to-flash-playe r-11-7.html
    We’re happy to announce that we are updating the version of our extended support release to Flash Player 11.7 on Mac and Windows. Flash Player 11.7 will replace version 10.3 as the extended support version beginning July 9, 2013.
    In order to continue receiving security updates, an upgrade to either Flash Player 11.7, or the standard Flash Player 11.8 release is required.
    Flash Player 11.7 provides exciting new features, including Actionscript concurrency, webcam support for StageVideo and more. It also enables Protected Mode for FireFox on Windows, a sophisticated security-in-depth feature. With Protected Mode, Flash Player runs as restricted process, making it more difficult for attackers to build working exploits. Click here to learn more.
    Flash Player 11.7 leverages hardware acceleration for audio, video and rendering to increase performance and lower CPU usage.
    To ensure the smoothest possible transition, we encourage IT organizations deploying Flash Player 11.7 in managed environments to thoroughly test audio and video playback for critical use-cases using the latest available version before deploying this release widely. When hardware-related playback and stability problems do arise, updating to the latest hardware drivers frequently resolves these issues.As a secondary workaround, the Flash Player Administrator’s Guide details mechanisms for disabling hardware and audio acceleration via mms.cfg.
    We have been hard at work to make Flash Player better than ever, and we look forward to continuing to serve you with a great web experience.

  • I get the "Fast Browser Plugin not loaded" message every time i run  safari and I can't find an MTWB folder anywhere on my hard drive?

    I get the "Fast Browser Plugin not loaded" message every time I run  Safari and I can't find an MTWB folder anywhere on my hard drive?  This doesn't seem to be causing a problem, but is a puzzle?

    1. This procedure is a diagnostic test. It changes nothing, for better or worse, and therefore will not, in itself, solve the problem.
    2. If you don't already have a current backup, back up all data before doing anything else. The backup is necessary on general principle, not because of anything in the test procedure. There are ways to back up a computer that isn't fully functional. Ask if you need guidance.
    3. Below are instructions to run a UNIX shell script, a type of program. All it does is to collect information about the state of the computer. That information goes nowhere unless you choose to share it. However, you should be cautious about running any kind of program (not just a shell script) at the request of a stranger on a public message board. If you have doubts, search this site for other discussions in which this procedure has been followed without any report of ill effects. If you can't satisfy yourself that the instructions are safe, don't follow them. Ask for other options.
    Here's a summary of what you need to do, if you choose to proceed: Copy a line of text from this web page into the window of another application. Wait for the script to run. It usually takes a few minutes. Then paste the results, which will have been copied automatically, back into a reply on this page. The sequence is: copy, paste, wait, paste again. Details follow.
    4. You may have started the computer in "safe" mode. Preferably, these steps should be taken in “normal” mode. If the system is now in safe mode and works well enough in normal mode to run the test, restart as usual. If you can only test in safe mode, do that.
    5. If you have more than one user, and the one affected by the problem is not an administrator, then please run the test twice: once while logged in as the affected user, and once as an administrator. The results may be different. The user that is created automatically on a new computer when you start it for the first time is an administrator. If you can't log in as an administrator, test as the affected user. Most personal Macs have only one user, and in that case this section doesn’t apply. Don't log in as root.
    6. The script is a single long line, all of which must be selected. You can accomplish this easily by triple-clicking anywhere in the line. The whole line will highlight, though you may not see all of it in the browser window, and you can then copy it. If you try to select the line by dragging across the part you can see, you won't get all of it.
    Triple-click anywhere in the line of text below on this page to select it:
    PATH=/usr/bin:/bin:/usr/sbin:/sbin; clear; Fb='%s\n\t(%s)\n'; Fm='\n%s\n\n%s\n'; Fr='\nRAM details\n%s\n'; Fs='\n%s: %s\n'; Fu='user %s%%, system %s%%'; AC="com.autodesk.AutoCAD  com.google.GoogleDrive"; H='^[[:space:]]*((127\.0\.0\.1|::1|fe80::1%lo0)[[:space:]]+local|(255\.){3}255[[:space:]]*broadcast)host[[:space:]]*$'; NS=networksetup; PB="/usr/libexec/PlistBuddy -c Print"; A () { [[ a -eq 0 ]]; }; M () { find -L "$d" -type f | while read f; do file -b "$f" | egrep -lq XML\|exec && echo $f; done; }; AT () { o=`file -b "$1" | egrep -v '^(A.{16}t$|cann)'`; Ps "${1##*/} format"; }; Pc () { o=`grep -v '^ *#' "$2"`; l=`wc -l <<< "$o"`; [[ l -gt 25 ]] && o=`head -n25 <<< "$o"`$'\n'"[$((l-25)) more line(s)]"; Pm "$1"; AT "$1"; }; Pm () { [[ "$o" ]] && o=`sed -E '/^ *$/d;s/^ */   /;s/[-0-9A-Fa-f]{22,}/UUID/g;s/(ochat)\.[^.]+(\..+)/\1\2/;/Shared/!s/(\/Users\/)[^/]+/\1-/g' <<< "$o"` && printf "$Fm" "$1" "$o"; }; Pp () { o=`$PB "$2" | awk -F'= ' \/$3'/{print $2}'`; Pm "$1"; }; Ps () { o=`echo $o`; [[ ! "$o" =~ ^0?$ ]] && printf "$Fs" "$1" "$o"; }; R () { o=; [[ r -eq 0 ]]; }; SP () { system_profiler SP${1}DataType; }; id -G | grep -qw 80; a=$?; A && sudo true; r=$?; t=`date +%s`; clear; { A || echo $'No admin access\n'; A && ! R && echo $'No root access\n'; SP Software | sed -n 's/^ *//;5p;6p;8p'; h=(`SP Hardware | awk '/ Id/{print $3}; /Mem/{print $2}'`); o=$h; Ps "Model"; o=$((h[1]<4?h[1]:0)); Ps "Total RAM (GB)"; o=`SP Memory | sed '1,5d;/[my].*:/d'`; [[ "$o" =~ s:\ [^O]|x([^08]|0[^2]|8[^0]) ]] && printf "$Fr" "$o"; o=`SP Diagnostics | sed '5,6!d'`; [[ "$o" =~ Pass ]] || Pm "POST"; p=`SP Power`; o=`awk '/Cy/{print $NF}' <<< "$p"`; o=$((o>=300?o:0)); Ps "Battery cycles"; o=`sed -n '/Cond.*: [^N]/{s/^.*://p;}' <<< "$p"`; Ps "Battery condition"; for b in FireWire Thunderbolt USB; do o=`SP $b | sed -En '/:$/{s/ *:$//;x;s/\n//;s/\n.*//;/\)/p;};/^ *(V.+ [0N]|Man).+ /{s/ 0x.... //;s/[()]//g;s/(.+: )(.+)/ (\2)/;H;};/Apple|Genesy|Intel|SMSC/{s/.//g;h;}'`; Pm $b; done; o=`pmset -g therm | sed 's/^.*C/C/'`; [[ "$o" =~ No\ th|pms ]] && o=; Pm "Thermal conditions"; o=`pmset -g sysload | grep -v :`; [[ "$o" =~ =\ [^GO] ]] || o=; Pm "System load advisory"; o=`nvram boot-args | awk '{$1=""; print}'`; Ps "boot-args"; fdesetup status | grep -q On && o=on || o=; Ps "FileVault"; a=(/ ""); A=(System User); for i in 0 1; do o=`cd ${a[$i]}L*/Lo*/Diag* || continue; for f in *.{cr,h,pa,s}*; do [[ -f "$f" ]] || continue; d=$(stat -f%Sc -t%F "$f"); [[ "$f" =~ h$ ]] && grep -lq "^Thread c" "$f" && f="$f *"; echo "$d ${f%%_2*} ${f##*.}"; done | sort | tail`; Pm "${A[$i]} diagnostics"; done; grep -lq '*$' <<< "$o" && printf $'\n\t* Code injection\n'; o=`syslog -F bsd -k Sender kernel -k Message CReq 'caug|GPU |hfs: Ru|last value [1-9]|n Cause: -|NVDA\(|pagin|proc: t|Roamed|rror|ssert|Thrott|timed? ?o|WARN' -k Message Ane 'SMC:' | tail -n25 | awk '/:/{$4=""; $5=""};1'`; Pm "Kernel messages"; o=`df -m / | awk 'NR==2 {print $4}'`; o=$((o<5120?o:0)); Ps "Free space (MiB)"; o=$(($(vm_stat | awk '/eo/{sub("\\.",""); print $2}')/256)); o=$((o>=1024?o:0)); Ps "Pageouts (MiB)"; s=( `sar -u 1 10 | sed '$!d'` ); [[ s[4] -lt 85 ]] && o=`printf "$Fu" ${s[1]} ${s[3]}` || o=; Ps "Total CPU usage" && { s=(`ps acrx -o comm,ruid,%cpu | sed '2!d'`); n=$((${#s[*]}-1)); c="${s[*]}"; o=${s[$n]}%; Ps "CPU usage by process \"${c% ${s[$((n-1))]}*}\" with UID ${s[$((n-1))]}"; }; s=(`top -R -l1 -n1 -o prt -stats command,uid,prt | sed '$!d'`); n=$((${#s[*]}-1)); s[$n]=${s[$n]%[+-]}; c="${s[*]}"; o=$((s[$n]>=25000?s[$n]:0)); Ps "Mach ports used by process \"${c% ${s[$((n-1))]}*}\" with UID ${s[$((n-1))]}"; o=`kextstat -kl | grep -v com\\.apple | cut -c53- | cut -d\< -f1`; Pm "Loaded extrinsic kernel extensions"; R && o=`sudo launchctl list | awk 'NR>1 && !/0x|com\.(apple|openssh|vix\.cron)|org\.(amav|apac|calendarse|cups|dove|isc|ntp|openld|post[fg]|x)/{print $3}'`; Pm "Extrinsic daemons"; o=`launchctl list | awk 'NR>1 && !/0x|com\.apple|org\.(x|openbsd)|\.[0-9]+$/{print $3}'`; Pm "Extrinsic agents"; o=`for d in {/,}L*/Lau*; do M; done | egrep -v 'com\.apple\.(CSConfig|server)' | while read f; do ID=$($PB\ :Label "$f") || ID="No job label"; printf "$Fb" "$f" "$ID"; done`; Pm "launchd items"; o=`for d in /{S*/,}L*/StartupItems; do M; done`; Pm "Startup items"; sys=`pkgutil --regexp --only-files --files com.apple.pkg.* | sort | uniq | sed 's:^:/:'`; b=`sed -E '/^.+Lib.+\/Contents\/Info.plist$/!d;s/\/Info.plist$//;/Contents\/./d' <<< "$sys"`; l=`egrep '^/usr/lib/.+dylib$' <<< "$sys"`; [[ "$b" && "$l" ]] && { o=`find -L /S*/L*/{C*/Sec*A,E}* {/,}L*/{A*d,Compon,Ex,In,iTu,Keyb,Mail/B,P*P,Qu*T,Scripti,Sec,Servi,Spo}* -type d -name Contents -prune | grep -Fv "$b" | while read d; do test -f "$d/Info.plist" || continue; ID=$($PB\ :CFBundleIdentifier "$_") || ID="No bundle ID"; printf "$Fb" "${d%/Contents}" "$ID"; done`; Pm "Extrinsic loadable bundles"; o=`find /usr/lib -type f -name *.dylib | grep -Fv "$l"`; Pm "Extrinsic shared libraries"; :; } || echo $'\nReceipts missing'; o=`for e in INSERT_LIBRARIES LIBRARY_PATH; do launchctl getenv DYLD_$e; done`; Pm "Inserted dylibs"; o=`find -L {,/u*/lo*}/e*/periodic -type f -mtime -10d`; Pm "Modified periodic scripts"; o=`scutil --proxy | grep Prox`; Pm "Proxies"; o=`scutil --dns | awk '/r\[0\] /{if ($NF !~ /^1(0|72\.(1[6-9]|2[0-9]|3[0-1])|92\.168)\./) print $NF; exit}'`; i=`route -n get default | awk '/e:/{print $2}'`; I=`$NS -listnetworkserviceorder | sed -En '/ '$i'\)$/{x;s/^\(.+\) //p;q;};x'`; n=`$NS -getdnsservers "$I" | awk '!/^T/{printf "not "; exit}'`; Ps "DNS (${n}from DHCP)"; o=`$NS -getinfo "$I" | awk '/k:/{if ($3 !~ "(255\.){3}0") print $3}'`; Ps "Netmask"; R && o=`sudo profiles -P | grep : | wc -l`; Ps "Profiles"; f=auto_master; [[ `md5 -q /etc/$f` =~ ^b166 ]] || Pc $f /etc/$f; for f in fstab sysctl.conf crontab launchd.conf; do Pc $f /etc/$f; done; f=/etc/hosts; Pc "hosts" <(egrep -v "$H" $f ); AT $f; Pc "User launchd" ~/.launchd*; R && Pc "Root crontab" <(sudo crontab -l); Pc "User crontab" <(crontab -l); R && o=`sudo defaults read com.apple.loginwindow LoginHook`; Pm "Login hook"; LD="$(`find /S*/*/F* -type f -name lsregister | head -n1` -dump)"; o=`for ID in $AC; do [[ "$LD" =~ $ID ]] && echo $ID; done`; Pm "Application check"; Pp "Global login items" /L*/P*/loginw* Path; Pp "User login items" L*/P*/*loginit* Name; Pp "Safari extensions" L*/Saf*/*/E*.plist Bundle | sed -E 's/(\..*$|-[1-9])//g'; o=`find ~ $TMPDIR.. \( -flags +sappnd,schg,uappnd,uchg -o ! -user $UID -o ! -perm -600 \) | wc -l`; Ps "Restricted user files"; cd; o=`SP Fonts | egrep 'id: N|te: Y' | wc -l`; Ps "Font problems"; o=`find L*/{Con,Pref}* -type f ! -size 0 -name *.plist | while read f; do plutil -s "$f" >&- || echo $f; done`; Pm "Bad plists"; d=(Desktop L*/Keyc*); n=(20 7); for i in 0 1; do o=`find "${d[$i]}" -type f -maxdepth 1 | wc -l`; o=$((o<=n[$i]?0:o)); Ps "${d[$i]##*/} file count"; done; o=; [[ UID -eq 0 ]] && o=root; Ps "UID"; o=$((`date +%s`-t)); Ps "Elapsed time (s)"; } 2>/dev/null | pbcopy; exit 2>&-
    Copy the selected text to the Clipboard by pressing the key combination command-C.
    7. Launch the built-in Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Click anywhere in the Terminal window and paste (command-V). The text you pasted should vanish immediately. If it doesn't, press the return key.
    8. If you see an error message in the Terminal window such as "syntax error," enter
    exec bash
    and press return. Then paste the script again.
    9. If you're logged in as an administrator, you'll be prompted for your login password. Nothing will be displayed when you type it. You will not see the usual dots in place of typed characters. Make sure caps lock is off. Type carefully and then press return. You may get a one-time warning to be careful. If you make three failed attempts to enter the password, the test will run anyway, but it will produce less information. In most cases, the difference is not important. If you don't know the password, or if you prefer not to enter it, press the key combination control-C or just press return three times at the password prompt. Again, the script will still run.
    If you're not logged in as an administrator, you won't be prompted for a password. The test will still run. It just won't do anything that requires administrator privileges.
    10. The test may take a few minutes to run, depending on how many files you have and the speed of the computer. A computer that's abnormally slow may take longer to run the test. While it's running, there will be nothing in the Terminal window and no indication of progress. Wait for the line
    [Process completed]
    to appear. If you don't see it within half an hour or so, the test probably won't complete in a reasonable time. In that case, close the Terminal window and report the results. No harm will be done.
    11. When the test is complete, quit Terminal. The results will have been copied to the Clipboard automatically. They are not shown in the Terminal window. Please don't copy anything from there. All you have to do is start a reply to this comment and then paste by pressing command-V again.
    If any private information, such as your name or email address, appears in the results, anonymize it before posting. Usually that won't be necessary.
    12. When you post the results, you might see the message, "You have included content in your post that is not permitted." It means that the forum software has misidentified something in the post as a violation of the rules. If that happens, please post the test results on Pastebin, then post a link here to the page you created.
    Note: This is a public forum, and others may give you advice based on the results of the test. They speak only for themselves, and I don't necessarily agree with them.
    Copyright © 2014 by Linc Davis. As the sole author of this work, I reserve all rights to it except as provided in the Terms of Use of the Apple Support Communities website ("ASC"). Readers of ASC may copy it for their own personal use. Neither the whole nor any part may be redistributed.

  • Making the switch finally

    Hi everyone. After almost a decade of designing my websites
    in Front Page my employees have finally convinced me to make the
    switch to Dreamweaver. We will be upgrading to CS4 Design Premium
    at the beginning of the year, and to say I'm a bit "worried" would
    be an understatement.
    I have built over 400 websites, and we currently
    host/maintain almost 200 sites for our 140+ clients. My staff is
    trained in Dreamweaver so they are very excited about finally
    making the switch. I myself am self-taught and can build a FP site
    in my sleep. I have taught FP, trained staff and colleagues, etc. I
    am VERY comfortable in FP, and have won over 30 awards for my
    designs in FP (thank goodness and can read/write some code in code
    view). So to toot my own horn, I am very comfortable/confident in
    FP and have always been a fan of the software. I have always told
    people that it is not the software that builds the site, but the
    designer and the software is just a tool to get it done.
    But after much debating, thinking, researching, etc... we are
    finally ready to take the plunge. I am obviously nervous leaning
    new software, and being able to keep up with our steady work
    (exisiting and new clients) and really cannot afford to have much
    downtime in the way of a learning curve.
    I have started the Lynda.com training, and that is making me
    sleepy. As great as I'm sure the training is, I feel like I'll be
    listening to that forever. I have DW already on my computer and
    thought I'd just jump right in, but find the UI so different that
    I'm a bit overwhelmed.
    So I thought I'd come join the forum, as hearing from others
    is often such a better learning method for me. I will continue my
    training at lynda.com as well as a few other tutorials I've seen
    around the way... but wanted to ask a few quesitons to the experts
    here...
    1. What software/training program would you guys recommend
    for learning DW for someone already very familiar with building
    websites (I'm finding that the Lynda.com training is geared to
    beginners and I'm forced to re-learn things I already know)?
    2. What is the best method for changing from FP to DW?
    Meaning, is there software or a plug-in available that I can
    import/transition my exisiting FP sites to DW? With so many sites,
    just this task alone seems almost impossible.
    3. Currently we use Xara Webstyle for our drop down menus. I
    have been using this program for years and years, and it
    quickly/easily creates javascript drop down menus for our sites.
    Easy to use, easy to edit, inexpensive and works in FP almost
    seamlessly. When we switch over to DW I'd like to use something
    more search engine friendly - do you guys have anything you
    recommend?
    4. For once we are up and running on DW, what else do you
    guys recommend?
    TIA for your help!

    > 1. What software/training program would you guys
    recommend for learning DW
    > for
    > someone already very familiar with building websites
    (I'm finding that the
    > Lynda.com training is geared to beginners and I'm forced
    to re-learn
    > things I
    > already know)?
    Discard this idea completely. Learn HTML and CSS. That's
    really a key to
    the effective use of DW. Forget the tool. Learn the
    technology.
    > 2. What is the best method for changing from FP to DW?
    Meaning, is there
    > software or a plug-in available that I can
    import/transition my exisiting
    > FP
    > sites to DW? With so many sites, just this task alone
    seems almost
    > impossible.
    Before doing anything else, take a couple of weeks to
    gothrough the DW
    tutorials, and also to study HTML and CSS. The more you know
    about those,
    the easier your transition will be. DW expects alot more from
    you than FP
    did, and as a result, you may find it much more frustrating
    to have the raw
    reality of web development staring you in the face rather
    than the wizards
    of FP.
    > Is there a way to convert a Frontpage site into a
    > Dreamweaver site
    1. I'd define a Dreamweaver site that points to a location on
    your hard
    drive for the local site's root, and to the current FP site
    on the web as
    the remote site
    2. I'd use Dreamweaver (if your host supports FTP
    connections) to download
    the remote site to the root of the site you just defined on
    the hard drive.
    This will pick up all the pages *after* webbot action so that
    shared borders
    and all are already present in the page HTML. This will also
    pick up all of
    the server scripting. Note - in the event that you are not
    able to connect
    using FTP since some FP hosts block that protocol, you will
    have to use a
    third party 'site copier' like Black Widow, QuadSucker, or
    WebCopier, (or
    even the DW extension called SiteAssist from WebAssist) to
    connect and
    download using http protocols. Doing it this way will *not*
    retrieve any of
    your server-script code, if any (unless you have used the
    WebAssist
    extension).
    3. I'd create a DW template for the pages, that captures the
    "shared
    border"
    effect you had in FP.
    4. I'd copy and paste content from each FP pages to a new
    template child
    page and then save the new child page with an easily
    identifiable
    nomenclature that is distinct from what was used on the FP
    site (since you
    are saving the new child pages into the same local site as
    the FP pages).
    5. When the basic site is completed, I'd upload the new DW
    pages to some
    staging area/webspace, and by using the browser, I'd verify
    that the site
    (as it now exists remotely) is complete.
    6. Then I'd create a *new* DW site in a new location on the
    hard drive, and
    connect to and download all the files from the staging site.
    7. You can now delete the original FP site from your local
    system if you
    want.
    You now have a complete site (minus any of the FP extension
    server-side
    code) that has no FP footprint.
    If you have used any FP server extension functions on the
    original FP site
    (form processing, guestbooks, tables of contents, etc.), you
    will have to
    recreate those functions in DW using 3rd party scripts, or
    scripts that you
    write yourself.
    > 3. Currently we use Xara Webstyle for our drop down
    menus. I have been
    > using
    > this program for years and years, and it quickly/easily
    creates javascript
    > drop
    > down menus for our sites. Easy to use, easy to edit,
    inexpensive and
    > works in
    > FP almost seamlessly. When we switch over to DW I'd like
    to use something
    > more
    > search engine friendly - do you guys have anything you
    recommend?
    I would not touch Xara with a ten foot pole, or any menu
    system that writes
    all-javascript menus. There are many reasons for this, but
    accessability is
    right at the top of the list.
    Anyhow - check the uberlink and MacFly tutorials at PVII -
    http://www.projectseven.com/
    and the Navbar tutorial/articles at Thierry's place
    http://tjkdesign.com/articles/dropdown/
    Or this one (more recent article):
    http://tjkdesign.com/articles/Pure_CSS_Dropdown_Menus.asp
    Or to get it done fast, go here -
    http://www.projectseven.com/tutorials/navigation/auto_hide/index.htm
    > 4. For once we are up and running on DW, what else do
    you guys recommend?
    Keep coming here. 8)
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    ==================
    "onelily" <[email protected]> wrote in
    message
    news:[email protected]...
    > Hi everyone. After almost a decade of designing my
    websites in Front Page
    > my
    > employees have finally convinced me to make the switch
    to Dreamweaver. We
    > will
    > be upgrading to CS4 Design Premium at the beginning of
    the year, and to
    > say I'm
    > a bit "worried" would be an understatement.
    >
    > I have built over 400 websites, and we currently
    host/maintain almost 200
    > sites for our 140+ clients. My staff is trained in
    Dreamweaver so they
    > are
    > very excited about finally making the switch. I myself
    am self-taught and
    > can
    > build a FP site in my sleep. I have taught FP, trained
    staff and
    > colleagues,
    > etc. I am VERY comfortable in FP, and have won over 30
    awards for my
    > designs in
    > FP (thank goodness and can read/write some code in code
    view). So to toot
    > my
    > own horn, I am very comfortable/confident in FP and have
    always been a fan
    > of
    > the software. I have always told people that it is not
    the software that
    > builds
    > the site, but the designer and the software is just a
    tool to get it done.
    >
    > But after much debating, thinking, researching, etc...
    we are finally
    > ready to
    > take the plunge. I am obviously nervous leaning new
    software, and being
    > able
    > to keep up with our steady work (exisiting and new
    clients) and really
    > cannot
    > afford to have much downtime in the way of a learning
    curve.
    >
    > I have started the Lynda.com training, and that is
    making me sleepy. As
    > great
    > as I'm sure the training is, I feel like I'll be
    listening to that
    > forever. I
    > have DW already on my computer and thought I'd just jump
    right in, but
    > find the
    > UI so different that I'm a bit overwhelmed.
    >
    > So I thought I'd come join the forum, as hearing from
    others is often such
    > a
    > better learning method for me. I will continue my
    training at lynda.com as
    > well
    > as a few other tutorials I've seen around the way... but
    wanted to ask a
    > few
    > quesitons to the experts here...
    >
    > 1. What software/training program would you guys
    recommend for learning DW
    > for
    > someone already very familiar with building websites
    (I'm finding that the
    > Lynda.com training is geared to beginners and I'm forced
    to re-learn
    > things I
    > already know)?
    >
    > 2. What is the best method for changing from FP to DW?
    Meaning, is there
    > software or a plug-in available that I can
    import/transition my exisiting
    > FP
    > sites to DW? With so many sites, just this task alone
    seems almost
    > impossible.
    >
    >
    > 3. Currently we use Xara Webstyle for our drop down
    menus. I have been
    > using
    > this program for years and years, and it quickly/easily
    creates javascript
    > drop
    > down menus for our sites. Easy to use, easy to edit,
    inexpensive and
    > works in
    > FP almost seamlessly. When we switch over to DW I'd like
    to use something
    > more
    > search engine friendly - do you guys have anything you
    recommend?
    >
    > 4. For once we are up and running on DW, what else do
    you guys recommend?
    >
    > TIA for your help!
    >

  • [Guide]Making the Logitech G510 Work On Linux!

    Update April 23, 2015: I've got a new keyboard (Corsair K95) so I personally probably won't touch this code ever again if I can help it, however it should be working just fine in it's current state without my dabbling, I've set the code up so that the macros are recorded to script files in /usr/share/g15daemon/macros/ with a provided example script, it should be easy enough to read or modify, and if desired the scripts can be replaced by custom executables. When the buttons on the keyboard are pressed they execute these scripts with a command line argument corresponding to the current M-Key state (so we have different functions for M1, M2 and M3 keys), but I thought this was the easiest and most versatile approach, I feel I've got a lot more freedom to customize the macro keys than I ever did in windows this way. As for the MR Key, it is functioning in that it will record a macro (through Xev) and output it to a text file: /usr/share/g15daemon/macros/Macros by running the MacroRecord script located at /usr/share/g15daemon/macros/MacroRecord, you need to ensure that these scripts are made executable when you install this (unless you use my custom pkgbuild on arch which does this automatically) to use these recorded Macros you just have to copy them over to one of the other scripts (for the respective key you wish to use). The Macro Recording script works for recording most normal macros, but if you try to break it, you will (You should be able to use up to 4 modifier keys on one button press (for a total of 5 buttons held down) without running into any problems, as a limitation) but this script is not complex so it should be easy for anyone using it to open it up and try to improve it or increase the amount of modifier keys supported per macro.
    I was working on a Qt5 application that would allow these files to be edited through a Qt based GUI, which also shows the macros recorded by MR for easily copying them over and saving the file. Everything is done except the save function, if someone asks me in a message, I will finish this application for them or send them the source code once I get it.
    Latest Source (Comes with Arch PKGBUILDs, install with makepkg -i)
    Older Source (Before I coded in the MR key)
    Source of Qt GUI Front-End (I never finished this program, you need qt-creator to open these source files and finish them yourself. Without this program you can just manually edit the files in /usr/share/g15daemon/macros as described below, the only parts that haven't been coded in yet are the save code, and the test button code. It should be easy to do though, there is example code in the saveFiles function which you can use to finish it (comment this function out if you want to compile it before you finish up coding it, this function breaks the code since it is not written in functional code) if you just adjust it based on the loadFiles function that is above it which does work for loading all the files, it should be pretty easy to finish this program up. If you finish coding it, feel free to send me a message so that I can link to your complete sources instead. These sources I'm releasing in public domain (do whatever you want with them) but Qt5 is LGPL 3.0 licensed.)
    There is now a wiki page for this, but it's content is slightly different from this thread and doesn't offer much support for other distributions.
    I have a logitech G510 keyboard, and 2 years back I spent about a week applying several patches I had scoured from around the net as well as making my own modifications as needed to make this work with the old g15daemon drivers (as in, I forked g15daemon, without actually changing the programs name). An alternative to this method is using the gnome15 project (just as g15daemon it is no longer being developed) but I had severe (and quite unacceptable) input lag when I used gnome 15 as well as other major issues and as such I vastly prefer my own method. (Besides I worked hard to make this work, I was toying with source code in a programming language I am not really familiar with (C) and did so non-stop for a week, it'd be a total waste if it wasn't better than the alternative!)
    And on february 11th 2015 I made yet another update to these drivers that made them significantly easier to use (before this time, the source code had to be manually edited and the drivers had to be then recompiled ino rder to edit the functionality of the G-Keys (not to mention the source code was an ugly mess because of this roundabout approach) this had to be done because the g15macro part of g15daemon never worked well with this keyboard, so I decided to hardcode the keys into the drivers as a temporary solution, now I've found a more permanent solution which is redirecting the keypresses to bash scripts. One script file for each button, I will explain how to do this later on.
    Here is the  original thread I made on this if anyone wants to see the ugly mess I went through to get here, luckily that's far behind me now and the code is getting more and more mature over time as I fix it little by little.
    How to do it:
    What you will need to do is apply these patches for libg15 and g15daemon. (If you want to do it the hard way, use the older Hardcode Patch but I don't recommend it unless you really know that you want it, and know why you want it.)
    This can be done on any distro I would assume, for gentoo refer to this thread. To get the sources Download this (latest source) and extract it with unrar, (on arch use makepkg -i to install) in the following order: "libg15 -> libg15render -> g15daemon -> g15stats" (Note: You can edit the macros in the macros folder before installing g15daemon. If you are not on arch you need to manually copy the macros folder to /usr/share/g15daemon/macros/, otherwise the pkgbuild will do it for you. If you are running in another distro you can delete the PKGBUILD file in the folders. I included the unmodified libg15render and g15stats too for the sake of convenience, and as a safety net if they disappear off the face of the internet, which is what they seem to be about to do. If you do not feel like trusting the sources I provided then fear not! the ones I provided are just the original sources (md5sum should match with those found there) (as development for the project seems to have been dropped and these were the final versions ever made) but I assure you, the sources I provided are the original ones downloaded straight from sourceforge. If you are on arch you can use ABS to get the sources from the official repositories and then replace the PKGBUILDs with the ones in my rar (or change them yourself, see wiki). If you want to download your own sources (remember to get my patches too!) then here is an alternative download for the default macros.
    Note: In the arch package there were other patches(config-write, recv-oob-answer and uinput) in the package in the official repositories, I added these three to my own file to avoid clutter, the first two are the first two entries of my file, the third is at line 40-71 (two entries) as a part of the same file where I coded in the G-Keys. Depending on your distro and how you get your hands on the sources you may have to adjust this as these patches may already have been applied for you (meaning mine will fail to patch because of mismatching sources). I have no idea what these patches are actually for (would be nice to know) but I imagine they're there for a reason and as such stuck with them.
    For other distros figure out how to compile packages from the sources (sorry Arch and Gentoo are the only distros I really use so I can't help with others, but I assure you this can be done on all distros. If it comes down to it ask on their forums for help!)
    In the libg15 patch I disabled support for other keyboard models in the first few lines (you will see which if you read the patch) as I suspect many of the changes made might break support for the other devices, but if you want to take your chances just remove the minus sign in front of the device you want to use and hope for the best. If you have a keyboard that was already supported by these drivers, the biggest benefit of getting my version working would be the smoother G-Key functions (since they aren't run through a third party program like g15macro, it's bound to be a little faster and less prone to bugs.) also if you have a G510s and want to try these drivers on that board, you will have to add your keyboards id into this section (or replace the one I added with the appropriate ID for your board) using lsusb to find the right values.
    I couldn't get g15macro to work properly with my keyboard and noticed several issues with it (it seemed like it was underdeveloped to me) so my solution to that problem was originally to hardcode the G-key functionalities into the base drivers; But later on I realized I could instead redirect the code to script files that I would create outside of the install, to avoid the load of pain that comes with hardcoding something you may frequently want to change. These drivers are run as root and as such you must be careful and use sudo where applicable to run the commands as your user rather than as root. By default all G-Key presses will be read as commands from the user with uid "#1000", which is in most cases the first user account created on the system. The bonus from this approach is that the G-Keys work much faster than they would using the g15macro and they are also much more customizable than they ever were in windows, the minus is that you need to know/learn bash/shell scripting in order to use it this way. That or find a way to edit the script files to be in a programming language you understand, but bash scripting is the most convenient since you get all the versatility of a terminal in your keyboard that way.
    To change the colors of your keyboard you need to edit the libg15.patch file below line 338 (//Set keyboard color based on M led state.) The code there uses the basic RGB format, and each M-Key has it's own line. The default is: Dark-ish Blue(M1/Fallback), Dark-ish Red(M2), Dark-ish Green(M3)
    To change the macros, you can (if you installed with my pkgbuild on arch) go to /usr/share/g15daemon/macros/ and within you will find 19 files, an "Example" file (this is like a backup, it's what can be used to reset files back to their defaults if you get lost.) The files are named after the keys they affect, each file has statements for M1, M2 and M3 and then a few extras for errors that uses libnotify for error messages. The default setup also uses libnotify to tell you which key was pressed, and which key was released. If you are not on arch or gentoo and could not install directly from my sources, you will need to either copy the files from my rar to "/usr/share/g15daemon/macros/" and edit them from there, or create them yourself from scratch on that path (the names of the scripts are G# where # is the number of the key, make sure that the files are executable with chmod +x if you are more advanced, you can edit the g15daemon.patch file if the location of the macros isn't to your liking and change the path to the scripts to something more convenient for you (e.g. ".../.config/g15daemon/")
    By default, the scripts will look something like this:
    #!/bin/sh
    declare -i mkey=$(( $2 + 1 ))
    declare -r key="G1"
    #M1
    if [[ "$1" == "on" && $2 -eq 0 ]]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    elif [ $2 -eq 0 ]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    fi
    #M2
    if [[ "$1" == "on" && $2 -eq 1 ]]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    elif [ $2 -eq 1 ]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    fi
    #M3
    if [[ "$1" == "on" && $2 -eq 2 ]]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    elif [ $2 -eq 2 ]; then
    /usr/bin/notify-send $key: 'M'$mkey', state='$1
    fi
    #Else (Errors)
    #If there is no input
    if [[ -z "$@" ]]; then
    /usr/bin/notify-send $key": Error!" 'There was no input'
    fi
    #If M key state is out of range (less than zero or more than 2)
    if [[ $2 -lt 0 || $2 -gt 2 ]]; then
    /usr/bin/notify-send $key": Error!" 'There is no M'$mkey'! (State='$1')'
    fi
    #If the first input variable (on/off) is incorrect. This should never happen.
    if [[ -n "$1" && "$1" != "on" && "$1" != "off" ]]; then
    /usr/bin/notify-send $key": Warning!" '"'$1'" is not a valid state! (M'$mkey'), defaulting to "off".'
    fi
    And here is an example of how the M1-M3 keys could be edited in this file. The "if" statements are events that occur when you press down on the button, and the elif statements are for the key release.
    #M1
    if [[ "$1" == "on" && $2 -eq 0 ]]; then
    thunar /mnt/stash/movies & disown
    fi
    #^elif is not needed and can be erased for this command to avoid the notification of key-release. The & disown part is extremely important, if you forget to add this to the end of every line where you execute a program that will keep running after you release the button, you will not be able to use any G-Keys until you terminate the program. If you remember to add the & disown, everything will be fine.
    #M2
    if [[ "$1" == "on" && $2 -eq 1 ]]; then
    xdotool keydown Ctrl && xdotool keydown Page_Down
    elif [ $2 -eq 1 ]; then
    xdotool keyup Ctrl && xdotool keyup Page_Down
    fi
    #^The above executes the keyboard combo Ctrl+Page Down (Next Tab) and holds these buttons down until your key release is detected.
    #M3
    if [[ "$1" == "on" && $2 -eq 2 ]]; then
    xdotool keydown Super && xdotool keydown F1 && xdotool keyup Super && xdotool keyup F1
    fi
    #^The above is my keyboard shortcut for changing workspaces, (Meta + F1-F6), since I won't ever need to hold these buttons down, I set them up to press and release on keydown, with no need to detect the key release, this is good to do to avoid a bug I mention lower in the guide.
    That's the gist of it, all you need to know. You can test-fire the commands in your terminal before you add them to the files. Recompiling and re-installing the G15Daemon (at least on arch) will overwrite your existing macros in /usr/lib/g15daemon/macros. Last but not least, you should remember the sleep command (for example, to restart g15daemon, do g15daemon -k && sleep 5 && g15daemon this is how you can set up timed commands and macros on your G-Keys as well. I may later on develop a GUI front-end for editing the macros, and program the MR-key to work like it does on Windows, but right now I'm satisfied with what I've got, so that will have to wait.
    You need to know:
    -The g15daemon service should be started after X11/Xorg-Server is started or any commands that require X (like opening a folder, or graphical notifications) will not work. (You can either just wait till you log in and use xinitrc or an autostart script for your desktop environment to start the service, or you can set up a restart script which kills the original instance (g15daemon -k) and starts a new one, this may be good to know if you would like the service to be started on bootup so you wont have to look at white leds until you have logged in. You can use sudo to run these services as a user). You can also try to have the g15daemon initiate after your display manager loads. (For example make the initscript depend on kdm if you're using kde, I have not tried this though)
    Add this to the sudo configuration with visudo so you can run the g15daemon with sudo and no password (this should work on most distros, if not find the executable, could be in sbin (is on gentoo) like so: "/usr/sbin/g15daemon")
    ALL ALL = (root) NOPASSWD: /usr/bin/g15daemon
    (You can replace the first "ALL" with a username or % group if you want to limit the command to just one user)
    -I have not tested the headphone/mic plugs on the keyboard (please do comment your results if you try to use that)
    -This is not completely bug free.
    -There is no support for tracking launched/focused application and changing the M-Key mode depending on what you are doing (this would be useful though)
    -The MR key is not supported, but the LED works.
    Known Issues: (ordered by severity, if you want to contribute fixing these issues is the best thing you can do to help as I seem incapable of it)
    Sometimes the Key Release of G keys is not detected (this means if you have a key bound to the button that is held until the key is released, the release may not be detected properly. This only happens if you press the key quickly, not if you hold it for a short period before releasing it this is solved by either pressing the key again, or not relying on the key-release state, the latter is fairly easy to do as you can use "variables" and "if"s and "do/while" or "for" in C to set keys with toggle functions.
    Keypress detection for the G-Keys isn't 100% reliable, it will work completely fine 95% of the time or so, but sometimes (usually only if a G key has not been pressed in a while) the key needs to be pressed twice (This was much worse when g15macro was used and the keys almost always had to be pressed twice if I recall correctly). This may look like it's a huge bother at first, but really I hardly ever notice this when I'm using the keyboard and it is a very rare occurance.
    The Volume Wheel is erratic, I used patches from the net to make the wheel work but the wheel was unusable, I managed to make it just barely usable but I wouldn't call it "reliable" in it's current state. It does however work "ok". The wheel worked fine with generic keyboard drivers so maybe there is something in there to shed light on how to make them properly work (remember that there was a bit in libg15.c that made the wheel work, the other half of it is in uinput.c)
    The M-Key leds (M1, M2 and M3) will not light up until a G-Key or one of the M keys is pressed (very minor, I tried to fix this but failed, gave up since it's not really important)
    Run "g15daemon -d" for debug mode to see output from the driver when it is running you will repeatedly get the following error, I have no idea what this is but I do not like it
    libg15: Unknown usb error: Keyboard Read !! (err is -75 (Value too large for defined data type))
    look around line 471 of the patched libg15.c to see where the error is being printed from.
    Terminating the g15daemon (g15daemon -k) will render the keyboard unusable and can result in bugs (for example your next keypress may be detected but release will not be detected) so be careful when doing something like that. Unplugging the keyboard and plugging it back in solves this issue.
    Scroll-Lock led does not work (this is not specific to this keyboard, it is a Linux problem and affects all keyboards as far as I am aware)
    I personally prefer using this keyboard in Linux over using it in Windows because of how much more configurable it is (there's nothing I can't do with the press of a button now) and switching workspaces with just one button each for a total of 6 is a joy!
    Feel free to comment below with any questions or thoughts, any suggestions to improve the code or other contributions are greatly appreciated! I am not skilled in C programming and as such some of my code may look hideous to those who would know what they're doing so better ways to achieve the same results will not be ignored either and I will add any significant updates to the OP when I see them.
    Good Luck and Enjoy
    PS: I know the libg15 patch is rather "unclean" (contains a lot of redundant patches, i.e. replacing a line with the same line) but I was too lazy to clean it up. I tried once but it did not work out so well
    If you have a G510s and this did not work for you, I may be able to help you get that working, comment if you want help with that (the first step to try is on the wiki)
    Last edited by rabcor (2015-05-08 14:41:34)

    Major Update: The G-Keys can now be edited without recompiling by editing shell scripts at "/usr/share/g15daemon/macros/"
    Each button has it's own script file named by it's label (e.g. to edit the functionality of G1, open the script named G1.) The button will try to execute the scripts as programs, so make sure they are executable (chmod +x) and as long as the name remains the same, if you want to replace the files with something different, know that the arguments currently given to the files ($1 and $2) are ($1)on/off and ($2)0-2  (where 0 is M1 and 2 is M3)
    To download the updated sources, go here (only the g15daemon source/patch was updated). This thread's OP has been updated.
    Last edited by rabcor (2015-02-12 04:46:48)

  • Firefox plays video, but no sound. when I type about:plugins in location bar, it shows the firefox default plugin is not enabled. When I look at my plugins, it says it is enabled. I have uninstalled 3.6 and re-installed with the same result.

    firefox plays video, but no sound. when I type about:plugins in location bar, it shows the firefox default plugin is not enabled. When I look at my plugins, it says it is enabled. I have uninstalled 3.6 and re-installed with the same result. Why do I have no sound. Computer plays I-tunes and all other sounds, just no web browser sounds.

    Glad you seem to have sorted things out.
    The warning about the warranty is light hearted, I think at one stage it warned "here be dragons" but also intended to make us think as it warns that making changes may produce problems.

  • When trying to creat a desktop icon, it does not go to the URL.....instead I get 'script' and not a website......the script has http//etc but I am not directed to the website......I previously had IE 8 (on Vista).....is that the problem...

    Question
    When trying to create a desktop icon, it does not go to the URL.....instead I get 'script' and not a website......the script has http//etc but I am not directed to the website......I previously had IE 8 (on Vista).....is that the problem?I do not have any installed plugins....at least none that I know of.....remember I am a new user......Basically, the desktop icon is not going directly to the Mozilla FF to get me to the web site I need to go to.....FF works when I use the Mozilla FF icon.....just not the icons I create.....THANKS!!! I have also tried reinstalling FF and get the same results.....HELP!!!

    The address beginning with file:/// denotes a saved file (local file). The file may not be present. You can try dragging the site icon of this page on the left edge of the location (Address) bar and release it on the desktop. Please try opening it. If it still shows an error it could be a problem with the system's zone permissions. You can try setting each zone in the Windows Control Panel or IE > '''Internet Options''' > '''Security''' tab to '''Default Level'''.

  • How to change the script event?!?

    Here I have a small form with two different parts...
    The first part is a table containing many checkboxes to be able to show whatever form you want to fill up..
    All of the checkboxes create a form into a table which each row represents the form to fill-up.
    When you click 1 checkbox, it adds a row to the table with some values needed for the form..
    In that form there is a chance to have 2 or 3 radiobuttons, depending on the checkedbox which each do something different..
    the 1st one hides a new table to fill up information (under the radiobuttons),
    the 2nd one shows up the new table with some values to show instructions into labels...
    the 3rd one shows up the new table with some other values to show different instructions into labels.. (This radiobutton is only in half of the forms, so it is hidden)
    those labels must be different for each checkbox chosen
    instead of making a huge script in my radiobutton change event, and writing all the different possibilites
    i'd rather create the script depending on the checkedbox the user have chosen...
    Right now I'm using something like : this.resolveNode("...radiobuttonList").event__change.script.value = "--_ Write all the new code here_--";
    After this line is written and everything is working... I show up a messageBox to see the result which is all correct..
    But when I'm clicking on the radiobuttons nothing is working at all...
    the only code working is the initial code written in the event
    Anyone have an idea if I'm missing something?!?
    Thanks!

    Actually this is not what i was looking for, I really need to change the script...
    e.g. I have a button in a expandable table and i want each buttons to have a different messagebox....
    when the button is created a new script is assigned to the event_click...
    This is what im looking for...
    Looks like LiveCycle Designer is not able to change the scripts events even though the property is there and is a "get" & "set"
    so I should be able to change script event.... but I think i need to reload/recreate the form by using the modified code...

  • I have an error message that says A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see

    The exact and full message is:
    A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete.
    Script: https://fbstatic-a.akamaihd.net/rsrc.php/v2/yk/r/w50KHoJTfoZ.js:26
    so, I have read the many other threads on this problem:
    1. I just installed firefox for the first time - this happens on facebook and many other sites
    2. I have reset firefox - did not fix the problem
    3. I have checked all my extensions and plug ins for up to date
    4. I turned off hardware acceleration
    5. I tried disabling all my plug ins
    6. I used to use firefox, but it started doing this and I was never able to resolve this and went to chrome.
    I am using Win 7. No problem, ofr the most part, using IE or Chrome, I just wanted to try firefox again. Does it not work with win 7?

    You can try to clear the Flash local storage and settings if the problem is with the Flash plugin.
    *Windows Control Panel > Flash Player > Storage: Local Storage Settings
    **Remove a specific domain: Local Storage Settings by site
    **Remove all domains: Delete All and Delete Data
    Flash Website Storage Settings panel:
    *http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html
    Global Storage Settings Panel:
    *http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html

  • VuGen 11.00 script is not getting saved after recording the script.Getting JIT Debugging error

    Hi ,
    I am able record the script successfully through Vugen 11.00. But while i am trying to save the the script the Vugen stops responding for few minutes and gives a error pop up is coming Saying "Unhandled  exception occured in a component in your application.....".
    Below is exception caught:
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.
    ************** Exception Text **************
    System.NullReferenceException: Object reference not set to an instance of an object.
       at LogicNP.FileViewControl.x536ecdb7386d29a6.x2db8e1a2d8ef1ead(xb2fdad904b77f843 xcbf23e6fdf2aa08b, IntPtr xe2562f0dc0544189, DisplayNameFlags x9432081594ec509d, IntPtr x5e5a9895844ba8d2, x09b9e24e089559b0 x49a64970a3136cae)
       at LogicNP.FileViewControl.x536ecdb7386d29a6.x1dafd189c5465293(xb2fdad904b77f843 xcbf23e6fdf2aa08b, IntPtr xe2562f0dc0544189, DisplayNameFlags x9432081594ec509d, IntPtr x5e5a9895844ba8d2, x09b9e24e089559b0 x49a64970a3136cae)
       at LogicNP.FileViewControl.x536ecdb7386d29a6.x4e2d9d6d7d7d99b0(xb2fdad904b77f843 xcbf23e6fdf2aa08b, IntPtr xe2562f0dc0544189)
       at LogicNP.FileViewControl.ListItem.x77be53ce49261911()
       at LogicNP.FileViewControl.ListItem.get_Path()
       at QTFileDialogs.FSControl.fileView1_AfterItemAdd(Object sender, FileViewEventArgs e)
       at LogicNP.FileViewControl.FileView.x63783b721e2e30d9(Int32 xccb63ca5f63dc470)
       at LogicNP.FileViewControl.FileView.x5921718e79c67372(IntPtr xe2562f0dc0544189)
       at LogicNP.FileViewControl.FileView.x6d54aa19d20a6718(IntPtr x60b03290ec39ff34, Boolean x6aa0fd35fe33c0ce)
       at LogicNP.FileViewControl.FileView.x7cb4bb83abfb9710(String xaead53c3b2567ee7)
       at LogicNP.FileViewControl.FileView.set_CurrentFolder(String value)
       at QTFileDialogs.FSControl.FSControl_Load(Object sender, EventArgs e)
       at System.Windows.Forms.UserControl.OnLoad(EventArgs e)
       at System.Windows.Forms.UserControl.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.ContainerControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5477 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    BPTManagerImpl
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/BPTManagerImpl.DLL
    BPTManager
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/BPTManager.DLL
    Interop.TDExtendedAPI
        Assembly Version: 9.52.0.0
        Win32 Version: 9.52.0.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Interop.TDExtendedAPI.DLL
    Interop.SOAMaf
        Assembly Version: 9.52.0.0
        Win32 Version: 9.52.0.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Interop.SOAMaf.DLL
    VugenIntegration
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/VugenIntegration.DLL
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    interop.OTAClient
        Assembly Version: 11.9.9.9999
        Win32 Version: 11.9.9.9999
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/interop.OTAClient.DLL
    VuGenFileDialog
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/VuGenFileDialog.DLL
    QTFileDialogLib
        Assembly Version: 11.0.700.0
        Win32 Version: 11.0.700.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/QTFileDialogLib.DLL
    OTAWrapperLib
        Assembly Version: 11.0.721.0
        Win32 Version: 11.0.721.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/OTAWrapperLib.DLL
    FileDialogServices
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/FileDialogServices.DLL
    QTFileDialogs
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/QTFileDialogs.DLL
    QTFileDialogIfsLib
        Assembly Version: 11.0.700.0
        Win32 Version: 11.0.700.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/QTFileDialogIfsLib.DLL
    QTOTAWrapper
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/QTOTAWrapper.DLL
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5476 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    Log4netWrap
        Assembly Version: 0.0.0.0
        Win32 Version: 11.0.700.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Log4netWrap.DLL
    msvcm80
        Assembly Version: 8.0.50727.6195
        Win32 Version: 8.00.50727.6195
        CodeBase: file:///C:/WINDOWS/WinSxS/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a/msvcm80.dll
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5476 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    QTOTAWrapper.XmlSerializers
        Assembly Version: 11.0.1465.0
        Win32 Version: 11.0.1465.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/QTOTAWrapper.XmlSerializers.DLL
    ocap_h8y
        Assembly Version: 11.0.0.8825
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    0kybcvp7
        Assembly Version: 11.0.0.8825
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    Infragistics2.Win.Misc.v7.3
        Assembly Version: 7.3.20073.1053
        Win32 Version: 7.3.20073.1053
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Infragistics2.Win.Misc.v7.3.DLL
    Infragistics2.Win.v7.3
        Assembly Version: 7.3.20073.1053
        Win32 Version: 7.3.20073.1053
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Infragistics2.Win.v7.3.DLL
    Infragistics2.Shared.v7.3
        Assembly Version: 7.3.20073.1053
        Win32 Version: 7.3.20073.1053
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Infragistics2.Shared.v7.3.DLL
    Infragistics2.Win.UltraWinEditors.v7.3
        Assembly Version: 7.3.20073.1053
        Win32 Version: 7.3.20073.1053
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Infragistics2.Win.UltraWinEditors.v7.3.DLL
    Accessibility
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    Infragistics2.Win.UltraWinExplorerBar.v7.3
        Assembly Version: 7.3.20073.1053
        Win32 Version: 7.3.20073.1053
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Infragistics2.Win.UltraWinExplorerBar.v7.3.DLL
    LogicNP.FileView
        Assembly Version: 10.0.0.0
        Win32 Version: 10.0.0.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/LogicNP.FileView.DLL
    LogicNP.ShComboBox
        Assembly Version: 10.0.0.0
        Win32 Version: 10.0.0.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/LogicNP.ShComboBox.DLL
    ScriptContext
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/ScriptContext.DLL
    CorrelationSDK
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/CorrelationSDK.DLL
    Interop.VugenBackEnd
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Interop.VugenBackEnd.DLL
    Interop.VugenDocIfs
        Assembly Version: 11.0.0.8825
        Win32 Version: 11.0.0.8825
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/Interop.VugenDocIfs.DLL
    CorrelationFramework
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/CorrelationFramework.DLL
    FileLogger
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/FileLogger.DLL
    System.Web
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.5479 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
    HTTPSnapshot
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/HTTPSnapshot.DLL
    lxnorxdy
        Assembly Version: 11.0.9409.0
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    xp_nfinj
        Assembly Version: 11.0.9409.0
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    PostFilterCorrelationRules
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/PostFilterCorrelationRules.DLL
    PostFilterInScriptFinder
        Assembly Version: 11.0.9409.0
        Win32 Version: 11.0.9409.0
        CodeBase: file:///C:/Program%20Files/HP/Virtual%20User%20Generator/bin/PostFilterInScriptFinder.DLL
    xftg046s
        Assembly Version: 11.0.9409.0
        Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    For example:
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.
    Please let me know how to resolve this issue. This is causing a major blocking for my testing

    Looking at the error message "The Network Adapter could not establish the connection" , It appears hostname and port may be incorrect. Review the targets.xml under E:\oracle\product\10.2.0\db_1\SAP_solman_SDB\emd and
    emoms.properties under E:\oracle\product\10.2.0\db_1\SAP_solman_SDB\config folder to make sure host ( sap_solman) and port (1527) are correct.
    As far as setting the environment variables goes, you can go to control panel -> system -> advanced -> environment variables and set the ORACLE_HOME and ORACLE_SID
    -Ramesh

  • When exporting to a DVD from Final Cut Pro X, what settings are there to make sure you making the highest quality DVD possible?

    When exporting to a DVD from Final Cut Pro X, what settings are there to make sure you making the highest quality DVD possible?

    There have been a lot of recent reports of difficulties sharing to DVD, but haven't been hearing about unreadable disks. Posibly there was an encoding error. Or it could have been bad media (blank disk).
    Does it play in your Mac?
    What brand of disks are you using?
    Russ

  • Hiding password in the script

    Hi
    Is there a way of hiding password text in the script? If possible please provide different ways of doing it and with examples. Thanks!

    You can save encrypted data wherever you like, including within your script file (though there are certainly advantages to having it separate from the code.) One easy example of this is with the ConvertFrom-SecureString and ConvertTo-SecureString cmdlets:
    # At your console:
    $secret = Read-Host -AsSecureString "Enter password"
    $secret | ConvertFrom-SecureString
    # copy and paste the data that this command produces, and
    # place it into your script file (or a data file, whatever)
    # In your script:
    $encryptedData = '<copied from ConvertFrom-SecureString output>'
    $secureString = $encryptedData | ConvertTo-SecureString
    When you call ConvertFrom-SecureString the way I did in this example, PowerShell uses the Windows Data Protection API (DPAPI) to perform the encryption.  That's the scenario you described, where you're the only person who can decrypt the data, and only
    on your own computer.  In the examples code I linked to earlier, I show some alternatives using RSA certificates to encrypt data in a way that is just as secure, but can be shared across multiple users / computers.
    wow.. a cool trick.. :) Thanks David for sharing this idea.
    so for secure string it will only work on the machine where it was generated?
    Every second counts..make use of it. Disclaimer: This posting is provided AS IS with no warranties or guarantees and confers no rights.
    IT Stuff Quick Bytes

  • Is there a script (or plugin) that will take a photo and break it up into parts?

    Is there a script or plug-in out there that will take a picture and break it up into various parts (squares for example.)  The idea would be that you could automate and rapidly create a photo collage of a single image.  (See examples of what I mean in attached pics.)
    Thanks!
    This image has been resized to fit in the page. Click to enlarge.
    You get the idea.

    OK, I'm going to edit this post now that I'm at a computer with an actual step by step.
    Create a new comp the size of you our final delivered project.
    Add a photo to the timeline
    Note the size of the photo and the scale to position the photo at it's final resting place
    Calculate twice the height and width of the photo and create a new solid that is this size
    Place the solid above the photo
    Create a mask in the solid at the exact center that is the size shape you want for your photo frame
    Either invert the mask or set the mask property to Subtract to reveal a small portion of the photo
    Set the solid as a alpha inverted track matte for the photo (you should now see only a portion of the photo
    Add a rectangular shape layer with only a stroke to act as the photo frame over the mask. You may have to use two shapes or create a mask on a shape if you want to simulate polaroids
    Make the shape layer the parent of the solid you are using as a track matte so the matte will stay lined up with the frame
    Here comes the fun, select all layers and duplicate them using Ctrl/Cmnd + D
    Immediately hold down Shift + Ctrl/Cmnd + } to move all duplicates to the top
    Select the top shape layer and move the shape layer frame into a new position
    Pre-compose the top 3 layers
    Press the y key to select the Pan Benind or Anchor Point tool and move the pre-comp's anchor point to the center of the top frame
    Repeat step 11 through 15 until you have arranged your montage (it might be a good idea to have a template set up as a guide layer so you know where to put the frames
    Select all pre-comps and press Alt/Option + P to set a position keyframe for each pre-comp
    With all of the keyframe selected move them down the timeline about 3 seconds
    Now, with the CTI at the first frame drag each pre-comp into a starting position for that frame
    Preview and adjust the timing, then turn on motion blur
    Your images will now assemble themselves into the final montage.
    There is no script that I know of that will do all of this automatically, but it would not be too hard to write a script that would do the pre-composing if you have a ton of these to do. I'm guessing that with a little practice you could have a new picture frame created and moved into position in less than a minute. It takes me about 30 seconds. That means a 20 frame sequence should take you about a half hour. It might not be worth writing a script unless you have a ton of these to do. Select the bottom three layers and duplicate (Ctrl/Cmnt + D), group them at the top (Shift + Ctrl/Cmnd + } ), move the top frame layer into position, then Shift + Ctrl/Cmnd + C to pre-compose, then move the anchor point of the pre-comp, then do it again.... When you're done set a few keyframes.
    As I said, you could write a script, but you'd need a different script to move each frame into position and the script would only work for one layout. If you made a template to put on the bottom so you knew where do place the frames and which order you wanted them you could do this by hand very quickly. The sample project that I'm including which was just quickly thrown together took me less than 10 minutes. Replace my photo with one of yours and you'll get the idea.
    Dropbox - photoMontage1_CS6.aep (Note: Dropbox will probably add a .txt extension to the .aep file. Just delete it and you should be able to open the project.

Maybe you are looking for

  • Saving a image without a background

    I did the tutorial on Removing Image Backgrounds with Fireworks. That works great, but I don't know how to save a image without a background. I am trying to save it for a website. I have Fireworks 8.0. I tried to save it as a Alpha Transparency GIF f

  • Outlook Calender Sync fails...

    Hi there My setup is as follows: Windows XP Pro SP2 PC Suite 6.70.22 Outlook 2003 (Office 2003 SP2) Nokia 9300i Note that all my programs etc. are in Danish, so I have made a rough translation of all the messages ;O) Synchronization works flawlessly

  • Repeating problems (1) Many Missing Files; and (2) Downloading From iTunes

    I am having multiple issues with the iTunes store currently. I have spoken with an Apple Expert on August 14, 2010 (case number available if needed). Although he was very good at helping me to the best of his ability, he referred me to iTunes Store C

  • Send KM documents using Send To with Outlook

    Hello, I would like to send KM documents using the "Send To..." command. When I select the "Send To..." command, the Send E-Mail window is opened. In this window, I can enter the email recipients, attach other documents, etc... However, after selecti

  • Files seen under Explorer but not under Music; making playlists outside Music

    My Zen Touch 2 sees some files only in the explorer but not under Music > Songs. I.e. I load an album into the right folder and Zen sees only the fourth, fifth etc. track under Music while seeing all under Explorer. As I can add songs to playlists on