Академический Документы
Профессиональный Документы
Культура Документы
80
The original and primary purpose of the KkMenu was (and still is) to decrease the required number of icons docked in the Stardock Object Dock. During the time, a new major functionality has been added: Displaying the file system as a menu tree. This document should help with the KkMenu installation and use. This document covers the Stardock Object Dock version 0.95 and the KkMenu 2.80 only. Please submit all KkMenu suggestions and/or bug reports to the KkMenu comments area at WinCustomize. I will try my best to answer there. Before e-mailing to me and/or submitting a comment at the KkMenu comments area at WinCustomize, please read this document carrefully and go through the previous KkMenu comments. Please e-mail any suggestions for improvements of this document to: JiriKrivanek@BetaControl.cz.
Acknowledgments
Thanks to Jairo Boudewyn and Luis Ballesteros for making the application icons.
Thanks to Luis Ballesteros for the beta testing and his hints and tips.
Content
Legals Requirements Installation Creating new user defined menu Editing the existing user defined menu o Adding a new menu o Adding a new menu item
Setting up the separator Setting up the submenu Setting up the shortcut Setting up the dynamic folder submenu Setting up the root dynamic folder Assigning the menu item image Moving and deleting Using with the Stardock Object Dock Command line arguments Performance hints What's new History To-Dos
o o o o o o o
Legals
The KkMenu is still freeware but if you like the program, why don't you support the further development? Until I discover any way of how to get the money into Czech Republic effectively (i.e. without a terrible bank fees), you can mail a registered letter with either the $10 or the 10EUR bank note in the envelope to this address:
ing. Jiri Krivanek Teyschlova 26 Brno - Bystrc 635 00 Czech Republic
Requirements
The KkMenu will only work on Microsoft Windows 2000 or later systems. For more details, see please the Installation section.
Installation
Please follow these steps to install the KkMenu.
Download the latest release of the KkMenu from WinCustomize. Unzip the contents of the KKMENU280.ZIP archive into the following directory:
C:\Program Files\KkMenu\
Notes: In case the directory does not exist, please create a new one. In case of a non-standard system (i.e. when the system is installed on other drive than C:), please replace the C: with the appropriate letter (e.g. D:, E:, etc.). In Microsoft Windows 2000 only (i.e. in case of MS Windows XP, please skip this step) ensure that the gdiplus.dll file exists in your computer. It must be placed in the same directory where the kkmenu.exe is located. The gdiplus.dll can be downloaded from the Microsoft website for free. More, the gdiplus.dll is a part of the Stardock Object Dock installation.
For more PC experienced users: The gdiplus.dll actually does not need to be placed in the same folder but the system must be able to locate it either in the system directories (like C:\WINNT) or in the current directory or on the PATH. The proper installation of the KkMenu should look like that:
The directory contains three executables: KkMenu.exe ... the KkMenu main program. KkMenuEditor.exe ... the user defined menus designer. KkSkinner.exe ... the KkMenu skins editor utility. To test if the KkMenu is working properly, simply double-click the test.bat file. Something like this should appear:
In any case that this simple test fails, please supply me with the error message to: JiriKrivanek@BetaControl.cz. Before mailing me please check if the error message contains the gdiplus.dll text (for the solution see please the steps above in this section).
For the instructions regarding the menu editing, see please the Editing the existing user defined menu section. After editting your new menu, please save it:
Press the "Save menu" or the "Save menu as" button. The following dialog appears:
Go to the directory where you installed the KkMenu (for more details see please the Installation section) and the MENU sub-directory. Note: The menu .ini files must always be placed in the directory where you installed the KkMenu or any of its sub-directories, otherwise the KkMenu.exe will be unable to load it. Choose the title of your new menu (which will be used as the first argument of the KkMenu.exe, for more details see please the Command line arguments and the Using with the Stardock Object Dock sections) and press the "Save" button.
Pop-up the menu you would like to edit and right-click it at any place. The KkMenuEditor.exe should automatically launch on the desired .ini file.
Or you can start the KkMenuEditor.exe, press the "Load menu" button, go to the directory where you installed the KkMenu (for more details see please the Installation section) and the MENU sub-directory.
Finally pick the .ini file with the menu you would like to edit.
Please do not forget, that generally, all changes has to be saved prior closing the KkMenuEditor.exe.
Now, please highlight the New Menu and enter the desired menu name into the "Name" edit-box:
Now, please highlight the New Menu Item and enter the desired menu item name into the "Name" edit-box:
To setup the menu separator, please simply check the "Separator" radio button:
The general rules for entering the command line parameters are exactly the same as with the other system tools. The individual command line parameters are space separated. If you need to enter a single command line parameter containing one or more spaces, please enclose it with quotes (e.g. C:\Program Files\ will be parsed as two command
line parameters - C:\Program and Files\ but "C:\Program Files\" will be parsed as a single parameter). If you would like to explore the various parts of the windows system, please enter the explorer.exe into the "Shortcut" edit-box and one of the following into the "Parameters" edit-box:
My Computer: ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Recycle Bin: ::{645FF040-5081-101B-9F08-00AA002F954E} Desktop: ::{00021400-0000-0000-C000-000000000046} Control Panel: ::{21EC2020-3AEA-1069-A2DD-08002B30309D} (see note) Printers: ::{2227A280-3AEA-1069-A2DE-08002B30309D} Dial-up networking: ::{A4D92740-67CD-11CF-96F2-00AA00A11DD9} Fonts: ::{BD84B380-8CA2-1069-AB1D-08000948F534} Internet Explorer: ::{871C5380-42A0-1069-A2EA-08002B30309D} Microsoft Outlook: ::{00020D75-0000-0000-C000-000000000046} Network Neighborhood: ::{208D2C60-3AEA-1069-A2D7-08002B30309D} Inbox: ::{00020D76-0000-0000-C000-000000000046} Subscriptions: ::{F5175861-2688-11d0-9C5E-00AA00A45957} URL History Folder: ::{FF393560-C2A7-11CF-BFF4-444553540000} Briefcase: ::{85BBD920-42A0-1069-A2E4-08002B30309D} Internet Cache Folder: ::{7BD29E00-76C1-11CF-9DD0-00A0C9034933} ActiveX Cache Folder: ::{88C6C381-2E85-11D0-94DE-444553540000} Control Panel: ::{20D04FE0-3AEA-1069-A2D808002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}
Please note, that I have taken the list above from the Aqua-Soft discussions (thanks to hydrostereo and fireball) and I have never tested if all of the items do really work. Please e-mail me in case of any inconveniences to: JiriKrivanek@BetaControl.cz.
Please never forget to finish the folder path with the backslash character (i.e. '\').
the asterisk character (i.e. '*') denoting the dynamic folder and the desired folder path
(e.g. *C:\):
Notes:
Never forget to prefix the folder path with the asterisk character to achieve the dynamic root menu functionality (and never do it otherwise). Never forget to finish the folder path with the backslash character (i.e. '\'). All other menus and items of the root dynamic folder will be ignored.
After you selected the desired menu item kind, you can choose an image. To assign the menu item image, please highlight the desired menu item in the menu tree (e.g. My New Menu Item) and press the ellipsis button behind the "Image" edit-box:
Using the following dialog, locate and pick the the image. Please note that the KkMenu currently supports only the PNG image formats (other formats, such as ICO, BMP, JPG, GIF etc. might also be loaded but may look crappy).
In case you selected the image which is located out of the directory where your menu.ini is saved, you will be prompted with the following question:
Now you have to decide if you want to gather all images of the particular menu in the same directory with your menu.ini file, or not. The recommended answer is "Yes". In case you answer "Yes", you will be informed about successfull copying of the image file:
To create a new dock shortcut, please right-click on the Dock and select the following menu:
To edit the new dock shortcut, please right-click its icon and select the following menu:
Change the item image and the title to desired values. Press the "Browse..." button and using the following dialog pick the KkMenu.exe program:
Please note that there might be three more arguments supplied with the "Arguments" edit-box. For more details see please the Command line arguments section. Thus the "Dock Item Properties (Shortcut)" dialog now appears like this:
To test your new shortcut simply left-click its icon. If everything went well then the following menu appears:
This means that the KkMenu has two mandatory and up to three optional arguments:
menu_file.ini skin_file.ini [delay [x y]]
menu specification. skin_file.ini ... is the mandatory reference to a file which contains the skinto-be-used specification. delay ... is the optional time in tenths of milliseconds (i.e. *10ms) of the submenu auto-opening delay. Please note that the folder submenu can take quite long time to load (depends on the computer speed and the number of files and directories in the folder). If not supplied then the default value of 400ms takes place. x y ... is the optional explicit specification of the root menu position. If not present then the menu automatically places to the current mouse cursor position. Please note that if present then the delay parameter MUST be also specified.
Performance hints
There are two bottlenecks in the KkMenu performance. Both of them has to be considered separately.
1. The KkMenu loading time. This depends on the overall speed of your PC as well as on the amount of your RAM. The KkMenu does not reside in the memory; in other words, it completely reloads everytime you want to pop it up. Just try to imagine what the KkMenu must do before showing the menu to you: o Load and parse the menu.ini file. o Load and prepare all the images of your menu items. o Load and parse the skin.ini file. o Load and prepare the skin image. o Load and prepare the sounds. o More, in case of the dynamic folder menu, all the files and subdirectories of the requested directory must be scanned. o Even more, in case of the dynamic folder menu, every particular file and directory has its icon which needs to be obtained from the MS Windows Shell. Actually I significantly optimized this by internal cashing of the images. This simply consumes a time. See please the To-Dos section to learn my plans of how to speed this up. 2. The KkMenu re-drawing speed. The KkMenu uses some special feature called Layered Windows. The Layered Windows was originally intended for a small but smooth graphical animations. Every animation frame expects the repainting of the entire Layered Window. KkMenu uses the Layered Windows a bit different. I.e. the KkMenu is not a small graphic, actually it can be quite large - and consequently slow. Please note that without Layered Windows there would be impossible to implement the shadows and transparency effects which make the KkMenu so eye-candy (no! I have not omitted the DirectDraw which is terribly complicated to use and more, which is unstable, unreliable and not-easy-to-port to other PCs). The graphical performance would probably be much better on XP based PCs equipped with the graphic card supporting the HW accelerated per-pixel alpha blending.
Included tutorials. Added folders opening with mouse double clicks. In case of zero shadow width, drawing the texts using standard methods (instead of beautified). This should enable the Type 1 fonts to be drawn correctly. Added three new (optional) command line parameters. For more details see please the Command line arguments section. The menu item separator can also have an image. Added the "execute in directory" parameter to the shortcut. It still needs to be tested, let me know if it does not work properly. The dynamic (folder) menu can now be placed in the root. To create the dynamic root menu see please the Creating the user defined menu section. The submenu does not close if the border of any menu is pointed to any more. The "access violation" bug has been removed. As the bug was not regularly reproducible, this still needs to be tested by the users.
The dropdown list of installed fonts added to the KkSkinner. Fixed a number of bugs as well as brought new bugs with new functions.
History
Kk Menu 2.70 - 2003-06-27
The menu texts can have various shadows. The menu content scrolling now supports the mouse wheel and normal leftclicking. The KkSkinner now supports the "reset canvas offset" feature. The KkSkinner now draws the frame selections correctly. The submenu auto-opening is delayed. Added sounds support (to disable it simply remove/rename wav files). Improved shadows of my aqua skin. Fixed some other bugs (including WWW shortcuts) as well as raised new bugs with new functionality.
Added the dynamic folders. Fixed number of bugs. Many new bugs raised by adding a new feature.
Added the simple menu editor. The image files need not be located at the menu directory any more. Fixed number of bugs.
Updated the skin engine. Added support for submenus. Slightly tweaked the graphics performance. Added a simple skin editor.
To-Dos
The following problems still have to be solved and the new features still have to be implemented.
Solve the problem with crapy XP icons (still do not know how to). Enable to configure the show/hide dynamic menus icons. Add the menu caption. Try to speedup the dynamic menu openning by keeping the icons database (this may help but may not). Another reason for creating the database would be the possibility to "replace" the system icons with the user supplied icons.
Try to speedup the dynamic menu openning by some sort of a sophisticated folders tree preloading. Generally, as soon as the Object Dock plugins are available the KkMenu should be converted into the plugin which: o Should shorten the loading time as the KkMenu will be pre-loaded (i.e. loaded all the time, since the Stardock Object Dock startup).
o
Will bring many new problems (including less stability of both the KkMenu and the OD as both of them will share a single program space).
o
Will increase the memory requirements as the KkMenu will be loaded all the time.
May be, implement some sort of plugin interface into the KkMenu. Add the keyboard support. Repai the crappy icon of the KkMenu.exe.