Skip to content

Instantly share code, notes, and snippets.

@ahmadtc
Forked from HoussemNasri/BalsamiqForever.py
Last active January 31, 2024 09:22
Show Gist options
  • Save ahmadtc/0dfc58a1525ebe7fc61d0689605fa4ce to your computer and use it in GitHub Desktop.
Save ahmadtc/0dfc58a1525ebe7fc61d0689605fa4ce to your computer and use it in GitHub Desktop.
Extend your trial period for Balsamiq Wireframes on macOS Forever!

Extend your trial period for Balsamiq Wireframes on macOS Forever!

Overview

This method will prolong your trial time for Balsamiq Wireframes on macOS. You may manually apply the hack by following the steps in Manual Editing. Tested on version 4.7.4

⚠️ Warning: Close all balsamiq wireframes instances before proceeding, otherwise the operation won't succeed.

Manual Editing

If running the script didn't do it or you just want to get your hands dirty, here is how to apply the hack manualy by editing configuration files on the application folder.

MacOS

  1. Open this file in your text editor /Applications/Balsamiq Wireframes.app/Contents/Resources/editor-macos.js.
  2. Search for this function function getLicenseValidFromLicenseData(data).
  3. Replce function body by return true.
//result
function getLicenseValidFromLicenseData(data) {
      return true
}
  1. Under that function, look for function called function getTrialDaysLeftFromNativeData(nativeData).
  2. Go to the statement let trialDaysLeft = Math.ceil(msecUntilExpiry / (1000 * 3600 * 24)); // to secs-hours-days.
  3. Replace 1000 with 10.
//result
function getTrialDaysLeftFromNativeData(nativeData) {
  if (Balsamiq.isUndefined(nativeData.trialEndDateSecSinceEpoch) || Balsamiq.isNull(nativeData.trialEndDateSecSinceEpoch)) {
    return undefined;
  }
  let msecUntilExpiry = nativeData.trialEndDateSecSinceEpoch * 1000 - new Date().getTime();
  let trialDaysLeft = Math.ceil(msecUntilExpiry / (10 * 3600 * 24)); // to secs-hours-days

  return trialDaysLeft;
}
  1. Save File.
  2. Restart Balsamiq.

Screenshot 2024-01-31 at 1 59 29 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment