Skip to content
WinMac edited this page Sep 19, 2025 · 29 revisions

Welcome to the WinMac-Menu wiki!

Note

Please be informed that this is a beta version - you're using it at your own risk!

Features

  • Recent Items: dynamic submenu from %AppData%\Microsoft\Windows\Recent
  • Config-driven items with separators, folders as submenus, URIs, commands, power actions, and a consolidated Power menu (POWER_MENU)
  • Light/Dark auto-adaptation; immersive dark hint on the invisible owner window
  • Icons: per-item icons, theme-aware overrides (light/dark), optional DefaultIcon + theme variants, and optional system folder icon retrieval
  • Placement controls (edges, center, or cursor, with offsets + ignore options), per‑monitor DPI aware
  • First-letter activation, outside-click dismissal
  • Folder submenu behaviors: lazy population, max depth, name-only items, optional “Open ” entry
  • Inline folder expansion (inject a folder’s contents directly into the root menu) with optional clickable header
  • Granular extension hiding (global + recent-only override)

Run

Quick Start: Double‑click the EXE. By default, it runs in background mode with a system tray icon.

Modes:

  • Background Mode (default): App stays running in background. Launch again to toggle/show menu.
  • One-shot: Set RunInBackground=false in config to exit after menu closes (legacy behavior).
    • To start silently in background (without showing the menu on first launch), set ShowOnLaunch=false.

Custom config: Use --config <path> to point at a custom INI (single instance per INI path applies).

Tray Icon: Right-click for settings menu including:

  • Show menu / Hide tray / Elevate (run as admin)
  • Start on login toggle
  • Show/Hide menu icons (toggles whether icons appear in the popup menu)
  • Settings (opens config.ini) / Help / About
  • Exit

Sections

  • [General] global behavior and style
  • [Placement] position rules
  • [Menu] menu items Item1..ItemN
  • [Icons] per-item icon mapping Icon1..IconN and optional DefaultIcon/DefaultIconLight/DefaultIconDark
  • [IconsLight] theme-specific per-item icons for light theme (Icon1..IconN)
  • [IconsDark] theme-specific per-item icons for dark theme (Icon1..IconN)

Comment Syntax

The generated default INI is comment-free. If you add comments manually, use ; or # at the start of a line. Inline comments (end‑of‑line) are not supported.

Behavior Details

  • First-letter activation
  • Outside click dismisses menu
  • DPI-aware scaling via system menu metrics
  • Icons in legacy mode use MIIM_BITMAP, keeping native look (no custom owner-draw)
  • Recent resolves .lnk targets; missing targets skipped
  • Power actions: consistent markers used internally (POWER_MENU aggregates)
  • Single-instance per INI path
  • Second invocation toggle: launching the executable again (e.g., via a Windows key binding in an external tool) sends a toggle message. If the menu is open it closes; if closed it opens at the configured position. This enables assigning the EXE both to open and to dismiss via the same key.

Troubleshooting

  • Empty folder submenu: check path, permissions, filters (ShowHidden / ShowDotfiles)
  • No icons: ensure ShowIcons=true (or LegacyIcons=true for backward compatibility) and paths are correct
  • Folder icons not appearing: set ShowFolderIcons=true; the system folder icon only shows when no per-item icon exists

Security & Privacy

  • No telemetry. The app makes no network connections and collects no data.
  • Registry usage: optional HKCU\Software\Microsoft\Windows\CurrentVersion\Run entry when you enable “Start on login” from the tray. It’s off by default and only changed when you toggle it. There is no service or scheduled task.
  • Keyboard/mouse hooks: installed only while the popup menu is visible to allow outside‑click/escape dismissal; they are immediately removed when the menu closes.
  • Recent cleanup: choosing “Clear Recent Items list” deletes shortcut (.lnk) files from your user Recent folder. It doesn’t touch actual documents or programs. There’s no confirmation.
  • Filesystem: reads your config.ini and enumerates folders you explicitly reference in the menu.

Notes

  • WinMacMenu reads an INI. If missing, a default is created.
  • Environment variables expand in labels, paths, params, and icon paths (e.g., %USERNAME%).
  • Indices N in [Icons]/[IconsLight]/[IconsDark] map to ItemN in [Menu].
  • Generated default INI contains no comments (to keep the file minimal). Comments are still supported by the parser if you add them manually: lines beginning with ; or # are ignored.
  • Duplicate keys: The last occurrence in a section wins (standard Win32 profile API behavior).
  • Unknown keys are ignored.
  • Built with standard Win32 APIs: user32, shell32, shlwapi, comctl32, uxtheme, dwmapi, powrprof, advapi32.
  • This app uses legacy popup menus; so no parity with Windows 11 Fluent Design System for now
  • It's recommended to use it together with Open-Shell, so the WinMacMenu can be triggered by clicking the Start menu button with the left mouse button or by pressing the Windows key.
  • You can also pin shortcuts to taskbar, or add to custom toolbar. Each shortcut can refer to different config.ini files with different file names for ini file.
  • ini file used in current session will be highlighted in tooptip of tray icon, if file name is different than default (config.ini).

Clone this wiki locally