Skip to content

Releases: swiftDialog/swiftDialog

swiftDialog 2.3.0 Markdown validation release

25 Jun 02:15
Compare
Choose a tag to compare

This is a release for Mac admins and developers of tools that use swiftDialog as the user interaction layer to validate markdown and message formatting due to updates in the MarkdownUI package. The intent is to gather information and test the upcoming changes with how markdown is rendered and either fix issues or document behavioural changes so management scripts and tools can accomodate the updated formatting.

🚨This is not a beta release and does not represent the complete list of changes that will be present in the final v2.3.0 release🚨

Changes in this release so far:

  • Minimum requirements macOS 12+
  • 💥 Breaking change 💥 Markdown UI updated to v2.1.0
    • This is a biggie. The way message text is rendered is all new. As a consequence --messagefont currently does not support changing the font family/name and support for changing font colour will not affect all markdown blocks, e.g. code blocks and some heading styles.
  • --message can accept a local or remote (http) markdown file for describing the message
    • How it does this is fairly simple in that it looks for .md as the last three characters of the message string and then acts accordingly. If a regular message ends in .md for some reason it will be interpreted as a file.
  • Using --icon none with --infobox present will no longer hide the info box
  • Processing of images (local, http) is now performed asynchronously which should result in better performance now that we aren't waiting on image resources on the main thread

🚨**Known issues:**🚨

  • Text within a message will not allow you to select the entire message. This is because behind the scenes each element, even if it's just moving from one paragraph to the next, is rendered as a seperate view and SwiftUI does not currently allow text selections across multiple views.
  • using --centreicon with --infobox may result in odd looking dialogs. Beauty is in the eye of the beholder.
  • --bannerimage may result in not filling the entire frame if the banner image height to width ratio is low (i.e. a long skinny image)
  • --background image no longer re-sizes the dialog window to fit the image and will always use either fit or fill

swiftDialog v2.2.1

29 May 05:05
Compare
Choose a tag to compare
  • Fixes an issue with overlay icons and how they are displayed when a SF Symbol is used as the main icon
  • Fixes an issue where built in caution, warning and info icon names would result in a [?] icon when used as an overlay #264
  • Updates checkbox display to only display as scrollable when using --checkboxstyle switch

swiftDialog 2.2

24 May 05:05
5a519c6
Compare
Choose a tag to compare

What's New

  • Select lists (aka drop down lists) can now be tagged as required via a property on --selecttitle #240

    • --selecttitle "This one is required",required --selecttitle "This one is not"
    image
  • New option --checkboxstyle option, arguments are checkbox or switch. Sets the checkbox style to use switch style or checkbox style

    • switch style has additional options, large, regular, small, mini.
    • switch style also allows for display of icons
    • All options are available via command line arguments or json
    • --checkboxstyle "<style>"
  • Select lists can now be displayed as radio buttons using the radio modifier on --selecttitle

    • e.g. --selecttitle "Test list",radio --selectvalues "Item One, Item Two, Item Three"
  • Select lists can have dividers within the list by adding --- as a value wherever one is required

  • Labels on input fields such as textfields, select lists and checkboxes are no longer bold. All user input areas have a subtle background

More New Stuff

  • New helpmessage command to update help message text from the command file #248
    • echo "helpmessage: Updated message to be displayed in the help sheet" >> /var/tmp/dialog.log
  • New activate command to bring swiftDialog to the front #221
    • echo "activate:" >> /var/tmp/dialog.log
  • New option --iconalpha can set an alpha value for --icon. Values are from 0.0 (transparent) to 1.0 (opaque)
    • --iconalpha 0.5
    • echo "iconalpha: 0.5" >> /var/tmp/dialog.log
  • Progress bar can be shown while displaying a video or image or pretty much any time

Other Changes

  • Label and input font size will change proportionally with --messagefont
  • Simplified overlay icon view. It now uses the same view as icon with the only addition of the background layer for SF symbols
  • Fixed an issue when resetting required field alert state
  • Fixed an issue where multiple required fields were not represented in the error sheet
  • Added some additional logic to notification authorisation detection to print more useful authorisation state
  • Updated - Added ability to specify multiple files for on textfields #260
  • Updated log function (more logging will be added over time)
  • Cleaned up a bunch of old commented out code and other boring code stuff
  • Fixed - fallback error image for banners #239 #217
  • Fixed - --quitkey not functioning in --mini mode is fixed #253
  • Updated --help. With no arguments help lists all options and a brief note. --help <option> will give detailed information on that option
    • --help checkboxstyle
  • Updated - --messageposition now works for top centre and bottom to position the message elements vertically.
  • Updated - --blurscreen blurs all spaces as well as all screens on multi monitor setups
  • Updated - Main dialog window is movable (when enabled) by clicking anywhere on the window instead of clicking the non-visible title bar

The pkg for this release is now distribution style ( #250 ) so can be deployed as a pre-stage package without modification. This makes it easier to deploy and run at the setup assistant - how to do that reliably at the time you want it to run is an exercise left to the reader

swiftDialog 2.2 Preview 3

20 May 12:46
Compare
Choose a tag to compare
Pre-release
  • Added ability to specify multiple files for on textfields #260
  • Updated help for --textfield to mention fileselect and filetype modifiers
  • Removed third party package "ScrollViewIfNeeded" in favour of a simpler extension.
  • everything from Preview 1 and Preview 2

swiftDialog 2.2 Preview 2

03 May 10:15
Compare
Choose a tag to compare
Pre-release

Preview releases are intended for process and workflow validation

Please report any issues with function, UI, UX, spelling, behaviour etc as well as any feature suggestions by creating a new issue using one of the templates provided.

swiftDialog 2.2 Preview 2

Visible changes

  • Checkboxes using the switch style will appear in a scrollview
  • Labels on input fields such as textfields, select lists and checkboxes are no longer bold. All user input areas have a subtle background
    image
  • Label and input font size will change proportionally with --messagefont
  • Select lists can now be displayed as radio buttons using the radio modifier on --selecttitle
    • e.g. --selecttitle "Test list",radio --selectvalues "Item One, Item Two, Item Three"
      image
  • Select lists can have dividers within the list by adding --- as a value wherever one is required
    • image

Other changes

  • Simplified overlay icon view. It now uses the same view as icon with the only addition of the background layer for SF symbols
  • Fixed an issue when resetting required field alert state
  • Fixed an issue where multiple required fields were not represented in the error sheet
  • Added some additional logic to notification authorisation detection to print more useful authorisation state
  • Updated log function (more logging will be added over time)
  • Cleaned up a bunch of old commented out code and other boring code stuff

Plus all the things in swiftDialog 2.2 Preview 1

swiftDialog 2.2 Preview 1

26 Apr 11:59
Compare
Choose a tag to compare
Pre-release

This is a Preview release intended for process and workflow validation

Please report any issues with function, UI, UX, spelling, behaviour etc as well as any feature suggestions by creating a new issue

Changes in this release:

  • New helpmessage command to update help message text from the command file

    • echo "helpmessage: Updated message to be displayed in the help sheet" >> /var/tmp/dialog.log
  • New activate command to bring swiftDialog to the front

    • echo "activate:" >> /var/tmp/dialog.log
  • New option --iconalpha can set an alpha value for --icon. Values are from 0.0 (transparent) to 1.0 (opaque)

    • --iconalpha 0.5
    • echo "iconalpha: 0.5" >> /var/tmp/dialog.log
  • New - Progress bar can be shown while displaying a video or image or pretty much any time

  • New option --checkboxstyle option, arguments are checkbox or switch. Sets the checkbox style to use switch style or checkbox style

    • switch style has additional options, large, regular, small, mini.
    • switch style also allows for display of icons
    • All options are available via command line arguments or json
    • --checkboxstyle "<style>"
  • Updated - checkbox area now has a background shade and multiple checkboxes are delineated with a line

  • Updated - select lists (aka drop down lists) can now be tagged as required via a property on --selecttitle

    • --selecttitle "This one is required",required --selecttitle "This one is not"
    image
  • Fixed - fallback error image for banners

  • Fixed - --quitkey not functioning in --mini mode is fixed

  • Updated --help. With no arguments help lists all options and a brief note. --help <option> will give detailed information on that option

    • --help checkboxstyle
  • Updated - --messageposition now works for top centre and bottom to position the message elements vertically.

  • Updated - --blurscreen blurs all spaces as well as all screens on multi monitor setups

  • Updated - Main dialog window is movable (when enabled) by clicking anywhere on the window instead of clicking the non-visible title bar

The pkg for this release is now distribution style so can be deployed as a pre-stage package without modification. This makes it easier to deploy and run at the setup assistant - how to do that reliably at the time you want it to run is an exercise left to the reader

swiftDialog 2.1

01 Feb 12:02
50678af
Compare
Choose a tag to compare

What's New

Info Box

The info box is the area underneath where --icon is displayed using a secondary shade and is useful for displaying any incidental information like system information. wiki

Help Messages

Help messages can be a way to provide extra detail if needed without taking up additional dialog space wiki

image

Title text within the banner area

Using this command you can opt to display title text within the banner wiki

Fixes:

  • updated /usr/local/bin/dialog launcher. This will determine the current user and run as the user, if launched as root. This fixes a number of issues around running UI apps as a non-user account such as respecting language, accent colour preferences and viewing of some web content (particularly videos). If you are referencing /Library/Application Support/Dialog/Dialog.app directly in your scripts this change will have no effect and you will need to manage the launch environment yourself. this addresses issues #206 and #203.
  • Fixes an issue where textfields were not handling quotation marks in the output (issue #207)
  • Fixes an issue in v2.0+ where images could not be changed in a running dialog (issue #205)
  • Fixes an issue when a message is being displayed that causes the default button to not initially respond to a press of the {Enter} key.
  • Fixes a condition that would cause a crash if a http image resource failed to download. issue #208 (should be noted that when using http sources for image assets, redirects are not followed)

Other New Stuff:

  • --button2disable - Allow for disabling of button2 (and subsequent control via command file commands) #193
  • textfields can be specified to have default text using the value= modifier, e.g. --textfield "Test",value="Some text" (seperate from prompt, this text will pre-populate the field with user editable content) #212
  • additional languages Spanish and Finnish (help requested for verifying the results of google translate for these additions)
  • some changes to --builder mode including processing to generate text colour and multi language support. This feature is still alpha release state (help requested for verifying the results of google translate for UI labels for all languages)
  • updated license from the BSD/MIT like variant to an MIT license in accordance with my employers recommendation for these types of open source projects

Full Changelog: v2.0.1...v2.1.0

swiftDialog 2.1 RC 3

27 Jan 05:20
Compare
Choose a tag to compare
swiftDialog 2.1 RC 3 Pre-release
Pre-release

Fix up some issues with how progress bars are interacted with

  • progress: increment should now properly increment by 1. optionally progress: increment NN will increment by some value NN from the current position (e.g. if progress is at 25, progress: increment 10 will move the progress indicator to 35)
  • Fix issues with progress text and progress bar behaviour #220
  • Bonus feature - progress: 0, progress: indeterminate or progress: reset will re-enable an indeterminate linear progress bar.
  • Some additional keywords for showing and hiding a progress bar via progress: ... commands.
    • create or show make the progress bar visible, delete, remove or hide make it go away.

v2.1.0RC2

18 Jan 11:21
Compare
Choose a tag to compare
v2.1.0RC2 Pre-release
Pre-release

swiftDialog 2.1 RC 2

Changes since RC1

  • Fix issue where progresstext was not being updated correctly #218
  • --infobox can be updated from the command file #211
  • when specifying SF Symbols, case of the command is ignored (so SF= or sf= are both valid)
  • add frame buffer when using an SF symbol as an icon to remain visually consistent with other icon assets (e.g. png or app bundles)
  • fix issue when reading in position via json
  • fix issue where a null listitem array specified via json would display an empty listitem. listitems now only show in this scenario if the listitem array is not empty.

Full Changelog: v2.1.0RC1...v2.1.0RC2

swiftDialog 2.1.0 RC 1

05 Jan 00:26
Compare
Choose a tag to compare
Pre-release

Fixes:

  • updated /usr/local/bin/dialog launcher. This will determine the current user and run as the user, if launched as root. This fixes a number of issues around running UI apps as a non-user account such as respecting language, accent colour preferences and viewing of some web content (particularly videos). If you are referencing /Library/Application Support/Dialog/Dialog.app directly in your scripts this change will have no effect and you will need to manage the launch environment yourself. this addresses issues #206 and #203.
  • Fixes an issue where textfields were not handling quotation marks in the output (issue #207)
  • Fixes an issue in v2.0+ where images could not be changed in a running dialog (issue #205)
  • Fixes an issue when a message is being displayed that causes the default button to not initially respond to a press of the {Enter} key.
  • Fixes a condition that would cause a crash if a http image resource failed to download. issue #208 (should be noted that when using http sources for image assets, redirects are not followed)

New Stuff:

  • --button2disable - Allow for disabling of button2 (and subsequent control via command file commands) #193
  • --bannertext - Allow for title text to be displayed on top of banner images. Optional modifier --titlefont shadow=1 to add a drop shadow to the text. #192
  • --helpmessage - Adds a help button next to the default button. The contents of (markdown supported) will appear in a popover sheet when clicked. #190 (kinda - not exactly what was being asked for but I'm open to discussion on the implementation)
  • textfields can be specified to have default text using the value= modifier, e.g. --textfield "Test",value="Some text" (seperate from prompt, this text will pre-populate the field with user editable content) #212
  • --infobox - Adds an area above the info text (or below the icon when displayed) - #211
  • additional languages Spanish and Finnish (help requested for verifying the results of google translate for these additions)
  • some changes to --builder mode including processing to generate text colour and multi language support. This feature is still alpha release state (help requested for verifying the results of google translate for UI labels for all languages)