home *** CD-ROM | disk | FTP | other *** search
-
- Buttons history for the interested
- ----------------------------------
-
- 23/10/96 - V0.1
-
- Initial idea. Basic layout decided and notes made. Created gui from scratch
- rather then gadtools generated for smaller, cleaner code. Bare backdrop window
- with 8 buttons. Escape exits program as well as close gadget. Put in a message
- port so the program couldn't be launched more than once.
-
- 24/10/96
-
- Added to gui to enable font y cord sensitivity to a degree and put in 10
- buttons as well as Quit and About at the bottom. Added routines for loading
- and saving configuration via icon tooltypes. Button text routines added based
- on loaded configuration. Tested clean running on WBStartup constantly along
- with other programs. Added custom font routines but still not globally set
- the build window routines for anything other than an 8 point font.
-
- 25/10/96
-
- Added AppWindow functioning. Routine not implemented properly due to delayed
- message returns. Looking into that one. About requester put in. Hot keys for
- Quit and About requester added. Changed the gadget layout slightly under the
- custom definition buttons for an extra gadget labelled Config. Still pretty
- small, and the idea is that config will overwrite the button menu with a
- prefs gui of the same size to enable configuration without manually editing
- tooltypes. I'm now thinking along the lines of holding shift key when clicking
- on a button to configure it wheras without shift, it would launch the defined
- program. Lots of practical ideas noted on features to implement.
-
- 27/10/96 - V0.2
-
- Implemented launch routines for button commands. Now they actually work :)
-
- Added in debug routine - Enabled with a tooltype of DEBUG. It's important that
- you leave this set for now as you can get an idea of what's wrong if something
- goes screwy from the buttonz.temp file in ram which won't be deleted.
-
- Buttonz now generates an external script to call the configured program so that
- appropriate paths are respected which the new process inherits. All programs
- are run as seperate tasks so that buttonz isn't locked afterwards.
-
- Added configuration options Stack and Arguments for each button. See tooltypes
- for example settings.
-
- Added in quote settings if there's a split filename for the configured button.
- This wouldn't happen manually, but if a file is dropped onto the window later
- on when the configuration has the option, some dodgy programs have spaces in
- their filenames which the cli won't like without quote marks. These are
- handled in the background by Buttonz now anyway, so nobody has to worry about
- them.
-
- Fixed bug in MsgPort and Icon search routine which hung over from programs name
- change. Stupid mistake :)
-
- 28/10/96 - V0.3
-
- Added XPos and YPos tooltype options for defining top left corner of windows
- position on Workbench. I'll probably expand on this at a later date.
-
- Added BACKDROP tooltype option. If you have this tooltype then the Buttonz
- window will be a workbench backdrop and unmovable. As in the original versions.
- If you leave the tooltype out then you have a normal drag bar and can move it.
-
- Added NOBORDERS tooltype option. If you have this tooltype then Buttonz
- window will have no borders. This works best with the BACKDROP option enabled.
-
- Put in the help requester - Naturally you press HELP. This will pop up a list
- of the keyboard hot keys as well as any other important info in the end
- program.
-
- Tidied up that horrible about requester. That'll teach me to re-use old code
- with global variables :(
-
- 30/10/96 - V0.4
-
- Fixed stupid error where NOBORDERS did the opposite of what it should do.
-
- Added the code for Menu bar (c) message.
-
- Fixed the bug in configuration with the Backdrop setting toggle.
-
- Implemented new saved tooltypes routine which saved all possible configuration
- options but enclosed non-active switches in [ ] quotes.
-
- Improved the gui response by streamlining the intuition loop and flushing
- unused events while requesters are present. Buttonz now makes sure it's one of
- its own buttons and not some other gui before doing its job :-)
-
- Decided it's really about time I did some serious work on buttonz instead of
- fixing little bits here and there :-)
-
- 31/10/96 - V0.5
-
- Fixed the non recognised YPOS tooltype. Stupid string reading error.
-
- Extended the width of button sizes for prefs window requirments. Check your
- XPOS settings in your icons to make sure you don't overlap the edge of your
- screen. Buttonz will safely warn you and exit if this happens anyway until I
- can get the check screen size routines working properly.
-
- Implemented the Flip window for preference settings. At the moment it pops up
- the path of the program configured and a seperate button for each entry which
- will be clicked to pop up a file requester. I'll add in a routine to split the
- path string up to seperate user arguments and a stack system. Ideally I want
- to keep the window the same size, however. NB: Changes in the string gadgets
- are not recorded at the moment so don't configure anything this way yet :-)
-
- Did some minor cosmetic work on the default gadgets to fit new window sizing.
- Added Save config and Font gadgets on the prefs window which are the only other
- parts still needing gadgets at this time.
-
- Added in the hotkey definitions for button numbers. IE: Press 0 to launch the
- command in button 0 etc.
-
- Added font change routine. Doesn't do anything apart from a requester but it's
- ready. Put in global hotkey 'F' to call it.
-
- Reworked entire event handler so that input routine was the same no matter
- if the prefs or buttonz window is active. This way hotkeys are always available
- for button definitions and the code is significantly smaller. Major work this.
-
- 01/11/96
-
- Finally sussed an os friendly way of getting the windows position relative to
- the current screen. Position of the window is saved in the configuration now.
-
- Fixed a bug with the DEBUG tooltype in the load config routine. It looked for
- 9 characters in a 5 character string. :-)
-
- Added in a SNAPSHOT configuration option. If SNAPSHOT is set in the tooltypes
- then saving config will store the current window position, else it will store
- the loading defaults. Apparantly closet MUI haters need this :-)
-
- Fixed a bug in the new SNAPSHOT routine. Worked the opposite way to how it was
- meant to. I've got to stop doing that :-)
-
- 07/11/96 - V0.6
-
- Added in a configuration tooltype (ACTIVE) to set wether the window is
- activated when the program is ran, or not.
-
- Put in some safety checks which will stop Buttonz ever trying to open a window
- when the screen dimensions don't allow it. Now it will default to center of
- screen if illegal X & Y Positions are used. Thanks to Paul Lathwell for a handy
- routine to check this.
-
- Fixed up some major potential gadget clashes due to illegal numbering of the
- gadgets against O/S recommendations. Possible guru aversion here :-)
-
- Changed the config button to lose the paths gadgets and use a list of toggle
- gadgets for the gui options currently available. The buttons launch commands
- are under a major rethink right now (See notes file) so these were now obsolete
- before I'd even made them work :-( The prefs window looks a bit empty right now
- but extra gadgets will be dropped in as the program requires them.
-
- 28/11/96 - V0.6a
-
- Minor changes to the wait event loop to facilitate major changes later on with
- the AppWindow and CX message routines to drop in.
-
- 30/11/96 - V0.6b
-
- Buttonz is now a commodity. Supported features are the standard Hide/Show
- Window, HotKey (still needs a bit of work but RAmiga # does the trick) and
- Active/Inactive. Same as other commodities basically but this should mean it's
- easy to make it dissapear at the stab of a key and pop up again when you need
- it. Not sure how it'll work with multiple windows but I'll worry about that
- later.
-
- 30/11/96 - V0.6c
-
- Put in extra flags for each button definition to set launch type. Adapted the
- load and save routines so that it will set up defaults when old tooltypes with
- no data set are used so it's backwards compatible.
-
- Discovered that Buttonz majorly hogs cpu time since it was converted to a
- commodity and I'd missed spotting it because I'm running the wonderfull
- Executive.
-
- 30/11/96 - V0.6d
-
- Fixed up the cpu hog problem after disabling Executive to run tests. Forgot to
- use the Vwait command to synchronise the interupts. That'll teach me to RTFM!
-
- Put in the hotkey definition (RAmiga #). Using this you can toggle the buttonz
- display on and off as much as you like :) I'm thinking about changing the
- hot key definition via the prefs options. I need to fill up some space anyway.
-
- 1/12/96 - V0.6e
-
- Finally got onto the configuration part of Buttonz. There's now an AppWindow
- with gadgets for setting up a button which offers Name, ProgPath, Arguments
- and Stack size fields. There's a toggle gadget to set up launch type and
- Use and Cancel buttons to specify if you're happy with the gadget or not.
-
- Prefs window now accepts files being dropped onto it although it doesn't place
- the data into the fields as yet. At the moment it's only a dummy routine
- which is called from the main window with a keypress rather than the shift
- click on button to fire it up as it will work in the end, as I'm testing the
- thing out first so I can make the gui tidy.
-
- Found a problem with scanning for key presses without a window displayed which
- I've not been able to fix up tonight yet. That's the problem with having
- Buttonz using more than one window now. Config button window isn't finished
- yet but it's bloody 6am! :)
-
- 2/12/96 - V0.6f
-
- At last I've tracked down that horrible bug with the default input requester.
- It turned out to be a bug in my hotkey routine that told the program to shut
- the window and then forgot to tell it that it shouldn't scan for keys on the
- keyboard when it's in this mode :) The hotkey now works at any rate.
-
- Fixed a nasty bug where an invalid bitmap requester would pop up when switching
- to the prefs window after configuring a button.
-
- Temporary changes to the button text on some gadgets so they all work with the
- new default font supplied with buttonz - !! Read the beta testers note here !!
-
- Made changes around the prefs window to put in a button for a file requester
- to choose a program path in case the Drop icon method isn't to be used.
-
- Fixed in a configuration option for the HotKey so it can now be defined via
- the ToolTypes as well as the prefs window. NOTE: Changes made in the prefs
- window won't be used as yet! Use the tooltypes to change the hotkey for now
- until I add that in. I'm short on time today :(
-
- Fixed one last potential bug with the windows routines so that requester stuff
- and crashes that some of you experienced should never happen again :) Please
- give it a tough test to see if I have missed anything.
-
- 3/12/96 - V0.6g
-
- Fixed up the hotkey selection on the Prefs screen. Now it works.
-
- Added in another button on prefs screen for choosing a temp directory.
-
- Added OS check to ensure the Amiga Buttonz is running on is a 2.0+ machine or
- it'll beep the screen and safely exit.
-
- Corrected a severe fuck up in the commodity control options. By trying to
- hide interface or show interface twice, Buttonz tried to do stuff to windows
- that didn't exist - not nice :) Rearranged how the CX control stuff worked so
- that hiding the interface will disable it the same as making the program
- inactive which will also hide the gui. This way there's no way a gadget list
- or window can be operated on without the window on screen.
-
- Finally fixed a really annoying bug with the LaunchType cycle gadget which
- chooses what type of launch routine should be used for that buttons config. It
- now works with custom hacks such as MCP's Cycle-menu etc. Also figured out
- that the save tooltype routine addressed the wrong program constants and
- saved every launch type as something it wasn't for a while. Sure, like Spot is
- really a script file <sigh>
-
- Put in the rest of the configuration reading from the buttonz window. It's
- now possible to configure a button just by holding shift and clicking on it.
- The file requester for program path and the AppWindow drop file features aren't
- yet in there though but at least it can be customised now :)
-
- Ooops. Almost forgot to make it cancel changes to the button if Abort was
- clicked on the Configure button window. Fixed.
-
- Fixed a small glitch where Buttonz redrew the main window even if no changes
- were made to the button or Abort was clicked. Much nicer now.
-
- 5/12/96 - V0.6h
-
- Put in the AppWindow routine so icons can now be dragged on the button config
- window and the display will update accordingly. I'm hoping to be able to pull
- in the stack settings and program type definitions later on, but Path is set
- to the complete program, the name of the button is the program only, and stack
- is set at the universal 4096 which is usually standard anyway. Arguments is
- cleared so it can be customised manually.
-
- Put in the file requester for selecting a program the quick way if you've
- got a huge load of drawers to work through to find an icon to drag. Usual
- reqtools stuff.
-
- Fixed a bug in the file requester for selecting program path. Aborting the
- operation wouldn't leave the old fields intact. Fixed.
-
- Discovered the tempdir selection wouldn't actually work unless you selected
- a file within the directory to use for temp files. I've been unable to find
- a decent way of popping up a directory requester without using a new library
- as yet and increasing the code so I've changed the message slightly so it
- says to select a file until I find some other way to do it.
-
- Changed the big ugly about requester to something not likely to hog so much of
- the screen.
-
- Fixed a non-displayed text line in the help requester that's probably been in
- since it first appeared back in V0.2 :) Also updated the information to show
- changes in Buttonz to date. Then I found out that help wasn't working anyway.
- Some stupid illogical reason says it no longer likes the help key. Changed it
- to 'h' and problem solved.
-
- 16/12/96 - V0.7
-
- Tracked down a lot of case-sensitivity errors in the appfile code. Surprised
- any of it worked in the previous version :)
-
- Fixed the path bug when dropping a file on the config window. Full path is now
- used and not just the root device name. This one took bloody ages and a full
- rewrite of a section to sort out! Thanks a lot Phil <growl> :)
-
- Added an AppMenu item to the tools menu on Workbench when Buttonz is Iconified.
-
- 09/01/97 - V0.8
-
- Haven't forgotten about this beast despite this long delay between work. Blame
- Xmas, the new year, a very nasty virus all over the holidays, and, of course,
- the dreaded work for the delays in getting on with the job until now.
-
- Anyway, back on track, and the routines for saving and loading different config
- files are now implemented into Buttonz and debugged. This took more work than
- you might think as it's a lot different compared to handling tooltypes. Still,
- it's done now and it works quite well. There's no gadgets for saving the config
- yet (only the save button which saves the prefs in tooltypes still and no
- longer stores button definitions in there) but it's done by pressing 's' for
- now until I fix that up. Obviously loading different config files will be
- configurable as a task from the buttons themselves with the SUBDOCK setting so
- there's no need for a seperate button for that.
-
- Put in a notification requester on startup if the default buttonz.bcfg file
- isn't found in EnvArc: - this explains to the new user that this file should
- be saved out after configuring the buttons to their required tastes and then
- Buttonz will use it as a default all the time. Obviously if the file exists
- then it will never pop up, and this keeps everyone happy.
-
- Loading of the configuration for Buttonz look is now much quicker due to these
- config changes.
-
- READ IMPORTANT.TXT now, beta geeza's.
-
- 10/01/97 - V0.8a
-
- Made changes to the file requester routine on the button config window so it
- asks for different filetype if SUBDOCK is set on the cycle gadget so that
- a buttonz config file can be selected instead of a program.
-
- Got it loading subdock files when configured at last :)
-
- Configured a few example menus to test the subdock feature out a bit. Works
- fine now but it's still a little fiddly to use until I change a few settings
- around to make it quicker to set it all up. Stuff like automatically using the
- filename loaded as the save default. Toying with the idea of having a seperate
- button specifically for jumping back to the default configuration. The idea
- being all buttons there are set to jump to sub menus and it'll save time having
- to use one of the buttons in the other configs to call the default config as
- a subdock. Confused? It's easier in practice :)
-
- Made some quick global changes now before throwing another beta archive out to
- save yet another conversion job. Buttonz now uses Envarc:Buttonz/ as the
- default directory for all it's configuration files which makes it easier to
- see what configs you have in a file requester, and saves scrolling through a
- heap of other env: stuff to click on the filename you need. You'll need to
- move your config files into this directory for Buttonz to find them when you
- run this new version. Must remember to get Buttonz to create the directory if
- it doesn't exist on startup for new installations.
-
- Changed some of the meaningless requesters, updated the help window (now you
- press 'h' on the keyboard instead of help until I can find out why that bit
- got broken again) to show new keys, threw in a quick option to load default
- configuration without a file requester to jump back to the startup set of
- buttonz (just press 'l') which'll do for now until I decide if another gadget
- is worth it. I refuse to use menus with Buttonz because it's being written so
- that I don't have to use them myself anymore so I'd be a hypocrite :)
-
- Found two stupid variable clashes and a mispelling of Arexx (my nickname
- - Xerra - confuses me all the time) that caused buttons set with the arexx
- flag not to get saved in the configuration. Fixed now.
-
- Added a nice little intelligence feature so that Buttonz will automatically use
- the name of the current configuration loaded in the save requester when saving
- configs. This makes it a lot quicker to configure it all from scratch. Took a
- surprising amount of work to get this going neatly.
-
- Scratch the above. It's occasionally coming up with quirks like direcorty names
- as well as filenames in the filename box as well as directory fields on
- requesters which is a pain in the butt. Need to rework both the save and load
- routines to work out what's wrong yet again <sigh>
-
- Put in the launch routine for running scripts. Still not sussed out a way to
- get buttonz to launch a script from a shell window but it's not something that
- you exactlly need anyway. I wanted to do it as I run Miami that way but it
- seems that ToolsDaemon has the edge in weird events like this and I'll just
- leave out the Miami icon. That's the last of the launch options set up now
- anyway. It's really just bug fixing to do now and the end of it all at last.
-
- 12/01/97 - V0.8b
-
- Finally fixed up the default filename for save requester bug. Shortened the
- executable size as well. Turned out I already had a routine for doing the
- conversion in the code and wrote another bodgy one instead of using it. <duh!>
-
- Swapped around the buttons so that About is now on the prefs window and I can
- use the old button for saving the buttonz current menu.
-
- Removed the font button and associated parts in the program. No longer needed.
- The requester text was a bit dicey for censorship regulations anyway :-) Now
- I'll keep the swear words just in the source code.
-
- Added in an intelligent confirmation requester if an attempt is made to launch
- a new menu and changes have been made to the current one. This saved me a heap
- of time losing configs when I was setting up the example configs as I kept
- losing data due to forgetting to save before changing another config :)
-
- Put in a clear button option. Holding control and clicking on a button will
- clear its definition. I found it handy to be able to do this when configuring
- the beast from scratch so I've made it easy to do. Maybe I should have put a
- swap button routine in :)
-
- Performed a very long optimise walk through of the source code cleaning bits
- up, tidying up messy routines to make them shorter, and generally anything
- else I could do to shorten the main program size down a bit. I guess I could
- powerpack the main program but the end-user could do that if they wanted anyway
- and it'll compress better within the archive if I don't. Still worked out at
- just over 100k for the whole program, but at least it doesn't use any external
- libraries, and it has an online command reference and all sorts of other bits
- which increased the size. I blame blitz and it's bloated handling of libraries
- myself :-)
-
- This, if all goes to plan and no problems are found, should be the last beta
- before Buttonz goes out public. Methinks a freebie gift to the Amiga community
- from someone who's taken so much.
-
- 15/01/97 - V0.9
-
- Changed the launch subdock around a bit so it will switch over straight away
- to the new button bank after prompting you to save your config if required.
-
- Changed the default stack setting to 4096 (standard) and set the defaults for
- font name and hotkey appropriately.
-
- Buttonz now makes a check if the buttonz config directory in EnvArc: exists
- when it first runs and creates it if not.
-
- Fixed the bug where capslock being down would make buttons not do anything when
- clicked on. Actually (due to the way event qualifiers work) it will use the
- launch settings of the button with it down or up now but having capslock down
- would interfere with the setting if you were to use shift to configure that
- button. Nothing I can practically do about that though, but if shift/click
- doesn't pop up the config window then you know why.
-
- Buttonz now has a swap button feature. Just hold down the right shift key (it's
- the left shift for configuring, remember) and click on both buttons. They will
- then swap places. This was a bitch to get working but it's flippin' handy now
- that it works.
-
- Added a toggle for the swapping buttons routine so that config save prompts
- are called if changes have been made before switching banks or quiting.
-
- Buttonz now has HTML documentation as created by Phillip Snell. And very nice
- it is to. Amigaguide documentation is also there for the die-hards as created
- by myself. The HTML stuff will be going up onto my web pages when Buttonz is
- unleashed onto the public very soon now.
-
- I think now I really must be finished bar any sudden bugs appearing when it
- goes out to the betatesters again.
-
- 26/01/97 - V1.0
-
- Added new information to the help requester.
-
- Fixed up a typing mistake in the last update that broke the ctrl-delete button
- routine.
-
- Changed the help requester to pop up when 'i' is pressed on the keyboard for
- information. This is so I can use 'Help' for multiview on the documentation
- later on.
-
- Fixed up the web address on the about requester for the correct information.
- Thanks Mr. Pedant Gribble :-)
-
- 06/02/97 - V1.0 - Release
-
- Made some changes to the hotkey box size to remove problems with the 6 point
- font causing clashes on some machines.
-
- Finally traced down a nasty font problem which caused screw ups on a few
- peoples systems but wouldn't happen to me. Turned out I'd renamed a different
- font to Buttonz font and just assumed it would work without looking at the
- actual font data file which gave it another name. That font was looked for
- instead and nobody had that font except me. :)
-
- Created the installer script (with a load of messing around) and the release
- archive. More work than I thought as this meant tidying up the html docs,
- updating the guide file, creating .readme and file_id.diz banners and minor
- tweaks to icons for default configs etc. It's been so long since I last wrote
- an install script that I'd forgotten most of the commands and had to rework it
- all from another script in the end :)
-
-