[Wishlist] Directory of existing shared menus

Suggestion from Helge.

Assuming a list of shared menus existing on a shared drive, in a rather large organization. Each shared menu external ini file would be saved in a sub-folder. All users would have read access to all these folders. Each shared menu would be managed by one or more users having write access to this external setting's sub-folder.

In QAP, show a directory of registered shared menus and allow user to "subscribe to" (add) the shared menus of his choice. Subscribing could be done from a sub-menu within QAP menu, or from a dialog box opened by a button in the Settings window. Check boxes or check menu would allow to select one or more menus.

Offer a way for sysadmin to automatically add a shared menu at next (or first) use of QAP. Let user confirm the addition and position of this shared menu. User could change the name or position of this menu, as with any favorite.

More details in these posts from Helge:
http://www.quickaccesspopup.com/quick-access-popup-wishlist/#comment-12318
http://www.quickaccesspopup.com/quick-access-popup-wishlist/#comment-12348
http://www.quickaccesspopup.com/quick-access-popup-wishlist/#comment-12358

0

[Wishlist] Command to backup/restore favorites

Received by email, from Timothy:

"A manual backup option that places info in a specific file. And / or an option to specify which directory to backup the file. I spend a lot of time working on menus and directions – would like to be able to easily backup and restore."

Take note that QAP favorites locations are saved in the QuickAccessPopup.ini file in your QAP working folder. You can open this file from the QAP icon in the Notification zone. There is an automatic backup of this file. But the suggestion is noted to offer a more convenient backup/restore option.

Thanks for the suggestion, Timothy.

[Wishlist] Distinguish left and right keyboard modifiers (Shift, Alt, Control) when creating shortcut hotkeys

From Jim:

I have a feature request. With hotkeys I’d like to be able to specify Left and Right side for Shift, Ctrl, Windows, and Alt (e.g., LCtrl).

As I have QAP configured now, I display my “application” QAP menu using Ctrl+space, my “folder” QAP menu using Alt+space, my “connections” QAP menu using Shift+space, and the main QAP menu using Win+space. I’d like to launch some other frequently used QAP menus using the modifiers on the right side.

[Wishlist] Configurable ini file from command line

Request from rainroom:
"To be able to start QAP with a specific parameter let’s call it ” -useQuickAccessPopup.ini “. This allows to create different menu’s depending on the needs. An easy switch between ini configurations is desired. example C:\portable files\QAP\QAP.EXE -useQuickAccessPopup.ini

It would even be more nice to be able to rename the ini. ex. QAPmenu1 , QAPmenuWork , QAPmenuHome ,…
But that with a portable installation a use can easely switch from one set of configuration menu’s to others.
I use heavey the executor program to open ALL I do on computers :-)) (http://www.executor.dk/)
Would like to have possibility to use QAP like this: shortcut in Executor starts QAP.exe -useQAPWork1.ini
If I want to switch I use another shortcut in Executor which will start QAP.exe -useQAPWork2.ini
Of course QAP must allow to switch in a correct way from a set of ini files…

Hope you can manage to do so. See http://www.dropitproject.com/ opensourceproject (where this is also implemented on users request."

How can I restore my icons that got replaced after I updated from Windows 7 to Windows 10?

Wrong icons imported from Windows 7 under Windows 10

Wrong icons imported from Windows 7 to Windows 10

NOTE: The following info is for users who installed QAP under Windows 7 and upgraded to Windows 10.

Quick Access Popup is using icons from Windows files "shell32.dll" and "imageres.dll" found in the "System32" Windows folder. Microsoft has the bad practice of slightly changing the order of the icons in these files at every major release (and even, sometimes, in service packs).

This has for consequence that, after a Windows update, some QAP favorite icons in QAP suddenly show to the wrong icons in the popup menu. For example, if you just upgraded from Windows 7 to Windows 10, you will see the submenu icon changed to a surprising blue rounded arrow. To fix this issue, you have to following options (from the quickest to the safest):

1) Download and run the little utility QAPupdateIconsWin10. It will scan your settings file and update every icons number that changed from Windows 7 to Windows 10. It is better to do this just after you upgraded to Windows 10. If you added icons using Windows 10 since you upgraded, there is a slight risk that the app would replace icons numbers that would not need it.

Icons fixed with QAPupdateIconsWin10 utility.

Icons fixed with QAPupdateIconsWin10 utility.

2) Use te QAP Settings window to edit manually the changed icons. I agree, this can be tedious.

3) Use a text editor and open the QuickAccessPopup.ini file (right-click in the QAP icon in the Notification zone and select "Edit QuickAccessPopup.ini"). The replace the following strings in the settings file:

Replace from "imageres.dll,203" to "imageres.dll,204" (Special Folders icon)
Replace from "imageres.dll,208" to "imageres.dll,209" (Donate icon)
Replace from "imageres.dll,217" to "imageres.dll,201" (Add This Folder icon)
Replace from "shell32.dll,297" to "shell32.dll,299" (Group Save icon)
Replace from "shell32.dll,298" to "shell32.dll,300" (Submenu icon)
Replace from "shell32.dll,301" to "shell32.dll,319" (Options icon)
Replace from "shell32.dll,304" to "shell32.dll,324" (Application icon)
Replace from "shell32.dll,305" to "shell32.dll,325" (Switch icon)

[Wishlist] List of favorites from an external/shared settings files

From Helge:

"This wish is going into a more advanced usage direction: It would be nice to have the opportunity to reference external menu configuration files from the QAP settings files. Like this it would be possible to include e.g. a specific submenu folder / file structure which is being dynamically generated externally based e.g. on an XML file database, a database server or any other source from which an external tool would generate a configuration text file meeting the syntax of QAP menu configuration settings. By referencing a file isolated from the main QAP menu settings file there wouldn’t be the risk of conflicts with the QAP GUI settings dialog."

[Wishlist] Reload QuickAccessPopup.ini when it is changed without having to reload the app

Suggested by Sébastien on Folders Popup website:

I noticed that the FolderPopup.ini is only read one time (at startup time). If I manually edit the file, I have to close and restart FolderPopup to see my changes.

I would be really usefull to add a feature that verify is FolderPopup.ini has changed before showing the application. If the file has changed (check file size and modified date), then reload the configuration.

This will allow the user to edit FolderPopup.ini on the fly using a script (a logon script for example).

 

My reply: This is a good idea that would be implemented in QAP.

5+

Can I move my configuration from one PC to another?

Yes. First install QAP on the new PC and copy/replace the newly created quickaccesspopup.ini file with the one copied from your previous PC. The quickaccesspopup.ini file can be found in the QAP working directory.

All your favorites, hotkeys and preferences from the Options will be preserved. Of course, only favorite folders, documents or applications with the same location or having portable locations will work. Also, most Special folders favorites will work as-is on the new PC. If a special folder favorite does not work, delete it and add it again using the Add Favorite button.

 

Can a submenu be shared on different PCs or by different users?

Note (March 2017): This FAQ page is actually evolving since the shared menu feature is evolving from one beta version to the other. To fully use the new Shared menus features, please see the beta users page. If you use the latest regular version v8.1.1 (or before), see the section "Shared Menus for v8.1 (or before)"

Shared Menus with BETA version v8.1.9.4 (or after)

Yes. Shared menus allow to manage favorites in a setting file that can be shared by different users or used by the same user on different computers. The Shared menu settings file can be saved on a network drive or a shared folder (like Dropbox) and used on different PCs. Add a Shared menu from the Add Favorite dialog box. In the Shared Menu tab, select the type of usage of this shared menu:

Shared Menus for v8.1.1 (or before)

Yes. Add a Shared menu from the Add Favorite dialog box. Shared menus allow you to keep some of your favorites in a setting file other than the main settings file QuickAccessPopup.ini. This can be used to access some of your favorites on different PCs by sharing them using a file synchronization tool (like Dropbox). Or, in a group environment, an external settings file can be saved to an network drive and used to share common favorites in the group.

A shared menu can be made read-only to avoid editing conflicts from different users.

Adding a Shared menu

  1. To create a shared menu, in the Add Favorite dialog box, select Shared Menu and press Continue.
  2. In the Short name for menu text zone, enter the name of the new submenu.
  3. In the Shared menu settings file location, enter the path and file name of the external settings file. File extension must be .ini. If the settings file already exists, its content will be added to your popup menu. If it does not exist, it is created as an empty submenu.
  4. *DEPRECATED since v8.1.1* In the Advanced Settings, you can set the starting number of the favorites in the file (Favorite##=...) in the Number of the first favorite zone. This can be convenient if you re-use part of an existing settings file. (NOTE: external menu files now always starting at 1; starting number in older shared menu still supported; please advise me if this cause issue.)
  5. Set Menu Options as usual and save the new favorite.


Using shared menu with multiple users
Up to v8.1.1, Quick Access Popup does not manage conflicts if a shared menu is modified by different users at the same time. If you plan to use a shared menu with other users, you should control the content of the menu centrally to avoid editing conflicts from different users. See Anatomy of a shared menu settings file below.

Anatomy of a shared menu settings file (for advanced users)

Users having access to the shared menu ini file on a network drive or shared folder (Dropbox, etc.) can manage the shared menu in a text editor.

Under the [Global] section of a shared menu .ini file, you can use the MenuReadOnly value to determine if the external settings file can be modified from QAP. If you plan to use a shared menu with other users, you could prefer to control the content of the menu centrally and avoid editing conflicts from different users. To make an external settings file read-only, add this setting:

[Global]
MenuReadOnly=1

By default, a shared menu is not read-only (MenuReadOnly=0)

Generating an shared menu

If you want to generate a settings file from an external application, see the structure of the favorites in a settings file: What is the structure of QAP settings (ini) file?

 

What is the structure of QAP settings (ini) file?

The following information is for advanced users who need to change the QAP settings by editing the QuickAccessPopup.ini file saved in the QAP working directory. The ini file format described in this page also applies to shared menus, exported settings file and to import settings files.

Regular users should not be required to edit these files except in rare situations described in the FAQ or in the Support page.

See these instructions on how to edit the QuickAccessPopup.ini file (to be added).

[Global] Section

This section contains settings managed in the Options dialog box or managed internally by QAP.

[Global]
LanguageCode=EN
NavigateOrLaunchHotkeyMouse=MButton
NavigateOrLaunchHotkeyKeyboard=#w
PowerHotkeyMouseDefault=+MButton
PowerHotkeyKeyboardDefault=+#A
Check4Update=1
DisplayIcons=1
DisplayMenuShortcuts=0
IconSize=32
...

See a description of these QuickAccessPopup.ini variables (to be added).

See the special [Global] values for Shared menus below.

[Favorites] Section

This section contains the favorites found in your QAP menu. It starts with the first item in your main menu ("Favorite1=...") and ends with a line with a favorite of type "Z" ("Favorite7=Z" in the following example). When a submenu is added to your menu, it starts with a line of type "Menu" and ends with a line of type "Z" ("Favorite5=Z" below) and it continues with the content of the previous menu. Submenus can be nested at will. FavoriteN numbers must be consecutive. Menu loading stops at first missing N.

For example:

[Favorites]
Favorite1=Folder|Name of folder in main menu|...
Favorite2=Document|Name of document in main menu|...
Favorite3=Menu|Submenu name|...
Favorite4=Folder|Name of folder in submenu|...
Favorite5=Z
Favorite6=Folder|Name of next folder in main menu|...
Favorite7=Z

Format of each line:

[Favorites]
FavoriteN=FavoriteType|FavoriteName|FavoriteLocation|FavoriteIconResource|FavoriteArguments|FavoriteAppWorkingDir|FavoriteWindowPosition|FavoriteLaunchWith|FavoriteLoginName|FavoritePassword|FavoriteGroupSettings

FavoriteN= where N is a number starting at 1. One favorite line contains infos delimited by | (pipe), real pipes in values being replaced with the sequence "Сþ€" in ini file for all values except fields 1, 7 and 8.

Favorite fields order an names:
1 FavoriteType
2 FavoriteName
3 FavoriteLocation
4 FavoriteIconResource
5 FavoriteArguments
6 FavoriteAppWorkingDir
7 FavoriteWindowPosition
8 FavoriteLaunchWith
9 FavoriteLoginName
10 FavoritePassword
11 FavoriteGroupSettings

Example

[Favorites]
Favorite1=Folder|Windows|C:\Windows|C:\Windows\System32\shell32.dll,298|||||||
Favorite2=Document|My Notes|C:\Docs\notes.txt||||||||

Info on the internal data structure of each element and on special uses of some items can be found on QAP's wiki (section Favorite Object Model).

[Favorites-backup] section

Each time the favorites are saved using QAP, a [Favorites-backup] section is created with the current content of the [Favorites] section. Be careful to edit the current [Favorites] section and not its backup.

Themes settings

[Gui-Grey] and other sections starting with "Gui-" are theme descriptions. More info on themes in this page: Quick Access Popup Color Themes.

[AlternativeMenuHotkeys] section

This section contains the hotkey (shortcuts) settings managed in the Alternative Menu Hotkeys tab of the Options dialog box.

[LocationHotkeys] section

This section contains the favorites hotkey (shortcuts) settings managed in Change hotkey dialog box. You can open this dialog box in the Shortcut section of the Menu Options tab in the Add/Edit Favorite dialog box or in the the Manage Hotkeys dialog box.

Import and Export ini files

The files created when your export settings comply to the format described in this page. Files imported must also comply with this format. However, they could include any or all of these settings sections: Favorites, Hotkeys, Alternative menu hotkeys, Global settings and Themes. More info on import/export commands here: Can I backup, import or export my favorites and settings?

Shared menus

Shared menu are saved in ini files complying to the format described in this page. But they contain only a [Favorites] section as described earlier and a special [Global] section with shared menu specific variables. More information about shared menu settings file: What is the content of a shared menus settings file (for advanced users)?

What is the content of a shared menus settings file (for advanced users)?

Note (March 2017): This FAQ page is actually evolving since the shared menu feature is evolving from one beta version to the other. To fully use the new features, please see the beta users page. If you use the latest regular version v8.1.1 (or before), see the section "Shared Menus for v8.1 (or before)".

Each shared menu settings file is saved in a separate .ini files stored on a shared drive or folder. Each user can add a shared menu as for other menus using the Add Favorite button. The info about the added shared menu is stored in the user's QuickAccessPopup.ini file in a line like this:

Favorite1=External|HR Menu|> HR Menu|C:\Icons\JLicons.dll,42||C:\SharedMenus\HR_Menu.ini||||||||0||||||

Anatomy of a shared menu settings file

Users having access to the shared menu ini file on a network drive or shared folder (Dropbox, etc.) can manage the shared menu in a text editor. They can also be generated from an external data source. If you edit or generate a settings file, make sure its content is fully compliant with the QAP structure because little or no validation is done when QAP loads a settings file. QAP assumes that the settings file contains valid data as if it was saved by itself.

The shared menu settings file itself is composed of three sections:

  • [Global]: information about the menu
  • [Favorites]: the list of favorites shared in this menu
  • [Favorites-backup]: a backup of the favorites as they were before the last time the shared menu was saved

Here is an example of a shared menu. Its content is detailed below.

[Global]
MenuName=HR Resources Menu
WriteAccessUsers=Mary,Jean
WriteAccessMessage=Please contact Mary at HR for suggestions about the HR shared menu.
MenuReservedBy=
MenuType=3
LastModified=20170316093906
[Favorites-backup]
Favorite1=...
Favorite2=...
Favorite3=Z
[Favorites]
Favorite1=...
Favorite2=...
Favorite3=...
Favorite4=Z

[Favorites] section

The shared favorites are listed in the [Favorites] section in the order they are saved and loaded by QAP. The details of the favorites structure is the same as for the user's QuickAccessPopup.ini file. You can find more info about the favorites in a settings file here: What is the structure of QAP settings (ini) file?

[Global] section

The content of the [Global] section depends on the type of shared menu. The four first values are common to all types of shared menus:

MenuType=

  1. Personal (default)
  2. Collaborative
  3. Centralized

MenuName=
The shared menu name is shown in various dialog boxes and used as default name when user adds the shared menu from the Shared Menus Catalogue (link to FAQ page to be added).

LastModified=
The last modified date-time is used to detect if a shared menu file was modified by another user since QAP was loaded. This prevents the user to edit the menu based on an older version of its content. Last file modification date-time of the shared menu ini file is taken from the file system and is be independent from various user's clocks or time zones. It is stored in the  "yyyymmddhh24miss" format (more info in AHK documentation). Of course, the date-time being written to the file right after its modification, the real file's date-time can be a few milliseconds after the value saved in the file without impacting the conflict protection. The file modification date-time in the ini file is updated only when changes are done to the content itself (shared favorites), preventing reservation/release actions modifying the file's date-time without real modifications in the content to prompt for an unrequired reload. This value should be updated if the content of the shared menu file is changed outside QAP by an administrator using a text editor or by an automatic process.

MenuReservedBy=
This value is used to track current editing of a shared menu. It contains the Windows logon name and computer name of the user currently editing the shared menu (you can find the current user's logon name in the QAP About dialog box). If this value is empty, the menu is not currently reserved. When the user who reserved the menu saves or cancels his changes to the Settings, or quits QAP, the value of MenuReservedBy is erased, releasing the shared menu. This value can be erased manually by an administrator if, for any reason, a file is locked by a user who could not access the file using QAP. This value is critical to collaborative shared menus where the risk of simultaneous editing is more likely to occur. But is it also used to alert a personal shared menu user if the menu was left unsaved on another PC and to alert administrator of a centralized menu if another administrator is currently editing the menu.

The last two values are specific to Centralized shared menus:

WriteAccessUsers=
Only users listed in this value can edit a centralized shared menu. Enter one or multiple Windows logon names, separated by coma. Note: of course, any user having write-access to the shared menu settings file itself could edit it using a text editor.

WriteAccessMessage=
This is the message displayed to user having only read-only access to a centralized menu when they try to edit the menu. It can be used to direct the user to the menu administrator.

Personal shared menu example

[Global]
MenuType=1
MenuName=My Personal Menu
LastModified=20170309224941

Collaborative shared menu example

[Global]
MenuType=2
MenuName=Team Shared Menu
MenuReservedBy=
LastModified=20170309224941

Centralized shared menu example

[Global]
MenuType=3
MenuName=HR Toolkit Menu
WriteAccessUsers=Peter,Paul,Mary
WriteAccessMessage=Please forward suggestions to Peter, Paul or Mary.
MenuReservedBy=
LastModified=20170309224941

Can I backup, import or export my favorites and settings?

The Import/Export Settings QAP feature can be uses for two reasons:

  • create a backup of your favorites and other settings in a file that you can save where you want;
  • exchange favorites and settings between different PCs or different users.

To open the Import/Export Settings dialog box, right-click the QAP icon in the Notification zone and click Import/Export Settings. If you use this command often, you can also add the Import/Export Settings command to your QAP menu by adding a QAP Feature.

In the Import/Export Settings dialog box:

  1. Click the Export or Import buttons.
  2. Choose the Source file to import or the Destination file that will be created (if it does not exist) to store your exported data. The last source and destination files are remembered and displayed as default
  3. Choose to import or export any or all of these settings groups: favorites, hotkeys, alternative menu hotkeys, global settings and themes.
  4. Click the Export or Import button.
  5. Alerts will inform you if existing settings are to be overwritten in the destination file and a report will summarize the completed actions.

Export Tips

  • Starting with v8.1.1, when exporting settings, you can use the following placeholders in the file name, allowing you to save different export files without having to give new file names:
    • %A_Now% will be translated to the current local date-time of your computer and
    • %A_NowUTC% to the current Coordinated Universal Time (still based on you computer time),
    • using YYYYMMDDHH24MISS format,
    • for example, as I write this, the file name my-export-%A_Now%.ini would be converted to my-export-20170228193600.ini.

Import Tips

  • When importing favorites, you can choose to:
    • replace the favorites currently in your QuickAccessPopup.ini file
    • or append the favorite to the existing one.
    • IMPORTANT NOTE: If you choose to append favorites, make sure that there are no duplicates names in the favorites (or submenus) in your existing Main menu and in the favorites in your imported Main menu. Currently, QAP does not check for name duplicates and if a name conflict occurs, your menu could become offset depending on the position (and number) of duplicates.
  • To import settings, the source file content must comply with QuickAccessPopup.ini structure. More info about ini file anatomy here: What is the structure of QAP settings (ini) file?.

[Wishlist] Offer a Folders Popup legacy setting option when installing

This would be separate program executed on demand (at QAP installation or later) or a feature included in QAP. I don't know yet.

This feature will read the FoldersPopup.ini file (asking the user to identify this file or looking at the startup shortcut to get the FP working directory) and will rewrite the QuickAccessFolder.ini file according to its new structure.