-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
WIP
WinMac Menu configuration is stored as ini file in the executable root folder. Application package doesn't come with the file itself, and is generated once an application is started.
This page includes list of configurable options with their configuration section:
-
FolderSubmenuDepth - maximum recursive depth for folder submenus. (1..4)
-
RunInBackground - run WinMac Menu as continuously running process (true/false)
-
ShowDotfiles - show files and folders which start with a dot. (true/false)
-
ShowFolderIcons - show folder icons in submenus. (true/false)
-
ShowFileExtensions - show files extensions in submenus. (true/false)
-
ShowFileIcons - show file icons in submenus. (true/false)
-
ShowHidden - show hidden files and folders in submenus. (true/false)
-
ShowIcons - global show icons option, which have higher priority over other icons related options. (true/other (in submenus only) /false)
-
ShowOnLaunch - show WinMac Menu instantly upon launch. (true/false)
-
ShowTrayIcon - show WinMac Menu tray icon. (true/false)
-
StartOnLogin - register auto-start task for WinMac Menu. (true/false)
-
MonochromeTrayIcon - show theme-sensitive tray icon instead of the default one. (true/false)
-
KeepMenuOpenAfterContextAction - keep menu open once action has been triggered from submenu. (true/false)
Used when PointerRelative = 0.
- HPlacement = Left | Center | Right
- HOffset = integer (pixels; for Left/Right a negative value flips edge padding semantics; for Center it shifts relative to the screen center)
- VPlacement = Top | Center | Bottom
- VOffset = integer (same rules as HOffset; for Center it shifts relative to the screen center)
- IgnoreOffsetWhenCentered = false|true|hoffset|voffset
- false: offsets apply normally even when centered
- true (or both): ignore both HOffset and VOffset when the corresponding axis is centered
- hoffset: ignore only HOffset when Horizontal=center
- voffset: ignore only VOffset when Vertical=center
When PointerRelative = 1 (anchor near cursor):
- IgnoreOffsetWhenRelative = false|true|hoffset|voffset
- false: apply both offsets relative to the cursor (default)
- true (or both): ignore both offsets; anchor exactly at the cursor
- hoffset: ignore only HOffset; apply VOffset
- voffset: ignore only VOffset; apply HOffset
ItemN = Label | TYPE | PathOrTarget | Params | IconPath
TYPE values:
- FILE - run a file by providing full path to it
- URI - run a file, to which path is part of %PATH% environment variable
- CMD - run command in Command Prompt
- FOLDER (clickable or mode-adjusted by params tokens)
- FOLDER_SUBMENU
- POWER_SLEEP, POWER_SHUTDOWN, POWER_RESTART, POWER_LOCK, POWER_LOGOFF
- POWER_MENU (adds aggregated power submenu: Sleep, Shut down, Restart, Lock, Log off)
- RECENT_SUBMENU or RECENT
- TASKKILL
- THISPC
- HOME
- SEPARATOR or --- or -
Folder params tokens (space-separated, case-insensitive):
-
submenutreat as submenu (like FOLDER_SUBMENU) -
linkforce clickable folder -
inlineinject contents at root (files & lazy submenus for subfolders) -
inlineopenclickable header + inline contents -
inlinenotitlesuppress header row (with inline/inlineopen)
Example:
Item10=Code|FOLDER|%USERPROFILE%\Code|inline|
Item11=Scripts|FOLDER|%USERPROFILE%\Scripts|inlinenotitle|
Item12=Projects|FOLDER|%USERPROFILE%\Projects|inlineopen|
Inline Expansion Notes
- Subdirectories become lazy submenus (depth starts at 2)
- Visibility filters apply (ShowHidden / ShowDotfiles modes)
- No automatic separator insertion
| Key | Description |
|---|---|
| DefaultIcon | Optional path to a .ico used when an item has no explicit icon and (for folders) system folder icon isn’t used. |
| DefaultIconLight | Optional path to a .ico used for light theme OS mode. |
| DefaultIconDark | Optional path to a .ico used for dark theme OS mode. |
| IconN |
IconN maps to ItemN if the item itself doesn’t define an icon path. |
Experimental Flags Recap
- inline, inlineopen, notitle/noheader (removable without schema changes)
For each menu item / popup root (theme-aware):
- Explicit per-item theme override: [IconsDark]/[IconsLight] (current theme wins)
- Else explicit per-item generic: fifth field on ItemN or [Icons] mapping
- Folders only, when ShowFolderIcons=true: use system folder icon (overrides defaults)
- Else default icon theme override: DefaultIconDark/DefaultIconLight (current theme)
- Else default icon generic: DefaultIcon
- Else none
You can now reference icons embedded in modules (DLL/EXE) using a comma + index syntax.
Examples:
Icon1=shell32.dll,21
Icon2=%WINDIR%\system32\imageres.dll,184
Icon3=C:\Windows\SysWOW64\Taskmgr.exe,0
Icon4=eventvwr.exe,0
DefaultIcon=shell32.dll,167
DefaultIconLight=imageres.dll,3
DefaultIconDark=shell32.dll,167
Rules:
- Syntax:
<modulePath>,<index>where modulePath ends in.dllor.exe. - If the module path has no backslashes (e.g.
shell32.dll), the System32 directory is assumed. - Environment variables in the module path are expanded.
- Index can be positive or negative (negative values refer to resource IDs as understood by
ExtractIconExW). - When no comma is present the path is treated as a normal
.icofile (existing behavior). - Small (16x16) icons are extracted; large variant (if any) is discarded.
- Fallback: if extraction fails the loader attempts to treat the full string as a direct
.icopath.
Recent submenu root & Power menu root follow: per-item icon > DefaultIcon. The optional "Clear Recent Items" command (when RecentShowCleanItems=true) has no icon.
Theme-specific per-item icons
You can provide different icons per theme without changing ItemN lines using optional sections:
[IconsLight]
Icon1=C:\Icons\light\app.ico
Icon2=shell32.dll,46
[IconsDark]
Icon1=C:\Icons\dark\app.ico
Icon2=shell32.dll,47
Notes:
- Keys map by index:
IconNcorresponds toItemNin the [Menu] section. - Values accept the same sources as regular icons:
.icoormodule.dll,index. - Environment variables expand in these paths as well.
- SortBy = name | date modified | date created | size | file type
- SortDirection = ascending | descending order
- FoldersFirst = true | false
Start Button actions with mouse click:
- LeftClick = true | false
- RightClick = true | false
- MiddleClick = true | false
Start Button actions with mouse click while holding Shift:
- ShiftLeftClick = true | false
- ShiftRightClick = true | false
- ShiftMiddleClick = true | false
Windows Key actions:
- WindowsKey = true | false
- ShiftWindowsKey = true | false
Fullscreen applications:
- IgnoreTriggersWhenFullscreen = true | false
- FullscreenExclusionList = list of executable file names, separated by comma
LargeMenuIcons= true | false
KeepLargeMenuHighlightTextColor= true | false
LargeMenuAnimation= top | bottom | left | right | disable
Set either 0 (exclude) or 1 (include - default) to configure Power Menu options:
[Power] Sleep= Hibernate= Shutdown= Restart= Lock= Logoff=
[Power] block is not automatically populated, WinMac Menu will only create it, when there have been Power menu options excluded using Settings window.
- RecentLabel = filename | fullpath
- RecentMax = integer (default: 12)
- RecentShowCleanItems = true | false
- RecentShowExtensions = true | false
- RecentShowIcons = true | false
- TaskKillAllDesktops = true | false
- TaskKillExcludes = application names as they're shown on TaskKill submenu, separated by comma
- TaskKillIgnoreSystem = true | false
- TaskKillListWindows = true | false
- TaskKillMax = interger (default: 40)
- TaskKillShowIcons = true | false
ThisPCAsSubmenu = true | false ThisPCItemsAsSubmenus = true | false ThisPCShowIcons = true | false
HomeAsSubmenu = true | false HomeItemsAsSubmenus= true | false HomeShowIcons = true | false