Savebrowser: when default value is specified, the filename in the dialog is set accordingly
Fix combobox height issue introduced with v0.10.2
Tooltips can now be multi-line by using \n for linebreaks.
Bugfix: when a dialog should be closed but stays on screen due to mandatory elements being empty, checkboxes do no longer lose their status.
Fixed a problem that could result in an inaccurate button return value under certain circumstances
When displaying images, the pixel size is used for calculating sizes, and the image resolution is ignored
Slightly reduced the vertical distance between UI items and their labels
New application icon
The command-line switch -e for setting the encoding is no longer supported and is ignored if used. (Which has been marked as deprecated since January 2014.) Pashua now expects input as UTF-8 and will output resulting values as UTF-8, but will usually be able to auto-detect, if another encoding (MacRoman, Latin1 etc.) is used. If input is in another encoding, Pashua will use the same encoding for the output.
Mandatory UI elements can be defined by the new mandatory attribute, and a dialog cannot be closed as long as mandatory fields are empty.
Added ability to set placeholder values (attribute placeholder) for element types combobox, openbrowser, savebrowser, textfield
Fixed attribute tooltip attribute for types cancelbutton and defaultbutton
Removed the number of examples that are included with Pashua. Remaining examples can now be found in GitHub repositories.
Slightly improved the documentation
There is no longer a maximum allowed “rely” value
Fixed errors in doc comments inside “Pashua.py”
Removed legacy code and deprecated API usages, which is why Pashua requires Mac OS X 10.6 or later
The “image” element respects the Exif orientation tag when displaying photos
The drag cursor (for “openbrowser” and “savebrowser” elements) is no longer the “copy” cursor, but the “link”, which is more appropriate
Retina icons in the UI. (Actually this only applies to the “clear” button in “openbrowser” and “savebrowser” elements.)
The “clear” button in “openbrowser” and “savebrowser” elements is re-displayed when an item is dragged onto the element after the element was cleared
The window position can be restored upon next launch (on a per-application basis). See “autosavekey” in documentation.
The example code for all languages uses UTF-8 as encoding. Using an encoding other than UTF-8 is deprecated, and support for setting the encoding will be removed in a future version.
Fixed the Tcl example
Updated and modernized documentation
Fixes a timezone-related issue in element “date”.
Fixed: When an element “date” was displayed in textual mode, the stepper for the value was slightly cut off at the top.
Elements “openbrowser” and “closebrowser”: when the field contains a string, a clear button will be visible that can be used to erase the field’s content.
Element “combobox” has a new attribute “completion” which can be set to 0 (no completion), 1 (completes the first item in the completion list which matches the entered string, case-sensitive -- this is the default behaviour) or 2 (ditto, but case-insensitive)
Elements of type “date” now return a correct and usable date string. If date and time can be selected in the GUI, it’s in “yyyy-mm-dd hh:mm” format, if it’s a date without time the format is “yyyy-mm-dd” or, in case of a time without a date, “hh:mm”. In any case, the timezone is no longer returned, as there was no way to define it, anyway.
Element types “openbrowser” and “savebrowser”: Improved behaviour regarding pre-selected folders in the file dialog
English localization: corrected menu item “Hide Others” (was “Hide Pashua”)
Fixed some errors in the documentation
Added a Groovy example
AppleScript example: Fixed an error that could occur when the AppleScript was launched from inside another application
Rexx example: Image path is set correctly, and hence the image will now be displayed in the dialog
PHP example: Code modernizations (not compatible with PHP4)
Python example: Removed output of dialog’s return values
Tcl example: fixed (did not work, due to a syntax error)
New GUI element date for choosing date and/or time
New attribute disabled for any elements with the exception of image and text
Example shell script: Fixed missing quoting of paths with spaces
Example Tcl script: Corrected variable names
Changed return values to conform to Pashua's behaviour before 0.9.3: buttons and checkboxes return 1 when clicked / checked and 0 if not clicked / checked, read-only elements (line, text) do not return anything any longer.
Important: Syntax change in the configuration string: Window attributes now have to be specified using an asterisk (*) as a dummy element name. Moreover, the attribute name for the window title was changed from windowtitle to title.
New window attribute "floating": When using "*.floating = 1", the window will float above other windows.
New window attributes "x" and "y": Using "*.x = [number]" and "*.y = [number]", the window will open at the specified x / y position
Absolute positioning of any elements using new attributes "x" and "y". The window will resized as required.
Relative positioning of any elements (except buttons) using new attributes relx and rely.
Due to the new positioning features, text (element type text) no longer fits the window width automatically.
More syntactical checks and better error messages
Better shortening of filenames in openbrowser and savebrowser elements
openbrowser and savebrowser elements now use sheets instead of panels
Radiobutton labels are now considered when calculating the window width
The height of elements of type textbox is now regarded as pixels, not as lines
Completely rewritten documentation using DocBook
Pashua is a “Universal Binary” (should run on Intel Macs)
Syntax change in the configuration string: Element names and their attributes should be no longer separated by an underscore, but by a dot. For instance, instead of "name_label = Enter your name" you now have to use "name.label = Enter your name"
The way encodings are defined has changed (and encodings should work more reliably now). Instead of specifying the encoding in the configuration string, the encoding is passed as a command-line argument to Pashua. See documentation for more info.
Pashua will read the configuration from stdin instead of a file, if "-" is passed as filename to Pashua. However, the examples still use temporary files; if you want to make use of this feature, you have to change the code accordingly.
For elements of type text you can use attribute default instead of text, if you prefer. These attribute names are treated as synonyms to achieve more consistency with other element types, which use default for any pre-set values.
The text of elements of type text is selectable and can be copied.
French localization, contributed by Daniel Robillard
Fixed small bugs in two of the example scripts
Windows with attribute appearance=metal can be moved by clicking in their background, which is the regular behaviour of texturized (metal) windows.
Example code for using Pashua from Ruby (Code contributed by Mike Hall)
Two fixes in the example shell script
Fix in the example Perl script
Using the new instruction encoding, users are able to define an encoding for text sent to and returned by Pashua. Among the supported encodings are Unicode (UTF-8) and Latin-1. To learn more about encodings, please take a look at the documentation.
Using textbox's new attribute fonttype=fixed it's possible to get a textbox with a fixed (monospaced) font.
Improved and extended documentation
Improved behaviour of openbrowser and savebrowser text fields (reg. Drag&Drop and displaying paths which are too long to fit in the textfield)
New attribute autoclosetime, which can be used to close the dialog automatically after a certain amount of time.
By default, openbrowser and savebrowser navigate to the directory which contains the currently selected item, provided that you did select something before.
Improvements in AppleScript code, contributed by Hans Haesler
Tempfile cleanup in the Perl module did not work as expected, therefore Pashua.pm now uses the module File::Temp. (This module is only part of OS X in v10.3 and later, thus I simply have included it in Pashua.pm)
Small fix in Tcl code
New GUI element textbox, for displaying multi-line, scrollable input fields
New GUI element image for displaying images
Fixes a bug in button positioning code: when no cancel button should be visible, no space is allocated for it
Tiny fix in the Tcl code for Mac OS X 10.2 compatibility
Fixes in the PHP code
Example code for using Pashua from Tcl (Code contributed by Bruce M. Axtens)
Minor bugfix in the Python script (contributed by Ed Heil)
Corrected error in English localization
Added keyboard shortcut Cmd-Option-H for “Hide others”
In addition to the default and the cancel button, it's now possible to define additional buttons.
Cancel buttons do have a return value now, to make it easier to detect whether the dialog was canceled or not.
Whitespace at the beginning and the end of configuration string options is ignored.
A new configurations command appearance=metal enables switching from Aqua to “Brushed metal” look. (Although I hate this look, but people asked for it and it was easy to implement…)
Files can be dragged and dropped onto openbrowser or savebrowser textfields to set these fields to the file's path.
The first openbrowser element in a window can now be triggered by menu item “File” –> “Open…” (or Cmd-O) and the first savebrowser can be triggered by menu item “File” –> “Save as…” (or Cmd-Shift-S).
Separator lines were broken in 10.3, but do work now
Changed the PHP script's Shebang line to match the PHP command-line binary shipped with 10.3
Example code for using Pashua from Rexx (Code contributed by Bruce Woller)
Several improvements in the Python and shell scripts (contributed by Canis Lupus and Tor Sigurdsson)
Changes in Perl, Python, shell and PHP scripts regarding path issues: All example scripts for these languages can now be used inside application bundles (for creating doubleclickable apps) without any changes.
New attribute tooltip to define tooltips for GUI elements.
The well-known keyboard shortcuts Cmd-C, Cmd-V, Cmd-X und Cmd-A do work in textfields.
When no value is selected in a popup menu, an empty string is returned instead of “(null)”.
If the window contains a cancel button, it can be triggered using the escape key.
New attributes for types openbrowser and savebrowser: By setting filetype, you can specify which filetypes are available in open panels, whether users can choose directories etc.
Improved and extended documentation.
Change in the configuration syntax: Any default values must be set using the attribute default now (see examples). This improves consistency between the various element types and thus eases using Pashua.
New GUI element: Save dialog box (element type: savebrowser)
Change in the configuration syntax: Due to the new element type savebrowser (see above), type fsbrowser has been renamed to openbrowser (see examples).
Fixed a bug that could result in an empty dialog when using AppleScript
Two configuration errors which caused Pashua to crash are simply ignored now
Improved error notification when an element's type is not defined or when the type is unknown
Added support for Python (Code contributed by James Reese)
Fixed bug: Closing the about window no longer closes the dialog window
New GUI element: Plain text
New GUI element: Cancel button
Minor improvement in AppleScript code
The default button will be labeled “OK” automatically, unless a label is specified.
Added support for AppleScript
New GUI element: Filesystem browser
You don't have to define an empty default text any longer.