v0.1 27/01/2008 - first version v0.2 28/01/2008 - avoid lock-up when problem opening DB after reset - added Menu->Edit->Copy/Paste settings v0.3 29/01/2008 - DB contents changed: YOU MUST DELETE THE APP BEFORE INSTALLING v0.3 - increased menu items visible on app lists, and the list width - added + button to swap screens - added 'PAP Copy' command bar icon (for copying settings in another app) - added 'PAP Paste' command bar icon (for when the program has overridden your PAP settings when it started up). Result is to reassert the PAP settings for this target app (NOT NECESSARILY THE LAST PAP Copy!) - behaviour change: does not adopt system prefs when they're changed by other apps - you can change prefs with the normal palm prefs app as long as you use 'PAP Copy' before exiting - added a per-app screen orientation selector - added a per-app status bar show/hide button. Notice PalmOS wants stat bar to be showing when DIA is showing, you may get strange behaviour with some apps - for the last two, you may need to use command bar paste after target app has started, I havn't quite got that automated yet v0.4 4/2/2008 - DB contents changed: YOU MUST DELETE THE APP BEFORE INSTALLING v0.4 - added extra error reporting detail for handleLaunchNotify, some folks with errors there - changed memory handing in notifies, maybe fix some people's resets ? - moved button handing to more generic trigger/action/parameter system, included 5-way nav controls - DA launching added (thanks to Alexander Pruss for publishing some relevant code) - ResetLaunching ('RLaunch' action) added (specified app is told a system reset had just been done). Not tested, let me know (enotar) - set screen button according to screen number - added 'Launch' trigger, associated actions are performed whenever an app launches (app/da actions are currently ignored for this trigger) - added pref enabler buttons, see help texts for how they work - added delete button ('D') - hide controls for features not supported by device... let me know if something disappeared that you have on device (orientation, status bar, GoLCD) - 'this->sys' button is now a reset button (labelled R) that blanks all the pref values - 'all->system' now resets all values except prefs (and it's a menu item) - added GoLCD support for devices with the feature. Currently only on/off, will add live ink on/off sometime as well - rewrote info items, added lots more, please take the trouble to read it - added % sign at front of app names that there are preferences for v0.5 9/2/2008 - DB contents changed: YOU MUST DELETE THE APP BEFORE INSTALLING v0.5 - only warn once about not being to get app info during appLaunchingNotify - added show/hide grafitti anywhere ink - added CtlSim and MenuSim actions, which pretend controls (buttons) and menu items respectively were selected - reset all -> delete all - added screen 3 - added 'LaunchLast' action to go back to previous app - added 'Remember Me' button to screen 3: whether to remember this app for the purposes of the 'last app' action. - added DIA control open/closed. Note: can't hide status bar when DIA open - added hotsync name setting (useful for registered programs if you changed palm and chose a diff hotsync name) (yes I know there's a program to do this already but the code was lying around and easy to add :-)) Thanks to Collin R. Mulliner for relevant code. - added PAPPaste action. You can change the settings in the app, then go back to original with e.g. a button press - added rotate left/right actions - added 'trigger repeat' counter buttons for every trigger. Note you can assign several actions to the same trigger/repeatcount combination. - added press and hold button functionallity, one second per repeat. Please read the docs. - fixed reset launch (Enotar!) (tested this time!) (use it in pre-launch) - changed 'launch' trigger to post-launch and added pre-launch - added pre/post launch selector to decide when to apply prefs - redirecting works with a post-launch trigger i.e. the target app starts up, once it's finished starting up the redirect occurs. Havn't managed this in pre-launch yet - added button priority selector. Note: LAST button handler to choose an app gets it launched, but for other actions you might want it different if something is interfering - added Off action: turn power off - added vLnch, vFind, vMenu triggers: silk buttons v0.6 12/2/08 - DB contents changed: YOU MUST DELETE THE APP BEFORE INSTALLING v0.6 - bugfix: pressing delete button on screen 3, trigger rows were appearing - added 'SMen' action: shows list of resource ids of menu items in the current app/form for use in the 'Menu' action: have a pen ready first :-) - bugfix: Menu action wasn't working :-) - added 'Panel' action to launch a preferences panel: note: some panels don't return to calling app correctly - changed Paste action to now have an argument, which is the application preference to paste. By default it is the target app itself - added checkboxes on screen three for PAPCopy and PAPPaste. THey are active if either default or target has it selected - bugfix: PAPCopy was causing reset - added hede notify handling. - will override all application button actions - rocker center can now be held - compatibility improved - DBLP gets key after pap repeats expired, or no PaP button assigned - still some issues with ML, need to fiddle with hede priority - let me know if it slows your device down - bugfix: PAP was blocking some keys sometimes even when no trigger assigned in PAP - prettied up app list and used resource names (thanks to Supertrucker for pointers) - *Default* in app launch action data has changed to PAP - added ronamatic (bottom to top stroke) trigger - added power button trigger. Don't worry, you can use the Off action with it :-) Maybe do something before turning off ? - bugfix: PAP Copy was always copying current setting to *default*, fixed: copies to app settings unless in palm preferences app (then -> *default*) - flash an error if a configured app/da/panel can't be launched v0.7 14/2/08 - IMPORTANT: YOU MUST DELETE PREVIOUS VERSIONS BEFORE INSTALLING - IMPORTANT: YOU *MUST* DISABLE THIS VERSION BEFORE DELETING OR REPLACING - bugfix: delete button wasn't working - bugfix: *Default* wasn't always floating to top of app list - added 'Rset' trigger, actions are enacted post-soft-reset (needs enable after reset checked...) - on PAP startup, only copy system prefs to *Default* that are DISABLED. Leave the ones alone that the user has set. We grab the disabled ones in case the user wants to enable. - block duplicate entries in app/panel/da list (untested, let me know) - omit hidden apps from app list - changed 'Rset' action to 'SRst' (send reset), added 'RSet' action to reset device - switched entirely to hede button handling - actions are repeated if not handled by PAP. This works with default system actions but not always with other launchers. - should have zero effect on buttons it is not configured for - added action types popping up with a hold... getting there - small code change try to handle bad DB after crash+reset - don't copy system buttons to *Default* first time: they're default anyway! - brightness not enabled on first startup - the Vchars priority setting on screen 3 has no effect (except possibly as a placebo) - 'Last' action -> 'Back' v0.8 15/2/2008 - IMPORTANT: YOU *MUST* DISABLE THIS AND PREVIOUS VERSION BEFORE DELETING OR REPLACING - IMPORTANT: YOU MUST DELETE PREVIOUS VERSIONS BEFORE INSTALLING THIS VERSION - PAP Paste-> PAP Apply, PAP Copy-> PAP Save (tenacity pays off) - added reading of Khroma DB. You only need KhromaDB.pdb on your device. Select theme on screen 3. Doesn't work for some apps, still looking at the best way to apply the colours. - tinkering with button handling: hopefully some problems solved v0.9 9/3/2008 - IMPORTANT: YOU *MUST* DISABLE THIS AND PREVIOUS VERSION BEFORE DELETING OR REPLACING - IMPORTANT: YOU MUST DELETE PREVIOUS VERSIONS BEFORE INSTALLING THIS VERSION - added nullAction, it's now used to ignore buttons, rather than specifying the app itself (and is more effective) - btn ignore can now be applied to *Default* - default action is launchApp/PAP - shortened form title: to fit app pulldown plus D/R buttons to the right - new form: settings: for PAP itself - move enable/after reset/hede priority to settings - 'next screen' button has transmogrified into a three-tab setup - added icons to application lists - I had added icons to actions that take an app as an argument, but there just wasnt enough space. Will reenable this sometime. - had another go at 'Back'. Also: 'Back' after an 'RSet' trigger now means: last app launched before the reset. - hotsync name always applied pre-launch now, otherwise it's pointless - added triggers: ~Left ~Rgt ~Dwn for grafitti strokes left (backspace) right (space) and down (small i). They only act as triggers if a field does not have focus. - added Wait action: don't do anything for specified number of milliseconds - added Fld action: enter field. Puts insertion pointer at end. - fixed bug with khroma themes: sometimes was getting an empty theme name and complaining - deleteall -> file menu pulldown - R = reset = clear everything, and can now apply to *Defaults* as well. Not entirely sure what it was doing before, mixture of resetting and copying defaults maybe - fixed ancient bug where pref enabler buttons were sticking when selecting new target app - added media mount/unmount triggers - added IR enable/disable pref - added icon, small icon (Courtesy of BrentDC via the 1src forum) - default resource ID (except menu) is now always zero. If it's left as zero, PAP will pick the first object of the right type it finds. If this is the wrong object, you need to specify an ID. - added scrollbar up/down actions (idea: trigger from ~Lft etc) - added simulate rocker switch up/down/left/right/centre. You can then remap like ~Lft -> Nav left, hard 3-> nav button, etc etc - changed deq handler again. Switched away from nilEvents as keypress check trigger. Positive: hopefully no interference from other hede handlers using the nilEvent mechanism. Negative: less relaxed waiting while a key is held Summary: no more incompatibility with e.g. ShowBattery - added 'Repeat Time' popup in settings form, configures button repeat time - added 'Min Press' popup in settings form. Please see manual for what this means. - added three unlock triggers/data for each app in the 'More' screen. When entering an app, these triggers must be activated in sequence, or control will be returned to the launcher. You have three tries. Stuff like reset/launch doesnt work, but mount/unmount does. - bugfix: power trigger wasn't detected at all - added 'whole screen' flag for trigger lock - added 'buttons' and 'grafitti' tabs, each trigger tab has it's own independent triggers - 'repeat count' became a 'trigger argument', added 'text' and 'numeric' trigger argument - added trigger argument entry popup - added volume name matching to mount trigger - added repeating, non-repeating idle trigger (arg seconds) - changed background data handling, should be more stable and faster at launch (probably not perceptible) - added wakeup trigger - added brightness up, down, restore actions - added tap trigger (with coords) - added stroke and relative stroke triggers (with coords) - added recording of strokes/tap both in PAP - added actions to record strokes/taps in target apps - added app/da/panel names to popup boxes, argument for numeric args - fixed appname sorting problem (finally ?) - PAP excluded from all app lists (yes, I realise it would be useful to be able to launch it, sorry) - mark screen selector buttons when there are some prefs changed on that screen - added bar above screen selector when screen prefs are different from the initial (reset) settings - added top bar button 'P' to select between all apps and apps with prefs - added hard1-4 simulate actions - added field: copy, cut, paste, undo, start, end, select actions - added grafitti/keybd triggers: a-z (or any letter), 0-9 (or any digit), backspace, space, $ - added IR on/off actions - added ctl enable/disable actions (push buttons, checkbox only) - added statusbar/dia toggle actions - split 'actions type' into action cat/type - adjust list max height to screen height - added (Prefs+ screen) hidden/backup DB attrib controls (if something else changes them, PAP will automatically change them back) - added alternating colour bars to indicate when trigger is same as above (i.e. identical triggers are grouped by colour to make the groups stand out more). This also makes the diff between triggers controls and action controls clearer. - added sequence( &), selection (#) and star (*) to trigger list (same trigger/arg as above) - added selection popup for # triggers - added 'star' menu (an alternative for the popup list box to choose actions) - added 'real' macro support, continues after launching an app. Not after reset currently. - minimized resident size (~27k) - improved DB handling (again, code was from 1999...) - added recent apps action. Fills specified number of recent apps into a list or star selection (can be freely mixed with all other action, so you could have e.g. fixed stuff on top of list, and recent apps on bottom - added date and time actions. If clicked, show date/time, launch date/time prefs panel if clicked. In a sequence, actioning has no effect (assume you just want to see the date/time) - added green/red colour background for IR controls (shows current status) - added IR toggle control - added letter fill action. Only usable with a letter trigger. Fills with apps starting with specified letter, keep writing to move further down the list. Works also with star menu, but you can't narrow down the choices. - added 8 extra boxes to star menu: no corresponding hard button, but you can tap on them - found better way to apply khroma theme. Should always work now, and be applied less often - added built-in PAP (star) menu (all the PAP action category items, plus GetCoords launch) to save some trigger spots - when app first loads, PAP menu is on hard button 4, held for 3 repeats. - fixed pre-launch re-launch :-) i.e. you put a pre-launch trigger to launch another app, nothing will be seen of the target app at all. - removed button ignore - name -> apt - tidied up prefs+ screen - added settings->usedefaults flag (enotar must now buy two copies :-)) - don't try to set dia/stat bar state if the trigger is disabled (cuts out a lot of jiggling) - added 'launch apt' to apt star menu - improved passing on of unhandled buttons presses, will work with DBLP long or short (with any Apt-defined triggers taking priority). You may or may not need to fiddle with Apt/DBLP timing values. - hotsync name is now restored automatically, you do not enter anything in *Default* - added app exit trigger (redirect to non-launcher app works) - renamed rocker buttons to nav. - press and hold on trigger arg, then move out and release shows arg - added 4 more trigger rows to max (=14 now), total 42 per app (for full version) v0.9a 10/3/2008 - IMPORTANT: YOU MUST DELETE PREVIOUS VERSIONS BEFORE INSTALLING THIS VERSION - bugfix: centre button no longer blocked when nothing assigned to it Newly found bug: when long press assigned with Apt, and centre is pressed shorter, the key-reinjection doesn't work (i.e. activating the focused control doesn't work). - bugfix: apps with odd fonts were making a mess of Apt's message boxes - recent apps action: if it's in a star menu, and there aren't enough recents apps fill with null to preserve positions of other action in the star - added 'Add Tap' and 'Add Stroke' to Apt menu, enters a completely new stroke for the current target app. Rearranged Apt menu. - added treo volup, voldown, side button triggers - bugfix: hiding/backup popups work on non-*Default* apps - bugfix: handle failing to set backup/hiding attribute correctly - report error trying to change ROM app attributes - bugfix: any relative strokes defined would block e.g. scrolling. New method more likely to trigger something underneath (rel strokes only), but should not block anything. - non-*Default* apps now have maximum triggers available - bugfix: last row multi was not being handled correctly v0.9c 13/3/2008 - bugfix: fixed font problem with lock window, was showing odd signs in some apps - added 'show device id' menu item - added register check in full version - trigger arg field gets focus when popup opens - added 'Loading...' message for those who don't like quality thinking time - bugfix: duplicate triggers that don't take an arg went infinite loop (thanks Pgr) - when an existing stroke is being redefined, the old coords are not drawn while the new is being recorded - bugfix: don't allow overlapping stroke catch areas. This this solves a reported problem of double taps not working while relative strokes defined (thanks elParkeur) - give warning when changing pixel Pen Accuracy (pixels) and it results in overlapping stroke coords - bugfix: taps/strokes were not being detected for locking purposes. New known limitation: taps/strokes not possible as lock when not full screen (because the 'screen' is the little trigger window) - bugfix: dont show normal strokes/taps in lock trigger get stroke/tap screen - some fiddling with the icons - tidied up longer action names - added 'form' action in ... category: goto form with resource ID x. Note: palm will crash if you put a bad ID here (couldn't find an easy way to check the form exists) - changed ShowMenu: now shows items in a list box - added list fields, list controls list current formID actions (also to Apt menu). If a field has text in, that's listed to make identification easier. - added Menu->Edit->PasteID, pastes last selected resource ID if a field is active - full version available, price changed 10 GBP (don't blame me for the poor $!) - (attempted) bugfix: stop occasional crashes entering/leaving Apt - took reset code out of lite version - bugfix: menu->edit->paste before a copy would result in lots of repeating error messages - bugfix: removed unnecessary db rec release v0.9d 13/3/2008 - bugfix: nav keys don't crash in Apt UI anymore - bugfix: show serial number on treos (I hope, sim says 'SERIALNUMBER') - bugfix: bug in showing of device ID was causing crashes on Apt exit (I think...) - added: treos: option hard 1-4 triggers (was on the sim anyway) v0.9e 15/3/2008 - added 2 trigger rows for square screens (now 10). - added alternative to treo serial no ID - added DIA and landscape 'support' (one bug remains and elements don't fill width) - prefs pre-launch on prefs+ screen only applies to rotation, DIA and status bar. Other prefs are applied BOTH before and after to make sure they stick - Use Defaults flag: when set off, immediately disable enabler buttons in Prefs screen, instead of on exit. v0.9f 17/3/2008 - bugfix: undefined strokes were being processed at some points - bugfix: newly added strokes/taps were not being processed at some points - 'bug'fix: don't delete recorded resource ID when leaving app - more Apt icon fiddling, hopefully all correct now - added several usage examples to end of userguide.html - added 'empty' filler (shame about the popup label, can't have everything...) - null actions and empty fillers appear as a half-length line in popup select list - added brightness set action - set action data default when action type popup used (was previously only cat popup) - moved 'about apty' kind of things from userguide.html into index.html - added 'Pen' action category - added Pen:Text actiontype, max 4 chars (but you could macro some more) - added Pen:Tap actiontype (clumsy UI, sorry) - added Apt:GetPoint action (record pen tap point) - added Menu->Edit->PastePoint (paste pen tap point) - pasting ID: field is cleared first - added '.' trigger - changed 'Wake' trigger to 'Input' (no other effect) - added 'Wake' trigger (system wakeup, i.e. power on) - added ...:CBar action, show menu command bar - added golcd and golcdink toggle action - added -cbar and +cbar triggers (pre-command-bar, post-command-bar) trigger - new preference blocks created follow *Default* settings for save and apply flags (Prefs+ screen) - removed D and R button - file menu pulldown->apt - new prefs pulldown, reset, delete, delete all - added Go button, go to current target app - added some menu shortcuts - P button relabelled + - added apt->enable/disable menu items v0.9g 21/03/2008 - SORRY... YOU NEED TO - DISABLE - RESET - DELETE ALL (INCLUDING DB) BEFORE INSTALLING (early adopter penalty) - added DIA opened/closed triggers - added new 'Input' action cat - bring up 3 keyboard type actions (in Input cat) - moved DIA~ and Go/inking to Input - vfs support (=experimental :-)) - added 'use vfs' flag in settings form - find apps in PALM/Launcher - list VFS apps in target selector - VFS apps (not DA/Panel) launchable - VFS apps diff colour in target selector - VFS app preferences are applied - hiding and backup (Prefs+) does *NOT* apply - stop deleting unknown app prefs on startup (SD card could be out...) - loading Apt is slightly slower, exiting is slightly faster - increased max app prefs to 50 - don't clear recent apps list when exiting Apt - compressed Apt's icons, save 5k (thanks cmlx) - added grafitti on/off actions (in Input cat) - prefs+ screen: save/apply: marked as 'changed' if not same as *Default* (thanks Pgr) - bugfix: Pen:Tap field not accepting some coordinates (thanks Thierry) - cmd bar call up action moved to 'Pen' category, and now accepts a character. Leave it blank just to bring up the bar. - gave hard/nav sim actions a numeric argument, the number of presses to simulate (empty arg = 1 press) - added Fill:Date2 (mm/dd/yy) - added Fill:Tm12 (12 hours time), Time -> Tm24 - added 'favourite' checkbox to Prefs+ - added 'fave' action with numeric arg, list x favourites - default menu type for Fill:Recent changed to popup - bugfix: macro items were sometimes not executing in the given order - system waking up is treated both as an 'Input' event and as a 'Wakeup' event (in that order). - allow 5 digits for resource IDs - menu shortcut for paste point is now '.' (thanks cmlx) - bugfix: graphical controls were causing crash when listing them (tested in RscBackup only) - added in control list to represent a graphical control - bugfix: Pen:Txt argument wasn't being handled properly (thanks cmlx) - squeezed in a grafitti state indicator somehow - bugfix: idle/idle+/input triggers: target prefs now only block default prefs for these events if an event of the same type is actually defined in the target prefs - added treo button sim actions: side, opt + hard1-4 - some changes to reduce resident size: let the random bugs creep'n'crawl - added preform trigger with ID match argument (0= match all formIDs) - added 'show hidden' flag in settings screen. By default, hidden items are only shown if apt has a preference block for them - added prefs->toggle vfs' and 'prefs->toggle hidden' menu items to toggle the respective settings screen items - for press-and-hold events, when it triggers an action, clear the key queue before continuing. There were problems with excess auto-repeats getting through e.g. after an app launched - bugfix: try to prevent that weird Tx bug where status bar disappears when Apt starts (rarely) - updated short triggers help in Apt 0.9h 24/03/2008 - SORRY... YOU NEED TO - DISABLE - RESET - DELETE ALL (INCLUDING DB) BEFORE INSTALLING (early adopter penalty) SHOULD BE LAST TIME! - added ...:Lock action, locks using triggers in *Default* (until correctly entered) (can be used as part of a macro) - if *Default* lock triggers are set, they must be entered to access Apt - added 'SD -> Launcher' in Prefs+. Only if checked in *Default* OR target will it go. - added Favourites 2 in Prefs+, and Fill:Fave2 action, so you can make 2 app lists - added Input:DIA open/close actions - bugfix: setting last trigger row to null trigger was causing reset - bugfix: duplicate Apts appearing in recent list stopped - bugfix: stop occasional seepage of default (rather: any) triggers during macro execution (thanks Scott) - improved macro handling some more, hope that's the end now! - action Idle+ -> Idle* - added action Idle+: triggers once, when there is input resets (can then trigger again) - treo hard key sims take a number arg - overall size went up 0.5k to reduce resident by 0.5k - GInk~->Ink~ (was confusingwith Graf~) - delete empty (nothing set) prefs blocks on exit - bugfix: grafitti chars should now act as an input event (let me know please) - bugfix: turn all alarms off before system goes to sleep (and init on wakeup of course) (thanks cmlx) - put in some reserved space in DB to hopefully remove need for DB changes in future - added actions for DIA arrangement (classic, tri, keyboard) - nope, more macro work needed - macros continue after panel launch (so you can e.g. do a bluetooth on/off macro) - macros continue after DA exit (but not during DA) - added DIA action category, moved DIA actions there from Input - bugfix: think sim treo actions weren't being executed - added 8 keyboard style actions in DIA category (not all will be availabel on all devices) - removed popup list from controls listing and from tap actions (little window it opens causing crashes with macros, maybe reinstate one day) 0.9i 26/03/2008 - If you are coming from 0.9h, you SHOULDN'T (no promises) need to remove Apt-DB. Just disable Apt, reset, install new. I hope :-) - added Brgth:Popup action - added post-hotsync trigger - bugfix: line on Prefs+ was not being drawn always in correct place - 'something' to improve not-need-new-DB-ness - bugfix: wasn't handling failure to get VFS file name resource correctly - bugfix: was not drawing all lines after a couple of rotates with DIA open then extend screen - bugfix: an Apt-DB record was not being released correctly (implications unknown) - bugfix: trigger arg/regcode field was too small for showing underlines on load - added grafitti state indicator to arg popup, shuffled items around - bugfix: stop unnecessary record release (was probably harmless) - bugfix: don't try and get label of scrollbar in Apt:ListCtrls - bugfix: removed app centre as a lock trigger: number of presses unreliable and at least one user had lockup problems (of the wrong kind) - added Menu->Apt->Remove (disable, mark for deletion, reset device) - added 2 more favourites lists - took out restriction of putting control taps in prelaunch: you might have switched to new app first - prevent duplicate fill launch items in star/list menus (put things you definitely want in a position FIRST) (app/x always inserts x though, it's presumed you put it there for a reason) - bugfix: treo button simulation only worked for oHrd4 :-) - more resident size reductions: bug invitations sent out - names in Apt:ListX actions are no longer limited to a particular display length - reduced popup menu/Apt:ListX memory usage - use preferences (set from palm prefs panel) for date and time fillers, removed excess actions - added ...:PLock (normal Palm OS lock) action (and turns off device) - handle wakeup with (palm) locked device - handle vchrPowerOff and vchrAutoOff the same, apparently the latter isn't issued on a Treo 680 - reintroduced popselect controls. Tweaked macros more, think this is the best version so far (cue bug reports). - Fill:Fave1-4: spit out favourites in order the prefs were created (instead of the reverse) - bugfix: with full star menu, small button overlap and erase problem: top buttons moved up a tad NOTE: the positions are in DB and cannot be changed ATM, so you will not see this bugfix until next time you recreate DB... - bugfix: star menu was displaying more items than available slots 0.9j 27/03/2008 PLEASE USE Menu->Apt->Remove before installing this one. If you have an earlier version, disable Apt, reset, delete, reset. I promise this will be the last time before 1.0. - centred arg/regid popup - removed a certain blocked reg code - bugfix: only hede notification was being enabled after reset - Menu->Info->About, specify Full or Lite version - modified Remove message, wasn't dramatic enough - fiddled with spacing on Prefs screen (sliders more space) - fixed auto off slider bad alignment (^!&^@@) - added 5-way navigation (press left/right/centre to begin) - yes I know it obscures the 'prefs changed' marker - yes I know would be nice to switch screen as soon as a screen button takes focus - redraw is very slow on my Tx when nav is enabled... - autooff and brightness sliders: nav left/right decrements/increments by 1 - bugfix: handle Remove on first run correctly - added Brght:Up%, Brght:Dwn% (may as well, since we need to reinstall today anyway) - bugfix: handle no menu bars found (thanks cmlx) - bugfix: another enable-after-reset bug, related to setting of the enabled value... how did it work before I wonder... v0.9k 28/03/2008 - don't accept triggers between reset launch and reset finishing - upped number of resource IDs shown 20->30 - bugfix: brightness restore was not actioning correctly - bugfix: don't handle key triggers while getting/adding stroke/tap - bugfix: Input triggers: handling the Input trigger was preventing handling the thing triggering the Input trigger (e.g. keypress). Now Input trigger is deferred till the input thingy is handled. - increased width of resource ID lists (was sometimes not possible see ID...) - moved reset trigger handling to end of reset process, instead of when Apt receives the reset launch code - bugfix: +Lnch trigger was not executing correctly (thanks vovka :-)) - +Lnch: macro is executed before +lnch trigger handle, so an app can be launched via macro and still have it's post-launch execute. Don't go to other apps and come back, in +Lnch, you'll hit an endless loop. Use -Lnch. - bugfix: changing first trigger of a multi was not redrawing row below - meaning of '-'. In most circumstances, - will now cause the trigger to be completely ignored by Apt. No effect for input/idle triggers, couldn't be bothered to work out the logic. This may introduce bugs :-) - fiddle with deq notication, idea about it failing to disable, added loads of error messages, let me know if you get one :-) - replaced the more cryptic error messages with cryptic numbers (save resident space) - bugfix: going from app A to app A again (immediately) resulted in losing Apt trigger assignments - bugfix: clear macro after a failed trigger screen - added a backup mechanism to reach post-app-launch status (you don't need to know) - trigger arg field length now 5 for numeric arguments v0.9v 29/03/2008 - ripped out virtually all macro handling code, added wait for event queue to be empty instead! - added Macro Delay in settings form (don't worry, used reserved DB space :-)) - bugfix: added several checks for no-active-form (usually would cause a reset) - bugfix: don't process app launch finished when active form is NULL (wait some more) v0.9w 30/03/2008 - took power button out as an Input trigger (when the system wakes up up it's classed as input trigger already) - bugfix: Input trigger was causing an infinite loop after system wakeup and potentially other times - handle no-form failures silently - macro adjustment: don't leave macro loop unless necessary (action dependent) - action Input event when powering off instead of when coming on (as suggested by Pgr many moons ago) (though doesn't seem to actually be effective till you power on again...) - spellfix: grafitti -> graffiti (everywhere, not anywhere) (better late than never Scott:-)) - spellfix: storkes were marauding in the popups - new terminology: profile is all the settings for an app, prefs are the environmental type settings - Apt->Remove -> X->Remove, suggestions welcome (only 3 chars of space left :-)) - bugfix: don't check form during lock - added 1 second repeating alarm during macro execution in case it stalls for reasons unknown to my Tx. Bet that alarm causes problems now.... - never delay after last macro step - added 0 to macro delay possibilities v0.9x 1/4/2008 - reenabled Nav control in Apt UI, sorry about that. - bugfix: input events were virtually always triggering after power because the timer was not being reset - bugfix: Input triggers were blocking system autooff - non-bugfix: Aeroplayer: Idle events were interupting play (broadcast of an Apt notify was the inexplicable culprit...) Possibly also fixes Enotar's keyboard lights on brightness set ? - switched Input events away from notifies for reason above - bugfix: stop Exit event trigger when app is locked full-screen - bugfix: clear macro when a full-screen lock fails (popup lock was already being done) - improved Exit trigger handling, should be more possible here now - added extra event/notification on DIA action (not when actioning prefs), reported useful sometimes by user - moved handling Input back to before the thingy that caused the Input trigger. Was too slow to respond otherwise. Warning: lots of non-brightness stuff here will interfere with Apt triggers hung on e.g. the keypress causing the wakeup - bugfix: idle/wakeup etc triggers don't act as lock triggers (though it's funny to watch) - bugfix: was not setting font back to original if no items to show in popup list - tidied up userguide (a but), updated images, added usage examples at wikidot - don't handle buttons at all when powered down v0.9y 2/4/2008 - flush keyqueue after handling centre event, otherwise - rapid repeats interfere with handling - extra repeats after handling cause app to respond Why did I take that flush out a while ago ? Who knows. - bugfix: coming out of legacy app, DIA+/- triggers were not actioning correctly - bugfix: moved held-key popup box up a bit so it could actually be seen with the partial-screen lock - bugfix: press-n-hold when in a lock trigger would not display correctly and had a good change of data corruption - some more resident size reductions. Don't like to do it now but things are a bit squashed in there - when an Apt trigger initiates launching an app as part of a macro, if current app has an exit trigger the original macro is stopped and the Exit macro started v0.9z 2/4/2008 - some more resident code compressing, the seams are bursting - don't handle relative strokes *starting* outside form boundaries - don't trigger exit macro execution if we're doing a -Lnch,Exit or Reset macro - if leaving app via Apt macro, remember last launch before exit, and do it after Exit macro (With Love From Me To You, vovka) - disable (almost) all notifies when device powers off (try to fix user report of sticky enable keys on treo) - set font to standard when drawing stroke/tap labels vRC1 3/4/2008 - added (non-functioning, non-documented) Profile->Import/Export menu items - exit deq handler *immediately* when in powered-off state - tweaked sleep/wakeup handling, Palm Internals speed test had gone v. high due to a particular system call - Wake macros handled immediately (like Input) to try and get them out the way before the triggering action's (e.g. hardkey press) macro wants to start - ignore launches if we're already in that app/DA/panel - more resident compression, this time around Apt:List functions vRC2 5/4/2008 - bugfix: all abs strokes after any trigger (including null trigger) with a null action were not triggering - double tap during stroke recording will zero the current stroke (->?) () - bugfix: apply action had stopped showing app list in UI - bugfix: if first -Form trigger had 0 arg, a second selected one hit infinite loop - major bugfix: deregistering notifies was not always effective (probably Enotar's 'can't disable bug' from ages ago). Improves performance, remove a source of unpredictable behaviour. - changed all notifications to callbacks for speed (only hede was callback previously due to above bug) - added AptAssist DA. Twofold purpose: - free up resident space - allow other apps to use functionallity (see aptassist.html) - if current brightness is zero and there's an Input trigger which affects brightness, block screen tap except for allowing execution of the Input actions (to stop accidentally tapping on something when waking up screen) - set system wakeup notify priority v low (try to be last out of bed) - took out import/export menu items, on ice for now - delete AptAssist when doing Menu->X->Remove - don't show any messages/star menu in MemInfo, it crashes restoring saved window bits, presumably due to memory shinanigans (thanks MikeB) - Brght:Restore: if there is no setting in target or *Defaults*, use the last value at the 'start of an idle series' (think it'll work ? Harharhar!) () - disable hede notifications completely during power down (previously was just checking flag in the function) - prc filenames changed to Apt.prc and AptLite.prc - in UI when changing trigger type, don't change action data (except: setting null trigger sets null action) - tweaked working out whether some input constitutes an Input event (should pick up some more esoteric hard keys and be faster) vRC3 7/4/2008 - took out some accidentally not-taken-out-last-time debug message - don't complain about undefined strokes when changing Pen Acc. (settings form) - stop idle timers etc when entering star/popup menu. And after... guess. - if a field has focus before showing star menu, remove it and after... guess (insertion pointer was causing drawing artefacts) - some extra err messages - sleep/wake: all notifies but wakeup notifies are now off during sleep - moved all activation to after unlocking (if device auto-locked) (was half/half previously) - wakeup/unlock launchcodes not callbacks (duh), only register/unregister as needed - show star on reset should work (though with a blank screen behind), may confuse other reset handlers :-) (popup lists still don't work) vRC4 9/4/2008 - added -Ctrl and -Menu triggers in Events screen with resource ID argument, activate just before the control/menu's normal action (but launches take place after) (this one's for me) - mention AptAssist specifically when an action executes that needs it and it's not on the device. - added extra Repeat Time setting (300, for quick-draw McGraws) - moved resource listing action to AptAssist - AptAssist: complain about unknown actions (user probably needs to upgrade) - if brightness is 0, any Input event (pen,not-power-key,system wakup) causes a built-in brightness restore action (you don't need to define one for this case). In the case of pen/key the Input is also blocked. - don't set virtual grafitti ink if it's already the desired value - bugfix: VG ink was not being set correctly (thanks Scott) - 'bug'fix: flush pen queue before changing grafitti off to grafitti on, caused problem when switching app with a pen stroke within a button (thanks Pgr) - small change to reset code, someone was sticking at white screen, let me know - power button: if actions assigned, acts like a normal key for Input purposes (resets timers etc) - power button: if brightness 0, does executes brightness restore action like normal key - changed reg code generator, please contact author if you didn't receive an email vRC5 22/04/2008 - added 'Bright Restore' in settings (input block and automatic brightness restore action if brightness less than specified value) - no star menus/popups displayed in blazer (same problem as meminfo) - bugfix: trigger arguments were being incremented by just looking at the argument (thanks Pgr) - bugfix: with two macro groups adjacent to each other, changing the argument of the first one changed the trigger/argument of the second group too - bugfix: idle triggers of -any- type in a target were blocking -all- *Default* idle triggers - userguide: added limitation: only one idle trigger of each type per app - on-screen grafitti/text enabled when starting up Apt - added a flash-up 'M' when receiving pen/key input during macro execution (temporary, to help debug 'apt gets deactivated' reports) - made macro timing more precise - bugfix: when palm preference 'stay on in cradle' is set, Apt doesn't get disabled by the autooff vchar the OS sends anymore (thanks cyberdude) - 'improvement': accessorized DAs now work from popup list or star menu - bugfix: macro-cranking alarm wasn't being set correctly - 'improvement': treo650: hard button wake up should work now - 'improvement': treo650: assigning a long press on hb4 doesn't block a single press device off/on - 'improvement': treo680: assigning a long press on hb1 might not block a single press device off/on (let me know) - stop macro when going to sleep, can cause surprises when waking up - 'improvement': treo650+: system/game sounds now being applied without reset :-) Note: 'system' actually refers to the overall speaker volume on Treos, you may need to set both system and game volumes if you e.g. want to turn sound on just for a particular game. - changed registration system: details in the post for registered users - took out a few unused alerts - default macro delay now 0 vRC6 24/04/2008 - [added in RC5]: if macro step has not finished within 2 seconds assume the macro got stuck and clear it - don't respond to volume mount within 4 seconds of end of reset (the trigger is intended for physical card insertions) - took out error message when trying a brightness restore without a value (it just gets set to 100 now i.e. something readable) - moved hard control sim (nav,hard, treo) to AptAssist - some triggers will now add their actions to the end of an existing macro when triggered. Previously all were blocked when another macro was running: cmd bar up/down, DIA open/close, hotsync finished, reset, system wake, volume mnt/umnt - removed flashing 'M', apparently macro sticking wasn't the cause of Apt disablement - took out "set" debug message for Treo's when setting sound (thanks Enotar) vRC7 - bugfix: single centre press now works normally when a centre hold trigger is set up (thanks Pgr) - bugfix: insertion point flashing disabled during star menu again - added a second to the 'don't execute mount trigger after reset' timer (may need to put this in the Settings screen sometime I guess). - Treo650: sleep/wakeup: only record/restore system HB prefs of buttons with app assigned in Apt - bugfix: locks: don't erase lock form if no form underneath (erase tries to restore obscured part of previous form) (thanks technical1) - disabled display of held-key and star menu popups in quick tour - disabled display of held-key and star menu popups in full screen lock (they still work...) 1.0 2/5/2008 - bugfix: full-screen lock, form was off screen - added a second to the 'don't execute mount trigger after reset' timer - bugfix: was deleting popup box that hadn't actually been created and drawn - settings form -> modal v1.1b1 11/5/2008 - db conversion from 1.0 - made aptassist.c public domain - added Apt:Tr-,Tr+ actions (disable, enable Apt trigger) specified trigger will behave as normal, without actually doing anything (purpose is to *temporarily* mask the normal trigger action(s)) - added sbar hide/show actions - added form exit trigger, take form title arg. Note: form has *already closed*, controls are gone - trigger arguments (mount,form exit) that take text now do caseless compares - added actions set rotation (user,portrait,landscape,r portrait, r landscape) - moved rotation code to AptAssist - added actions inc/dec/clear named variable (a-h) - in UI, 'trigger type' popup trigger became a selector trigger (to make space) - in UI, added trigger condition button (condition based on variable value) - reduced max text trigger argument length to 15 (from 16) (to fit in trigger variable condition) - added daily 'time' trigger in HHMM format - catch error value when setting macro alarm - bugfix: that macro alarm again :-) - moved khroma theme setting to AptAssist.prc - *removed* save command bar item, also from UI (seemed little used, consumed quite a lot of resident space) - added con, dcon triggers (args: u=usb, p=power,s=serial, o=other *=any) - redefined possible locking triggers: all non-event, connect/disconnect or mount/unmount - warn in UI when > 1 of a particular idle trigger in current target - added action Treo:Phone to toggle phone radio - moved Menu->X->Remove back to Apt->Remove (was itching) - took out triggers help menu item - added (short) description to trigger list items - small UI tweaks - Prefs+ screen: added 'Prefs Off' and 'Triggers Off' checkboxes (in case an app just doesn't play nicely with Apt) - bugfix: setting 'Apt Priority' very low in settings screen would likely cause crashes - took out a load of error messages from release version to make space - bugfix: always load hssoundlib even if already loaded (as advised by header file) - queue-up a key that occurs while handling a macro from another key, reinject after (helps with users who press too fast, no names) - Fill:Let action renamed to Fill:Name - Fill:Name action also links with the Dig trigger now (e.g. '2' trigger fills with 2day,2morrow,2otherapp etc) - new triggers Let+ and Dig+ (for held letters and digits on a keyboard) (both can be used for Fill:Name action) - new trigger Min (for minutes past hour), repeats hourly, need to be in right app (or trigger is in *Defaults*) - experimented with the 'err 54' reported by technical1 - tweaked some trigger names (the + and -) to try and imply at what point the trigger fires - *removed* hotsync name setting (took lot of space, other free apps can do it per-app) - added 'Acc' action category (launch app as a DA thanks to Accessorizer and Dr Pruss) - put accessorizer and license in the thirdparty/ directory - improvement: when launching an accessorizer-created DA, or Acc-launched app, reapply Apt settings for the original app when the DA finishes. 1.1b3 12/5/2008 - removed special launching (by enqueueing a vchar) of creator 'lnch', was causing problems - added record security selector on Prefs+: -, show, mask, hide - bugfix: only 10 trigger rows :-) 1.1b4 13/5/2008 - handle return from accessorized apps started by other launchers (and take out code for Apt-specific handling of this) (techspeak: needed to register for quitting notify for this) - check letter of connect/disconnect arg in UI - something in hsSetSound (the Treo sound manager) was causing macros after a reset to block on Tx, only try to use that library on a 'handspring' device. - a reset macro should/may work when Palm is autolocked before the reset now, some actions will not (e.g. tap control, since control isn't visible) 1.1b5 13/5/2008 - bugfix: an e.g. hrd2 trigger would register as also a hrd3 trigger for button/keypresses - Wait action is no longer a 'blocking' wait: the system can get along with other stuff while Apt is waiting (and you can move around apps etc). Some changes of sensitive macro stuff was needed for this, let me know. People with reset problems: a long wait could help (but it's longer needed than you think, maybe 7/8 seconds to take you past all the usual reset stuff) 1.1b6 18/5/2008 - changed menu item Menu->About->Purchase - no warning about .../Back not working after reset (but it doesn't crash anymore) - added Edit~, Line~ action in Field category (toggle editable and undeline attribs) (don't edit fields that weren't editable originally (may crash): it's just to enable copy/paste) - added Field:Exit action (remove focus) - Form+ trigger renamed to FExit - added +Form trigger, takes name of form, actions when form has finished loading (UI elements are there). - only queue a button if a physical button is being pressed at the time (was queuing simulated key presses from macros) - call accessorizer code slightly differently 1.1b7 18/5/2008 - added Net-, Net+ triggers (net connect, disconnect, take creator ID of network creator (e.g. 'WiFi'), blank matches all network creators) Can't test this well (I have no network), let me know - added action .../AOff, set auto-off time (overrides Prefs screen settings) - added some non-printing chars for Pen/Text argument: \t (tab), \b (backspace), \e (escape), \d (delete) \r (return) (i.e. it takes up two characters to insert one non-printing character, \U\D\L\R: up down left right cursor 1.1b8 19/05/2008 - THIS VERSION ONLY COMPATIBLE WITH DB CREATED BY APT 1.0 (and *possibly* up to 1.1b4) - FEATURES NOW FROZEN UNTIL 1.1 - disabled Acc action pending decision - handle time change notification in IdleX alarm handlers (thanks cmlx) - triggers that take a text argument (mnt, form+, fexit, net+, net-) now do partial match e.g. 'mus/mnt' matches insertion of SD card labelled 'music'. (only tested with mnt, should work with all) - treo650 after-lock wakeup: maybe fixed, not really confident. In any case, it won't stay with Apt disabled. - bugfix: landscape/rev landscape actions were wrong way round (thanks ww1900) - check for too-high DB version - new action Brgt::SetD/x set Brightness preference in *Defaults* to x 1.1 21/05/2008 - THIS VERSION ONLY COMPATIBLE WITH DB CREATED BY APT 1.0 or 1.1b8 (and *possibly* up to 1.1b4) - bugfix: null actions were blocking parent trigger even when the condition on the target app trigger was not met - bugfix: +Form trigger was not truncating very long form names correctly for comparison purposes (thanks cmlx) 1.2b1 25/05/2008 - improved popup list and star menu 'resistance' to background events interrupting it. Star should virtually always stick now. - change try and fix cmlx problem of triggers disabled after cradle on 650 - added Menu->Apt->Toggle Font. Toggles between 14 and 10 trigger rows for small screens. Is a per-app setting (probably you only need to set if for *Defaults*) - added *Tags 1* and *Tags 2* pseudo apps, with new Tag trigger (named action sequence) - added Apt:Call action to call a Tag trigger - *removed* paste command bar icon, space-to-usefulness ratio too low, can also use the 'apply' action to replicate the functionallity - increased max macro/popup length 20->30 - key queing/reinjection when busy: - only queue different trigger from currently handling - only queue if we would have handled it anyway - kill key after queuing so we don't get 'something else handles it then we handle it later' - Idle* trigger: warn if < 3 seconds in UI (OS seems to have problem with less for proc alarm resetting itself) - made +Form and FExit trigger checking more stringent (only forms with titles are considered at all, helps prevent multiple triggering) 1.2b2 26/05/2008 - removed 'inject' debug message - more inject tinkering - use short trigger names for T-, T+ - upped max macro/popup length to 60 (for poweruser Enotar) - bugfix: was handling missing Tag screens as Default for trigger match - bugfix: deleting tag screen messed up UI trigger args - matching of tags with caller string is now case sensitive and none-partial - can no longer have multiple calls in macros: as soon as any Call is hit the macro starts afresh with the called Tag actions (couldn't be bothered to work out the problem there) - redraw go button after app list selection (workaround to it getting obscured by long app names) - took out X: from popup boxes when press-and-holding 1.2b3 26/05/2008 - bugfix: lock was always accepted (thanks technical1) - bugfix: all sorts of system events being accepted as unlock events 1.2b4 27/05/2008 - bugfix: trigger conditions (and more ?) were not recorded correctly in last 4 rows - macros in tags now (again) place the contents of the tag at the end of the current running macro (probably broke something else though :-)) [so if-then-else-by-tags should work again] - added HS phone app to not-support-popup apps list - bugfix: Tags in screen Two/Three were being missed - bugfix: cmd bar action was dropping through to tag call - took out stuck macro code, think that doesn't occur anymore with alarm driving - Let trigger: no longer triggers if focus is in a table field 1.2b5 28/05/2008 - some triggers had bad labels after deleting a *Tag* app - added small delay when handling Let/Dig triggers outside a field, seems to make myKbd happier - added yet another check for 650 having woken up, let's see - compressed trigger argument specification (code), let me know if any triggers have wrong type of argument - bugfix: treo: action cat entries for last 4 lines were not being set on startup - bugfix: coming back from settings from to small fonts, 10.5 rows were showing :-) 1.2 29/05/2008 - took out nilevent check for treo650, didn't work apparently - draw Apt icon (at top) for *Tag* apps - bugfix: icons didn't match apps in App action lists - write popup/star action names record when DB version changes (some people had reported out of date names) 1.3b1 18/08/2008 - IMPORTANT: only compatible with an Apt 1.2 DB. If you are upgrading from a prior version, you should install Apt version 1.2 first to upgrade your DB. - changed Brgth:DSet (set *Defaults* brightness) to Brgt:Copy (copy current system value to *Default* brightness) Note: be careful, you need to set brightness first if using some form of brightness dimming - FExit trigger now checks argument against both form name and ID - put a divider before Remove in Menu->Apt - increased max macro/menu length to 100 - added .../Beep, argument is "freq(Hz),duration(ms)", vol comes from game sound level - default Apt priority is now V High, some treo/centro users report that helps with some problems - added Hard/Power to simulate power button being pressed. The intended use is to allow wakeup of the device with e.g. a Time trigger, before performing some other action - added repeater argument for triggers oHrd1-4 (-> opt+hardbutton press-and-hold) - bugfix: don't handle char triggers when in menu (was messing up menu item selection) - bugavoidance: removed WhiteOnBlack theme from thirdparty/KhromaDB.pdb, problems reported by different users on different devices - bugfix: star menu doesn't crash after selection in Blazer and friends - bugfix press-n-hold popups don't crash after selection in Blazer and friends - bugfix: get tap/get stroke don't crash after doing the stroke etc in Blazer and friends - force DB sync after write when resident (was getting empty DB after reset sometimes) (does this help ?) - bugfix: removed small fonts on T3, required system call not available - bug avoidance: refuse to launch DAs in Blazer and friends - bug avoidance: don't allow held-button unlock triggers in Blazer and friends - bugfix: don't turn off everything when only going to rem sleep (thanks for hint Chastreo!) - tersified some error messages, make space - moved splash screen to app launch (not so annoying coming from settings) - screen lock during loading - start with all UI items invisible (cleaner/faster startup) - bugfix: was not exiting cleanly when problems at startup - removed excess flag when powering off, maybe help with disable condition ? - bugfix: UI: when two identical triggers were in adjacent rows, changing the arg or condition of the first would propogate down to the second (thanks Don/Stefan) - bugfix: UI: bad window handle error on sim fixed (though it didn't seem to affect anything on device) - improved removal process, Centro (maybe more) had problems - UI: 'Loading' message changed slightly - bugfix: apps that just run then exit without an event loop were crashing with Apt active (at least on Centro sim) 1.3b2 20080904 - flush key queue after center press in star menu: some reported the press was getting to underlying app. Wonder if it will help.... - bugfix: star menu called from tag was crashing when item selected in Blazer & Friends - removed blocking of DA launch in Blazer and friends (some useful DAs don't have UI and don't crash) - added warning in UI (once only) about DAs crashing in some apps - don't handle hard button virtual character (excepting power) as a trigger when no physical button is pressed. Pro: problem with Hobbyist software onscreen close button is solved. Con: Apt simmed button presses can't be used to fire Apt button triggers (thanks technical1 for info) - bugfix: calling popup list or star tag from star menu was sticking until user input sometimes. 1.3b3 14/11/2008 - kill Center button auto-repeats when we have a centr trigger configured. Without this, center press was occasionally being handled twice by other apps. - Treo side key trigger was not activating 1.3 12/01/2009 - no changes from 1.3b3 2.0 03/03/2009 - minor cosmetic changes, lighter footprint and key requirements removed. - first free release: this application is to be used at your own risk, none of the people, author, maintainer, copyright holder and/or contributor may be held responsible for any damage resulting of the use or misuse of this application. 2.0.1 03/05/2009 - bugfix: issue reported by bluefishCFC on 1src's forum regarding the limit in app letter launching. 2.0.2 03/10/2009 - bugfix: Version ID reporting 1.0, reported by Cyberdude on 1src's forum, thank you Cyberdude.