Skip to content

Configuration

WinMac edited this page May 20, 2026 · 10 revisions

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:

General 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)

Placement section

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

Menu section

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):

  • submenu treat as submenu (like FOLDER_SUBMENU)
  • link force clickable folder
  • inline inject contents at root (files & lazy submenus for subfolders)
  • inlineopen clickable header + inline contents
  • inlinenotitle suppress 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

Icons section

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):

  1. Explicit per-item theme override: [IconsDark]/[IconsLight] (current theme wins)
  2. Else explicit per-item generic: fifth field on ItemN or [Icons] mapping
  3. Folders only, when ShowFolderIcons=true: use system folder icon (overrides defaults)
  4. Else default icon theme override: DefaultIconDark/DefaultIconLight (current theme)
  5. Else default icon generic: DefaultIcon
  6. 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 .dll or .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 .ico file (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 .ico path.

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: IconN corresponds to ItemN in the [Menu] section.
  • Values accept the same sources as regular icons: .ico or module.dll,index.
  • Environment variables expand in these paths as well.

Sorting section

  • SortBy = name | date modified | date created | size | file type
  • SortDirection = ascending | descending order
  • FoldersFirst = true | false

Controls section

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

Appearance section

LargeMenuIcons= true | false

KeepLargeMenuHighlightTextColor= true | false

LargeMenuAnimation= top | bottom | left | right | disable

Power section

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.

RecentItems section

  • RecentLabel = filename | fullpath
  • RecentMax = integer (default: 12)
  • RecentShowCleanItems = true | false
  • RecentShowExtensions = true | false
  • RecentShowIcons = true | false

TaskKill section

  • 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

ThisPC section

ThisPCAsSubmenu = true | false ThisPCItemsAsSubmenus = true | false ThisPCShowIcons = true | false

Home section

HomeAsSubmenu = true | false HomeItemsAsSubmenus= true | false HomeShowIcons = true | false

Clone this wiki locally