10 Replies Latest reply on Jun 17, 2015 11:24 PM by Andreas Resch

    Script Dialog messed up in Photoshop CC 2015

    Andreas Resch Level 1



      My script worked fine in all the previous versions of Photoshop and suddenly the dialog is messep up. Some image buttons won't show, font have different colors, radio buttons are missing, checkoxes look horrible ...


      What was done to the scripting language to make all this happen? This is very annoying.


      Here a comparison of how the script looked before (left) and how it looks now (right).




      Maybe someone can explain the problem.



      Andreas Resch

        • 1. Re: Script Dialog messed up in Photoshop CC 2015
          xbytor2 Level 4

          I understand your pain.


          See this thread: Photoshop CC 2015 changes to scripting


          Please report any new bugs that I haven't already.

          • 2. Re: Script Dialog messed up in Photoshop CC 2015
            JJMack Most Valuable Participant

            Photoshop Help | Photoshop UI toolkit for plug-ins and scripts



            UI Layout


            There are no changes in the scripting APIs for creating user interfaces. However, there is a difference in the way the grouping widget works.

            In Flex, the “group” widget used to act as layout mechanism for grouping widgets and used to be completely invisible itself. Now, “group” is itself a widget with its own background and can’t overlap with other widgets.

            For instance, if we have two groups arranged one over the other with widgets in each group such that widgets from one group do not overlap with widgets in the other group, all widgets are visible in Flex.


            Group widget - Flex


            However, in the new framework, in the same scenario, the group at the top hides the group at the bottom.


            Group widget - New framework


            • 3. Re: Script Dialog messed up in Photoshop CC 2015
              Andreas Resch Level 1



              thanks for your feedback so far, but aside from other people having issues to, there's no explanation why this was done or how to fix it.


              It was mentioned, that JPGs can't be used any more, but all my image buttons are PNGs and still some of them don't show up.


              Here's the code that creates my dialog in case somebody can share some light on how to modify the structure.


              dlg = new Window("dialog{text:'Script Interface',bounds:[100,100,900,664],\

                titlepanel:Panel{bounds:[10,10,790,70] , text:'' ,properties:{borderStyle:'none',su1PanelCoordinates:true}, alignchildren:'center',\

                title1:Image{bounds:[0,0,780,60] , icon:'"+strScriptPath+"/header.png'},\

                           infobutton:IconButton{bounds:[0,0,151,60] , icon:'"+strScriptPath+"/info" + strLanguage + ".png', properties:{style:'toolbutton'}},\

                           donatebutton:IconButton{bounds:[629,0,780,60] , icon:'"+strScriptPath+"/paypal" + strLanguage + ".png', properties:{style:'toolbutton'}}\


                presetpanel:Panel{bounds:[10,80,790,150] , text:' "+strPresets+" ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\

                presetlabel:StaticText{bounds:[20,22,80,42] , text:'"+strPresets+":' ,properties:{scrolling:false,multiline:false}},\


                addpreset:Button{bounds:[650,15,760,45] , text:'"+strAdd+"', name:'addpreset' },\

                deletepreset:Button{bounds:[530,15,640,45] , text:'"+strDelete+"', name:'deletepreset' },\

                updatepreset:Button{bounds:[410,15,520,45] , text:'"+strUpdate+"', name:'updatepreset' }\


                sizepanel:Panel{bounds:[10,160,214,250] , text:' "+strFinalSize+" ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\

                widthinput:EditText{bounds:[18,32,70,51] , text:'' , justify: 'center', properties:{multiline:false,noecho:false,readonly:false}},\

                xlabel:StaticText{bounds:[80,33,86,52] , text:'x' ,properties:{scrolling:false,multiline:false}},\

                heightinput:EditText{bounds:[96,32,148,51] , text:'' , justify: 'center', properties:{multiline:false,noecho:false,readonly:false}},\

                sizeunit:StaticText{bounds:[158,33,208,52] , text:'"+strSizeUnit+"' ,properties:{scrolling:false,multiline:false}}\


                settingspanel:Panel{bounds:[224,160,790,250] , text:' "+strSettingsPanel+" ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\

                           duplicateimage:Checkbox{bounds:[18,20,218,35] , text:'"+strDuplicateImage+"' },\

                           edgemask:Checkbox{bounds:[220,20,436,35] , text:'"+strEdgeMask+"' },\

                           maskmode:Checkbox{bounds:[410,20,560,35] , text:'"+strMaskMode+"' },\

                           saturationcompensation:Checkbox{bounds:[18,50,218,65] , text:'"+strSaturationCompensation+"' },\

                           layeropacitylabel:StaticText{bounds:[220,50,408,65] , text:'"+strLayerOpacity+"' ,properties:{scrolling:false,multiline:false}},\

                           layeropacitystrength:Scrollbar{bounds:[410,50,547,65] , minvalue:1, maxvalue:5, value:3, stepdelta:1, jumpdelta:1}\


                watermarkpanel:Panel{bounds:[10,260,790,400] , text:' "+strWatermark+" ' ,properties:{borderStyle:'etched',su1PanelCoordinates:true},\

                usewatermark:Checkbox{bounds:[18,20,250,44] , text:'"+strUseWatermark+"' },\

                            pickwatermarkfile:Button{bounds:[18,52,90,80] , text:'"+strFile+"', name:'pickwatermarkfile' },\

                watermarkpath:EditText{bounds:[100,56,650,76] , text:'' ,properties:{multiline:false,noecho:false,readonly:false}},\

                            watermarkposition:StaticText{bounds:[680,10,754,30] , text:'"+strWMPosition+"' ,justify: 'center', properties:{scrolling:false,multiline:false}},\

                            posframe:Image{bounds:[672,30,761,119] , icon:'"+strScriptPath+"/posframe.png'},\

                wmpos1:RadioButton{bounds:[680,36,700,52] , text:'' }, wmpos2:RadioButton{bounds:[710,36,730,52] , text:'' }, wmpos3:RadioButton{bounds:[740,36,760,52] , text:'' },\

                            wmpos4:RadioButton{bounds:[680,66,700,82] , text:'' }, wmpos5:RadioButton{bounds:[710,66,730,82] , text:'' }, wmpos6:RadioButton{bounds:[740,66,760,82] , text:'' },\

                            wmpos7:RadioButton{bounds:[680,96,700,112] , text:'' }, wmpos8:RadioButton{bounds:[710,96,730,112] , text:'' }, wmpos9:RadioButton{bounds:[740,96,760,112] , text:'' },\

                            watermarkopacitylabel:StaticText{bounds:[18,93,90,112] , text:'"+strWatermarkOpacity+"' ,properties:{scrolling:false,multiline:false}},\

                            watermarkopacity:EditText{bounds:[100,92,130,109] , text:'0' , justify: 'center' , properties:{multiline:false,noecho:false,readonly:false}}\



                button1:IconButton{bounds:[588,0,790,125] , icon:'"+strScriptPath+"/button1" + strLanguage + ".png', properties:{style:'toolbutton'}},\

                           button2:IconButton{bounds:[370,0,572,125] , icon:'"+strScriptPath+"/button2" + strLanguage + ".png', properties:{style:'toolbutton'}},\

                cancelbutton:IconButton{bounds:[10,0,135,125] , icon:'"+strScriptPath+"/cancelbutton" + strLanguage + ".png', properties:{style:'toolbutton'}}\


                       };", strTitle);



              • 4. Re: Script Dialog messed up in Photoshop CC 2015
                JJMack Most Valuable Participant

                What I saw was overlap needed to be removed from groups not longer works, and the png info seemed to be in reference for Adobe 2x UI that work on large 4K displays but not on small high resolution 2k displays.   When you have a 2K display you need to change Adobe default Auto UI scaling to 100% else Photoshop UI will not fit on the 2k Display for some reason Adobe scale its UI to 200% on 2K Displays and its UI does not fit in at 1080x720 on my Surface Pro 3...768 is Photosho height requirement.   Here is what I read in the like I posted.



                Some users may find that their existing scripts have incorrect UI layout in the new framework because of this same reason. All such scripts should be modified by removing overlaps in the “group” widgets. Scripts created afresh in the new framework or modified to run in it work fine in Flex as well.

                HiDPI support


                With this change, script UI now supports HiDPI displays as well. However, no change is required in the scripts to make it work on HiDPI displays. You just need to place the 2x image assets alongside the 1x image assets having same filename as 1x image asset followed by @2X as suffix.

                For instance, if the filename for 1x image asset is imageFile.png, then 2x image asset should be named as imageFile@2X.png and present at the same location.



                If the 2x image asset is not found, 1x image asset will be used.

                • 5. Re: Script Dialog messed up in Photoshop CC 2015
                  DBarranca Level 4

                  Check that your PNG are PNG-8 and not PNG-24, it seems the new ScriptUI engine doesn't interpret them correctly.


                  Davide Barranca



                  • 6. Re: Script Dialog messed up in Photoshop CC 2015
                    Chuck Uebele Adobe Community Professional & MVP

                    I tend to use the auto layout rather than defining every control item. I think that might be where your trouble is. with the Mondo framework the size is different, so all your size definitions are off. The auto layout isn't too hard to use, you just have to think how it will all work together like divs in a webpage.

                    • 7. Re: Script Dialog messed up in Photoshop CC 2015
                      xbytor2 Level 4

                      FWIW, I never use auto layout. It would vary between versions back in the CS-CS4 era so much that I found it much easier to do manual layout to keep the UI consistent. I still had to do some pixel-level layout tweaks here and there but it was much easier for me to deal with that. A proper interactive UI builder would probably have made the matter moot.

                      • 8. Re: Script Dialog messed up in Photoshop CC 2015
                        y.fujisawa Level 1

                        Your pngs are Really pngs?

                        Can you Open them at Photoshop?

                        If you have trouble when you open your pngs, they are not pngs,Possibly it may be jpegs.

                        I have the same issue.

                        • 9. Re: Script Dialog messed up in Photoshop CC 2015
                          Chuck Uebele Adobe Community Professional & MVP

                          I've got a huge UI that I use for work, and it has been updated numerous times over the years. The Auto works great for that, otherwise I would have to recode most the control positions and sizes. Kind of need to do that now with the new UI., but there are other things I need to do with it, like remove a swf I had in it to give feedback on border size for processing images. Sorry to see Flash go because of that, as it was nice.

                          • 10. Re: Script Dialog messed up in Photoshop CC 2015
                            Andreas Resch Level 1



                            my files are all PNG. As you can see, some of them show and some don't. I was thinking about using auto layout at one point but decided, that manual layout works better for my purposes.


                            I just don't understand, why to change something that works properly over many years (this script even works in CS3) and suddenly abandon it without documentation and obvious reason, just to make users invest time and effort to fix it for Adobe. That happened in CC 2014 with stopping support for Flash panels too. From one day to another I had to change my workflow if I wanted to use the new version of Photoshop.


                            For now, I will have to leave CC 2014 installed to be able to use all my stuff. I hope Adobe publishes a proper statement about the script issues or better reverts the changes with an update.